@semcore/date-picker 3.4.5 → 3.4.7
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 +8 -2
- package/lib/cjs/DatePicker.js +32 -9
- package/lib/cjs/DatePicker.js.map +1 -1
- package/lib/cjs/DateRangePicker.js +23 -0
- package/lib/cjs/DateRangePicker.js.map +1 -1
- package/lib/cjs/MonthPicker.js +33 -3
- package/lib/cjs/MonthPicker.js.map +1 -1
- package/lib/cjs/MonthRangePicker.js +33 -3
- package/lib/cjs/MonthRangePicker.js.map +1 -1
- package/lib/cjs/components/Calendar.js +20 -18
- package/lib/cjs/components/Calendar.js.map +1 -1
- package/lib/cjs/components/InputTrigger.js +820 -0
- package/lib/cjs/components/InputTrigger.js.map +1 -0
- package/lib/cjs/components/PickerAbstract.js +36 -15
- package/lib/cjs/components/PickerAbstract.js.map +1 -1
- package/lib/cjs/components/RangePickerAbstract.js +34 -13
- package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
- package/lib/cjs/components/index.js +52 -32
- package/lib/cjs/components/index.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/style/date-picker.shadow.css +48 -0
- package/lib/es6/DatePicker.js +33 -10
- package/lib/es6/DatePicker.js.map +1 -1
- package/lib/es6/DateRangePicker.js +24 -1
- package/lib/es6/DateRangePicker.js.map +1 -1
- package/lib/es6/MonthPicker.js +33 -4
- package/lib/es6/MonthPicker.js.map +1 -1
- package/lib/es6/MonthRangePicker.js +33 -4
- package/lib/es6/MonthRangePicker.js.map +1 -1
- package/lib/es6/components/Calendar.js +20 -18
- package/lib/es6/components/Calendar.js.map +1 -1
- package/lib/es6/components/InputTrigger.js +803 -0
- package/lib/es6/components/InputTrigger.js.map +1 -0
- package/lib/es6/components/PickerAbstract.js +36 -15
- package/lib/es6/components/PickerAbstract.js.map +1 -1
- package/lib/es6/components/RangePickerAbstract.js +34 -13
- package/lib/es6/components/RangePickerAbstract.js.map +1 -1
- package/lib/es6/components/index.js +48 -30
- package/lib/es6/components/index.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/style/date-picker.shadow.css +48 -0
- package/lib/types/index.d.ts +64 -2
- package/package.json +10 -5
|
@@ -7,6 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
7
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
8
8
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
9
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
10
|
+
import { assignProps as _assignProps8 } from "@semcore/core";
|
|
10
11
|
import { assignProps as _assignProps7 } from "@semcore/core";
|
|
11
12
|
import { assignProps as _assignProps6 } from "@semcore/core";
|
|
12
13
|
import { assignProps as _assignProps5 } from "@semcore/core";
|
|
@@ -34,60 +35,77 @@ import ChevronLeft from '@semcore/icon/ChevronLeft/m';
|
|
|
34
35
|
import ChevronRight from '@semcore/icon/ChevronRight/m';
|
|
35
36
|
import { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
|
|
36
37
|
import ButtonTrigger from './ButtonTrigger';
|
|
38
|
+
import InputTriggerBase from './InputTrigger';
|
|
39
|
+
/** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */
|
|
40
|
+
|
|
37
41
|
export function Trigger() {
|
|
38
42
|
var _ref = arguments[0];
|
|
39
43
|
return /*#__PURE__*/React.createElement(Dropdown.Trigger, _assignProps({
|
|
40
44
|
"tag": ButtonTrigger
|
|
41
45
|
}, _ref));
|
|
42
46
|
}
|
|
47
|
+
export function InputTrigger() {
|
|
48
|
+
var _ref2 = arguments[0];
|
|
49
|
+
return /*#__PURE__*/React.createElement(Dropdown.Trigger, _assignProps2({
|
|
50
|
+
"tag": InputTriggerBase,
|
|
51
|
+
"__excludeProps": ['role', 'aria-haspopup', 'onChange', 'value']
|
|
52
|
+
}, _ref2));
|
|
53
|
+
}
|
|
54
|
+
InputTrigger.Indicator = InputTriggerBase.Indicator;
|
|
55
|
+
InputTrigger.MaskedInput = InputTriggerBase.MaskedInput;
|
|
56
|
+
InputTrigger.Addon = InputTriggerBase.Addon;
|
|
57
|
+
InputTrigger.SingleDateInput = InputTriggerBase.SingleDateInput;
|
|
58
|
+
InputTrigger.DateRange = InputTriggerBase.DateRange;
|
|
59
|
+
InputTrigger.DateRangeFromInput = InputTriggerBase.DateRangeFromInput;
|
|
60
|
+
InputTrigger.DateRangeToInput = InputTriggerBase.DateRangeToInput;
|
|
43
61
|
export function Popper(props) {
|
|
44
|
-
var
|
|
45
|
-
|
|
62
|
+
var _ref3 = arguments[0],
|
|
63
|
+
_ref9;
|
|
46
64
|
|
|
47
65
|
var SPopper = Dropdown.Popper;
|
|
48
|
-
return
|
|
66
|
+
return _ref9 = sstyled(props.styles), /*#__PURE__*/React.createElement(SPopper, _ref9.cn("SPopper", _objectSpread({}, _assignProps3({
|
|
49
67
|
"role": "region",
|
|
50
68
|
"aria-label": "calendar-container"
|
|
51
|
-
},
|
|
69
|
+
}, _ref3))));
|
|
52
70
|
}
|
|
53
71
|
export function Header(props) {
|
|
54
|
-
var
|
|
55
|
-
|
|
72
|
+
var _ref4 = arguments[0],
|
|
73
|
+
_ref10;
|
|
56
74
|
|
|
57
75
|
var SHeader = Box;
|
|
58
|
-
return
|
|
76
|
+
return _ref10 = sstyled(props.styles), /*#__PURE__*/React.createElement(SHeader, _ref10.cn("SHeader", _objectSpread({}, _assignProps4({}, _ref4))));
|
|
59
77
|
}
|
|
60
|
-
export var Title = function Title(
|
|
61
|
-
var
|
|
62
|
-
|
|
78
|
+
export var Title = function Title(_ref13) {
|
|
79
|
+
var _ref5 = arguments[0],
|
|
80
|
+
_ref11;
|
|
63
81
|
|
|
64
|
-
var Children =
|
|
65
|
-
styles =
|
|
82
|
+
var Children = _ref13.Children,
|
|
83
|
+
styles = _ref13.styles;
|
|
66
84
|
var STitle = Box;
|
|
67
|
-
return
|
|
85
|
+
return _ref11 = sstyled(styles), /*#__PURE__*/React.createElement(STitle, _ref11.cn("STitle", _objectSpread({}, _assignProps5({}, _ref5))), /*#__PURE__*/React.createElement(Children, _ref11.cn("Children", {})));
|
|
68
86
|
};
|
|
69
87
|
export function Prev() {
|
|
70
|
-
var
|
|
71
|
-
return /*#__PURE__*/React.createElement(Button,
|
|
88
|
+
var _ref6 = arguments[0];
|
|
89
|
+
return /*#__PURE__*/React.createElement(Button, _assignProps6({
|
|
72
90
|
"use": "tertiary",
|
|
73
91
|
"theme": "muted",
|
|
74
92
|
"size": "l",
|
|
75
93
|
"tabIndex": -1,
|
|
76
94
|
"aria-label": "Prev period"
|
|
77
|
-
},
|
|
95
|
+
}, _ref6));
|
|
78
96
|
}
|
|
79
97
|
Prev.defaultProps = {
|
|
80
98
|
children: /*#__PURE__*/React.createElement(ChevronLeft, null)
|
|
81
99
|
};
|
|
82
100
|
export function Next() {
|
|
83
|
-
var
|
|
84
|
-
return /*#__PURE__*/React.createElement(Button,
|
|
101
|
+
var _ref7 = arguments[0];
|
|
102
|
+
return /*#__PURE__*/React.createElement(Button, _assignProps7({
|
|
85
103
|
"use": "tertiary",
|
|
86
104
|
"theme": "muted",
|
|
87
105
|
"size": "l",
|
|
88
106
|
"tabIndex": -1,
|
|
89
107
|
"aria-label": "Next period"
|
|
90
|
-
},
|
|
108
|
+
}, _ref7));
|
|
91
109
|
}
|
|
92
110
|
Next.defaultProps = {
|
|
93
111
|
children: /*#__PURE__*/React.createElement(ChevronRight, null)
|
|
@@ -96,12 +114,12 @@ var stylesBtn = (
|
|
|
96
114
|
/*__reshadow_css_start__*/
|
|
97
115
|
sstyled.insert(
|
|
98
116
|
/*__inner_css_start__*/
|
|
99
|
-
"
|
|
117
|
+
".___SInner_1j7ls_gg_{justify-content:flex-start}"
|
|
100
118
|
/*__inner_css_end__*/
|
|
101
|
-
, "
|
|
119
|
+
, "1j7ls_gg_")
|
|
102
120
|
/*__reshadow_css_end__*/
|
|
103
121
|
, {
|
|
104
|
-
"__SInner": "
|
|
122
|
+
"__SInner": "___SInner_1j7ls_gg_"
|
|
105
123
|
});
|
|
106
124
|
export var Period = /*#__PURE__*/function (_Component) {
|
|
107
125
|
_inherits(Period, _Component);
|
|
@@ -143,8 +161,8 @@ export var Period = /*#__PURE__*/function (_Component) {
|
|
|
143
161
|
_createClass(Period, [{
|
|
144
162
|
key: "render",
|
|
145
163
|
value: function render() {
|
|
146
|
-
var
|
|
147
|
-
|
|
164
|
+
var _ref8 = this.asProps,
|
|
165
|
+
_ref12,
|
|
148
166
|
_this2 = this;
|
|
149
167
|
|
|
150
168
|
var SPeriod = Box;
|
|
@@ -155,12 +173,12 @@ export var Period = /*#__PURE__*/function (_Component) {
|
|
|
155
173
|
periods = _this$asProps.periods,
|
|
156
174
|
onHighlightedChange = _this$asProps.onHighlightedChange,
|
|
157
175
|
onDisplayedPeriodChange = _this$asProps.onDisplayedPeriodChange;
|
|
158
|
-
return
|
|
159
|
-
var period =
|
|
160
|
-
onClick =
|
|
161
|
-
onMouseEnter =
|
|
162
|
-
onMouseLeave =
|
|
163
|
-
other = _objectWithoutProperties(
|
|
176
|
+
return _ref12 = sstyled(styles), /*#__PURE__*/React.createElement(SPeriod, _ref12.cn("SPeriod", _objectSpread({}, _assignProps8({}, _ref8))), periods.map(function (_ref14, i) {
|
|
177
|
+
var period = _ref14.value,
|
|
178
|
+
onClick = _ref14.onClick,
|
|
179
|
+
onMouseEnter = _ref14.onMouseEnter,
|
|
180
|
+
onMouseLeave = _ref14.onMouseLeave,
|
|
181
|
+
other = _objectWithoutProperties(_ref14, _excluded);
|
|
164
182
|
|
|
165
183
|
return /*#__PURE__*/React.createElement(Button, _extends({
|
|
166
184
|
use: "tertiary",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","dayjs","Component","Root","sstyled","Dropdown","Box","Button","ChevronLeft","ChevronRight","callAllEventHandlers","ButtonTrigger","Trigger","Popper","props","SPopper","styles","Header","SHeader","Title","Children","STitle","Prev","defaultProps","children","Next","stylesBtn","Period","period","value","compareMonth","monthOne","monthTwo","isSame","Array","isArray","length","SPeriod","asProps","onChange","periods","onHighlightedChange","onDisplayedPeriodChange","map","i","onClick","onMouseEnter","onMouseLeave","other","getActiveControl","toDate","Date"],"sources":["../../../src/components/index.jsx"],"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"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","dayjs","Component","Root","sstyled","Dropdown","Box","Button","ChevronLeft","ChevronRight","callAllEventHandlers","ButtonTrigger","InputTriggerBase","Trigger","InputTrigger","Indicator","MaskedInput","Addon","SingleDateInput","DateRange","DateRangeFromInput","DateRangeToInput","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"],"sources":["../../../src/components/index.jsx"],"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';\nimport InputTriggerBase from './InputTrigger';\n\n/** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */\nexport function Trigger() {\n return <Root render={Dropdown.Trigger} tag={ButtonTrigger} />;\n}\n\nexport function InputTrigger() {\n return (\n <Root\n render={Dropdown.Trigger}\n tag={InputTriggerBase}\n __excludeProps={['role', 'aria-haspopup', 'onChange', 'value']}\n />\n );\n}\nInputTrigger.Indicator = InputTriggerBase.Indicator;\nInputTrigger.MaskedInput = InputTriggerBase.MaskedInput;\nInputTrigger.Addon = InputTriggerBase.Addon;\nInputTrigger.SingleDateInput = InputTriggerBase.SingleDateInput;\nInputTrigger.DateRange = InputTriggerBase.DateRange;\nInputTrigger.DateRangeFromInput = InputTriggerBase.DateRangeFromInput;\nInputTrigger.DateRangeToInput = InputTriggerBase.DateRangeToInput;\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"],"mappings":"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"}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React, { ComponentProps } from 'react';\nimport dayjs from 'dayjs';\nimport { Box, IBoxProps } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownProps } from '@semcore/dropdown';\nimport { IWithI18nEnhanceProps } from '@semcore/utils/lib/enhances/i18nEnhance';\nimport BaseTrigger from '@semcore/base-trigger';\n\nexport type DateConstructorParams = string | number | Date;\n\nexport interface ICalendarProps extends IBoxProps {\n /**\n * Locale for displaying the days of a week and months, to be transferred to `Intl`\n * @default en\n * */\n locale?: NavigatorLanguage['language'];\n /**\n * Array of dates blocked for selection\n * Accepts the date, the range of dates or `falsICalendarPropse` for specifying infinity ([Date | false, Date | false]), crontab( 6,7)\n * */\n disabled?: (Date | (Date | false)[] | string)[];\n /**\n * @ignore\n * */\n highlighted?: DateConstructorParams[];\n /**\n * @ignore\n * */\n onHighlightedChange?: (date: Date[]) => void;\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n value?: DateConstructorParams[];\n /**\n * To be activated upon selecting the date\n * */\n onChange?: (date: Date[]) => void;\n /**\n * Date for showing the necessary month\n * @default new Date()\n * */\n displayedPeriod?: Date;\n}\n\nexport interface ICalendarDaysContext {\n days: ICalendarUnitProps[];\n}\n\nexport interface ICalendarMonthsContext {\n months: ICalendarUnitProps[];\n}\n\nexport interface ICalendarUnitProps extends IBoxProps {\n selected?: boolean;\n outdated?: boolean;\n disabled?: boolean;\n today?: boolean;\n startSelected?: boolean;\n endSelected?: boolean;\n highlighted?: boolean;\n startHighlighted?: boolean;\n endHighlighted?: boolean;\n children?: React.ReactNode;\n}\n\nexport interface ICalendarContext {\n getUnitProps: PropGetterFn;\n}\n\ndeclare const Calendar: (<T>(\n props: CProps<ICalendarProps & T, ICalendarContext, IAbstractDatePickerHandlers>,\n) => ReturnEl) & {\n Unit: <T>(props: ICalendarUnitProps & T) => ReturnEl;\n};\n\nexport interface IDatePickerProps extends IDropdownProps, IWithI18nEnhanceProps {\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n value?: DateConstructorParams;\n /**\n * To be activated upon selecting the date\n * */\n onChange?: (date: Date) => void;\n /**\n * Array of dates blocked for selection\n * */\n disabled?: (Date | (Date | false)[] | string)[];\n /**\n * Date for showing the necessary month\n * @default new Date()\n * */\n displayedPeriod?: DateConstructorParams;\n /**\n * To be activated upon changing the current shown month\n * */\n onDisplayedPeriodChange?: (date: Date) => void;\n /**\n * Component size\n * @default m\n */\n size?: 'm' | 'l';\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n highlighted?: DateConstructorParams[];\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultValue?: DateConstructorParams;\n /**\n * Default value date for showing the necessary month\n * */\n defaultDisplayedPeriod?: DateConstructorParams;\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultHighlighted?: DateConstructorParams[];\n}\n\nexport interface IDateRangePickerProps extends IDropdownProps, IWithI18nEnhanceProps {\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n value?: DateConstructorParams[];\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultValue?: DateConstructorParams[];\n /**\n * Default value date for showing the necessary month\n * */\n defaultDisplayedPeriod?: DateConstructorParams;\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultHighlighted?: DateConstructorParams[];\n /**\n * To be activated upon selecting the date\n * */\n onChange?: (date: Date[]) => void;\n /**\n * Array of dates blocked for selection\n * */\n disabled?: (Date | (Date | false)[] | string)[];\n /**\n * Date for showing the necessary month\n * @default new Date()\n * */\n displayedPeriod?: DateConstructorParams;\n /**\n * To be activated upon changing the current shown month\n * */\n onDisplayedPeriodChange?: (date: Date) => void;\n /**\n * Component size\n * @default m\n */\n size?: 'm' | 'l' | 'xl';\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n highlighted?: DateConstructorParams[];\n /**\n * Remove the 'Reset' button\n * */\n unclearable?: boolean;\n /**\n * To be activated upon selecting the date\n * */\n onHighlightedChange?: (date: Date[]) => void;\n /**\n * Array of periods\n * [{value: [new Date(), new Date()], children: \"Today\"}]\n * @default Past 2 days / Past week / Past 2 week / Past month / Past 2 month\n * */\n periods?: (ComponentProps<typeof Button> & { value: Date[] })[];\n}\n\nexport interface IDateRangePickerPeriodProps extends IBoxProps {\n /**\n * Current selected period\n * */\n value?: DateConstructorParams[];\n /**\n * To be activated by clicking the button for switching the selected period.\n * */\n onChange?: (date: Date[]) => void;\n /**\n * To be activated by hovering a cursor over the button for changing the current displayed month.\n * */\n onDisplayedPeriodChange?: (date: Date) => void;\n /**\n * To be activated by hovering a cursor over the button for selecting the dates.\n * */\n onHighlightedChange?: (date: Date[]) => void;\n /**\n * Array of periods\n * [{value: [new Date(), new Date()], children: \"Today\"}]\n * @default Past 2 days / Past week / Past 2 week / Past month / Past 2 month\n * */\n periods?: (ComponentProps<typeof Button> & { value: Date[] })[];\n}\n\nexport interface IDatePickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n getTodayProps: PropGetterFn;\n}\n\nexport interface IAbstractDatePickerHandlers {\n displayedPeriod: (value: DateConstructorParams) => void;\n visible: (index: boolean) => void;\n highlighted: (list: DateConstructorParams[]) => void;\n value: (index: DateConstructorParams) => void;\n}\n\nexport interface IDatePickerHandlers {\n visible: (index: boolean) => void;\n}\n\ndeclare const DatePicker: ((\n props: CProps<IDatePickerProps, IDatePickerContext & ICalendarDaysContext, IDatePickerHandlers>,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n Popper: typeof Dropdown.Popper;\n Header: typeof Box;\n Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IDatePickerContext>) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n Today: typeof Box;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport interface IDateRangePickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n getPeriodProps: PropGetterFn;\n}\n\ndeclare const DateRangePicker: ((\n props: CProps<\n IDateRangePickerProps,\n IDateRangePickerContext & ICalendarDaysContext,\n IDatePickerHandlers\n >,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n Popper: <T>(props: ComponentProps<typeof Dropdown.Popper> & T) => ReturnEl;\n Header: typeof Box;\n Title: <T>(\n props: CProps<IDateRangePickerProps & IBoxProps & T, IDateRangePickerContext>,\n ) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n Period: <T>(props: IDateRangePickerPeriodProps & T) => ReturnEl;\n Apply: typeof Button;\n Reset: typeof Button;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport interface IMonthPickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n}\n\ndeclare const MonthPicker: ((\n props: CProps<\n IDatePickerProps,\n IMonthPickerContext & ICalendarMonthsContext,\n IDatePickerHandlers\n >,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n Popper: typeof Dropdown.Popper;\n Header: typeof Box;\n Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IMonthPickerContext>) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport interface IMonthRangePickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n getPeriodProps: PropGetterFn;\n}\n\ndeclare const MonthRangePicker: ((\n props: CProps<\n IDateRangePickerProps,\n IMonthRangePickerContext & ICalendarMonthsContext,\n IDatePickerHandlers\n >,\n) => ReturnEl) & {\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n Popper: typeof Dropdown.Popper;\n Header: typeof Box;\n Title: <T>(\n props: CProps<IDateRangePickerProps & IBoxProps & T, IMonthRangePickerContext>,\n ) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n Period: <T>(props: IDateRangePickerPeriodProps & T) => ReturnEl;\n Apply: typeof Button;\n Reset: typeof Button;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport { DatePicker, DateRangePicker, MonthPicker, MonthRangePicker };\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React, { ChangeEvent, ComponentProps } from 'react';\nimport dayjs from 'dayjs';\nimport { Box, IBoxProps } from '@semcore/flex-box';\nimport Button from '@semcore/button';\nimport { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownProps } from '@semcore/dropdown';\nimport { IWithI18nEnhanceProps } from '@semcore/utils/lib/enhances/i18nEnhance';\nimport BaseTrigger from '@semcore/base-trigger';\nimport Input from '@semcore/input';\nimport InputMask from '@semcore/input-mask';\n\nexport type DateConstructorParams = string | number | Date;\n\nexport interface ICalendarProps extends IBoxProps {\n /**\n * Locale for displaying the days of a week and months, to be transferred to `Intl`\n * @default en\n * */\n locale?: NavigatorLanguage['language'];\n /**\n * Array of dates blocked for selection\n * Accepts the date or the range of dates for specifying infinity ([Date | false, Date | false]), crontab(6,7)\n * */\n disabled?: (Date | (Date | false)[] | string)[];\n /**\n * @ignore\n * */\n highlighted?: DateConstructorParams[];\n /**\n * @ignore\n * */\n onHighlightedChange?: (date: Date[]) => void;\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n value?: DateConstructorParams[];\n /**\n * To be activated upon selecting the date\n * */\n onChange?: (date: Date[]) => void;\n /**\n * Date for showing the necessary month\n * @default new Date()\n * */\n displayedPeriod?: Date;\n}\n\nexport interface ICalendarDaysContext {\n days: ICalendarUnitProps[];\n}\n\nexport interface ICalendarMonthsContext {\n months: ICalendarUnitProps[];\n}\n\nexport interface ICalendarUnitProps extends IBoxProps {\n selected?: boolean;\n outdated?: boolean;\n disabled?: boolean;\n today?: boolean;\n startSelected?: boolean;\n endSelected?: boolean;\n highlighted?: boolean;\n startHighlighted?: boolean;\n endHighlighted?: boolean;\n children?: React.ReactNode;\n}\n\nexport interface ICalendarContext {\n getUnitProps: PropGetterFn;\n}\n\ndeclare const Calendar: (<T>(\n props: CProps<ICalendarProps & T, ICalendarContext, IAbstractDatePickerHandlers>,\n) => ReturnEl) & {\n Unit: <T>(props: ICalendarUnitProps & T) => ReturnEl;\n};\n\nexport interface IDatePickerProps extends IDropdownProps, IWithI18nEnhanceProps {\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n value?: DateConstructorParams;\n /**\n * To be activated upon selecting the date\n * */\n onChange?: (date: Date) => void;\n /**\n * Array of dates blocked for selection\n * */\n disabled?: (Date | (Date | false)[] | string)[];\n /**\n * Date for showing the necessary month\n * @default new Date()\n * */\n displayedPeriod?: DateConstructorParams;\n /**\n * To be activated upon changing the current shown month\n * */\n onDisplayedPeriodChange?: (date: Date) => void;\n /**\n * Component size\n * @default m\n */\n size?: 'm' | 'l';\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n highlighted?: DateConstructorParams[];\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultValue?: DateConstructorParams;\n /**\n * Default value date for showing the necessary month\n * */\n defaultDisplayedPeriod?: DateConstructorParams;\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultHighlighted?: DateConstructorParams[];\n}\n\nexport interface IDateRangePickerProps extends IDropdownProps, IWithI18nEnhanceProps {\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n value?: DateConstructorParams[];\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultValue?: DateConstructorParams[];\n /**\n * Default value date for showing the necessary month\n * */\n defaultDisplayedPeriod?: DateConstructorParams;\n /**\n * Default value selected date, accepts everything which is accepted by `new Date()`\n * */\n defaultHighlighted?: DateConstructorParams[];\n /**\n * To be activated upon selecting the date\n * */\n onChange?: (date: Date[]) => void;\n /**\n * Array of dates blocked for selection\n * */\n disabled?: (Date | (Date | false)[] | string)[];\n /**\n * Date for showing the necessary month\n * @default new Date()\n * */\n displayedPeriod?: DateConstructorParams;\n /**\n * To be activated upon changing the current shown month\n * */\n onDisplayedPeriodChange?: (date: Date) => void;\n /**\n * Component size\n * @default m\n */\n size?: 'm' | 'l' | 'xl';\n /**\n * The selected date, accepts everything which is accepted by `new Date()`\n * */\n highlighted?: DateConstructorParams[];\n /**\n * Remove the 'Reset' button\n * */\n unclearable?: boolean;\n /**\n * To be activated upon selecting the date\n * */\n onHighlightedChange?: (date: Date[]) => void;\n /**\n * Array of periods\n * [{value: [new Date(), new Date()], children: \"Today\"}]\n * @default Past 2 days / Past week / Past 2 week / Past month / Past 2 month\n * */\n periods?: (ComponentProps<typeof Button> & { value: Date[] })[];\n}\n\nexport interface IDateRangePickerPeriodProps extends IBoxProps {\n /**\n * Current selected period\n * */\n value?: DateConstructorParams[];\n /**\n * To be activated by clicking the button for switching the selected period.\n * */\n onChange?: (date: Date[]) => void;\n /**\n * To be activated by hovering a cursor over the button for changing the current displayed month.\n * */\n onDisplayedPeriodChange?: (date: Date) => void;\n /**\n * To be activated by hovering a cursor over the button for selecting the dates.\n * */\n onHighlightedChange?: (date: Date[]) => void;\n /**\n * Array of periods\n * [{value: [new Date(), new Date()], children: \"Today\"}]\n * @default Past 2 days / Past week / Past 2 week / Past month / Past 2 month\n * */\n periods?: (ComponentProps<typeof Button> & { value: Date[] })[];\n}\n\nexport interface IDatePickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n getTodayProps: PropGetterFn;\n}\n\nexport interface IAbstractDatePickerHandlers {\n displayedPeriod: (value: DateConstructorParams) => void;\n visible: (index: boolean) => void;\n highlighted: (list: DateConstructorParams[]) => void;\n value: (index: DateConstructorParams) => void;\n}\n\nexport interface IDatePickerHandlers {\n visible: (index: boolean) => void;\n}\n\nexport interface IInputTriggerProps {\n value: Date;\n /**\n * Date input placeholder characters\n * @default { year: 'Y'; month: 'M'; day: 'D' }\n */\n placeholders: { year: string; month: string; day: string };\n onChange: (date: Date, event: ChangeEvent) => void;\n locale: string;\n onDisplayedPeriodChange: (date: Date) => void;\n}\n\nexport interface ISingleDateInputProps extends IInputTriggerProps {}\n\nexport interface IDateRangeProps extends IInputTriggerProps {}\n\nexport interface IDatePickerMaskedInputProps {\n date: Date;\n onDateChange: (date: Date, event: ChangeEvent) => void;\n onDisplayedPeriodChange: (date: Date) => void;\n locale: string;\n parts: { year: Boolean; month: Boolean; day: Boolean };\n disabledDates: (Date | (Date | false)[] | string)[];\n}\n\ndeclare const InputTrigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, IInputTriggerProps> & T,\n) => ReturnEl) & {\n Addon: typeof Input.Addon;\n Value: typeof Input.Value;\n SingleDateInput: (<T>(\n props: Merge<ComponentProps<typeof InputMask>, ISingleDateInputProps> & T,\n ) => ReturnEl) & {\n Indicator: typeof Input.Addon;\n MaskedInput: <T>(\n props: Merge<ComponentProps<typeof InputMask.Value>, IDatePickerMaskedInputProps> & T,\n ) => ReturnEl;\n };\n DateRange: (<T>(\n props: Merge<ComponentProps<typeof InputMask>, IDateRangeProps> & T,\n ) => ReturnEl) & {\n Indicator: typeof Input.Addon;\n RangeSep: typeof Input.Addon;\n FromMaskedInput: <T>(\n props: Merge<ComponentProps<typeof InputMask.Value>, IDatePickerMaskedInputProps> & T,\n ) => ReturnEl;\n ToMaskedInput: <T>(\n props: Merge<ComponentProps<typeof InputMask.Value>, IDatePickerMaskedInputProps> & T,\n ) => ReturnEl;\n };\n};\n\ndeclare const DatePicker: ((\n props: CProps<IDatePickerProps, IDatePickerContext & ICalendarDaysContext, IDatePickerHandlers>,\n) => ReturnEl) & {\n /** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n InputTrigger: InputTrigger;\n Popper: typeof Dropdown.Popper;\n Header: typeof Box;\n Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IDatePickerContext>) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n Today: typeof Box;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport interface IDateRangePickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n getPeriodProps: PropGetterFn;\n}\n\ndeclare const DateRangePicker: ((\n props: CProps<\n IDateRangePickerProps,\n IDateRangePickerContext & ICalendarDaysContext,\n IDatePickerHandlers\n >,\n) => ReturnEl) & {\n /** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n InputTrigger: InputTrigger;\n Popper: <T>(props: ComponentProps<typeof Dropdown.Popper> & T) => ReturnEl;\n Header: typeof Box;\n Title: <T>(\n props: CProps<IDateRangePickerProps & IBoxProps & T, IDateRangePickerContext>,\n ) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n Period: <T>(props: IDateRangePickerPeriodProps & T) => ReturnEl;\n Apply: typeof Button;\n Reset: typeof Button;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport interface IMonthPickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n}\n\ndeclare const MonthPicker: ((\n props: CProps<\n IDatePickerProps,\n IMonthPickerContext & ICalendarMonthsContext,\n IDatePickerHandlers\n >,\n) => ReturnEl) & {\n /** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n InputTrigger: InputTrigger;\n Popper: typeof Dropdown.Popper;\n Header: typeof Box;\n Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IMonthPickerContext>) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport interface IMonthRangePickerContext {\n getTriggerProps: PropGetterFn;\n getPopperProps: PropGetterFn;\n getHeaderProps: PropGetterFn;\n getTitleProps: PropGetterFn;\n getNextProps: PropGetterFn;\n getPrevProps: PropGetterFn;\n getCalendarProps: PropGetterFn;\n getPeriodProps: PropGetterFn;\n}\n\ndeclare const MonthRangePicker: ((\n props: CProps<\n IDateRangePickerProps,\n IMonthRangePickerContext & ICalendarMonthsContext,\n IDatePickerHandlers\n >,\n) => ReturnEl) & {\n /** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */\n Trigger: (<T>(\n props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,\n ) => ReturnEl) & {\n Addon: typeof BaseTrigger.Addon;\n Text: typeof BaseTrigger.Text;\n };\n InputTrigger: InputTrigger;\n Popper: typeof Dropdown.Popper;\n Header: typeof Box;\n Title: <T>(\n props: CProps<IDateRangePickerProps & IBoxProps & T, IMonthRangePickerContext>,\n ) => ReturnEl;\n Prev: typeof Button;\n Next: typeof Button;\n Calendar: typeof Calendar;\n Period: <T>(props: IDateRangePickerPeriodProps & T) => ReturnEl;\n Apply: typeof Button;\n Reset: typeof Button;\n add: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n subtract: (date: number | Date, amount: number, unit: dayjs.OpUnitType) => Date;\n};\n\nexport { DatePicker, DateRangePicker, MonthPicker, MonthRangePicker };\n"],"mappings":""}
|
|
@@ -47,3 +47,51 @@ SPeriod {
|
|
|
47
47
|
flex-direction: column;
|
|
48
48
|
margin-bottom: 8px;
|
|
49
49
|
}
|
|
50
|
+
|
|
51
|
+
SSingleDateInput:hover SOutline,
|
|
52
|
+
SSingleDateInput:focus-within SOutline,
|
|
53
|
+
SSingleDateInput:active SOutline,
|
|
54
|
+
SSingleDateInput[active] SOutline,
|
|
55
|
+
SDateRange:hover SOutline,
|
|
56
|
+
SDateRange:focus-within SOutline,
|
|
57
|
+
SDateRange:active SOutline,
|
|
58
|
+
SDateRange[active] SOutline {
|
|
59
|
+
background-color: color-mod(var(--gray-400) a(30%));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
SIndicator {
|
|
63
|
+
color: var(--gray-500);
|
|
64
|
+
}
|
|
65
|
+
SHumanizedDate {
|
|
66
|
+
position: absolute;
|
|
67
|
+
pointer-events: none;
|
|
68
|
+
}
|
|
69
|
+
SSingleDateInput SValue,
|
|
70
|
+
SDateRange SMask,
|
|
71
|
+
SSingleDateInput SMask,
|
|
72
|
+
SDateRange SValue {
|
|
73
|
+
opacity: 0;
|
|
74
|
+
}
|
|
75
|
+
SSingleDateInput:focus-within SHumanizedDate {
|
|
76
|
+
opacity: 0;
|
|
77
|
+
z-index: -1000;
|
|
78
|
+
}
|
|
79
|
+
SSingleDateInput:focus-within SValue,
|
|
80
|
+
SSingleDateInput:focus-within SMask {
|
|
81
|
+
opacity: 1;
|
|
82
|
+
}
|
|
83
|
+
SDateRange SValue {
|
|
84
|
+
opacity: 0;
|
|
85
|
+
}
|
|
86
|
+
SDateRange:focus-within SHumanizedDate {
|
|
87
|
+
opacity: 0;
|
|
88
|
+
z-index: -1000;
|
|
89
|
+
}
|
|
90
|
+
SDateRange:focus-within SValue,
|
|
91
|
+
SDateRange:focus-within SMask {
|
|
92
|
+
opacity: 1;
|
|
93
|
+
}
|
|
94
|
+
SInputMask[noHumanizedDate] SValue,
|
|
95
|
+
SInputMask[noHumanizedDate] SMask {
|
|
96
|
+
opacity: 1;
|
|
97
|
+
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { ComponentProps } from 'react';
|
|
1
|
+
import React, { ChangeEvent, ComponentProps } from 'react';
|
|
2
2
|
import dayjs from 'dayjs';
|
|
3
3
|
import { Box, IBoxProps } from '@semcore/flex-box';
|
|
4
4
|
import Button from '@semcore/button';
|
|
@@ -6,6 +6,8 @@ import { CProps, Merge, PropGetterFn, ReturnEl } from '@semcore/core';
|
|
|
6
6
|
import Dropdown, { IDropdownProps } from '@semcore/dropdown';
|
|
7
7
|
import { IWithI18nEnhanceProps } from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
8
8
|
import BaseTrigger from '@semcore/base-trigger';
|
|
9
|
+
import Input from '@semcore/input';
|
|
10
|
+
import InputMask from '@semcore/input-mask';
|
|
9
11
|
|
|
10
12
|
export type DateConstructorParams = string | number | Date;
|
|
11
13
|
|
|
@@ -17,7 +19,7 @@ export interface ICalendarProps extends IBoxProps {
|
|
|
17
19
|
locale?: NavigatorLanguage['language'];
|
|
18
20
|
/**
|
|
19
21
|
* Array of dates blocked for selection
|
|
20
|
-
* Accepts the date
|
|
22
|
+
* Accepts the date or the range of dates for specifying infinity ([Date | false, Date | false]), crontab(6,7)
|
|
21
23
|
* */
|
|
22
24
|
disabled?: (Date | (Date | false)[] | string)[];
|
|
23
25
|
/**
|
|
@@ -225,15 +227,69 @@ export interface IDatePickerHandlers {
|
|
|
225
227
|
visible: (index: boolean) => void;
|
|
226
228
|
}
|
|
227
229
|
|
|
230
|
+
export interface IInputTriggerProps {
|
|
231
|
+
value: Date;
|
|
232
|
+
/**
|
|
233
|
+
* Date input placeholder characters
|
|
234
|
+
* @default { year: 'Y'; month: 'M'; day: 'D' }
|
|
235
|
+
*/
|
|
236
|
+
placeholders: { year: string; month: string; day: string };
|
|
237
|
+
onChange: (date: Date, event: ChangeEvent) => void;
|
|
238
|
+
locale: string;
|
|
239
|
+
onDisplayedPeriodChange: (date: Date) => void;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export interface ISingleDateInputProps extends IInputTriggerProps {}
|
|
243
|
+
|
|
244
|
+
export interface IDateRangeProps extends IInputTriggerProps {}
|
|
245
|
+
|
|
246
|
+
export interface IDatePickerMaskedInputProps {
|
|
247
|
+
date: Date;
|
|
248
|
+
onDateChange: (date: Date, event: ChangeEvent) => void;
|
|
249
|
+
onDisplayedPeriodChange: (date: Date) => void;
|
|
250
|
+
locale: string;
|
|
251
|
+
parts: { year: Boolean; month: Boolean; day: Boolean };
|
|
252
|
+
disabledDates: (Date | (Date | false)[] | string)[];
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
declare const InputTrigger: (<T>(
|
|
256
|
+
props: Merge<ComponentProps<typeof Dropdown.Trigger>, IInputTriggerProps> & T,
|
|
257
|
+
) => ReturnEl) & {
|
|
258
|
+
Addon: typeof Input.Addon;
|
|
259
|
+
Value: typeof Input.Value;
|
|
260
|
+
SingleDateInput: (<T>(
|
|
261
|
+
props: Merge<ComponentProps<typeof InputMask>, ISingleDateInputProps> & T,
|
|
262
|
+
) => ReturnEl) & {
|
|
263
|
+
Indicator: typeof Input.Addon;
|
|
264
|
+
MaskedInput: <T>(
|
|
265
|
+
props: Merge<ComponentProps<typeof InputMask.Value>, IDatePickerMaskedInputProps> & T,
|
|
266
|
+
) => ReturnEl;
|
|
267
|
+
};
|
|
268
|
+
DateRange: (<T>(
|
|
269
|
+
props: Merge<ComponentProps<typeof InputMask>, IDateRangeProps> & T,
|
|
270
|
+
) => ReturnEl) & {
|
|
271
|
+
Indicator: typeof Input.Addon;
|
|
272
|
+
RangeSep: typeof Input.Addon;
|
|
273
|
+
FromMaskedInput: <T>(
|
|
274
|
+
props: Merge<ComponentProps<typeof InputMask.Value>, IDatePickerMaskedInputProps> & T,
|
|
275
|
+
) => ReturnEl;
|
|
276
|
+
ToMaskedInput: <T>(
|
|
277
|
+
props: Merge<ComponentProps<typeof InputMask.Value>, IDatePickerMaskedInputProps> & T,
|
|
278
|
+
) => ReturnEl;
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
|
|
228
282
|
declare const DatePicker: ((
|
|
229
283
|
props: CProps<IDatePickerProps, IDatePickerContext & ICalendarDaysContext, IDatePickerHandlers>,
|
|
230
284
|
) => ReturnEl) & {
|
|
285
|
+
/** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */
|
|
231
286
|
Trigger: (<T>(
|
|
232
287
|
props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
|
|
233
288
|
) => ReturnEl) & {
|
|
234
289
|
Addon: typeof BaseTrigger.Addon;
|
|
235
290
|
Text: typeof BaseTrigger.Text;
|
|
236
291
|
};
|
|
292
|
+
InputTrigger: InputTrigger;
|
|
237
293
|
Popper: typeof Dropdown.Popper;
|
|
238
294
|
Header: typeof Box;
|
|
239
295
|
Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IDatePickerContext>) => ReturnEl;
|
|
@@ -263,12 +319,14 @@ declare const DateRangePicker: ((
|
|
|
263
319
|
IDatePickerHandlers
|
|
264
320
|
>,
|
|
265
321
|
) => ReturnEl) & {
|
|
322
|
+
/** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */
|
|
266
323
|
Trigger: (<T>(
|
|
267
324
|
props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
|
|
268
325
|
) => ReturnEl) & {
|
|
269
326
|
Addon: typeof BaseTrigger.Addon;
|
|
270
327
|
Text: typeof BaseTrigger.Text;
|
|
271
328
|
};
|
|
329
|
+
InputTrigger: InputTrigger;
|
|
272
330
|
Popper: <T>(props: ComponentProps<typeof Dropdown.Popper> & T) => ReturnEl;
|
|
273
331
|
Header: typeof Box;
|
|
274
332
|
Title: <T>(
|
|
@@ -301,12 +359,14 @@ declare const MonthPicker: ((
|
|
|
301
359
|
IDatePickerHandlers
|
|
302
360
|
>,
|
|
303
361
|
) => ReturnEl) & {
|
|
362
|
+
/** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */
|
|
304
363
|
Trigger: (<T>(
|
|
305
364
|
props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
|
|
306
365
|
) => ReturnEl) & {
|
|
307
366
|
Addon: typeof BaseTrigger.Addon;
|
|
308
367
|
Text: typeof BaseTrigger.Text;
|
|
309
368
|
};
|
|
369
|
+
InputTrigger: InputTrigger;
|
|
310
370
|
Popper: typeof Dropdown.Popper;
|
|
311
371
|
Header: typeof Box;
|
|
312
372
|
Title: <T>(props: CProps<IDatePickerProps & IBoxProps & T, IMonthPickerContext>) => ReturnEl;
|
|
@@ -335,12 +395,14 @@ declare const MonthRangePicker: ((
|
|
|
335
395
|
IDatePickerHandlers
|
|
336
396
|
>,
|
|
337
397
|
) => ReturnEl) & {
|
|
398
|
+
/** @deprecated `DatePicker.Trigger` is deprecated, consider migrating to `DatePicker.InputTrigger` instead */
|
|
338
399
|
Trigger: (<T>(
|
|
339
400
|
props: Merge<ComponentProps<typeof Dropdown.Trigger>, ComponentProps<typeof BaseTrigger>> & T,
|
|
340
401
|
) => ReturnEl) & {
|
|
341
402
|
Addon: typeof BaseTrigger.Addon;
|
|
342
403
|
Text: typeof BaseTrigger.Text;
|
|
343
404
|
};
|
|
405
|
+
InputTrigger: InputTrigger;
|
|
344
406
|
Popper: typeof Dropdown.Popper;
|
|
345
407
|
Header: typeof Box;
|
|
346
408
|
Title: <T>(
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/date-picker",
|
|
3
3
|
"description": "Semrush DatePicker Component",
|
|
4
|
-
"version": "3.4.
|
|
4
|
+
"version": "3.4.7",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -11,16 +11,19 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@semcore/utils": "^3.29",
|
|
13
13
|
"@semcore/base-trigger": "^3.0.0",
|
|
14
|
-
"@semcore/flex-box": "^4",
|
|
15
14
|
"@semcore/button": "^4",
|
|
16
15
|
"@semcore/divider": "^3",
|
|
17
|
-
"@semcore/icon": "2.16 - 3",
|
|
18
16
|
"@semcore/dropdown": "^3",
|
|
17
|
+
"@semcore/flex-box": "^4",
|
|
18
|
+
"@semcore/icon": "2.16 - 3",
|
|
19
|
+
"@semcore/input": "^3.0.15",
|
|
20
|
+
"@semcore/input-mask": "^4.3.2",
|
|
21
|
+
"@semcore/neighbor-location": "^3",
|
|
19
22
|
"@semcore/typography": "^4",
|
|
20
23
|
"dayjs": "1.8.36"
|
|
21
24
|
},
|
|
22
25
|
"peerDependencies": {
|
|
23
|
-
"@semcore/core": "^1.
|
|
26
|
+
"@semcore/core": "^1.11",
|
|
24
27
|
"react": "16.8 - 18"
|
|
25
28
|
},
|
|
26
29
|
"jest": {
|
|
@@ -34,7 +37,9 @@
|
|
|
34
37
|
"devDependencies": {
|
|
35
38
|
"@types/react": "18.0.21",
|
|
36
39
|
"@semcore/jest-preset-ui": "1.0.0",
|
|
37
|
-
"jest": "29.0.1"
|
|
40
|
+
"jest": "29.0.1",
|
|
41
|
+
"@guidepup/playwright": "0.6.1",
|
|
42
|
+
"@playwright/test": "1.25.1"
|
|
38
43
|
},
|
|
39
44
|
"scripts": {
|
|
40
45
|
"build": "pnpm semcore-builder --source=js",
|