@semcore/date-picker 4.17.0 → 4.18.0

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 (41) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/lib/cjs/DateRangeComparator.js +188 -0
  3. package/lib/cjs/DateRangeComparator.js.map +1 -0
  4. package/lib/cjs/MonthDateRangeComparator.js +223 -0
  5. package/lib/cjs/MonthDateRangeComparator.js.map +1 -0
  6. package/lib/cjs/components/Calendar.js +103 -63
  7. package/lib/cjs/components/Calendar.js.map +1 -1
  8. package/lib/cjs/components/DateRangeComparatorAbstract.js +584 -0
  9. package/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -0
  10. package/lib/cjs/components/InputTrigger.js +25 -18
  11. package/lib/cjs/components/InputTrigger.js.map +1 -1
  12. package/lib/cjs/components/PickerAbstract.js +25 -18
  13. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  14. package/lib/cjs/components/RangePickerAbstract.js +25 -18
  15. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  16. package/lib/cjs/index.d.js.map +1 -1
  17. package/lib/cjs/index.js +17 -1
  18. package/lib/cjs/index.js.map +1 -1
  19. package/lib/cjs/style/calendar.shadow.css +57 -10
  20. package/lib/cjs/style/date-picker.shadow.css +31 -0
  21. package/lib/es6/DateRangeComparator.js +180 -0
  22. package/lib/es6/DateRangeComparator.js.map +1 -0
  23. package/lib/es6/MonthDateRangeComparator.js +215 -0
  24. package/lib/es6/MonthDateRangeComparator.js.map +1 -0
  25. package/lib/es6/components/Calendar.js +103 -63
  26. package/lib/es6/components/Calendar.js.map +1 -1
  27. package/lib/es6/components/DateRangeComparatorAbstract.js +574 -0
  28. package/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -0
  29. package/lib/es6/components/InputTrigger.js +25 -18
  30. package/lib/es6/components/InputTrigger.js.map +1 -1
  31. package/lib/es6/components/PickerAbstract.js +25 -18
  32. package/lib/es6/components/PickerAbstract.js.map +1 -1
  33. package/lib/es6/components/RangePickerAbstract.js +25 -18
  34. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  35. package/lib/es6/index.d.js.map +1 -1
  36. package/lib/es6/index.js +2 -0
  37. package/lib/es6/index.js.map +1 -1
  38. package/lib/es6/style/calendar.shadow.css +57 -10
  39. package/lib/es6/style/date-picker.shadow.css +31 -0
  40. package/lib/types/index.d.ts +136 -2
  41. package/package.json +5 -4
package/CHANGELOG.md CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [4.17.0-prerelease.1] - 2023-11-24
5
+ ## [4.18.0-prerelease.1] - 2023-11-28
6
+
7
+ ### Added
8
+
9
+ - Added `DateRangeComparator` and `MonthDateRangeComparator` components.
10
+
11
+ ## [4.17.0] - 2023-11-24
6
12
 
7
13
  ### Changed
8
14
 
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
18
+ var _core = _interopRequireWildcard(require("@semcore/core"));
19
+ var _react = _interopRequireDefault(require("react"));
20
+ var _components = require("./components");
21
+ var _Calendar = require("./components/Calendar");
22
+ var _flexBox = require("@semcore/flex-box");
23
+ var _divider = _interopRequireDefault(require("@semcore/divider"));
24
+ var _DateRangeComparatorAbstract = _interopRequireWildcard(require("./components/DateRangeComparatorAbstract"));
25
+ var _InputTrigger = _interopRequireDefault(require("./components/InputTrigger"));
26
+ function RangeInput(props) {
27
+ var _ref = arguments[0],
28
+ _ref2;
29
+ var styles = props.styles;
30
+ var SComparatorRangeInput = _flexBox.Box;
31
+ var SRangeIndicator = _flexBox.Box;
32
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SComparatorRangeInput, _ref2.cn("SComparatorRangeInput", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
33
+ "data-name": 'SComparatorRangeInput',
34
+ "tag": _InputTrigger["default"],
35
+ "__excludeProps": ['role', 'aria-haspopup', 'onChange', 'value']
36
+ }, _ref))), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange, null, /*#__PURE__*/_react["default"].createElement(SRangeIndicator, _ref2.cn("SRangeIndicator", {
37
+ "range": props.range,
38
+ "w": 12,
39
+ "h": 12,
40
+ "ml": 2
41
+ })), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.Indicator, null), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.FromMaskedInput, null), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.RangeSep, null), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.ToMaskedInput, null)));
42
+ }
43
+ RangeInput.Indicator = _InputTrigger["default"].Indicator;
44
+ RangeInput.MaskedInput = _InputTrigger["default"].MaskedInput;
45
+ RangeInput.Addon = _InputTrigger["default"].Addon;
46
+ RangeInput.SingleDateInput = _InputTrigger["default"].SingleDateInput;
47
+ RangeInput.DateRange = _InputTrigger["default"].DateRange;
48
+ RangeInput.DateRangeFromInput = _InputTrigger["default"].DateRangeFromInput;
49
+ RangeInput.DateRangeToInput = _InputTrigger["default"].DateRangeToInput;
50
+ var DateRangeComparatorRoot = /*#__PURE__*/function (_RangeComparatorAbstr) {
51
+ (0, _inherits2["default"])(DateRangeComparatorRoot, _RangeComparatorAbstr);
52
+ var _super = (0, _createSuper2["default"])(DateRangeComparatorRoot);
53
+ function DateRangeComparatorRoot() {
54
+ var _this;
55
+ (0, _classCallCheck2["default"])(this, DateRangeComparatorRoot);
56
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
+ args[_key] = arguments[_key];
58
+ }
59
+ _this = _super.call.apply(_super, [this].concat(args));
60
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "navigateStep", 'month');
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyStep", 'day');
62
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyDiff", {
63
+ 37: -1,
64
+ 38: -7,
65
+ 39: 1,
66
+ 40: 7
67
+ });
68
+ return _this;
69
+ }
70
+ (0, _createClass2["default"])(DateRangeComparatorRoot, [{
71
+ key: "getRangeInput",
72
+ value: function getRangeInput() {
73
+ return /*#__PURE__*/_react["default"].createElement(DateRangeComparator.RangeInput.DateRange, null);
74
+ }
75
+ }, {
76
+ key: "getPopperProps",
77
+ value: function getPopperProps() {
78
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(DateRangeComparatorRoot.prototype), "getPopperProps", this).call(this)), {}, {
79
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Header, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Body, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Footer, null))
80
+ });
81
+ }
82
+ }, {
83
+ key: "getHeaderProps",
84
+ value: function getHeaderProps() {
85
+ return {
86
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.ValueDateRange, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.CompareToggle, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.CompareDateRange, null))
87
+ };
88
+ }
89
+ }, {
90
+ key: "getBodyProps",
91
+ value: function getBodyProps() {
92
+ return {
93
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.RangeCalendar, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Periods, null))
94
+ };
95
+ }
96
+ }, {
97
+ key: "getFooterProps",
98
+ value: function getFooterProps(_ref7) {
99
+ var _ref7$unclearable = _ref7.unclearable,
100
+ unclearable = _ref7$unclearable === void 0 ? false : _ref7$unclearable;
101
+ return {
102
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Apply, null), !unclearable && /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Reset, null))
103
+ };
104
+ }
105
+ }]);
106
+ return DateRangeComparatorRoot;
107
+ }(_DateRangeComparatorAbstract["default"]);
108
+ (0, _defineProperty2["default"])(DateRangeComparatorRoot, "displayName", 'DateRangeComparator');
109
+ (0, _defineProperty2["default"])(DateRangeComparatorRoot, "defaultProps", function (props) {
110
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _DateRangeComparatorAbstract["default"].defaultProps(props)), {}, {
111
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Trigger, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Popper, null))
112
+ });
113
+ });
114
+ function ValueDateRange(props) {
115
+ var _ref3;
116
+ var SValueDateRange = props.Root,
117
+ styles = props.styles;
118
+ return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SValueDateRange, _ref3.cn("SValueDateRange", {
119
+ "render": DateRangeComparator.RangeInput,
120
+ "range": 'value'
121
+ }));
122
+ }
123
+ function CompareDateRange(props) {
124
+ var _ref4;
125
+ var SSecondaryDateRange = props.Root,
126
+ styles = props.styles;
127
+ return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SSecondaryDateRange, _ref4.cn("SSecondaryDateRange", {
128
+ "render": DateRangeComparator.RangeInput,
129
+ "range": 'compare'
130
+ }));
131
+ }
132
+ function RangeCalendar(props) {
133
+ var _ref5;
134
+ var SRangeCalendar = props.Root,
135
+ styles = props.styles;
136
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRangeCalendar, _ref5.cn("SRangeCalendar", {
137
+ "render": _flexBox.Flex,
138
+ "gap": 8
139
+ }), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref5.cn("Flex", {
140
+ "direction": 'column'
141
+ }), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.CalendarHeader, {
142
+ tag: _flexBox.Flex
143
+ }, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Prev, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Title, null)), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Calendar, null)), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref5.cn("Flex", {
144
+ "direction": 'column'
145
+ }), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.CalendarHeader, {
146
+ tag: _flexBox.Flex
147
+ }, /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Title, null), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Next, null)), /*#__PURE__*/_react["default"].createElement(DateRangeComparator.Calendar, null)));
148
+ }
149
+ function Periods(props) {
150
+ var _ref6;
151
+ var SPeriods = props.Root,
152
+ styles = props.styles;
153
+ var SPeriodsList = DateRangeComparator.Period;
154
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPeriods, _ref6.cn("SPeriods", {
155
+ "render": _flexBox.Flex
156
+ }), /*#__PURE__*/_react["default"].createElement(_divider["default"], _ref6.cn("Divider", {
157
+ "orientation": 'vertical',
158
+ "h": 'auto'
159
+ })), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref6.cn("Flex", {
160
+ "direction": 'column'
161
+ }), /*#__PURE__*/_react["default"].createElement(SPeriodsList, _ref6.cn("SPeriodsList", {}))));
162
+ }
163
+ var DateRangeComparator = (0, _core["default"])(DateRangeComparatorRoot, {
164
+ Popper: _components.Popper,
165
+ CalendarHeader: _components.Header,
166
+ Title: _components.Title,
167
+ Header: _DateRangeComparatorAbstract.Header,
168
+ Prev: _components.Prev,
169
+ Next: _components.Next,
170
+ Calendar: _Calendar.CalendarDays,
171
+ Period: _components.Period,
172
+ Apply: _DateRangeComparatorAbstract.Apply,
173
+ Reset: _DateRangeComparatorAbstract.Reset,
174
+ Trigger: _DateRangeComparatorAbstract.Trigger,
175
+ ValueDateRange: ValueDateRange,
176
+ CompareToggle: _DateRangeComparatorAbstract.CompareToggle,
177
+ CompareDateRange: CompareDateRange,
178
+ Body: _DateRangeComparatorAbstract.Body,
179
+ RangeCalendar: RangeCalendar,
180
+ Periods: Periods,
181
+ Footer: _DateRangeComparatorAbstract.Footer,
182
+ RangeInput: RangeInput
183
+ }, {
184
+ parent: _Calendar.CalendarDays
185
+ });
186
+ var _default = DateRangeComparator;
187
+ exports["default"] = _default;
188
+ //# sourceMappingURL=DateRangeComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateRangeComparator.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_components","_Calendar","_flexBox","_divider","_DateRangeComparatorAbstract","_InputTrigger","RangeInput","props","_ref","arguments[0]","_ref2","styles","SComparatorRangeInput","Box","SRangeIndicator","sstyled","createElement","cn","_objectSpread2","assignProps","InputTriggerBase","DateRange","range","Indicator","FromMaskedInput","RangeSep","ToMaskedInput","MaskedInput","Addon","SingleDateInput","DateRangeFromInput","DateRangeToInput","DateRangeComparatorRoot","_RangeComparatorAbstr","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","getRangeInput","DateRangeComparator","getPopperProps","_get2","_getPrototypeOf2","prototype","children","Fragment","Header","Body","Footer","getHeaderProps","ValueDateRange","CompareToggle","CompareDateRange","getBodyProps","RangeCalendar","Periods","getFooterProps","_ref7","_ref7$unclearable","unclearable","Apply","Reset","RangeComparatorAbstract","defaultProps","Trigger","Popper","_ref3","SValueDateRange","Root","_ref4","SSecondaryDateRange","_ref5","SRangeCalendar","Flex","CalendarHeader","tag","Prev","Title","Calendar","Next","_ref6","SPeriods","SPeriodsList","Period","createComponent","parent","_default","exports"],"sources":["../../src/DateRangeComparator.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport { Header as CalendarHeader, Next, Period, Popper, Prev, Title } from './components';\nimport { CalendarDays as Calendar } from './components/Calendar';\nimport { Box, Flex } from '@semcore/flex-box';\nimport Divider from '@semcore/divider';\nimport RangeComparatorAbstract, {\n Apply,\n Reset,\n Header,\n Trigger,\n CompareToggle,\n Body,\n Footer,\n} from './components/DateRangeComparatorAbstract';\nimport InputTriggerBase from './components/InputTrigger';\n\nfunction RangeInput(props) {\n const { styles } = props;\n const SComparatorRangeInput = Root;\n const SRangeIndicator = Box;\n return sstyled(styles)(\n <SComparatorRangeInput\n data-name='SComparatorRangeInput'\n render={Box}\n tag={InputTriggerBase}\n __excludeProps={['role', 'aria-haspopup', 'onChange', 'value']}\n >\n <InputTriggerBase.DateRange>\n <SRangeIndicator range={props.range} w={12} h={12} ml={2} />\n <InputTriggerBase.DateRange.Indicator />\n <InputTriggerBase.DateRange.FromMaskedInput />\n <InputTriggerBase.DateRange.RangeSep />\n <InputTriggerBase.DateRange.ToMaskedInput />\n </InputTriggerBase.DateRange>\n </SComparatorRangeInput>,\n );\n}\nRangeInput.Indicator = InputTriggerBase.Indicator;\nRangeInput.MaskedInput = InputTriggerBase.MaskedInput;\nRangeInput.Addon = InputTriggerBase.Addon;\nRangeInput.SingleDateInput = InputTriggerBase.SingleDateInput;\nRangeInput.DateRange = InputTriggerBase.DateRange;\nRangeInput.DateRangeFromInput = InputTriggerBase.DateRangeFromInput;\nRangeInput.DateRangeToInput = InputTriggerBase.DateRangeToInput;\nclass DateRangeComparatorRoot extends RangeComparatorAbstract {\n static displayName = 'DateRangeComparator';\n static defaultProps = (props) => {\n return {\n ...RangeComparatorAbstract.defaultProps(props),\n children: (\n <>\n <DateRangeComparator.Trigger />\n <DateRangeComparator.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'month';\n keyStep = 'day';\n keyDiff = {\n 37: -1,\n 38: -7,\n 39: 1,\n 40: 7,\n };\n\n getRangeInput() {\n return <DateRangeComparator.RangeInput.DateRange />;\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <DateRangeComparator.Header />\n <DateRangeComparator.Body />\n <DateRangeComparator.Footer />\n </>\n ),\n };\n }\n\n getHeaderProps() {\n return {\n children: (\n <>\n <DateRangeComparator.ValueDateRange />\n <DateRangeComparator.CompareToggle />\n <DateRangeComparator.CompareDateRange />\n </>\n ),\n };\n }\n\n getBodyProps() {\n return {\n children: (\n <>\n <DateRangeComparator.RangeCalendar />\n <DateRangeComparator.Periods />\n </>\n ),\n };\n }\n\n getFooterProps({ unclearable = false }) {\n return {\n children: (\n <>\n <DateRangeComparator.Apply />\n {!unclearable && <DateRangeComparator.Reset />}\n </>\n ),\n };\n }\n}\n\nfunction ValueDateRange(props) {\n const { Root: SValueDateRange, styles } = props;\n return sstyled(styles)(<SValueDateRange render={DateRangeComparator.RangeInput} range='value' />);\n}\n\nfunction CompareDateRange(props) {\n const { Root: SSecondaryDateRange, styles } = props;\n return sstyled(styles)(\n <SSecondaryDateRange render={DateRangeComparator.RangeInput} range='compare' />,\n );\n}\n\nfunction RangeCalendar(props) {\n const { Root: SRangeCalendar, styles } = props;\n return sstyled(styles)(\n <SRangeCalendar render={Flex} gap={8}>\n <Flex direction='column'>\n <DateRangeComparator.CalendarHeader tag={Flex}>\n <DateRangeComparator.Prev />\n <DateRangeComparator.Title />\n </DateRangeComparator.CalendarHeader>\n <DateRangeComparator.Calendar />\n </Flex>\n <Flex direction='column'>\n <DateRangeComparator.CalendarHeader tag={Flex}>\n <DateRangeComparator.Title />\n <DateRangeComparator.Next />\n </DateRangeComparator.CalendarHeader>\n <DateRangeComparator.Calendar />\n </Flex>\n </SRangeCalendar>,\n );\n}\nfunction Periods(props) {\n const { Root: SPeriods, styles } = props;\n const SPeriodsList = DateRangeComparator.Period;\n return sstyled(styles)(\n <SPeriods render={Flex}>\n <Divider orientation='vertical' h='auto' />\n <Flex direction='column'>\n <SPeriodsList />\n </Flex>\n </SPeriods>,\n );\n}\n\nconst DateRangeComparator = createComponent(\n DateRangeComparatorRoot,\n {\n Popper,\n CalendarHeader,\n Title,\n Header,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n\n Trigger,\n ValueDateRange,\n CompareToggle,\n CompareDateRange,\n Body,\n RangeCalendar,\n Periods,\n Footer,\n RangeInput,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default DateRangeComparator;\n"],"mappings":"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"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
18
+ var _core = _interopRequireWildcard(require("@semcore/core"));
19
+ var _react = _interopRequireDefault(require("react"));
20
+ var _components = require("./components");
21
+ var _Calendar = require("./components/Calendar");
22
+ var _flexBox = require("@semcore/flex-box");
23
+ var _dayjs = _interopRequireDefault(require("dayjs"));
24
+ var _divider = _interopRequireDefault(require("@semcore/divider"));
25
+ var _DateRangeComparatorAbstract = _interopRequireWildcard(require("./components/DateRangeComparatorAbstract"));
26
+ var _InputTrigger = _interopRequireDefault(require("./components/InputTrigger"));
27
+ var dateParts = {
28
+ day: false,
29
+ month: true,
30
+ year: true
31
+ };
32
+ function RangeInput(props) {
33
+ var _ref = arguments[0],
34
+ _ref2;
35
+ var styles = props.styles;
36
+ var SComparatorRangeInput = _flexBox.Box;
37
+ var SRangeIndicator = _flexBox.Box;
38
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SComparatorRangeInput, _ref2.cn("SComparatorRangeInput", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
39
+ "data-name": 'SComparatorRangeInput',
40
+ "tag": _InputTrigger["default"],
41
+ "parts": dateParts,
42
+ "__excludeProps": ['role', 'aria-haspopup', 'onChange', 'value']
43
+ }, _ref))), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange, null, /*#__PURE__*/_react["default"].createElement(SRangeIndicator, _ref2.cn("SRangeIndicator", {
44
+ "range": props.range,
45
+ "w": 12,
46
+ "h": 12,
47
+ "ml": 2
48
+ })), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.Indicator, null), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.FromMaskedInput, null), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.RangeSep, null), /*#__PURE__*/_react["default"].createElement(_InputTrigger["default"].DateRange.ToMaskedInput, null)));
49
+ }
50
+ RangeInput.Indicator = _InputTrigger["default"].Indicator;
51
+ RangeInput.MaskedInput = _InputTrigger["default"].MaskedInput;
52
+ RangeInput.Addon = _InputTrigger["default"].Addon;
53
+ RangeInput.SingleDateInput = _InputTrigger["default"].SingleDateInput;
54
+ RangeInput.DateRange = _InputTrigger["default"].DateRange;
55
+ RangeInput.DateRangeFromInput = _InputTrigger["default"].DateRangeFromInput;
56
+ RangeInput.DateRangeToInput = _InputTrigger["default"].DateRangeToInput;
57
+ var MonthDateRangeComparatorRoot = /*#__PURE__*/function (_RangeComparatorAbstr) {
58
+ (0, _inherits2["default"])(MonthDateRangeComparatorRoot, _RangeComparatorAbstr);
59
+ var _super = (0, _createSuper2["default"])(MonthDateRangeComparatorRoot);
60
+ function MonthDateRangeComparatorRoot() {
61
+ var _this;
62
+ (0, _classCallCheck2["default"])(this, MonthDateRangeComparatorRoot);
63
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
64
+ args[_key] = arguments[_key];
65
+ }
66
+ _this = _super.call.apply(_super, [this].concat(args));
67
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "navigateStep", 'year');
68
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyStep", 'month');
69
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "keyDiff", {
70
+ 37: -1,
71
+ 38: -3,
72
+ 39: 1,
73
+ 40: 3
74
+ });
75
+ return _this;
76
+ }
77
+ (0, _createClass2["default"])(MonthDateRangeComparatorRoot, [{
78
+ key: "getTitleProps",
79
+ value: function getTitleProps(props, index) {
80
+ var _this$asProps = this.asProps,
81
+ displayedPeriod = _this$asProps.displayedPeriod,
82
+ locale = _this$asProps.locale;
83
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthDateRangeComparatorRoot.prototype), "getTitleProps", this).call(this, props, index)), {}, {
84
+ children: new Intl.DateTimeFormat(locale, {
85
+ year: 'numeric'
86
+ }).format((0, _dayjs["default"])(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate())
87
+ });
88
+ }
89
+ }, {
90
+ key: "getRangeInput",
91
+ value: function getRangeInput() {
92
+ return /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.RangeInput.DateRange, null);
93
+ }
94
+ }, {
95
+ key: "getValueDateRangeProps",
96
+ value: function getValueDateRangeProps() {
97
+ var props = (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthDateRangeComparatorRoot.prototype), "getValueDateRangeProps", this).call(this);
98
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
99
+ w: props.w - 60
100
+ });
101
+ }
102
+ }, {
103
+ key: "getCompareDateRangeProps",
104
+ value: function getCompareDateRangeProps() {
105
+ var props = (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthDateRangeComparatorRoot.prototype), "getCompareDateRangeProps", this).call(this);
106
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, props), {}, {
107
+ w: props.w - 60
108
+ });
109
+ }
110
+ }, {
111
+ key: "getPopperProps",
112
+ value: function getPopperProps() {
113
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, (0, _get2["default"])((0, _getPrototypeOf2["default"])(MonthDateRangeComparatorRoot.prototype), "getPopperProps", this).call(this)), {}, {
114
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Header, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Body, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Footer, null))
115
+ });
116
+ }
117
+ }, {
118
+ key: "getHeaderProps",
119
+ value: function getHeaderProps() {
120
+ return {
121
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.ValueDateRange, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.CompareToggle, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.CompareDateRange, null))
122
+ };
123
+ }
124
+ }, {
125
+ key: "getBodyProps",
126
+ value: function getBodyProps() {
127
+ return {
128
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.RangeCalendar, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Periods, null))
129
+ };
130
+ }
131
+ }, {
132
+ key: "getFooterProps",
133
+ value: function getFooterProps(_ref7) {
134
+ var _ref7$unclearable = _ref7.unclearable,
135
+ unclearable = _ref7$unclearable === void 0 ? false : _ref7$unclearable;
136
+ return {
137
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Apply, null), !unclearable && /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Reset, null))
138
+ };
139
+ }
140
+ }]);
141
+ return MonthDateRangeComparatorRoot;
142
+ }(_DateRangeComparatorAbstract["default"]);
143
+ (0, _defineProperty2["default"])(MonthDateRangeComparatorRoot, "displayName", 'MonthDateRangeComparator');
144
+ (0, _defineProperty2["default"])(MonthDateRangeComparatorRoot, "defaultProps", function (props) {
145
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _DateRangeComparatorAbstract["default"].defaultProps(props)), {}, {
146
+ children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Trigger, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Popper, null))
147
+ });
148
+ });
149
+ function ValueDateRange(props) {
150
+ var _ref3;
151
+ var SValueDateRange = props.Root,
152
+ styles = props.styles;
153
+ return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SValueDateRange, _ref3.cn("SValueDateRange", {
154
+ "render": MonthDateRangeComparator.RangeInput,
155
+ "range": 'value'
156
+ }));
157
+ }
158
+ function CompareDateRange(props) {
159
+ var _ref4;
160
+ var SCompareDateRange = props.Root,
161
+ styles = props.styles;
162
+ return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCompareDateRange, _ref4.cn("SCompareDateRange", {
163
+ "render": MonthDateRangeComparator.RangeInput,
164
+ "range": 'compare'
165
+ }));
166
+ }
167
+ function RangeCalendar(props) {
168
+ var _ref5;
169
+ var SRangeCalendar = props.Root,
170
+ styles = props.styles;
171
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRangeCalendar, _ref5.cn("SRangeCalendar", {
172
+ "render": _flexBox.Flex,
173
+ "gap": 8
174
+ }), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref5.cn("Flex", {
175
+ "direction": 'column'
176
+ }), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.CalendarHeader, {
177
+ tag: _flexBox.Flex
178
+ }, /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Prev, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Title, null)), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Calendar, null)), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref5.cn("Flex", {
179
+ "direction": 'column'
180
+ }), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.CalendarHeader, {
181
+ tag: _flexBox.Flex
182
+ }, /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Title, null), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Next, null)), /*#__PURE__*/_react["default"].createElement(MonthDateRangeComparator.Calendar, null)));
183
+ }
184
+ function Periods(props) {
185
+ var _ref6;
186
+ var SPeriods = props.Root,
187
+ styles = props.styles;
188
+ var SPeriodsList = MonthDateRangeComparator.Period;
189
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPeriods, _ref6.cn("SPeriods", {
190
+ "render": _flexBox.Flex
191
+ }), /*#__PURE__*/_react["default"].createElement(_divider["default"], _ref6.cn("Divider", {
192
+ "orientation": 'vertical',
193
+ "h": 'auto'
194
+ })), /*#__PURE__*/_react["default"].createElement(_flexBox.Flex, _ref6.cn("Flex", {
195
+ "direction": 'column'
196
+ }), /*#__PURE__*/_react["default"].createElement(SPeriodsList, _ref6.cn("SPeriodsList", {}))));
197
+ }
198
+ var MonthDateRangeComparator = (0, _core["default"])(MonthDateRangeComparatorRoot, {
199
+ Popper: _components.Popper,
200
+ CalendarHeader: _components.Header,
201
+ Title: _components.Title,
202
+ Header: _DateRangeComparatorAbstract.Header,
203
+ Prev: _components.Prev,
204
+ Next: _components.Next,
205
+ Calendar: _Calendar.CalendarMonths,
206
+ Period: _components.Period,
207
+ Apply: _DateRangeComparatorAbstract.Apply,
208
+ Reset: _DateRangeComparatorAbstract.Reset,
209
+ Trigger: _DateRangeComparatorAbstract.Trigger,
210
+ ValueDateRange: ValueDateRange,
211
+ CompareToggle: _DateRangeComparatorAbstract.CompareToggle,
212
+ CompareDateRange: CompareDateRange,
213
+ Body: _DateRangeComparatorAbstract.Body,
214
+ RangeCalendar: RangeCalendar,
215
+ Periods: Periods,
216
+ Footer: _DateRangeComparatorAbstract.Footer,
217
+ RangeInput: RangeInput
218
+ }, {
219
+ parent: _Calendar.CalendarMonths
220
+ });
221
+ var _default = MonthDateRangeComparator;
222
+ exports["default"] = _default;
223
+ //# sourceMappingURL=MonthDateRangeComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonthDateRangeComparator.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_components","_Calendar","_flexBox","_dayjs","_divider","_DateRangeComparatorAbstract","_InputTrigger","dateParts","day","month","year","RangeInput","props","_ref","arguments[0]","_ref2","styles","SComparatorRangeInput","Box","SRangeIndicator","sstyled","createElement","cn","_objectSpread2","assignProps","InputTriggerBase","DateRange","range","Indicator","FromMaskedInput","RangeSep","ToMaskedInput","MaskedInput","Addon","SingleDateInput","DateRangeFromInput","DateRangeToInput","MonthDateRangeComparatorRoot","_RangeComparatorAbstr","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","getTitleProps","index","_this$asProps","asProps","displayedPeriod","locale","_get2","_getPrototypeOf2","prototype","children","Intl","DateTimeFormat","format","dayjs","add","navigateStep","startOf","toDate","getRangeInput","MonthDateRangeComparator","getValueDateRangeProps","w","getCompareDateRangeProps","getPopperProps","Fragment","Header","Body","Footer","getHeaderProps","ValueDateRange","CompareToggle","CompareDateRange","getBodyProps","RangeCalendar","Periods","getFooterProps","_ref7","_ref7$unclearable","unclearable","Apply","Reset","RangeComparatorAbstract","defaultProps","Trigger","Popper","_ref3","SValueDateRange","Root","_ref4","SCompareDateRange","_ref5","SRangeCalendar","Flex","CalendarHeader","tag","Prev","Title","Calendar","Next","_ref6","SPeriods","SPeriodsList","Period","createComponent","parent","_default","exports"],"sources":["../../src/MonthDateRangeComparator.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport { Header as CalendarHeader, Next, Period, Popper, Prev, Title } from './components';\nimport { CalendarMonths as Calendar } from './components/Calendar';\nimport { Box, Flex } from '@semcore/flex-box';\nimport dayjs from 'dayjs';\nimport Divider from '@semcore/divider';\nimport RangeComparatorAbstract, {\n Apply,\n Reset,\n Header,\n Trigger,\n CompareToggle,\n Body,\n Footer,\n} from './components/DateRangeComparatorAbstract';\nimport InputTriggerBase from './components/InputTrigger';\n\nconst dateParts = { day: false, month: true, year: true };\n\nfunction RangeInput(props) {\n const { styles } = props;\n const SComparatorRangeInput = Root;\n const SRangeIndicator = Box;\n return sstyled(styles)(\n <SComparatorRangeInput\n data-name='SComparatorRangeInput'\n render={Box}\n tag={InputTriggerBase}\n parts={dateParts}\n __excludeProps={['role', 'aria-haspopup', 'onChange', 'value']}\n >\n <InputTriggerBase.DateRange>\n <SRangeIndicator range={props.range} w={12} h={12} ml={2} />\n <InputTriggerBase.DateRange.Indicator />\n <InputTriggerBase.DateRange.FromMaskedInput />\n <InputTriggerBase.DateRange.RangeSep />\n <InputTriggerBase.DateRange.ToMaskedInput />\n </InputTriggerBase.DateRange>\n </SComparatorRangeInput>,\n );\n}\nRangeInput.Indicator = InputTriggerBase.Indicator;\nRangeInput.MaskedInput = InputTriggerBase.MaskedInput;\nRangeInput.Addon = InputTriggerBase.Addon;\nRangeInput.SingleDateInput = InputTriggerBase.SingleDateInput;\nRangeInput.DateRange = InputTriggerBase.DateRange;\nRangeInput.DateRangeFromInput = InputTriggerBase.DateRangeFromInput;\nRangeInput.DateRangeToInput = InputTriggerBase.DateRangeToInput;\n\nclass MonthDateRangeComparatorRoot extends RangeComparatorAbstract {\n static displayName = 'MonthDateRangeComparator';\n static defaultProps = (props) => {\n return {\n ...RangeComparatorAbstract.defaultProps(props),\n children: (\n <>\n <MonthDateRangeComparator.Trigger />\n <MonthDateRangeComparator.Popper />\n </>\n ),\n };\n };\n\n navigateStep = 'year';\n keyStep = 'month';\n keyDiff = {\n 37: -1,\n 38: -3,\n 39: 1,\n 40: 3,\n };\n\n getTitleProps(props, index) {\n const { displayedPeriod, locale } = this.asProps;\n return {\n ...super.getTitleProps(props, index),\n children: new Intl.DateTimeFormat(locale, { year: 'numeric' }).format(\n dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),\n ),\n };\n }\n\n getRangeInput() {\n return <MonthDateRangeComparator.RangeInput.DateRange />;\n }\n\n getValueDateRangeProps() {\n const props = super.getValueDateRangeProps();\n return {\n ...props,\n w: props.w - 60,\n };\n }\n\n getCompareDateRangeProps() {\n const props = super.getCompareDateRangeProps();\n return {\n ...props,\n w: props.w - 60,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n children: (\n <>\n <MonthDateRangeComparator.Header />\n <MonthDateRangeComparator.Body />\n <MonthDateRangeComparator.Footer />\n </>\n ),\n };\n }\n\n getHeaderProps() {\n return {\n children: (\n <>\n <MonthDateRangeComparator.ValueDateRange />\n <MonthDateRangeComparator.CompareToggle />\n <MonthDateRangeComparator.CompareDateRange />\n </>\n ),\n };\n }\n\n getBodyProps() {\n return {\n children: (\n <>\n <MonthDateRangeComparator.RangeCalendar />\n <MonthDateRangeComparator.Periods />\n </>\n ),\n };\n }\n\n getFooterProps({ unclearable = false }) {\n return {\n children: (\n <>\n <MonthDateRangeComparator.Apply />\n {!unclearable && <MonthDateRangeComparator.Reset />}\n </>\n ),\n };\n }\n}\n\nfunction ValueDateRange(props) {\n const { Root: SValueDateRange, styles } = props;\n return sstyled(styles)(\n <SValueDateRange render={MonthDateRangeComparator.RangeInput} range='value' />,\n );\n}\n\nfunction CompareDateRange(props) {\n const { Root: SCompareDateRange, styles } = props;\n return sstyled(styles)(\n <SCompareDateRange render={MonthDateRangeComparator.RangeInput} range='compare' />,\n );\n}\n\nfunction RangeCalendar(props) {\n const { Root: SRangeCalendar, styles } = props;\n return sstyled(styles)(\n <SRangeCalendar render={Flex} gap={8}>\n <Flex direction='column'>\n <MonthDateRangeComparator.CalendarHeader tag={Flex}>\n <MonthDateRangeComparator.Prev />\n <MonthDateRangeComparator.Title />\n </MonthDateRangeComparator.CalendarHeader>\n <MonthDateRangeComparator.Calendar />\n </Flex>\n <Flex direction='column'>\n <MonthDateRangeComparator.CalendarHeader tag={Flex}>\n <MonthDateRangeComparator.Title />\n <MonthDateRangeComparator.Next />\n </MonthDateRangeComparator.CalendarHeader>\n <MonthDateRangeComparator.Calendar />\n </Flex>\n </SRangeCalendar>,\n );\n}\nfunction Periods(props) {\n const { Root: SPeriods, styles } = props;\n const SPeriodsList = MonthDateRangeComparator.Period;\n return sstyled(styles)(\n <SPeriods render={Flex}>\n <Divider orientation='vertical' h='auto' />\n <Flex direction='column'>\n <SPeriodsList />\n </Flex>\n </SPeriods>,\n );\n}\n\nconst MonthDateRangeComparator = createComponent(\n MonthDateRangeComparatorRoot,\n {\n Popper,\n CalendarHeader,\n Title,\n Header,\n Prev,\n Next,\n Calendar,\n Period,\n Apply,\n Reset,\n\n Trigger,\n ValueDateRange,\n CompareToggle,\n CompareDateRange,\n Body,\n RangeCalendar,\n Periods,\n Footer,\n RangeInput,\n },\n {\n parent: Calendar,\n },\n);\n\nexport default MonthDateRangeComparator;\n"],"mappings":"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"}