@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
@@ -0,0 +1,584 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Apply = Apply;
8
+ exports.Body = Body;
9
+ exports.CompareToggle = CompareToggle;
10
+ exports.Footer = Footer;
11
+ exports.Header = Header;
12
+ exports.Reset = Reset;
13
+ exports.Trigger = Trigger;
14
+ exports["default"] = void 0;
15
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+ var _core = require("@semcore/core");
22
+ var _react = _interopRequireDefault(require("react"));
23
+ var _dayjs = _interopRequireDefault(require("dayjs"));
24
+ var _button = _interopRequireDefault(require("@semcore/button"));
25
+ var _flexBox = require("@semcore/flex-box");
26
+ var _dropdown = _interopRequireDefault(require("@semcore/dropdown"));
27
+ var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
28
+ var _intergalacticDynamicLocales = require("../translations/__intergalactic-dynamic-locales");
29
+ var _shortDateRangeFormat = _interopRequireDefault(require("../utils/shortDateRangeFormat"));
30
+ var _checkbox = _interopRequireDefault(require("@semcore/checkbox"));
31
+ var _baseTrigger = require("@semcore/base-trigger");
32
+ /*__reshadow-styles__:"../style/date-picker.shadow.css"*/
33
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SPopper_opjge_gg_{padding:var(--intergalactic-spacing-4x, 16px);outline:0}.___SPopper_opjge_gg_::-moz-focus-inner{border:0;padding:0}.___SPopper_opjge_gg_:active,.___SPopper_opjge_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPopper_opjge_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none}}.___SPopper_opjge_gg_:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SHeader_opjge_gg_,.___STitle_opjge_gg_{display:flex;align-items:center}.___STitle_opjge_gg_{font-size:var(--intergalactic-fs-200, 14px);color:var(--intergalactic-text-primary, #191b23);height:32px;width:100%;justify-content:center}.___SToday_opjge_gg_{display:flex;margin-top:var(--intergalactic-spacing-3x, 12px);justify-content:center}.___SPeriod_opjge_gg_{display:flex;flex-direction:column;margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SButton_opjge_gg_ .___SInner_opjge_gg_{justify-content:flex-start}.___SInputMask_opjge_gg_{color:var(--intergalactic-text-primary, #191b23);line-height:normal}.___SIndicator_opjge_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}.___SRangeIndicator_opjge_gg_{border-radius:50%;flex-shrink:0}.___SRangeIndicator_opjge_gg_._range_value_opjge_gg_{background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff)}.___SRangeIndicator_opjge_gg_._range_compare_opjge_gg_{background-color:var(--intergalactic-date-picker-cell-comparison-active, #8649e1)}.___SHumanizedDate_opjge_gg_{position:absolute;pointer-events:none}.___SDateRange_opjge_gg_ .___SMask_opjge_gg_,.___SDateRange_opjge_gg_ .___SValue_opjge_gg_,.___SSingleDateInput_opjge_gg_ .___SMask_opjge_gg_,.___SSingleDateInput_opjge_gg_ .___SValue_opjge_gg_{opacity:0}.___SSingleDateInput_opjge_gg_:focus-within .___SHumanizedDate_opjge_gg_{opacity:0;z-index:var(--intergalactic-z-index-deep, -999)}.___SSingleDateInput_opjge_gg_:focus-within .___SMask_opjge_gg_,.___SSingleDateInput_opjge_gg_:focus-within .___SValue_opjge_gg_{opacity:1}.___SDateRange_opjge_gg_:focus-within .___SHumanizedDate_opjge_gg_{opacity:0;z-index:var(--intergalactic-z-index-deep, -999)}.___SDateRange_opjge_gg_:focus-within .___SMask_opjge_gg_,.___SDateRange_opjge_gg_:focus-within .___SValue_opjge_gg_{opacity:1}.___SInputMask_opjge_gg_.__noHumanizedDate_opjge_gg_ .___SMask_opjge_gg_,.___SInputMask_opjge_gg_.__noHumanizedDate_opjge_gg_ .___SValue_opjge_gg_{opacity:1}.___SDateRange_opjge_gg_ .___SInputMask_opjge_gg_:focus-within .___SMask_opjge_gg_{background-color:var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2))}.___SDateRange_opjge_gg_:focus-within .___SRangeSep_opjge_gg_,.___SRangeSep_opjge_gg_.__fulfilled_opjge_gg_{color:var(--intergalactic-text-primary, #191b23)}.___SRangeComparatorHeader_opjge_gg_{border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SRangeCalendar_opjge_gg_,.___SRangeComparatorHeader_opjge_gg_{padding:var(--intergalactic-spacing-4x, 16px)}.___SFooter_opjge_gg_{border-top:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SFooter_opjge_gg_,.___SPeriodsList_opjge_gg_{padding:var(--intergalactic-spacing-4x, 16px)}" /*__inner_css_end__*/, "opjge_gg_") /*__reshadow_css_end__*/, {
34
+ "__SHeader": "___SHeader_opjge_gg_",
35
+ "__STitle": "___STitle_opjge_gg_",
36
+ "__SToday": "___SToday_opjge_gg_",
37
+ "__SPeriod": "___SPeriod_opjge_gg_",
38
+ "__SButton": "___SButton_opjge_gg_",
39
+ "__SInner": "___SInner_opjge_gg_",
40
+ "__SInputMask": "___SInputMask_opjge_gg_",
41
+ "__SIndicator": "___SIndicator_opjge_gg_",
42
+ "__SRangeIndicator": "___SRangeIndicator_opjge_gg_",
43
+ "_range_value": "_range_value_opjge_gg_",
44
+ "_range_compare": "_range_compare_opjge_gg_",
45
+ "__SHumanizedDate": "___SHumanizedDate_opjge_gg_",
46
+ "__SSingleDateInput": "___SSingleDateInput_opjge_gg_",
47
+ "__SValue": "___SValue_opjge_gg_",
48
+ "__SDateRange": "___SDateRange_opjge_gg_",
49
+ "__SMask": "___SMask_opjge_gg_",
50
+ "_noHumanizedDate": "__noHumanizedDate_opjge_gg_",
51
+ "__SRangeSep": "___SRangeSep_opjge_gg_",
52
+ "_fulfilled": "__fulfilled_opjge_gg_",
53
+ "__SRangeComparatorHeader": "___SRangeComparatorHeader_opjge_gg_",
54
+ "__SRangeCalendar": "___SRangeCalendar_opjge_gg_",
55
+ "__SFooter": "___SFooter_opjge_gg_",
56
+ "__SPeriodsList": "___SPeriodsList_opjge_gg_",
57
+ "__SPopper": "___SPopper_opjge_gg_"
58
+ });
59
+ var defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));
60
+ var getLatestDate = function getLatestDate() {
61
+ for (var _len = arguments.length, dateRanges = new Array(_len), _key = 0; _key < _len; _key++) {
62
+ dateRanges[_key] = arguments[_key];
63
+ }
64
+ var allDates = dateRanges.flat().filter(Boolean).filter(function (date) {
65
+ return !Number.isNaN(new Date(date).getTime());
66
+ });
67
+ if (!allDates.length) return null;
68
+ allDates.sort(function (a, b) {
69
+ return new Date(b).getTime() - new Date(a).getTime();
70
+ });
71
+ var latestDate = allDates[0];
72
+ return latestDate;
73
+ };
74
+ var DateRangeComparatorAbstract = /*#__PURE__*/function (_Component) {
75
+ (0, _inherits2["default"])(DateRangeComparatorAbstract, _Component);
76
+ var _super = (0, _createSuper2["default"])(DateRangeComparatorAbstract);
77
+ function DateRangeComparatorAbstract() {
78
+ var _this;
79
+ (0, _classCallCheck2["default"])(this, DateRangeComparatorAbstract);
80
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
81
+ args[_key2] = arguments[_key2];
82
+ }
83
+ _this = _super.call.apply(_super, [this].concat(args));
84
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
85
+ dirtyValue: undefined,
86
+ dirtyCompare: undefined,
87
+ dirtyToggler: undefined,
88
+ range: 'value' // 'value' | 'compare'
89
+ });
90
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "navigateView", function (direction) {
91
+ var displayedPeriod = _this.asProps.displayedPeriod;
92
+ var action = direction >= 1 ? 'add' : 'subtract';
93
+ var date = (0, _dayjs["default"])(displayedPeriod)[action](1, _this.navigateStep).toDate();
94
+ _this.handlers.displayedPeriod(date);
95
+ });
96
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "bindHandlerNavigateClick", function (direction) {
97
+ return function () {
98
+ return _this.navigateView(direction);
99
+ };
100
+ });
101
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleApply", function (value, compare) {
102
+ _this.handlers.value({
103
+ value: value,
104
+ compare: compare
105
+ });
106
+ _this.handlers.visible(false);
107
+ });
108
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleChange", function (date) {
109
+ var _dirty, _dirty2, _dirty3;
110
+ var _this$state = _this.state,
111
+ dirtyValue = _this$state.dirtyValue,
112
+ dirtyCompare = _this$state.dirtyCompare,
113
+ range = _this$state.range;
114
+ var highlighted = [];
115
+ var dirty = range === 'compare' ? dirtyCompare : dirtyValue;
116
+ if (Array.isArray(date)) {
117
+ dirty = date;
118
+ } else if (!((_dirty = dirty) !== null && _dirty !== void 0 && _dirty.length)) {
119
+ dirty = [date];
120
+ highlighted = [date];
121
+ } else if (((_dirty2 = dirty) === null || _dirty2 === void 0 ? void 0 : _dirty2.length) >= 2) {
122
+ dirty = [date];
123
+ highlighted = [date];
124
+ } else if (((_dirty3 = dirty) === null || _dirty3 === void 0 ? void 0 : _dirty3[0]) > date) {
125
+ var _dirty4;
126
+ dirty = [date, (_dirty4 = dirty) === null || _dirty4 === void 0 ? void 0 : _dirty4[0]];
127
+ } else {
128
+ var _dirty5;
129
+ dirty = [(_dirty5 = dirty) === null || _dirty5 === void 0 ? void 0 : _dirty5[0], date];
130
+ }
131
+ var state = {};
132
+ if (range === 'compare') {
133
+ state['dirtyCompare'] = dirty;
134
+ } else {
135
+ state['dirtyValue'] = dirty;
136
+ }
137
+ _this.setState(state, function () {
138
+ if (range === 'compare') {
139
+ _this.handlers.compareHighlighted(highlighted);
140
+ } else {
141
+ _this.handlers.highlighted(highlighted);
142
+ }
143
+ });
144
+ });
145
+ return _this;
146
+ }
147
+ (0, _createClass2["default"])(DateRangeComparatorAbstract, [{
148
+ key: "getPeriodProps",
149
+ value: function getPeriodProps() {
150
+ var _this$asProps$value,
151
+ _this2 = this;
152
+ var _this$asProps = this.asProps,
153
+ _this$asProps$periods = _this$asProps.periods,
154
+ periods = _this$asProps$periods === void 0 ? this.getDefaultPeriods() : _this$asProps$periods,
155
+ onHighlightedChange = _this$asProps.onHighlightedChange,
156
+ onCompareHighlightedChange = _this$asProps.onCompareHighlightedChange,
157
+ onDisplayedPeriodChange = _this$asProps.onDisplayedPeriodChange;
158
+ var _this$state2 = this.state,
159
+ dirtyValue = _this$state2.dirtyValue,
160
+ dirtyCompare = _this$state2.dirtyCompare,
161
+ range = _this$state2.range;
162
+ var value = dirtyValue !== null && dirtyValue !== void 0 ? dirtyValue : (_this$asProps$value = this.asProps.value) === null || _this$asProps$value === void 0 ? void 0 : _this$asProps$value.value;
163
+ if (range === 'compare') {
164
+ var _this$asProps$value2;
165
+ value = dirtyCompare !== null && dirtyCompare !== void 0 ? dirtyCompare : (_this$asProps$value2 = this.asProps.value) === null || _this$asProps$value2 === void 0 ? void 0 : _this$asProps$value2.compare;
166
+ }
167
+ return {
168
+ periods: periods,
169
+ value: value,
170
+ onChange: function onChange(value) {
171
+ if (range === 'compare') {
172
+ _this2.setState({
173
+ dirtyCompare: value
174
+ });
175
+ } else {
176
+ _this2.setState({
177
+ dirtyValue: value
178
+ });
179
+ }
180
+ },
181
+ onHighlightedChange: range === 'compare' ? onCompareHighlightedChange : onHighlightedChange,
182
+ onDisplayedPeriodChange: onDisplayedPeriodChange
183
+ };
184
+ }
185
+ }, {
186
+ key: "getPrevProps",
187
+ value: function getPrevProps() {
188
+ var getI18nText = this.asProps.getI18nText;
189
+ return {
190
+ getI18nText: getI18nText,
191
+ onClick: this.bindHandlerNavigateClick(-1)
192
+ };
193
+ }
194
+ }, {
195
+ key: "getNextProps",
196
+ value: function getNextProps() {
197
+ var getI18nText = this.asProps.getI18nText;
198
+ return {
199
+ getI18nText: getI18nText,
200
+ onClick: this.bindHandlerNavigateClick(1)
201
+ };
202
+ }
203
+ }, {
204
+ key: "uncontrolledProps",
205
+ value: function uncontrolledProps() {
206
+ var _this3 = this;
207
+ return {
208
+ displayedPeriod: null,
209
+ visible: [null, function (visible) {
210
+ if (!visible) {
211
+ var _ref10, _this3$asProps$value$, _this3$asProps$value, _this3$asProps$value2;
212
+ _this3.handlers.highlighted([]);
213
+ _this3.handlers.compareHighlighted([]);
214
+ _this3.setState({
215
+ dirtyValue: undefined,
216
+ dirtyCompare: undefined,
217
+ dirtyToggler: undefined,
218
+ range: 'value'
219
+ });
220
+ _this3.handlers.displayedPeriod(getLatestDate((_ref10 = (_this3$asProps$value$ = (_this3$asProps$value = _this3.asProps.value) === null || _this3$asProps$value === void 0 ? void 0 : _this3$asProps$value.value) !== null && _this3$asProps$value$ !== void 0 ? _this3$asProps$value$ : (_this3$asProps$value2 = _this3.asProps.value) === null || _this3$asProps$value2 === void 0 ? void 0 : _this3$asProps$value2.compare) !== null && _ref10 !== void 0 ? _ref10 : []) || _this3.props.defaultDisplayedPeriod);
221
+ }
222
+ }],
223
+ highlighted: null,
224
+ compareHighlighted: null,
225
+ value: [null, function (value) {
226
+ var dates = [value === null || value === void 0 ? void 0 : value.value, value === null || value === void 0 ? void 0 : value.compare].flat(2).filter(function (date) {
227
+ var _date$isValid;
228
+ return date === null || date === void 0 ? void 0 : (_date$isValid = date.isValid) === null || _date$isValid === void 0 ? void 0 : _date$isValid.call(date);
229
+ });
230
+ if (dates.length > 0) _this3.handlers.displayedPeriod(getLatestDate(value));
231
+ }]
232
+ };
233
+ }
234
+ }, {
235
+ key: "getApplyProps",
236
+ value: function getApplyProps() {
237
+ var _this4 = this;
238
+ var _this$asProps2 = this.asProps,
239
+ value = _this$asProps2.value,
240
+ getI18nText = _this$asProps2.getI18nText;
241
+ var _this$state3 = this.state,
242
+ dirtyValue = _this$state3.dirtyValue,
243
+ dirtyCompare = _this$state3.dirtyCompare;
244
+ return {
245
+ getI18nText: getI18nText,
246
+ onClick: function onClick() {
247
+ return _this4.handleApply(dirtyValue !== null && dirtyValue !== void 0 ? dirtyValue : value === null || value === void 0 ? void 0 : value.value, dirtyCompare !== null && dirtyCompare !== void 0 ? dirtyCompare : value === null || value === void 0 ? void 0 : value.compare);
248
+ }
249
+ };
250
+ }
251
+ }, {
252
+ key: "getResetProps",
253
+ value: function getResetProps() {
254
+ var _this5 = this;
255
+ var getI18nText = this.asProps.getI18nText;
256
+ return {
257
+ getI18nText: getI18nText,
258
+ onClick: function onClick() {
259
+ return _this5.handleApply(null, null);
260
+ }
261
+ };
262
+ }
263
+ }, {
264
+ key: "getDefaultPeriods",
265
+ value: function getDefaultPeriods() {
266
+ var getI18nText = this.asProps.getI18nText;
267
+ var today = new Date(new Date().setHours(0, 0, 0, 0));
268
+ return [{
269
+ children: getI18nText('lastMonth'),
270
+ value: [(0, _dayjs["default"])(today).subtract(1, 'month').startOf('month').toDate(), (0, _dayjs["default"])(today).startOf('month').toDate()]
271
+ }, {
272
+ children: getI18nText('last3Months'),
273
+ value: [(0, _dayjs["default"])(today).subtract(2, 'month').startOf('month').toDate(), (0, _dayjs["default"])(today).startOf('month').toDate()]
274
+ }, {
275
+ children: getI18nText('last6Months'),
276
+ value: [(0, _dayjs["default"])(today).subtract(5, 'month').startOf('month').toDate(), (0, _dayjs["default"])(today).startOf('month').toDate()]
277
+ }, {
278
+ children: getI18nText('last12Months'),
279
+ value: [(0, _dayjs["default"])(today).subtract(11, 'month').startOf('month').toDate(), (0, _dayjs["default"])(today).startOf('month').toDate()]
280
+ }];
281
+ }
282
+ }, {
283
+ key: "getTitleProps",
284
+ value: function getTitleProps(props, index) {
285
+ var _this$asProps3 = this.asProps,
286
+ locale = _this$asProps3.locale,
287
+ displayedPeriod = _this$asProps3.displayedPeriod;
288
+ return {
289
+ children: new Intl.DateTimeFormat(locale, {
290
+ month: 'long',
291
+ year: 'numeric'
292
+ }).format((0, _dayjs["default"])(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate())
293
+ };
294
+ }
295
+ }, {
296
+ key: "getTriggerProps",
297
+ value: function getTriggerProps(_ref11) {
298
+ var _this$asProps$value3,
299
+ _this$asProps$value4,
300
+ _this6 = this;
301
+ var _ref11$placeholder = _ref11.placeholder,
302
+ placeholder = _ref11$placeholder === void 0 ? 'Select date ranges' : _ref11$placeholder,
303
+ _ref11$separator = _ref11.separator,
304
+ separator = _ref11$separator === void 0 ? 'vs.' : _ref11$separator;
305
+ var _this$asProps4 = this.asProps,
306
+ locale = _this$asProps4.locale,
307
+ visible = _this$asProps4.visible;
308
+ var value = (_this$asProps$value3 = this.asProps.value) === null || _this$asProps$value3 === void 0 ? void 0 : _this$asProps$value3.value;
309
+ var compare = (_this$asProps$value4 = this.asProps.value) === null || _this$asProps$value4 === void 0 ? void 0 : _this$asProps$value4.compare;
310
+ var formattingProps = {
311
+ locale: locale,
312
+ day: 'numeric',
313
+ month: 'short',
314
+ year: 'numeric'
315
+ };
316
+ var children = placeholder;
317
+ if (value !== null && value !== void 0 && value[0] && value !== null && value !== void 0 && value[1]) {
318
+ children = (0, _shortDateRangeFormat["default"])(value, formattingProps);
319
+ }
320
+ if (compare !== null && compare !== void 0 && compare[0] && compare !== null && compare !== void 0 && compare[1]) {
321
+ children = "".concat(children || '', " ").concat(separator, " ").concat((0, _shortDateRangeFormat["default"])(compare, formattingProps));
322
+ }
323
+ return {
324
+ children: children,
325
+ visible: visible,
326
+ onClick: function onClick() {
327
+ return _this6.handlers.visible(!visible);
328
+ }
329
+ };
330
+ }
331
+ }, {
332
+ key: "getRangeInput",
333
+ value: function getRangeInput() {
334
+ throw new Error('not implemented');
335
+ }
336
+ }, {
337
+ key: "getValueDateRangeProps",
338
+ value: function getValueDateRangeProps() {
339
+ var _this7 = this;
340
+ var _this$asProps5 = this.asProps,
341
+ value = _this$asProps5.value,
342
+ onDisplayedPeriodChange = _this$asProps5.onDisplayedPeriodChange,
343
+ locale = _this$asProps5.locale,
344
+ disabled = _this$asProps5.disabled,
345
+ size = _this$asProps5.size,
346
+ getI18nText = _this$asProps5.getI18nText;
347
+ var _this$state4 = this.state,
348
+ range = _this$state4.range,
349
+ dirtyValue = _this$state4.dirtyValue;
350
+ return {
351
+ focused: range === 'value' ? true : undefined,
352
+ value: dirtyValue !== null && dirtyValue !== void 0 ? dirtyValue : value === null || value === void 0 ? void 0 : value.value,
353
+ onChange: function onChange(value) {
354
+ return _this7.setState({
355
+ dirtyValue: value
356
+ });
357
+ },
358
+ onDisplayedPeriodChange: onDisplayedPeriodChange,
359
+ locale: locale,
360
+ w: size === 'm' ? 300 : 330,
361
+ disabledDates: disabled,
362
+ children: this.getRangeInput(),
363
+ getI18nText: getI18nText,
364
+ onFocus: function onFocus() {
365
+ _this7.setState({
366
+ range: 'value'
367
+ });
368
+ return false;
369
+ }
370
+ };
371
+ }
372
+ }, {
373
+ key: "getCompareDateRangeProps",
374
+ value: function getCompareDateRangeProps() {
375
+ var _value$compare,
376
+ _this8 = this;
377
+ var _this$asProps6 = this.asProps,
378
+ value = _this$asProps6.value,
379
+ onDisplayedPeriodChange = _this$asProps6.onDisplayedPeriodChange,
380
+ locale = _this$asProps6.locale,
381
+ disabled = _this$asProps6.disabled,
382
+ size = _this$asProps6.size,
383
+ getI18nText = _this$asProps6.getI18nText;
384
+ var _this$state5 = this.state,
385
+ range = _this$state5.range,
386
+ dirtyCompare = _this$state5.dirtyCompare,
387
+ dirtyToggler = _this$state5.dirtyToggler;
388
+ return {
389
+ focused: range === 'compare' ? true : undefined,
390
+ disabled: !(dirtyToggler !== null && dirtyToggler !== void 0 ? dirtyToggler : value === null || value === void 0 ? void 0 : (_value$compare = value.compare) === null || _value$compare === void 0 ? void 0 : _value$compare.length),
391
+ value: dirtyCompare !== null && dirtyCompare !== void 0 ? dirtyCompare : value === null || value === void 0 ? void 0 : value.compare,
392
+ onChange: function onChange(value) {
393
+ return _this8.setState({
394
+ dirtyCompare: value
395
+ });
396
+ },
397
+ onDisplayedPeriodChange: onDisplayedPeriodChange,
398
+ locale: locale,
399
+ w: size === 'm' ? 300 : 330,
400
+ disabledDates: disabled,
401
+ children: this.getRangeInput(),
402
+ getI18nText: getI18nText,
403
+ onFocus: function onFocus() {
404
+ _this8.setState({
405
+ range: 'compare'
406
+ });
407
+ return false;
408
+ }
409
+ };
410
+ }
411
+ }, {
412
+ key: "getCompareToggleProps",
413
+ value: function getCompareToggleProps() {
414
+ var _value$compare2,
415
+ _this9 = this;
416
+ var _this$asProps7 = this.asProps,
417
+ getI18nText = _this$asProps7.getI18nText,
418
+ value = _this$asProps7.value;
419
+ var dirtyToggler = this.state.dirtyToggler;
420
+ return {
421
+ getI18nText: getI18nText,
422
+ checked: dirtyToggler !== null && dirtyToggler !== void 0 ? dirtyToggler : value === null || value === void 0 ? void 0 : (_value$compare2 = value.compare) === null || _value$compare2 === void 0 ? void 0 : _value$compare2.length,
423
+ onChange: function onChange(checked) {
424
+ if (checked) {
425
+ _this9.setState({
426
+ range: 'compare',
427
+ dirtyToggler: true
428
+ });
429
+ } else {
430
+ _this9.setState({
431
+ range: 'value',
432
+ dirtyCompare: [],
433
+ dirtyToggler: false
434
+ });
435
+ }
436
+ }
437
+ };
438
+ }
439
+ }, {
440
+ key: "getCalendarProps",
441
+ value: function getCalendarProps(_props, index) {
442
+ var _this$asProps8 = this.asProps,
443
+ locale = _this$asProps8.locale,
444
+ displayedPeriod = _this$asProps8.displayedPeriod,
445
+ disabled = _this$asProps8.disabled,
446
+ value = _this$asProps8.value,
447
+ onCompareHighlightedChange = _this$asProps8.onCompareHighlightedChange,
448
+ highlighted = _this$asProps8.highlighted,
449
+ compareHighlighted = _this$asProps8.compareHighlighted,
450
+ onHighlightedChange = _this$asProps8.onHighlightedChange;
451
+ var _this$state6 = this.state,
452
+ dirtyValue = _this$state6.dirtyValue,
453
+ dirtyCompare = _this$state6.dirtyCompare,
454
+ range = _this$state6.range;
455
+ return {
456
+ locale: locale,
457
+ displayedPeriod: (0, _dayjs["default"])(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),
458
+ disabled: disabled,
459
+ onChange: this.handleChange,
460
+ highlighted: highlighted,
461
+ compareHighlighted: compareHighlighted,
462
+ onCompareHighlightedChange: onCompareHighlightedChange,
463
+ onHighlightedChange: onHighlightedChange,
464
+ range: range,
465
+ value: dirtyValue !== null && dirtyValue !== void 0 ? dirtyValue : value === null || value === void 0 ? void 0 : value.value,
466
+ compare: dirtyCompare !== null && dirtyCompare !== void 0 ? dirtyCompare : value === null || value === void 0 ? void 0 : value.compare
467
+ };
468
+ }
469
+ }, {
470
+ key: "getPopperProps",
471
+ value: function getPopperProps() {
472
+ return {
473
+ p: 0
474
+ };
475
+ }
476
+ }, {
477
+ key: "render",
478
+ value: function render() {
479
+ var _ref = this.asProps,
480
+ _ref4;
481
+ var _this$asProps9 = this.asProps,
482
+ Children = _this$asProps9.Children,
483
+ styles = _this$asProps9.styles,
484
+ providedAriaLabel = _this$asProps9['aria-label'];
485
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (_ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_dropdown["default"], (0, _core.assignProps)({
486
+ "use:aria-label": providedAriaLabel,
487
+ "__excludeProps": ['onChange', 'value']
488
+ }, _ref), /*#__PURE__*/_react["default"].createElement(Children, _ref4.cn("Children", {})))));
489
+ }
490
+ }], [{
491
+ key: "defaultProps",
492
+ value: function defaultProps(_ref12) {
493
+ var primaryRange = _ref12.primaryRange,
494
+ defaultPrimaryRange = _ref12.defaultPrimaryRange,
495
+ secondaryRange = _ref12.secondaryRange,
496
+ defaultSecondaryRange = _ref12.defaultSecondaryRange;
497
+ return {
498
+ i18n: _intergalacticDynamicLocales.localizedMessages,
499
+ locale: 'en',
500
+ defaultValue: null,
501
+ defaultHighlighted: [],
502
+ defaultCompareHighlighted: [],
503
+ defaultDisplayedPeriod: getLatestDate(primaryRange, defaultPrimaryRange, secondaryRange, defaultSecondaryRange) || defaultDisplayedPeriod,
504
+ defaultVisible: false,
505
+ disabled: [],
506
+ size: 'm'
507
+ };
508
+ }
509
+ }]);
510
+ return DateRangeComparatorAbstract;
511
+ }(_core.Component);
512
+ (0, _defineProperty2["default"])(DateRangeComparatorAbstract, "displayName", 'DateRangeComparator');
513
+ (0, _defineProperty2["default"])(DateRangeComparatorAbstract, "style", style);
514
+ (0, _defineProperty2["default"])(DateRangeComparatorAbstract, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
515
+ function Apply(props) {
516
+ var _ref2 = arguments[0];
517
+ var getI18nText = props.getI18nText;
518
+ return /*#__PURE__*/_react["default"].createElement(_button["default"], (0, _core.assignProps)({
519
+ "use": 'primary',
520
+ "children": getI18nText('apply')
521
+ }, _ref2));
522
+ }
523
+ function Reset(props) {
524
+ var _ref3 = arguments[0];
525
+ var getI18nText = props.getI18nText;
526
+ return /*#__PURE__*/_react["default"].createElement(_button["default"], (0, _core.assignProps)({
527
+ "use": 'tertiary',
528
+ "theme": 'muted',
529
+ "children": getI18nText('reset')
530
+ }, _ref3));
531
+ }
532
+ function Trigger(props) {
533
+ var _ref5;
534
+ var STrigger = props.Root,
535
+ styles = props.styles;
536
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(STrigger, _ref5.cn("STrigger", {
537
+ "render": _dropdown["default"].Trigger,
538
+ "tag": _baseTrigger.LinkTrigger
539
+ }));
540
+ }
541
+ function CompareToggle(props) {
542
+ var _ref6;
543
+ var SCompareToggle = props.Root,
544
+ styles = props.styles,
545
+ getI18nText = props.getI18nText;
546
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCompareToggle, _ref6.cn("SCompareToggle", {
547
+ "render": _checkbox["default"],
548
+ "label": getI18nText('compare')
549
+ }));
550
+ }
551
+ function Header(props) {
552
+ var _ref7;
553
+ var SRangeComparatorHeader = props.Root,
554
+ Children = props.Children,
555
+ styles = props.styles;
556
+ return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRangeComparatorHeader, _ref7.cn("SRangeComparatorHeader", {
557
+ "render": _flexBox.Flex,
558
+ "gap": 4,
559
+ "alignItems": 'center'
560
+ }), /*#__PURE__*/_react["default"].createElement(Children, _ref7.cn("Children", {})));
561
+ }
562
+ function Body(props) {
563
+ var _ref8;
564
+ var SBody = props.Root,
565
+ Children = props.Children,
566
+ styles = props.styles;
567
+ return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBody, _ref8.cn("SBody", {
568
+ "render": _flexBox.Flex,
569
+ "gap": 4
570
+ }), /*#__PURE__*/_react["default"].createElement(Children, _ref8.cn("Children", {})));
571
+ }
572
+ function Footer(props) {
573
+ var _ref9;
574
+ var SFooter = props.Root,
575
+ styles = props.styles,
576
+ Children = props.Children;
577
+ return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SFooter, _ref9.cn("SFooter", {
578
+ "render": _flexBox.Flex,
579
+ "gap": 2
580
+ }), /*#__PURE__*/_react["default"].createElement(Children, _ref9.cn("Children", {})));
581
+ }
582
+ var _default = DateRangeComparatorAbstract;
583
+ exports["default"] = _default;
584
+ //# sourceMappingURL=DateRangeComparatorAbstract.js.map