@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.
Files changed (43) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/lib/cjs/DatePicker.js +32 -9
  3. package/lib/cjs/DatePicker.js.map +1 -1
  4. package/lib/cjs/DateRangePicker.js +23 -0
  5. package/lib/cjs/DateRangePicker.js.map +1 -1
  6. package/lib/cjs/MonthPicker.js +33 -3
  7. package/lib/cjs/MonthPicker.js.map +1 -1
  8. package/lib/cjs/MonthRangePicker.js +33 -3
  9. package/lib/cjs/MonthRangePicker.js.map +1 -1
  10. package/lib/cjs/components/Calendar.js +20 -18
  11. package/lib/cjs/components/Calendar.js.map +1 -1
  12. package/lib/cjs/components/InputTrigger.js +820 -0
  13. package/lib/cjs/components/InputTrigger.js.map +1 -0
  14. package/lib/cjs/components/PickerAbstract.js +36 -15
  15. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  16. package/lib/cjs/components/RangePickerAbstract.js +34 -13
  17. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  18. package/lib/cjs/components/index.js +52 -32
  19. package/lib/cjs/components/index.js.map +1 -1
  20. package/lib/cjs/index.d.js.map +1 -1
  21. package/lib/cjs/style/date-picker.shadow.css +48 -0
  22. package/lib/es6/DatePicker.js +33 -10
  23. package/lib/es6/DatePicker.js.map +1 -1
  24. package/lib/es6/DateRangePicker.js +24 -1
  25. package/lib/es6/DateRangePicker.js.map +1 -1
  26. package/lib/es6/MonthPicker.js +33 -4
  27. package/lib/es6/MonthPicker.js.map +1 -1
  28. package/lib/es6/MonthRangePicker.js +33 -4
  29. package/lib/es6/MonthRangePicker.js.map +1 -1
  30. package/lib/es6/components/Calendar.js +20 -18
  31. package/lib/es6/components/Calendar.js.map +1 -1
  32. package/lib/es6/components/InputTrigger.js +803 -0
  33. package/lib/es6/components/InputTrigger.js.map +1 -0
  34. package/lib/es6/components/PickerAbstract.js +36 -15
  35. package/lib/es6/components/PickerAbstract.js.map +1 -1
  36. package/lib/es6/components/RangePickerAbstract.js +34 -13
  37. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  38. package/lib/es6/components/index.js +48 -30
  39. package/lib/es6/components/index.js.map +1 -1
  40. package/lib/es6/index.d.js.map +1 -1
  41. package/lib/es6/style/date-picker.shadow.css +48 -0
  42. package/lib/types/index.d.ts +64 -2
  43. 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 _ref2 = arguments[0],
45
- _ref8;
62
+ var _ref3 = arguments[0],
63
+ _ref9;
46
64
 
47
65
  var SPopper = Dropdown.Popper;
48
- return _ref8 = sstyled(props.styles), /*#__PURE__*/React.createElement(SPopper, _ref8.cn("SPopper", _objectSpread({}, _assignProps2({
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
- }, _ref2))));
69
+ }, _ref3))));
52
70
  }
53
71
  export function Header(props) {
54
- var _ref3 = arguments[0],
55
- _ref9;
72
+ var _ref4 = arguments[0],
73
+ _ref10;
56
74
 
57
75
  var SHeader = Box;
58
- return _ref9 = sstyled(props.styles), /*#__PURE__*/React.createElement(SHeader, _ref9.cn("SHeader", _objectSpread({}, _assignProps3({}, _ref3))));
76
+ return _ref10 = sstyled(props.styles), /*#__PURE__*/React.createElement(SHeader, _ref10.cn("SHeader", _objectSpread({}, _assignProps4({}, _ref4))));
59
77
  }
60
- export var Title = function Title(_ref12) {
61
- var _ref4 = arguments[0],
62
- _ref10;
78
+ export var Title = function Title(_ref13) {
79
+ var _ref5 = arguments[0],
80
+ _ref11;
63
81
 
64
- var Children = _ref12.Children,
65
- styles = _ref12.styles;
82
+ var Children = _ref13.Children,
83
+ styles = _ref13.styles;
66
84
  var STitle = Box;
67
- return _ref10 = sstyled(styles), /*#__PURE__*/React.createElement(STitle, _ref10.cn("STitle", _objectSpread({}, _assignProps4({}, _ref4))), /*#__PURE__*/React.createElement(Children, _ref10.cn("Children", {})));
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 _ref5 = arguments[0];
71
- return /*#__PURE__*/React.createElement(Button, _assignProps5({
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
- }, _ref5));
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 _ref6 = arguments[0];
84
- return /*#__PURE__*/React.createElement(Button, _assignProps6({
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
- }, _ref6));
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
- "\n .___SInner_wlun7_gg_ {\n justify-content: flex-start;\n }\n"
117
+ ".___SInner_1j7ls_gg_{justify-content:flex-start}"
100
118
  /*__inner_css_end__*/
101
- , "wlun7_gg_")
119
+ , "1j7ls_gg_")
102
120
  /*__reshadow_css_end__*/
103
121
  , {
104
- "__SInner": "___SInner_wlun7_gg_"
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 _ref7 = this.asProps,
147
- _ref11,
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 _ref11 = sstyled(styles), /*#__PURE__*/React.createElement(SPeriod, _ref11.cn("SPeriod", _objectSpread({}, _assignProps7({}, _ref7))), periods.map(function (_ref13, i) {
159
- var period = _ref13.value,
160
- onClick = _ref13.onClick,
161
- onMouseEnter = _ref13.onMouseEnter,
162
- onMouseLeave = _ref13.onMouseLeave,
163
- other = _objectWithoutProperties(_ref13, _excluded);
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":"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"}
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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"}
@@ -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
+ }
@@ -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, the range of dates or `falsICalendarPropse` for specifying infinity ([Date | false, Date | false]), crontab( 6,7)
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.5",
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.12",
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",