@semcore/date-picker 2.8.3 → 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.
Files changed (37) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/DatePicker.js +1 -1
  3. package/lib/cjs/components/ButtonTrigger.js +3 -9
  4. package/lib/cjs/components/ButtonTrigger.js.map +1 -1
  5. package/lib/cjs/components/Calendar.js +5 -5
  6. package/lib/cjs/components/PickerAbstract.js +1 -2
  7. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  8. package/lib/cjs/components/RangePickerAbstract.js +2 -4
  9. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  10. package/lib/cjs/components/index.js +13 -18
  11. package/lib/cjs/components/index.js.map +1 -1
  12. package/lib/cjs/index.d.ts +355 -0
  13. package/lib/cjs/index.js +5 -39
  14. package/lib/cjs/index.js.map +1 -1
  15. package/lib/cjs/utils/shortDateRangeFormat.js +1 -0
  16. package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
  17. package/lib/es6/DatePicker.js +1 -1
  18. package/lib/es6/components/ButtonTrigger.js +3 -9
  19. package/lib/es6/components/ButtonTrigger.js.map +1 -1
  20. package/lib/es6/components/Calendar.js +5 -5
  21. package/lib/es6/components/PickerAbstract.js +1 -2
  22. package/lib/es6/components/PickerAbstract.js.map +1 -1
  23. package/lib/es6/components/RangePickerAbstract.js +2 -4
  24. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  25. package/lib/es6/components/index.js +13 -18
  26. package/lib/es6/components/index.js.map +1 -1
  27. package/lib/es6/index.d.ts +355 -0
  28. package/lib/es6/index.js +0 -3
  29. package/lib/es6/index.js.map +1 -1
  30. package/lib/es6/utils/shortDateRangeFormat.js +1 -0
  31. package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
  32. package/package.json +5 -2
  33. package/src/components/ButtonTrigger.jsx +2 -3
  34. package/src/components/PickerAbstract.jsx +0 -1
  35. package/src/components/RangePickerAbstract.jsx +10 -10
  36. package/src/index.js +0 -3
  37. package/src/utils/shortDateRangeFormat.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/RangePickerAbstract.jsx"],"names":["React","dayjs","Component","Root","CORE_INSTANCE","sstyled","Button","Box","Flex","Divider","Dropdown","i18nEnhance","de","en","es","fr","it","ja","pt","ru","zh","ko","vi","i18n","INTERACTION_TAGS","defaultDisplayedPeriod","Date","setHours","getEndDate","value","Array","isArray","startDate","endDate","RangePickerAbstract","dirtyValue","direction","displayedPeriod","asProps","action","date","navigateStep","toDate","handlers","navigateView","e","target","currentTarget","highlighted","state","day","keyDiff","keyCode","setNextDisplayedPeriod","next_highlighted","_","right_period","month_right_period","getMonth","month_displayed_Period","subtract","length","handlerChange","preventDefault","includes","tagName","add","keyStep","setState","visible","props","size","empty","onKeyDown","handlerKeyDown","Picker","periods","getDefaultPeriods","unclearable","getI18nText","interaction","buttons","handlerApply","tabIndex","children","Boolean","index","locale","Intl","DateTimeFormat","month","year","format","startOf","onClick","bindHandlerNavigateClick","disabled","onHighlightedChange","onChange","onDisplayedPeriodChange","Children","styles","defaultValue","defaultHighlighted","defaultVisible","style","amount","unit"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';\nimport Button from '@semcore/button';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport Dropdown from '@semcore/dropdown';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport de from '../translations/de.json';\nimport en from '../translations/en.json';\nimport es from '../translations/es.json';\nimport fr from '../translations/fr.json';\nimport it from '../translations/it.json';\nimport ja from '../translations/ja.json';\nimport pt from '../translations/pt.json';\nimport ru from '../translations/ru.json';\nimport zh from '../translations/zh.json';\nimport ko from '../translations/ko.json';\nimport vi from '../translations/vi.json';\n\nimport style from '../style/date-picker.shadow.css';\n\nconst i18n = { de, en, es, fr, it, ja, ru, zh, pt, ko, vi };\n\nconst INTERACTION_TAGS = ['INPUT'];\n\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nfunction getEndDate(value) {\n if (!Array.isArray(value)) return null;\n const [startDate, endDate = startDate] = value;\n return endDate;\n}\n\nclass RangePickerAbstract extends Component {\n static displayName = 'DatePicker';\n static style = style;\n static defaultProps({ value, defaultValue }) {\n return {\n i18n,\n locale: 'en',\n defaultDisplayedPeriod:\n getEndDate(value) || getEndDate(defaultValue) || defaultDisplayedPeriod,\n defaultValue: [],\n defaultHighlighted: [],\n defaultVisible: false,\n disabled: [],\n size: 'm',\n };\n }\n static enhance = [i18nEnhance()];\n\n static add = (date, amount, unit) => {\n return dayjs(date).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n state = {\n dirtyValue: [],\n };\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.setState({ dirtyValue: [] });\n this.handlers.displayedPeriod(\n getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod,\n );\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(getEndDate(value));\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { displayedPeriod, highlighted } = this.asProps;\n const { dirtyValue } = this.state;\n const day = this.keyDiff[e.keyCode];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [_, right_period] = next_highlighted;\n\n if (right_period) {\n const month_right_period = right_period.getMonth();\n const month_displayed_Period = displayedPeriod.getMonth();\n if (month_right_period - month_displayed_Period > 1) {\n return RangePickerAbstract.subtract(right_period, 1, 'month');\n } else if (month_right_period - month_displayed_Period < 0) {\n return right_period;\n }\n }\n return displayedPeriod;\n };\n\n if (e.keyCode === 32 && highlighted.length) {\n this.handlerChange(highlighted[1] || highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (dirtyValue.length === 1) {\n next_highlighted = [\n dirtyValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n } else {\n next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];\n }\n this.handlers.highlighted(next_highlighted);\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n this.handlers.highlighted([displayedPeriod]);\n }\n e.preventDefault();\n }\n };\n\n handlerApply = (value) => {\n const [startDate, endDate = startDate] = value;\n this.handlerChange([]);\n this.handlers.value([startDate, endDate]);\n };\n\n handlerChange = (date) => {\n let { dirtyValue } = this.state;\n let highlighted = [];\n if (Array.isArray(date)) {\n dirtyValue = date;\n } else if (!dirtyValue.length) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue.length >= 2) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue[0] > date) {\n dirtyValue = [date, dirtyValue[0]];\n } else {\n dirtyValue = [dirtyValue[0], date];\n }\n\n this.setState({ dirtyValue }, () => {\n this.handlers.highlighted(highlighted);\n });\n };\n\n getDefaultPeriods() {\n return [];\n }\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value[0] && !value[1],\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const Picker = this[CORE_INSTANCE];\n const {\n value,\n periods = this.getDefaultPeriods(),\n unclearable,\n getI18nText,\n interaction,\n } = this.asProps;\n const { dirtyValue } = this.state;\n\n const buttons = (\n <>\n <Button\n use=\"primary\"\n children={getI18nText('apply')}\n onClick={() => this.handlerApply(dirtyValue.length ? dirtyValue : value)}\n />\n {!unclearable && (\n <Button\n ml={2}\n use=\"tertiary\"\n theme=\"muted\"\n children={getI18nText('reset')}\n onClick={() => this.handlerApply([])}\n />\n )}\n </>\n );\n\n return {\n tabIndex: 0,\n onKeyDown: this.handlerKeyDown,\n children: (\n <>\n <Flex>\n <Box mr={2}>\n <Picker.Header>\n <Picker.Prev />\n <Picker.Title />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n <Box ml={2}>\n <Picker.Header>\n <Picker.Title />\n <Picker.Next />\n </Picker.Header>\n <Picker.Calendar />\n </Box>\n {Boolean(periods.length) && (\n <>\n <Divider m=\"-16px 16px\" orientation=\"vertical\" h=\"auto\" />\n <Flex direction=\"column\">\n <Picker.Period />\n <Flex mt=\"auto\">{buttons}</Flex>\n </Flex>\n </>\n )}\n </Flex>\n {!Boolean(periods.length) && <Flex mt={4}>{buttons}</Flex>}\n </>\n ),\n };\n }\n\n getHeaderProps() {\n const Picker = this[CORE_INSTANCE];\n return {\n children: (\n <>\n <Picker.Prev />\n <Picker.Title />\n <Picker.Next />\n </>\n ),\n };\n }\n\n getTitleProps(props, index) {\n const { locale, displayedPeriod } = this.asProps;\n return {\n children: new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n getNextProps() {\n return {\n onClick: this.bindHandlerNavigateClick(1),\n };\n }\n\n getPrevProps() {\n return {\n onClick: this.bindHandlerNavigateClick(-1),\n };\n }\n\n getCalendarProps(props, index) {\n const { locale, displayedPeriod, disabled, value, highlighted, 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":["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","buttons","handlerApply","tabIndex","children","Boolean","index","locale","Intl","DateTimeFormat","month","year","format","startOf","onClick","bindHandlerNavigateClick","disabled","onHighlightedChange","onChange","onDisplayedPeriodChange","Children","styles","defaultValue","defaultHighlighted","defaultVisible","style","amount","unit"],"mappings":"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","sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';\nimport Button from '@semcore/button';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport Dropdown from '@semcore/dropdown';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport de from '../translations/de.json';\nimport en from '../translations/en.json';\nimport es from '../translations/es.json';\nimport fr from '../translations/fr.json';\nimport it from '../translations/it.json';\nimport ja from '../translations/ja.json';\nimport pt from '../translations/pt.json';\nimport ru from '../translations/ru.json';\nimport zh from '../translations/zh.json';\nimport ko from '../translations/ko.json';\nimport vi from '../translations/vi.json';\n\nimport style from '../style/date-picker.shadow.css';\n\nconst i18n = { de, en, es, fr, it, ja, ru, zh, pt, ko, vi };\n\nconst INTERACTION_TAGS = ['INPUT'];\n\nconst defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));\n\nfunction getEndDate(value) {\n if (!Array.isArray(value)) return null;\n const [startDate, endDate = startDate] = value;\n return endDate;\n}\n\nclass RangePickerAbstract extends Component {\n static displayName = 'DatePicker';\n static style = style;\n static defaultProps({ value, defaultValue }) {\n return {\n i18n,\n locale: 'en',\n defaultDisplayedPeriod:\n getEndDate(value) || getEndDate(defaultValue) || defaultDisplayedPeriod,\n defaultValue: [],\n defaultHighlighted: [],\n defaultVisible: false,\n disabled: [],\n size: 'm',\n };\n }\n static enhance = [i18nEnhance()];\n\n static add = (date, amount, unit) => {\n return dayjs(date).add(amount, unit).toDate();\n };\n\n static subtract = (date, amount, unit) => {\n return dayjs(date).subtract(amount, unit).toDate();\n };\n\n navigateStep;\n keyDiff;\n keyStep;\n\n state = {\n dirtyValue: [],\n };\n\n uncontrolledProps() {\n return {\n displayedPeriod: null,\n visible: [\n null,\n (visible) => {\n if (!visible) {\n this.handlers.highlighted([]);\n this.setState({ dirtyValue: [] });\n this.handlers.displayedPeriod(\n getEndDate(this.asProps.value) || this.props.defaultDisplayedPeriod,\n );\n }\n },\n ],\n highlighted: null,\n value: [\n null,\n (value) => {\n // TODO: работает только из-за new Date() !== new Date()\n this.handlers.visible(false);\n this.handlers.displayedPeriod(getEndDate(value));\n },\n ],\n };\n }\n\n navigateView = (direction) => {\n const { displayedPeriod } = this.asProps;\n const action = direction >= 1 ? 'add' : 'subtract';\n const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();\n this.handlers.displayedPeriod(date);\n };\n\n bindHandlerNavigateClick = (direction) => () => this.navigateView(direction);\n\n handlerKeyDown = (e) => {\n if (e.target !== e.currentTarget) return;\n const { displayedPeriod, highlighted } = this.asProps;\n const { dirtyValue } = this.state;\n const day = this.keyDiff[e.keyCode];\n\n const setNextDisplayedPeriod = (next_highlighted) => {\n const [, right_period] = next_highlighted;\n\n if (right_period) {\n const month_right_period = right_period.getMonth();\n const month_displayed_Period = displayedPeriod.getMonth();\n if (month_right_period - month_displayed_Period > 1) {\n return RangePickerAbstract.subtract(right_period, 1, 'month');\n } else if (month_right_period - month_displayed_Period < 0) {\n return right_period;\n }\n }\n return displayedPeriod;\n };\n\n if (e.keyCode === 32 && highlighted.length) {\n this.handlerChange(highlighted[1] || highlighted[0]);\n e.preventDefault();\n }\n if (day) {\n if (INTERACTION_TAGS.includes(e.target.tagName)) return;\n if (highlighted.length) {\n let next_highlighted;\n if (dirtyValue.length === 1) {\n next_highlighted = [\n dirtyValue[0],\n dayjs(highlighted[1] || highlighted[0])\n .add(day, this.keyStep)\n .toDate(),\n ];\n } else {\n next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];\n }\n this.handlers.highlighted(next_highlighted);\n this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));\n } else {\n this.handlers.highlighted([displayedPeriod]);\n }\n e.preventDefault();\n }\n };\n\n handlerApply = (value) => {\n const [startDate, endDate = startDate] = value;\n this.handlerChange([]);\n this.handlers.value([startDate, endDate]);\n };\n\n handlerChange = (date) => {\n let { dirtyValue } = this.state;\n let highlighted = [];\n if (Array.isArray(date)) {\n dirtyValue = date;\n } else if (!dirtyValue.length) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue.length >= 2) {\n dirtyValue = [date];\n highlighted = [date];\n } else if (dirtyValue[0] > date) {\n dirtyValue = [date, dirtyValue[0]];\n } else {\n dirtyValue = [dirtyValue[0], date];\n }\n\n this.setState({ dirtyValue }, () => {\n this.handlers.highlighted(highlighted);\n });\n };\n\n getDefaultPeriods() {\n return [];\n }\n\n getTriggerProps() {\n const { value, size } = this.asProps;\n return {\n size,\n empty: !value[0] && !value[1],\n onKeyDown: this.handlerKeyDown,\n };\n }\n\n getPopperProps() {\n const Picker = this[CORE_INSTANCE];\n const { 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"}
@@ -16,8 +16,6 @@ import { assignProps as _assignProps2 } from "@semcore/core";
16
16
  import { assignProps as _assignProps } from "@semcore/core";
17
17
  var _excluded = ["value", "onClick", "onMouseEnter", "onMouseLeave"];
18
18
 
19
- var _this = this;
20
-
21
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
22
20
 
23
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -37,14 +35,13 @@ import ChevronRight from '@semcore/icon/ChevronRight/m';
37
35
  import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
38
36
  import ButtonTrigger from './ButtonTrigger';
39
37
  export function Trigger() {
40
- var _ref = this ? this.asProps : arguments[0];
41
-
38
+ var _ref = arguments[0];
42
39
  return /*#__PURE__*/React.createElement(Dropdown.Trigger, _assignProps({
43
40
  "tag": ButtonTrigger
44
41
  }, _ref));
45
42
  }
46
43
  export function Popper(props) {
47
- var _ref2 = this ? this.asProps : arguments[0],
44
+ var _ref2 = arguments[0],
48
45
  _ref8;
49
46
 
50
47
  var SPopper = Dropdown.Popper;
@@ -54,14 +51,14 @@ export function Popper(props) {
54
51
  }, _ref2))));
55
52
  }
56
53
  export function Header(props) {
57
- var _ref3 = this ? this.asProps : arguments[0],
54
+ var _ref3 = arguments[0],
58
55
  _ref9;
59
56
 
60
57
  var SHeader = Box;
61
58
  return _ref9 = sstyled(props.styles), /*#__PURE__*/React.createElement(SHeader, _ref9.cn("SHeader", _objectSpread({}, _assignProps3({}, _ref3))));
62
59
  }
63
60
  export var Title = function Title(_ref12) {
64
- var _ref4 = _this ? _this.asProps : arguments[0],
61
+ var _ref4 = arguments[0],
65
62
  _ref10;
66
63
 
67
64
  var Children = _ref12.Children,
@@ -70,8 +67,7 @@ export var Title = function Title(_ref12) {
70
67
  return _ref10 = sstyled(styles), /*#__PURE__*/React.createElement(STitle, _ref10.cn("STitle", _objectSpread({}, _assignProps4({}, _ref4))), /*#__PURE__*/React.createElement(Children, _ref10.cn("Children", {})));
71
68
  };
72
69
  export function Prev() {
73
- var _ref5 = this ? this.asProps : arguments[0];
74
-
70
+ var _ref5 = arguments[0];
75
71
  return /*#__PURE__*/React.createElement(Button, _assignProps5({
76
72
  "use": "tertiary",
77
73
  "theme": "muted",
@@ -84,8 +80,7 @@ Prev.defaultProps = {
84
80
  children: /*#__PURE__*/React.createElement(ChevronLeft, null)
85
81
  };
86
82
  export function Next() {
87
- var _ref6 = this ? this.asProps : arguments[0];
88
-
83
+ var _ref6 = arguments[0];
89
84
  return /*#__PURE__*/React.createElement(Button, _assignProps6({
90
85
  "use": "tertiary",
91
86
  "theme": "muted",
@@ -114,7 +109,7 @@ export var Period = /*#__PURE__*/function (_Component) {
114
109
  var _super = _createSuper(Period);
115
110
 
116
111
  function Period() {
117
- var _this2;
112
+ var _this;
118
113
 
119
114
  _classCallCheck(this, Period);
120
115
 
@@ -122,9 +117,9 @@ export var Period = /*#__PURE__*/function (_Component) {
122
117
  args[_key] = arguments[_key];
123
118
  }
124
119
 
125
- _this2 = _super.call.apply(_super, [this].concat(args));
120
+ _this = _super.call.apply(_super, [this].concat(args));
126
121
 
127
- _defineProperty(_assertThisInitialized(_this2), "getActiveControl", function () {
122
+ _defineProperty(_assertThisInitialized(_this), "getActiveControl", function () {
128
123
  var period = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
129
124
  var value = arguments.length > 1 ? arguments[1] : undefined;
130
125
 
@@ -142,15 +137,15 @@ export var Period = /*#__PURE__*/function (_Component) {
142
137
  return compareMonth(period[0], value);
143
138
  });
144
139
 
145
- return _this2;
140
+ return _this;
146
141
  }
147
142
 
148
143
  _createClass(Period, [{
149
144
  key: "render",
150
145
  value: function render() {
151
- var _ref7 = this ? this.asProps : arguments[0],
146
+ var _ref7 = this.asProps,
152
147
  _ref11,
153
- _this3 = this;
148
+ _this2 = this;
154
149
 
155
150
  var SPeriod = Box;
156
151
  var _this$asProps = this.asProps,
@@ -172,7 +167,7 @@ export var Period = /*#__PURE__*/function (_Component) {
172
167
  theme: "muted",
173
168
  styles: stylesBtn,
174
169
  key: i,
175
- active: _this3.getActiveControl(period, value),
170
+ active: _this2.getActiveControl(period, value),
176
171
  onClick: callAllEventHandlers(onClick, function () {
177
172
  return onChange(period);
178
173
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.jsx"],"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 { styles, value, onChange, periods, onHighlightedChange, onDisplayedPeriodChange } =\n this.asProps;\n\n return sstyled(styles)(\n <SPeriod render={Box}>\n {periods.map(({ value: period, onClick, onMouseEnter, onMouseLeave, ...other }, i) => (\n <Button\n use=\"tertiary\"\n theme=\"muted\"\n styles={stylesBtn}\n key={i}\n active={this.getActiveControl(period, value)}\n onClick={callAllEventHandlers(onClick, () => onChange(period))}\n onMouseEnter={callAllEventHandlers(onMouseEnter, () => {\n onHighlightedChange(period);\n onDisplayedPeriodChange(dayjs(period[0]).toDate());\n })}\n onMouseLeave={callAllEventHandlers(onMouseLeave, () => {\n onHighlightedChange([]);\n onDisplayedPeriodChange(value[0] ? dayjs(value[0]).toDate() : new Date());\n })}\n {...other}\n />\n ))}\n </SPeriod>,\n );\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/components/index.jsx"],"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 { styles, value, onChange, periods, onHighlightedChange, 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"}
@@ -0,0 +1,355 @@
1
+ import React, { ComponentProps } from 'react';
2
+ import dayjs from 'dayjs';
3
+ import { Box, IBoxProps } from '@semcore/flex-box';
4
+ import Button from '@semcore/button';
5
+ import { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';
6
+ import Dropdown, { IDropdownProps } from '@semcore/dropdown';
7
+ import { IWithI18nEnhanceProps } from '@semcore/utils/lib/enhances/i18nEnhance';
8
+ import BaseTrigger from '@semcore/base-trigger';
9
+
10
+ export type DateConstructorParams = string | number | Date;
11
+
12
+ export interface ICalendarProps extends IBoxProps {
13
+ /**
14
+ * Locale for displaying the days of a week and months, to be transferred to `Intl`
15
+ * @default en
16
+ * */
17
+ locale?: NavigatorLanguage['language'];
18
+ /**
19
+ * Array of dates blocked for selection
20
+ * Accepts the date, the range of dates or `falsICalendarPropse` for specifying infinity ([Date | false, Date | false]), crontab( 6,7)
21
+ * */
22
+ disabled?: (Date | (Date | false)[] | string)[];
23
+ /**
24
+ * @ignore
25
+ * */
26
+ highlighted?: DateConstructorParams[];
27
+ /**
28
+ * @ignore
29
+ * */
30
+ onHighlightedChange?: (date: Date[]) => void;
31
+ /**
32
+ * The selected date, accepts everything which is accepted by `new Date()`
33
+ * */
34
+ value?: DateConstructorParams[];
35
+ /**
36
+ * To be activated upon selecting the date
37
+ * */
38
+ onChange?: (date: Date[]) => void;
39
+ /**
40
+ * Date for showing the necessary month
41
+ * @default new Date()
42
+ * */
43
+ displayedPeriod?: Date;
44
+ }
45
+
46
+ export interface ICalendarDaysContext {
47
+ days: ICalendarUnitProps[];
48
+ }
49
+
50
+ export interface ICalendarMonthsContext {
51
+ months: ICalendarUnitProps[];
52
+ }
53
+
54
+ export interface ICalendarUnitProps extends IBoxProps {
55
+ selected?: boolean;
56
+ outdated?: boolean;
57
+ disabled?: boolean;
58
+ today?: boolean;
59
+ startSelected?: boolean;
60
+ endSelected?: boolean;
61
+ highlighted?: boolean;
62
+ startHighlighted?: boolean;
63
+ endHighlighted?: boolean;
64
+ children?: React.ReactNode;
65
+ }
66
+
67
+ export interface ICalendarContext {
68
+ getUnitProps: PropGetterFn;
69
+ }
70
+
71
+ declare const Calendar: (<T>(
72
+ props: CProps<ICalendarProps & T, ICalendarContext, IAbstractDatePickerHandlers>,
73
+ ) => ReturnEl) & {
74
+ Unit: <T>(props: ICalendarUnitProps & T) => ReturnEl;
75
+ };
76
+
77
+ export interface IDatePickerProps extends IDropdownProps, IWithI18nEnhanceProps {
78
+ /**
79
+ * The selected date, accepts everything which is accepted by `new Date()`
80
+ * */
81
+ value?: DateConstructorParams;
82
+ /**
83
+ * To be activated upon selecting the date
84
+ * */
85
+ onChange?: (date: Date) => void;
86
+ /**
87
+ * Array of dates blocked for selection
88
+ * */
89
+ disabled?: (Date | (Date | false)[] | string)[];
90
+ /**
91
+ * Date for showing the necessary month
92
+ * @default new Date()
93
+ * */
94
+ displayedPeriod?: DateConstructorParams;
95
+ /**
96
+ * To be activated upon changing the current shown month
97
+ * */
98
+ onDisplayedPeriodChange?: (date: Date) => void;
99
+ /**
100
+ * Component size
101
+ * @default m
102
+ */
103
+ size?: 'm' | 'l' | 'xl';
104
+ /**
105
+ * The selected date, accepts everything which is accepted by `new Date()`
106
+ * */
107
+ highlighted?: DateConstructorParams[];
108
+ /**
109
+ * Default value selected date, accepts everything which is accepted by `new Date()`
110
+ * */
111
+ defaultValue?: DateConstructorParams;
112
+ /**
113
+ * Default value date for showing the necessary month
114
+ * */
115
+ defaultDisplayedPeriod?: DateConstructorParams;
116
+ /**
117
+ * Default value selected date, accepts everything which is accepted by `new Date()`
118
+ * */
119
+ defaultHighlighted?: DateConstructorParams[];
120
+ }
121
+
122
+ export interface IDateRangePickerProps extends IDropdownProps, IWithI18nEnhanceProps {
123
+ /**
124
+ * The selected date, accepts everything which is accepted by `new Date()`
125
+ * */
126
+ value?: DateConstructorParams[];
127
+ /**
128
+ * Default value selected date, accepts everything which is accepted by `new Date()`
129
+ * */
130
+ defaultValue?: DateConstructorParams[];
131
+ /**
132
+ * Default value date for showing the necessary month
133
+ * */
134
+ defaultDisplayedPeriod?: DateConstructorParams;
135
+ /**
136
+ * Default value selected date, accepts everything which is accepted by `new Date()`
137
+ * */
138
+ defaultHighlighted?: DateConstructorParams[];
139
+ /**
140
+ * To be activated upon selecting the date
141
+ * */
142
+ onChange?: (date: Date[]) => void;
143
+ /**
144
+ * Array of dates blocked for selection
145
+ * */
146
+ disabled?: (Date | (Date | false)[] | string)[];
147
+ /**
148
+ * Date for showing the necessary month
149
+ * @default new Date()
150
+ * */
151
+ displayedPeriod?: DateConstructorParams;
152
+ /**
153
+ * To be activated upon changing the current shown month
154
+ * */
155
+ onDisplayedPeriodChange?: (date: Date) => void;
156
+ /**
157
+ * Component size
158
+ * @default m
159
+ */
160
+ size?: 'm' | 'l' | 'xl';
161
+ /**
162
+ * The selected date, accepts everything which is accepted by `new Date()`
163
+ * */
164
+ highlighted?: DateConstructorParams[];
165
+ /**
166
+ * Remove the 'Reset' button
167
+ * */
168
+ unclearable?: boolean;
169
+ /**
170
+ * To be activated upon selecting the date
171
+ * */
172
+ onHighlightedChange?: (date: Date[]) => void;
173
+ /**
174
+ * Array of periods
175
+ * [{value: [new Date(), new Date()], children: "Today"}]
176
+ * @default Past 2 days / Past week / Past 2 week / Past month / Past 2 month
177
+ * */
178
+ periods?: (ComponentProps<typeof Button> & { value: Date[] })[];
179
+ }
180
+
181
+ export interface IDateRangePickerPeriodProps extends IBoxProps {
182
+ /**
183
+ * Current selected period
184
+ * */
185
+ value?: DateConstructorParams[];
186
+ /**
187
+ * To be activated by clicking the button for switching the selected period.
188
+ * */
189
+ onChange?: (date: Date[]) => void;
190
+ /**
191
+ * To be activated by hovering a cursor over the button for changing the current displayed month.
192
+ * */
193
+ onDisplayedPeriodChange?: (date: Date) => void;
194
+ /**
195
+ * To be activated by hovering a cursor over the button for selecting the dates.
196
+ * */
197
+ onHighlightedChange?: (date: Date[]) => void;
198
+ /**
199
+ * Array of periods
200
+ * [{value: [new Date(), new Date()], children: "Today"}]
201
+ * @default Past 2 days / Past week / Past 2 week / Past month / Past 2 month
202
+ * */
203
+ periods?: (ComponentProps<typeof Button> & { value: Date[] })[];
204
+ }
205
+
206
+ export interface IDatePickerContext {
207
+ getTriggerProps: PropGetterFn;
208
+ getPopperProps: PropGetterFn;
209
+ getHeaderProps: PropGetterFn;
210
+ getTitleProps: PropGetterFn;
211
+ getNextProps: PropGetterFn;
212
+ getPrevProps: PropGetterFn;
213
+ getCalendarProps: PropGetterFn;
214
+ getTodayProps: PropGetterFn;
215
+ }
216
+
217
+ export interface IAbstractDatePickerHandlers {
218
+ displayedPeriod: (value: DateConstructorParams) => void;
219
+ visible: (index: boolean) => void;
220
+ highlighted: (list: DateConstructorParams[]) => void;
221
+ value: (index: DateConstructorParams) => void;
222
+ }
223
+
224
+ export interface IDatePickerHandlers {
225
+ visible: (index: boolean) => void;
226
+ }
227
+
228
+ declare const DatePicker: ((
229
+ props: CProps<IDatePickerProps, IDatePickerContext & ICalendarDaysContext, IDatePickerHandlers>,
230
+ ) => ReturnEl) & {
231
+ Trigger: (<T>(
232
+ props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
233
+ ) => ReturnEl) & {
234
+ Addon: typeof BaseTrigger.Addon;
235
+ Text: typeof BaseTrigger.Text;
236
+ };
237
+ Popper: typeof Dropdown.Popper;
238
+ Header: typeof Box;
239
+ Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IDatePickerContext>) => ReturnEl;
240
+ Prev: typeof Button;
241
+ Next: typeof Button;
242
+ Calendar: typeof Calendar;
243
+ Today: typeof Box;
244
+ add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
245
+ subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
246
+ };
247
+
248
+ export interface IDateRangePickerContext {
249
+ getTriggerProps: PropGetterFn;
250
+ getPopperProps: PropGetterFn;
251
+ getHeaderProps: PropGetterFn;
252
+ getTitleProps: PropGetterFn;
253
+ getNextProps: PropGetterFn;
254
+ getPrevProps: PropGetterFn;
255
+ getCalendarProps: PropGetterFn;
256
+ getPeriodProps: PropGetterFn;
257
+ }
258
+
259
+ declare const DateRangePicker: ((
260
+ props: CProps<
261
+ IDateRangePickerProps,
262
+ IDateRangePickerContext & ICalendarDaysContext,
263
+ IDatePickerHandlers
264
+ >,
265
+ ) => ReturnEl) & {
266
+ Trigger: (<T>(
267
+ props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
268
+ ) => ReturnEl) & {
269
+ Addon: typeof BaseTrigger.Addon;
270
+ Text: typeof BaseTrigger.Text;
271
+ };
272
+ Popper: <T>(props: ComponentProps<typeof Dropdown.Popper> & T) => ReturnEl;
273
+ Header: typeof Box;
274
+ Title: <T>(
275
+ props: CProps<IDateRangePickerProps & IBoxProps & T, IDateRangePickerContext>,
276
+ ) => ReturnEl;
277
+ Prev: typeof Button;
278
+ Next: typeof Button;
279
+ Calendar: typeof Calendar;
280
+ Period: <T>(props: IDateRangePickerPeriodProps & T) => ReturnEl;
281
+ add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
282
+ subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
283
+ };
284
+
285
+ export interface IMonthPickerContext {
286
+ getTriggerProps: PropGetterFn;
287
+ getPopperProps: PropGetterFn;
288
+ getHeaderProps: PropGetterFn;
289
+ getTitleProps: PropGetterFn;
290
+ getNextProps: PropGetterFn;
291
+ getPrevProps: PropGetterFn;
292
+ getCalendarProps: PropGetterFn;
293
+ }
294
+
295
+ declare const MonthPicker: ((
296
+ props: CProps<
297
+ IDatePickerProps,
298
+ IMonthPickerContext & ICalendarMonthsContext,
299
+ IDatePickerHandlers
300
+ >,
301
+ ) => ReturnEl) & {
302
+ Trigger: (<T>(
303
+ props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
304
+ ) => ReturnEl) & {
305
+ Addon: typeof BaseTrigger.Addon;
306
+ Text: typeof BaseTrigger.Text;
307
+ };
308
+ Popper: typeof Dropdown.Popper;
309
+ Header: typeof Box;
310
+ Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IMonthPickerContext>) => ReturnEl;
311
+ Prev: typeof Button;
312
+ Next: typeof Button;
313
+ Calendar: typeof Calendar;
314
+ add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
315
+ subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
316
+ };
317
+
318
+ export interface IMonthRangePickerContext {
319
+ getTriggerProps: PropGetterFn;
320
+ getPopperProps: PropGetterFn;
321
+ getHeaderProps: PropGetterFn;
322
+ getTitleProps: PropGetterFn;
323
+ getNextProps: PropGetterFn;
324
+ getPrevProps: PropGetterFn;
325
+ getCalendarProps: PropGetterFn;
326
+ getPeriodProps: PropGetterFn;
327
+ }
328
+
329
+ declare const MonthRangePicker: ((
330
+ props: CProps<
331
+ IDateRangePickerProps,
332
+ IMonthRangePickerContext & ICalendarMonthsContext,
333
+ IDatePickerHandlers
334
+ >,
335
+ ) => ReturnEl) & {
336
+ Trigger: (<T>(
337
+ props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
338
+ ) => ReturnEl) & {
339
+ Addon: typeof BaseTrigger.Addon;
340
+ Text: typeof BaseTrigger.Text;
341
+ };
342
+ Popper: typeof Dropdown.Popper;
343
+ Header: typeof Box;
344
+ Title: <T>(
345
+ props: CProps<IDateRangePickerProps & IBoxProps & T, IMonthRangePickerContext>,
346
+ ) => ReturnEl;
347
+ Prev: typeof Button;
348
+ Next: typeof Button;
349
+ Calendar: typeof Calendar;
350
+ Period: <T>(props: IDateRangePickerPeriodProps & T) => ReturnEl;
351
+ add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
352
+ subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;
353
+ };
354
+
355
+ export { DatePicker, DateRangePicker, MonthPicker, MonthRangePicker };
package/lib/es6/index.js CHANGED
@@ -1,9 +1,6 @@
1
1
  export { default as DatePicker } from './DatePicker';
2
2
  export * from './DatePicker';
3
3
  export { default as DateRangePicker } from './DateRangePicker';
4
- export * from './DateRangePicker';
5
4
  export { default as MonthPicker } from './MonthPicker';
6
- export * from './MonthPicker';
7
5
  export { default as MonthRangePicker } from './MonthRangePicker';
8
- export * from './MonthRangePicker';
9
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.js"],"names":["default","DatePicker","DateRangePicker","MonthPicker","MonthRangePicker"],"mappings":"AAAA,SAASA,OAAO,IAAIC,UAApB,QAAsC,cAAtC;AACA,cAAc,cAAd;AAEA,SAASD,OAAO,IAAIE,eAApB,QAA2C,mBAA3C;AACA,cAAc,mBAAd;AAEA,SAASF,OAAO,IAAIG,WAApB,QAAuC,eAAvC;AACA,cAAc,eAAd;AAEA,SAASH,OAAO,IAAII,gBAApB,QAA4C,oBAA5C;AACA,cAAc,oBAAd","sourcesContent":["export { default as DatePicker } from './DatePicker';\nexport * from './DatePicker';\n\nexport { default as DateRangePicker } from './DateRangePicker';\nexport * from './DateRangePicker';\n\nexport { default as MonthPicker } from './MonthPicker';\nexport * from './MonthPicker';\n\nexport { default as MonthRangePicker } from './MonthRangePicker';\nexport * from './MonthRangePicker';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.js"],"names":["default","DatePicker","DateRangePicker","MonthPicker","MonthRangePicker"],"mappings":"AAAA,SAASA,OAAO,IAAIC,UAApB,QAAsC,cAAtC;AACA,cAAc,cAAd;AAEA,SAASD,OAAO,IAAIE,eAApB,QAA2C,mBAA3C;AAEA,SAASF,OAAO,IAAIG,WAApB,QAAuC,eAAvC;AAEA,SAASH,OAAO,IAAII,gBAApB,QAA4C,oBAA5C","sourcesContent":["export { default as DatePicker } from './DatePicker';\nexport * from './DatePicker';\n\nexport { default as DateRangePicker } from './DateRangePicker';\n\nexport { default as MonthPicker } from './MonthPicker';\n\nexport { default as MonthRangePicker } from './MonthRangePicker';\n"],"file":"index.js"}
@@ -60,6 +60,7 @@ export default function shortDateRangeFormat(dates, _ref) {
60
60
  }
61
61
 
62
62
  if (isSimilarYear) {
63
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
63
64
  var year = options.year,
64
65
  newOptions = _objectWithoutProperties(options, _excluded2);
65
66