@semcore/date-picker 2.8.2 → 2.8.5
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/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/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 +13 -18
- 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/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/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 +13 -18
- 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/components/ButtonTrigger.jsx +2 -3
- package/src/components/PickerAbstract.jsx +0 -1
- package/src/components/RangePickerAbstract.jsx +10 -10
- package/src/index.js +0 -3
- 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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
-
|
|
120
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
126
121
|
|
|
127
|
-
_defineProperty(_assertThisInitialized(
|
|
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
|
|
140
|
+
return _this;
|
|
146
141
|
}
|
|
147
142
|
|
|
148
143
|
_createClass(Period, [{
|
|
149
144
|
key: "render",
|
|
150
145
|
value: function render() {
|
|
151
|
-
var _ref7 = this
|
|
146
|
+
var _ref7 = this.asProps,
|
|
152
147
|
_ref11,
|
|
153
|
-
|
|
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:
|
|
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":"
|
|
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
|
package/lib/es6/index.js.map
CHANGED
|
@@ -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;
|
|
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"}
|