@spaced-out/ui-design-system 0.5.26 → 0.5.27

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.
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.DateRangeWrapper = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _moment = _interopRequireDefault(require("moment"));
9
+ var _size = require("../../styles/variables/_size");
9
10
  var _utils = require("../../utils");
10
11
  var _classify = _interopRequireDefault(require("../../utils/classify"));
11
12
  var _dateRangePicker = require("../../utils/date-range-picker");
@@ -21,43 +22,29 @@ var _DateRangeWrapperModule = _interopRequireDefault(require("./DateRangeWrapper
21
22
  var _jsxRuntime = require("react/jsx-runtime");
22
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
23
24
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
24
- const CalendarHeader = _ref => {
25
+ const CalendarHeaderBase = _ref => {
25
26
  let {
26
27
  t,
27
28
  date,
28
- marker,
29
29
  minDate,
30
30
  maxDate,
31
+ availableYears,
32
+ availableMonths,
31
33
  setMonth,
32
- rangeStartMonth,
33
- rangeEndMonth,
34
34
  onClickNext,
35
+ onClickPrevious,
35
36
  nextDisabled,
36
37
  prevDisabled,
37
- onClickPrevious,
38
- testId
38
+ testId,
39
+ marker
39
40
  } = _ref;
40
- const availableYears = (0, _utils.generateAvailableYears)({
41
- marker,
42
- minDate,
43
- maxDate,
44
- rangeStartMonth,
45
- rangeEndMonth
46
- });
47
- const availableMonths = (0, _utils.getAvailableMonths)({
48
- marker,
49
- minDate,
50
- maxDate,
51
- rangeStartMonth,
52
- rangeEndMonth,
53
- t
54
- });
55
41
  const MONTHS = (0, _utils.getMonths)(t);
42
+ const baseSlot = marker ? `-${marker}` : '';
56
43
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
57
44
  className: _DateRangeWrapperModule.default.calendarHeader,
58
45
  "data-testid": (0, _qa.generateTestId)({
59
46
  base: testId,
60
- slot: `header-${marker}`
47
+ slot: `header${baseSlot}`
61
48
  }),
62
49
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.ClickableIcon, {
63
50
  ariaLabel: (0, _dateRangePicker.getTranslation)(t, 'Select Previous Month'),
@@ -70,14 +57,18 @@ const CalendarHeader = _ref => {
70
57
  color: prevDisabled ? 'disabled' : 'secondary',
71
58
  testId: (0, _qa.generateTestId)({
72
59
  base: testId,
73
- slot: `prev-button-${marker}`
60
+ slot: `prev-button${baseSlot}`
74
61
  })
75
62
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.Dropdown, {
76
63
  size: "small",
77
64
  disabled: !availableMonths.length || (0, _dateRangePicker.isAfter)(minDate, maxDate),
78
65
  menu: {
79
66
  selectedKeys: [_moment.default.utc(date).month().toString()],
80
- options: availableMonths
67
+ options: availableMonths,
68
+ isFluid: false,
69
+ classNames: {
70
+ wrapper: _DateRangeWrapperModule.default.monthAndYearMenu
71
+ }
81
72
  },
82
73
  onChange: event => {
83
74
  setMonth((0, _utils.getMonthEndDate)(_moment.default.utc(date).set('M', Number(event.key))));
@@ -86,13 +77,17 @@ const CalendarHeader = _ref => {
86
77
  scrollMenuToBottom: true,
87
78
  testId: (0, _qa.generateTestId)({
88
79
  base: testId,
89
- slot: `month-dropdown-${marker}`
80
+ slot: `month-dropdown${baseSlot}`
90
81
  })
91
82
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.Dropdown, {
92
83
  disabled: !availableYears.length || (0, _dateRangePicker.isAfter)(minDate, maxDate),
93
84
  menu: {
94
85
  selectedKeys: [_moment.default.utc(date).year().toString()],
95
- options: availableYears
86
+ options: availableYears,
87
+ isFluid: false,
88
+ classNames: {
89
+ wrapper: _DateRangeWrapperModule.default.monthAndYearMenu
90
+ }
96
91
  },
97
92
  size: "small",
98
93
  onChange: event => {
@@ -102,7 +97,7 @@ const CalendarHeader = _ref => {
102
97
  scrollMenuToBottom: true,
103
98
  testId: (0, _qa.generateTestId)({
104
99
  base: testId,
105
- slot: `year-dropdown-${marker}`
100
+ slot: `year-dropdown${baseSlot}`
106
101
  })
107
102
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.ClickableIcon, {
108
103
  size: "small",
@@ -115,16 +110,102 @@ const CalendarHeader = _ref => {
115
110
  color: nextDisabled ? 'disabled' : 'secondary',
116
111
  testId: (0, _qa.generateTestId)({
117
112
  base: testId,
118
- slot: `next-button-${marker}`
113
+ slot: `next-button${baseSlot}`
119
114
  })
120
115
  })]
121
116
  });
122
117
  };
123
- const DateRangeWrapper = exports.DateRangeWrapper = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
118
+ const CalendarHeader = _ref2 => {
119
+ let {
120
+ t,
121
+ date,
122
+ marker,
123
+ minDate,
124
+ maxDate,
125
+ setMonth,
126
+ rangeStartMonth,
127
+ rangeEndMonth,
128
+ onClickNext,
129
+ nextDisabled,
130
+ prevDisabled,
131
+ onClickPrevious,
132
+ testId
133
+ } = _ref2;
134
+ const availableYears = (0, _utils.generateAvailableYears)({
135
+ marker,
136
+ minDate,
137
+ maxDate,
138
+ rangeStartMonth,
139
+ rangeEndMonth
140
+ });
141
+ const availableMonths = (0, _utils.getAvailableMonths)({
142
+ marker,
143
+ minDate,
144
+ maxDate,
145
+ rangeStartMonth,
146
+ rangeEndMonth,
147
+ t
148
+ });
149
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeaderBase, {
150
+ t: t,
151
+ date: date,
152
+ minDate: minDate,
153
+ maxDate: maxDate,
154
+ availableYears: availableYears,
155
+ availableMonths: availableMonths,
156
+ setMonth: setMonth,
157
+ onClickNext: onClickNext,
158
+ onClickPrevious: onClickPrevious,
159
+ nextDisabled: nextDisabled,
160
+ prevDisabled: prevDisabled,
161
+ testId: testId,
162
+ marker: marker
163
+ });
164
+ };
165
+ const MobileCalendarHeader = _ref3 => {
166
+ let {
167
+ t,
168
+ date,
169
+ minDate,
170
+ maxDate,
171
+ setMonth,
172
+ onClickNext,
173
+ nextDisabled,
174
+ prevDisabled,
175
+ onClickPrevious,
176
+ testId
177
+ } = _ref3;
178
+ const availableYears = (0, _utils.generateAvailableYears)({
179
+ minDate,
180
+ maxDate
181
+ });
182
+ const availableMonths = (0, _dateRangePicker.getAvailableMonthsSingleCalendar)({
183
+ date,
184
+ minDate,
185
+ maxDate,
186
+ t
187
+ });
188
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeaderBase, {
189
+ t: t,
190
+ date: date,
191
+ minDate: minDate,
192
+ maxDate: maxDate,
193
+ availableYears: availableYears,
194
+ availableMonths: availableMonths,
195
+ setMonth: setMonth,
196
+ onClickNext: onClickNext,
197
+ onClickPrevious: onClickPrevious,
198
+ nextDisabled: nextDisabled,
199
+ prevDisabled: prevDisabled,
200
+ testId: testId
201
+ });
202
+ };
203
+ const DateRangeWrapper = exports.DateRangeWrapper = /*#__PURE__*/React.forwardRef((_ref4, ref) => {
124
204
  let {
125
205
  onApply,
126
206
  onCancel,
127
207
  handlers,
208
+ mobileCalendarHandlers,
128
209
  hoverDay,
129
210
  minDate,
130
211
  maxDate,
@@ -133,9 +214,11 @@ const DateRangeWrapper = exports.DateRangeWrapper = /*#__PURE__*/React.forwardRe
133
214
  rangeStartMonth,
134
215
  setTimezone,
135
216
  rangeEndMonth,
217
+ mobileCalendarMonth,
136
218
  inHoverRange,
137
219
  setRangeStartMonth,
138
220
  setRangeEndMonth,
221
+ setRangeMonth,
139
222
  cardWrapperClass,
140
223
  hideTimezone,
141
224
  today,
@@ -144,7 +227,7 @@ const DateRangeWrapper = exports.DateRangeWrapper = /*#__PURE__*/React.forwardRe
144
227
  t,
145
228
  locale,
146
229
  testId
147
- } = _ref2;
230
+ } = _ref4;
148
231
  const canNavigateCloser = _moment.default.utc(rangeStartMonth).year() !== _moment.default.utc(rangeEndMonth).year() || Math.abs(_moment.default.utc(rangeStartMonth).month() - _moment.default.utc(rangeEndMonth).month()) > 1;
149
232
  const handleApplyClick = () => {
150
233
  const {
@@ -164,6 +247,9 @@ const DateRangeWrapper = exports.DateRangeWrapper = /*#__PURE__*/React.forwardRe
164
247
  const {
165
248
  onMonthNavigate
166
249
  } = handlers;
250
+ const {
251
+ onMonthNavigate: onMonthNavigateSingle
252
+ } = mobileCalendarHandlers;
167
253
  const commonProps = {
168
254
  inHoverRange,
169
255
  handlers,
@@ -175,176 +261,371 @@ const DateRangeWrapper = exports.DateRangeWrapper = /*#__PURE__*/React.forwardRe
175
261
  t,
176
262
  testId
177
263
  };
178
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FocusManager.FocusManager, {
179
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.Card, {
180
- classNames: {
181
- wrapper: (0, _classify.default)(_DateRangeWrapperModule.default.dateRangeWrapper, cardWrapperClass)
264
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_FocusManager.FocusManager, {
265
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(MobileDateRangePicker, {
266
+ ref: ref,
267
+ cardWrapperClass: cardWrapperClass,
268
+ t: t,
269
+ dateRange: dateRange,
270
+ locale: locale,
271
+ mobileCalendarMonth: mobileCalendarMonth,
272
+ setRangeMonth: setRangeMonth,
273
+ minDate: minDate,
274
+ maxDate: maxDate,
275
+ onMonthNavigate: onMonthNavigateSingle,
276
+ commonProps: {
277
+ ...commonProps,
278
+ handlers: mobileCalendarHandlers
182
279
  },
280
+ hideTimezone: hideTimezone,
281
+ timezone: timezone,
282
+ setTimezone: setTimezone,
283
+ onCancel: onCancel,
284
+ handleApplyClick: handleApplyClick
285
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateRangePicker, {
183
286
  ref: ref,
287
+ cardWrapperClass: cardWrapperClass,
288
+ startDateLabel: startDateLabel,
289
+ t: t,
290
+ dateRange: dateRange,
291
+ locale: locale,
292
+ endDateLabel: endDateLabel,
293
+ rangeStartMonth: rangeStartMonth,
294
+ rangeEndMonth: rangeEndMonth,
295
+ setRangeStartMonth: setRangeStartMonth,
296
+ canNavigateCloser: canNavigateCloser,
297
+ minDate: minDate,
298
+ maxDate: maxDate,
299
+ onMonthNavigate: onMonthNavigate,
300
+ setRangeEndMonth: setRangeEndMonth,
301
+ commonProps: commonProps,
302
+ hideTimezone: hideTimezone,
303
+ timezone: timezone,
304
+ setTimezone: setTimezone,
305
+ onCancel: onCancel,
306
+ handleApplyClick: handleApplyClick
307
+ })]
308
+ });
309
+ });
310
+ const DateRangeHeader = _ref5 => {
311
+ let {
312
+ testId,
313
+ startDateLabel,
314
+ endDateLabel
315
+ } = _ref5;
316
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardHeader, {
317
+ className: _DateRangeWrapperModule.default.cardHeader,
318
+ "data-testid": (0, _qa.generateTestId)({
319
+ base: testId,
320
+ slot: 'header'
321
+ }),
322
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.BodySmall, {
323
+ className: _DateRangeWrapperModule.default.selectedDate,
324
+ color: _Text.TEXT_COLORS.secondary,
184
325
  testId: (0, _qa.generateTestId)({
185
326
  base: testId,
186
- slot: 'card'
327
+ slot: 'start-date-label'
187
328
  }),
188
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardHeader, {
189
- className: _DateRangeWrapperModule.default.cardHeader,
190
- "data-testid": (0, _qa.generateTestId)({
329
+ children: startDateLabel
330
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
331
+ name: "minus",
332
+ size: _Icon.ICON_SIZE.small,
333
+ type: _Icon.ICON_TYPE.regular,
334
+ color: _Text.TEXT_COLORS.secondary,
335
+ testId: (0, _qa.generateTestId)({
336
+ base: testId,
337
+ slot: 'separator-icon'
338
+ })
339
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.BodySmall, {
340
+ className: _DateRangeWrapperModule.default.selectedDate,
341
+ color: _Text.TEXT_COLORS.secondary,
342
+ testId: (0, _qa.generateTestId)({
343
+ base: testId,
344
+ slot: 'end-date-label'
345
+ }),
346
+ children: endDateLabel
347
+ })]
348
+ });
349
+ };
350
+ const DateRangeFooter = _ref6 => {
351
+ let {
352
+ t,
353
+ testId,
354
+ hideTimezone,
355
+ timezone,
356
+ setTimezone,
357
+ minDate,
358
+ maxDate,
359
+ onCancel,
360
+ handleApplyClick,
361
+ dateRange,
362
+ small
363
+ } = _ref6;
364
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardFooter, {
365
+ className: (0, _classify.default)(_DateRangeWrapperModule.default.cardFooter, {
366
+ [_DateRangeWrapperModule.default.cardFooterSmall]: small
367
+ }),
368
+ "data-testid": (0, _qa.generateTestId)({
369
+ base: testId,
370
+ slot: 'footer'
371
+ }),
372
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.CardTitle, {
373
+ className: _DateRangeWrapperModule.default.timezoneDropdownContainer,
374
+ "data-testid": (0, _qa.generateTestId)({
375
+ base: testId,
376
+ slot: 'timezone-container'
377
+ }),
378
+ children: !hideTimezone && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.Dropdown, {
379
+ menu: {
380
+ selectedKeys: [timezone],
381
+ options: (0, _utils.getTimezones)(t),
382
+ width: _size.size276,
383
+ allowSearch: true,
384
+ virtualization: {
385
+ enable: true
386
+ },
387
+ staticLabels: {
388
+ SEARCH_PLACEHOLDER: `${(0, _dateRangePicker.getTranslation)(t, 'Search')}...`,
389
+ RESULT: (0, _dateRangePicker.getTranslation)(t, 'result'),
390
+ RESULTS: (0, _dateRangePicker.getTranslation)(t, 'results')
391
+ }
392
+ },
393
+ dropdownInputText: (0, _dateRangePicker.getTranslation)(t, _dateRangePicker.TIMEZONES[timezone]),
394
+ disabled: (0, _dateRangePicker.isAfter)(minDate, maxDate),
395
+ classNames: {
396
+ box: _DateRangeWrapperModule.default.timezoneDropdown
397
+ },
398
+ onChange: event => setTimezone(event.key),
399
+ size: "small",
400
+ testId: (0, _qa.generateTestId)({
191
401
  base: testId,
192
- slot: 'header'
193
- }),
194
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.BodySmall, {
195
- className: _DateRangeWrapperModule.default.selectedDate,
196
- color: _Text.TEXT_COLORS.secondary,
197
- testId: (0, _qa.generateTestId)({
198
- base: testId,
199
- slot: 'start-date-label'
200
- }),
201
- children: `${startDateLabel || (0, _dateRangePicker.getTranslation)(t, 'Start Date')}: ${(0, _dateRangePicker.getFormattedDate)(_utils.MARKERS.DATE_RANGE_START, dateRange, locale)}`
202
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
203
- name: "minus",
204
- size: _Icon.ICON_SIZE.small,
205
- type: _Icon.ICON_TYPE.regular,
206
- color: _Text.TEXT_COLORS.secondary,
207
- testId: (0, _qa.generateTestId)({
208
- base: testId,
209
- slot: 'separator-icon'
210
- })
211
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.BodySmall, {
212
- className: _DateRangeWrapperModule.default.selectedDate,
213
- color: _Text.TEXT_COLORS.secondary,
214
- testId: (0, _qa.generateTestId)({
215
- base: testId,
216
- slot: 'end-date-label'
217
- }),
218
- children: `${endDateLabel || (0, _dateRangePicker.getTranslation)(t, 'End Date')}: ${(0, _dateRangePicker.getFormattedDate)(_utils.MARKERS.DATE_RANGE_END, dateRange, locale)}`
219
- })]
220
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
221
- className: _DateRangeWrapperModule.default.calendarMenuContainer,
222
- "data-testid": (0, _qa.generateTestId)({
402
+ slot: 'timezone-dropdown'
403
+ })
404
+ })
405
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardActions, {
406
+ "data-testid": (0, _qa.generateTestId)({
407
+ base: testId,
408
+ slot: 'actions'
409
+ }),
410
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
411
+ type: "ghost",
412
+ onClick: onCancel,
413
+ size: "small",
414
+ testId: (0, _qa.generateTestId)({
223
415
  base: testId,
224
- slot: 'calendar-menu-container'
416
+ slot: 'cancel-button'
225
417
  }),
226
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeader, {
227
- t: t,
228
- marker: _utils.MARKERS.DATE_RANGE_START,
229
- rangeStartMonth: rangeStartMonth,
230
- rangeEndMonth: rangeEndMonth,
231
- date: rangeStartMonth,
232
- setMonth: setRangeStartMonth,
233
- nextDisabled: !canNavigateCloser,
234
- prevDisabled: (0, _dateRangePicker.isSameOrBefore)(rangeStartMonth, minDate, 'month'),
235
- minDate: minDate,
236
- maxDate: maxDate,
237
- onClickNext: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_START, _utils.NAVIGATION_ACTION.NEXT),
238
- onClickPrevious: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_START, _utils.NAVIGATION_ACTION.PREV),
239
- testId: testId
240
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeader, {
241
- t: t,
242
- marker: _utils.MARKERS.DATE_RANGE_END,
243
- rangeStartMonth: rangeStartMonth,
244
- rangeEndMonth: rangeEndMonth,
245
- date: rangeEndMonth,
246
- setMonth: setRangeEndMonth,
247
- nextDisabled: (0, _dateRangePicker.isSameOrAfter)(rangeEndMonth, maxDate, 'month'),
248
- prevDisabled: !canNavigateCloser,
249
- minDate: minDate,
250
- maxDate: maxDate,
251
- onClickNext: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_END, _utils.NAVIGATION_ACTION.NEXT),
252
- onClickPrevious: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_END, _utils.NAVIGATION_ACTION.PREV),
253
- testId: testId
254
- })]
255
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardContent, {
256
- className: _DateRangeWrapperModule.default.dateRangeCalendars,
257
- "data-testid": (0, _qa.generateTestId)({
418
+ children: (0, _dateRangePicker.getTranslation)(t, 'Cancel')
419
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
420
+ onClick: handleApplyClick,
421
+ size: "small",
422
+ disabled: !(dateRange.startDate && dateRange.endDate),
423
+ testId: (0, _qa.generateTestId)({
258
424
  base: testId,
259
- slot: 'calendars'
425
+ slot: 'apply-button'
260
426
  }),
261
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Calendar.Calendar, {
262
- marker: _utils.MARKERS.DATE_RANGE_START,
263
- value: rangeStartMonth,
264
- ...commonProps,
265
- testId: (0, _qa.generateTestId)({
266
- base: testId,
267
- slot: 'start-calendar'
268
- })
269
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
270
- className: _DateRangeWrapperModule.default.divider,
271
- "data-testid": (0, _qa.generateTestId)({
272
- base: testId,
273
- slot: 'divider'
274
- })
275
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Calendar.Calendar, {
276
- marker: _utils.MARKERS.DATE_RANGE_END,
277
- value: rangeEndMonth,
278
- ...commonProps,
279
- testId: (0, _qa.generateTestId)({
280
- base: testId,
281
- slot: 'end-calendar'
282
- })
283
- })]
284
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardFooter, {
285
- className: _DateRangeWrapperModule.default.cardFooter,
427
+ children: (0, _dateRangePicker.getTranslation)(t, 'Apply')
428
+ })]
429
+ })]
430
+ });
431
+ };
432
+ const DateRangePicker = _ref7 => {
433
+ let {
434
+ ref,
435
+ cardWrapperClass,
436
+ startDateLabel,
437
+ t,
438
+ dateRange,
439
+ locale,
440
+ endDateLabel,
441
+ rangeStartMonth,
442
+ rangeEndMonth,
443
+ setRangeStartMonth,
444
+ canNavigateCloser,
445
+ minDate,
446
+ maxDate,
447
+ onMonthNavigate,
448
+ setRangeEndMonth,
449
+ commonProps,
450
+ hideTimezone,
451
+ timezone,
452
+ setTimezone,
453
+ onCancel,
454
+ handleApplyClick
455
+ } = _ref7;
456
+ const {
457
+ testId
458
+ } = commonProps;
459
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.Card, {
460
+ classNames: {
461
+ wrapper: (0, _classify.default)(_DateRangeWrapperModule.default.dateRangeWrapper, _DateRangeWrapperModule.default.dualCalendarWrapper, cardWrapperClass)
462
+ },
463
+ ref: ref,
464
+ testId: (0, _qa.generateTestId)({
465
+ base: testId,
466
+ slot: 'card'
467
+ }),
468
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DateRangeHeader, {
469
+ testId: testId,
470
+ startDateLabel: `${startDateLabel || (0, _dateRangePicker.getTranslation)(t, 'Start Date')}: ${(0, _dateRangePicker.getFormattedDate)(_utils.MARKERS.DATE_RANGE_START, dateRange, locale)}`,
471
+ endDateLabel: `${endDateLabel || (0, _dateRangePicker.getTranslation)(t, 'End Date')}: ${(0, _dateRangePicker.getFormattedDate)(_utils.MARKERS.DATE_RANGE_END, dateRange, locale)}`
472
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
473
+ className: _DateRangeWrapperModule.default.calendarMenuContainer,
474
+ "data-testid": (0, _qa.generateTestId)({
475
+ base: testId,
476
+ slot: 'calendar-menu-container'
477
+ }),
478
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeader, {
479
+ t: t,
480
+ marker: _utils.MARKERS.DATE_RANGE_START,
481
+ rangeStartMonth: rangeStartMonth,
482
+ rangeEndMonth: rangeEndMonth,
483
+ date: rangeStartMonth,
484
+ setMonth: setRangeStartMonth,
485
+ nextDisabled: !canNavigateCloser,
486
+ prevDisabled: (0, _dateRangePicker.isSameOrBefore)(rangeStartMonth, minDate, 'month'),
487
+ minDate: minDate,
488
+ maxDate: maxDate,
489
+ onClickNext: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_START, _utils.NAVIGATION_ACTION.NEXT),
490
+ onClickPrevious: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_START, _utils.NAVIGATION_ACTION.PREV),
491
+ testId: testId
492
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(CalendarHeader, {
493
+ t: t,
494
+ marker: _utils.MARKERS.DATE_RANGE_END,
495
+ rangeStartMonth: rangeStartMonth,
496
+ rangeEndMonth: rangeEndMonth,
497
+ date: rangeEndMonth,
498
+ setMonth: setRangeEndMonth,
499
+ nextDisabled: (0, _dateRangePicker.isSameOrAfter)(rangeEndMonth, maxDate, 'month'),
500
+ prevDisabled: !canNavigateCloser,
501
+ minDate: minDate,
502
+ maxDate: maxDate,
503
+ onClickNext: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_END, _utils.NAVIGATION_ACTION.NEXT),
504
+ onClickPrevious: () => onMonthNavigate(_utils.MARKERS.DATE_RANGE_END, _utils.NAVIGATION_ACTION.PREV),
505
+ testId: testId
506
+ })]
507
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardContent, {
508
+ className: _DateRangeWrapperModule.default.dateRangeCalendars,
509
+ "data-testid": (0, _qa.generateTestId)({
510
+ base: testId,
511
+ slot: 'calendars'
512
+ }),
513
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Calendar.Calendar, {
514
+ marker: _utils.MARKERS.DATE_RANGE_START,
515
+ value: rangeStartMonth,
516
+ ...commonProps,
517
+ testId: (0, _qa.generateTestId)({
518
+ base: testId,
519
+ slot: 'start-calendar'
520
+ })
521
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
522
+ className: _DateRangeWrapperModule.default.divider,
286
523
  "data-testid": (0, _qa.generateTestId)({
287
524
  base: testId,
288
- slot: 'footer'
289
- }),
290
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.CardTitle, {
291
- className: _DateRangeWrapperModule.default.timezoneDropdownContainer,
292
- "data-testid": (0, _qa.generateTestId)({
293
- base: testId,
294
- slot: 'timezone-container'
295
- }),
296
- children: !hideTimezone && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.Dropdown, {
297
- menu: {
298
- selectedKeys: [timezone],
299
- options: (0, _utils.getTimezones)(t),
300
- allowSearch: true,
301
- virtualization: {
302
- enable: true
303
- },
304
- staticLabels: {
305
- SEARCH_PLACEHOLDER: `${(0, _dateRangePicker.getTranslation)(t, 'Search')}...`,
306
- RESULT: (0, _dateRangePicker.getTranslation)(t, 'result'),
307
- RESULTS: (0, _dateRangePicker.getTranslation)(t, 'results')
308
- }
309
- },
310
- dropdownInputText: (0, _dateRangePicker.getTranslation)(t, _dateRangePicker.TIMEZONES[timezone]),
311
- disabled: (0, _dateRangePicker.isAfter)(minDate, maxDate),
312
- classNames: {
313
- box: _DateRangeWrapperModule.default.timezoneDropdown
314
- },
315
- onChange: event => setTimezone(event.key),
316
- size: "small",
317
- testId: (0, _qa.generateTestId)({
318
- base: testId,
319
- slot: 'timezone-dropdown'
320
- })
321
- })
322
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.CardActions, {
323
- "data-testid": (0, _qa.generateTestId)({
324
- base: testId,
325
- slot: 'actions'
326
- }),
327
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
328
- type: "ghost",
329
- onClick: onCancel,
330
- size: "small",
331
- testId: (0, _qa.generateTestId)({
332
- base: testId,
333
- slot: 'cancel-button'
334
- }),
335
- children: (0, _dateRangePicker.getTranslation)(t, 'Cancel')
336
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, {
337
- onClick: handleApplyClick,
338
- size: "small",
339
- disabled: !(dateRange.startDate && dateRange.endDate),
340
- testId: (0, _qa.generateTestId)({
341
- base: testId,
342
- slot: 'apply-button'
343
- }),
344
- children: (0, _dateRangePicker.getTranslation)(t, 'Apply')
345
- })]
346
- })]
525
+ slot: 'divider'
526
+ })
527
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Calendar.Calendar, {
528
+ marker: _utils.MARKERS.DATE_RANGE_END,
529
+ value: rangeEndMonth,
530
+ ...commonProps,
531
+ testId: (0, _qa.generateTestId)({
532
+ base: testId,
533
+ slot: 'end-calendar'
534
+ })
347
535
  })]
348
- })
536
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateRangeFooter, {
537
+ t: t,
538
+ testId: testId,
539
+ hideTimezone: hideTimezone,
540
+ timezone: timezone,
541
+ setTimezone: setTimezone,
542
+ minDate: minDate,
543
+ maxDate: maxDate,
544
+ onCancel: onCancel,
545
+ handleApplyClick: handleApplyClick,
546
+ dateRange: dateRange
547
+ })]
548
+ });
549
+ };
550
+ const MobileDateRangePicker = _ref8 => {
551
+ let {
552
+ ref,
553
+ cardWrapperClass,
554
+ t,
555
+ dateRange,
556
+ locale,
557
+ mobileCalendarMonth,
558
+ setRangeMonth,
559
+ minDate,
560
+ maxDate,
561
+ onMonthNavigate,
562
+ commonProps,
563
+ hideTimezone,
564
+ timezone,
565
+ setTimezone,
566
+ onCancel,
567
+ handleApplyClick
568
+ } = _ref8;
569
+ const {
570
+ testId
571
+ } = commonProps;
572
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Card.Card, {
573
+ classNames: {
574
+ wrapper: (0, _classify.default)(_DateRangeWrapperModule.default.dateRangeWrapperSmall, _DateRangeWrapperModule.default.singleCalendarWrapper, cardWrapperClass)
575
+ },
576
+ ref: ref,
577
+ testId: (0, _qa.generateTestId)({
578
+ base: testId,
579
+ slot: 'card'
580
+ }),
581
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(DateRangeHeader, {
582
+ testId: testId,
583
+ startDateLabel: `${(0, _dateRangePicker.getFormattedDate)(_utils.MARKERS.DATE_RANGE_START, dateRange, locale)}`,
584
+ endDateLabel: `${(0, _dateRangePicker.getFormattedDate)(_utils.MARKERS.DATE_RANGE_END, dateRange, locale)}`
585
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
586
+ className: _DateRangeWrapperModule.default.calendarMenuContainer,
587
+ "data-testid": (0, _qa.generateTestId)({
588
+ base: testId,
589
+ slot: 'calendar-menu-container'
590
+ }),
591
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MobileCalendarHeader, {
592
+ t: t,
593
+ date: mobileCalendarMonth,
594
+ setMonth: setRangeMonth,
595
+ nextDisabled: (0, _dateRangePicker.isSameOrAfter)(mobileCalendarMonth, maxDate, 'month'),
596
+ prevDisabled: (0, _dateRangePicker.isSameOrBefore)(mobileCalendarMonth, minDate, 'month'),
597
+ minDate: minDate,
598
+ maxDate: maxDate,
599
+ onClickNext: () => onMonthNavigate(_utils.NAVIGATION_ACTION.NEXT),
600
+ onClickPrevious: () => onMonthNavigate(_utils.NAVIGATION_ACTION.PREV),
601
+ testId: testId
602
+ })
603
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.CardContent, {
604
+ className: _DateRangeWrapperModule.default.dateRangeCalendars,
605
+ "data-testid": (0, _qa.generateTestId)({
606
+ base: testId,
607
+ slot: 'calendars'
608
+ }),
609
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Calendar.CalendarMobile, {
610
+ value: mobileCalendarMonth,
611
+ ...commonProps,
612
+ testId: (0, _qa.generateTestId)({
613
+ base: testId,
614
+ slot: 'calendar'
615
+ })
616
+ })
617
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(DateRangeFooter, {
618
+ t: t,
619
+ testId: testId,
620
+ hideTimezone: hideTimezone,
621
+ timezone: timezone,
622
+ setTimezone: setTimezone,
623
+ minDate: minDate,
624
+ maxDate: maxDate,
625
+ onCancel: onCancel,
626
+ handleApplyClick: handleApplyClick,
627
+ dateRange: dateRange,
628
+ small: true
629
+ })]
349
630
  });
350
- });
631
+ };