@kaizen/components 1.19.1 → 1.20.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 (44) hide show
  1. package/dist/cjs/{SuccessIcon-03b801a8.js → SuccessIcon-4baf498a.js} +1 -1
  2. package/dist/cjs/{SuccessIcon-03b801a8.js.map → SuccessIcon-4baf498a.js.map} +1 -1
  3. package/dist/cjs/dts/BrandMoment/BrandMoment.d.ts +22 -0
  4. package/dist/cjs/dts/BrandMoment/index.d.ts +1 -0
  5. package/dist/cjs/dts/ErrorPage/ErrorPage.d.ts +16 -0
  6. package/dist/cjs/dts/ErrorPage/hooks/index.d.ts +1 -0
  7. package/dist/cjs/dts/ErrorPage/hooks/useErrorMessages.d.ts +8 -0
  8. package/dist/cjs/dts/ErrorPage/index.d.ts +1 -0
  9. package/dist/cjs/dts/FilterDatePicker/hooks/useDateInputHandlers.d.ts +21 -0
  10. package/dist/cjs/dts/FilterDatePicker/subcomponents/FilterDatePickerField/filterDatePickerFieldReducer.d.ts +18 -2
  11. package/dist/cjs/dts/FilterDatePicker/types.d.ts +0 -21
  12. package/dist/cjs/dts/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/filterDateRangePickerFieldReducer.d.ts +27 -0
  13. package/dist/cjs/dts/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/isValidRange.d.ts +1 -0
  14. package/dist/cjs/dts/SVG/icons/ArrowRightIcon.d.ts +6 -0
  15. package/dist/cjs/dts/SVG/icons/EmailIcon.d.ts +6 -0
  16. package/dist/cjs/dts/index.d.ts +1 -0
  17. package/dist/cjs/future.js +1 -1
  18. package/dist/cjs/index.css +7 -5
  19. package/dist/cjs/index.js +573 -183
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/esm/{SuccessIcon-a202c634.js → SuccessIcon-31efa932.js} +1 -1
  22. package/dist/esm/{SuccessIcon-a202c634.js.map → SuccessIcon-31efa932.js.map} +1 -1
  23. package/dist/esm/dts/BrandMoment/BrandMoment.d.ts +22 -0
  24. package/dist/esm/dts/BrandMoment/index.d.ts +1 -0
  25. package/dist/esm/dts/ErrorPage/ErrorPage.d.ts +16 -0
  26. package/dist/esm/dts/ErrorPage/hooks/index.d.ts +1 -0
  27. package/dist/esm/dts/ErrorPage/hooks/useErrorMessages.d.ts +8 -0
  28. package/dist/esm/dts/ErrorPage/index.d.ts +1 -0
  29. package/dist/esm/dts/FilterDatePicker/hooks/useDateInputHandlers.d.ts +21 -0
  30. package/dist/esm/dts/FilterDatePicker/subcomponents/FilterDatePickerField/filterDatePickerFieldReducer.d.ts +18 -2
  31. package/dist/esm/dts/FilterDatePicker/types.d.ts +0 -21
  32. package/dist/esm/dts/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/filterDateRangePickerFieldReducer.d.ts +27 -0
  33. package/dist/esm/dts/FilterDateRangePicker/subcomponents/FilterDateRangePickerField/utils/isValidRange.d.ts +1 -0
  34. package/dist/esm/dts/SVG/icons/ArrowRightIcon.d.ts +6 -0
  35. package/dist/esm/dts/SVG/icons/EmailIcon.d.ts +6 -0
  36. package/dist/esm/dts/index.d.ts +1 -0
  37. package/dist/esm/future.js +1 -1
  38. package/dist/esm/index.css +8 -6
  39. package/dist/esm/index.js +574 -185
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/index.d.ts +18 -22
  42. package/dist/styles.css +1 -1
  43. package/locales/en.json +86 -3
  44. package/package.json +25 -23
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var SuccessIcon = require('./SuccessIcon-03b801a8.js');
3
+ var SuccessIcon = require('./SuccessIcon-4baf498a.js');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
6
  var draftBadge = require('@kaizen/draft-badge');
@@ -8,6 +8,11 @@ var loadingSpinner = require('@kaizen/loading-spinner');
8
8
  var reactFocusOn = require('react-focus-on');
9
9
  var reactPopper = require('react-popper');
10
10
  var datePicker = require('@kaizen/date-picker');
11
+ var formatDateAsNumeral = require('@kaizen/date-picker/src/utils/formatDateAsNumeral');
12
+ var isDisabledDate = require('@kaizen/date-picker/src/utils/isDisabledDate');
13
+ var isSelectingDayInCalendar = require('@kaizen/date-picker/src/utils/isSelectingDayInCalendar');
14
+ var parseDateFromNumeralFormatValue = require('@kaizen/date-picker/src/utils/parseDateFromNumeralFormatValue');
15
+ var parseDateFromTextFormatValue = require('@kaizen/date-picker/src/utils/parseDateFromTextFormatValue');
11
16
  var draftForm = require('@kaizen/draft-form');
12
17
  var i18nReactIntl = require('@cultureamp/i18n-react-intl');
13
18
  var validateDate$1 = require('@kaizen/date-picker/src/utils/validateDate');
@@ -15,9 +20,7 @@ var draftTooltip = require('@kaizen/draft-tooltip');
15
20
  var getLocale = require('@kaizen/date-picker/src/utils/getLocale');
16
21
  var formatDateAsText = require('@kaizen/date-picker/src/utils/formatDateAsText');
17
22
  var Calendar = require('@kaizen/date-picker/src/_subcomponents/Calendar');
18
- var useDateInputHandlers = require('@kaizen/date-picker/src/hooks/useDateInputHandlers');
19
23
  var isInvalidDate = require('@kaizen/date-picker/src/utils/isInvalidDate');
20
- var parseDateFromTextFormatValue = require('@kaizen/date-picker/src/utils/parseDateFromTextFormatValue');
21
24
  var a11y = require('@kaizen/a11y');
22
25
  var DateInput = require('@kaizen/date-picker/src/_subcomponents/DateInput');
23
26
  var listbox = require('@react-aria/listbox');
@@ -41,8 +44,11 @@ var reactIntl = require('react-intl');
41
44
  var designTokens = require('@kaizen/design-tokens');
42
45
  var draftTag = require('@kaizen/draft-tag');
43
46
  var brand = require('@kaizen/brand');
47
+ var draftIllustration = require('@kaizen/draft-illustration');
48
+ var hostedAssets = require('@kaizen/hosted-assets');
49
+ var responsive = require('@kaizen/responsive');
44
50
 
45
- var styles$G = {"button":"GenericButton-module_button__6UapT","reversed":"GenericButton-module_reversed__sRTZQ","working":"GenericButton-module_working__gROAQ","content":"GenericButton-module_content__h36L5","default":"GenericButton-module_default__yF6Jf","primary":"GenericButton-module_primary__CSbSO","destructive":"GenericButton-module_destructive__Y8pS7","secondary":"GenericButton-module_secondary__nZsK3","small":"GenericButton-module_small__IcZLk","container":"GenericButton-module_container__e4NCq","label":"GenericButton-module_label__-ejZ4","fullWidth":"GenericButton-module_fullWidth__X-uKZ","iconWrapper":"GenericButton-module_iconWrapper__U5NdE","additionalContentWrapper":"GenericButton-module_additionalContentWrapper__N1-lS","loadingSpinner":"GenericButton-module_loadingSpinner__1iVkw","centeredLoadingSpinner":"GenericButton-module_centeredLoadingSpinner__zsCEe","hidden":"GenericButton-module_hidden__Bz0T6"};
51
+ var styles$I = {"button":"GenericButton-module_button__6UapT","reversed":"GenericButton-module_reversed__sRTZQ","working":"GenericButton-module_working__gROAQ","content":"GenericButton-module_content__h36L5","default":"GenericButton-module_default__yF6Jf","primary":"GenericButton-module_primary__CSbSO","destructive":"GenericButton-module_destructive__Y8pS7","secondary":"GenericButton-module_secondary__nZsK3","small":"GenericButton-module_small__IcZLk","container":"GenericButton-module_container__e4NCq","label":"GenericButton-module_label__-ejZ4","fullWidth":"GenericButton-module_fullWidth__X-uKZ","iconWrapper":"GenericButton-module_iconWrapper__U5NdE","additionalContentWrapper":"GenericButton-module_additionalContentWrapper__N1-lS","loadingSpinner":"GenericButton-module_loadingSpinner__1iVkw","centeredLoadingSpinner":"GenericButton-module_centeredLoadingSpinner__zsCEe","hidden":"GenericButton-module_hidden__Bz0T6"};
46
52
 
47
53
  var getCustomProps = function(props) {
48
54
  var keys = Object.keys(props).filter(function(k) {
@@ -72,7 +78,7 @@ var GenericButton = React.forwardRef(function(props, ref) {
72
78
  }
73
79
  return renderButton(props, buttonRef);
74
80
  };
75
- return React.createElement("span", { className: classnames(styles$G.container, props.fullWidth && styles$G.fullWidth), "aria-live": "polite" }, determineButtonRenderer());
81
+ return React.createElement("span", { className: classnames(styles$I.container, props.fullWidth && styles$I.fullWidth), "aria-live": "polite" }, determineButtonRenderer());
76
82
  });
77
83
  GenericButton.defaultProps = {
78
84
  iconPosition: "start",
@@ -124,12 +130,12 @@ var renderLink = function(props, ref) {
124
130
  };
125
131
  var buttonClass = function(props) {
126
132
  var isDefault = !props.primary && !props.destructive && !props.secondary;
127
- return classnames(styles$G.button, isDefault && styles$G["default"], props.primary && styles$G.primary, props.destructive && styles$G.destructive, props.secondary && styles$G.secondary, props.size && styles$G[props.size], props.reversed && styles$G.reversed, props.iconButton && styles$G.iconButton, props.working && styles$G.working, (props.directionalLink || props.paginationLink) && styles$G.circleButton, props.directionalLink && styles$G.directionalLink, props.paginationLink && styles$G.paginationLink, props.isActive && styles$G.isPaginationLinkActive, props.classNameOverride);
133
+ return classnames(styles$I.button, isDefault && styles$I["default"], props.primary && styles$I.primary, props.destructive && styles$I.destructive, props.secondary && styles$I.secondary, props.size && styles$I[props.size], props.reversed && styles$I.reversed, props.iconButton && styles$I.iconButton, props.working && styles$I.working, (props.directionalLink || props.paginationLink) && styles$I.circleButton, props.directionalLink && styles$I.directionalLink, props.paginationLink && styles$I.paginationLink, props.isActive && styles$I.isPaginationLinkActive, props.classNameOverride);
128
134
  };
129
135
  var renderLoadingSpinner = function() {
130
136
  return React.createElement(
131
137
  "div",
132
- { className: styles$G.loadingSpinner },
138
+ { className: styles$I.loadingSpinner },
133
139
  React.createElement(loadingSpinner.LoadingSpinner, { accessibilityLabel: "", size: "sm" })
134
140
  );
135
141
  };
@@ -138,16 +144,16 @@ var renderWorkingContent = function(props) {
138
144
  return React.createElement(
139
145
  React.Fragment,
140
146
  null,
141
- React.createElement("span", { className: styles$G.hidden, "aria-hidden": "true" }, renderDefaultContent(props)),
142
- React.createElement("span", { className: styles$G.centeredLoadingSpinner }, renderLoadingSpinner())
147
+ React.createElement("span", { className: styles$I.hidden, "aria-hidden": "true" }, renderDefaultContent(props)),
148
+ React.createElement("span", { className: styles$I.centeredLoadingSpinner }, renderLoadingSpinner())
143
149
  );
144
150
  }
145
151
  return React.createElement(
146
152
  React.Fragment,
147
153
  null,
148
154
  props.iconPosition !== "end" && renderLoadingSpinner(),
149
- React.createElement("span", { className: styles$G.label }, props.workingLabel),
150
- props.additionalContent && React.createElement("span", { className: styles$G.additionalContentWrapper }, props.additionalContent),
155
+ React.createElement("span", { className: styles$I.label }, props.workingLabel),
156
+ props.additionalContent && React.createElement("span", { className: styles$I.additionalContentWrapper }, props.additionalContent),
151
157
  props.iconPosition === "end" && renderLoadingSpinner()
152
158
  );
153
159
  };
@@ -156,8 +162,8 @@ var renderDefaultContent = function(props) {
156
162
  React.Fragment,
157
163
  null,
158
164
  props.icon && props.iconPosition !== "end" && renderIcon(props.icon),
159
- (!props.icon || !props.iconButton) && React.createElement("span", { className: styles$G.label }, props.label),
160
- props.additionalContent && React.createElement("span", { className: styles$G.additionalContentWrapper }, props.additionalContent),
165
+ (!props.icon || !props.iconButton) && React.createElement("span", { className: styles$I.label }, props.label),
166
+ props.additionalContent && React.createElement("span", { className: styles$I.additionalContentWrapper }, props.additionalContent),
161
167
  renderBadge(props),
162
168
  props.icon && props.iconPosition === "end" && renderIcon(props.icon)
163
169
  );
@@ -172,10 +178,10 @@ var renderBadge = function(props) {
172
178
  return React.createElement(draftBadge.Badge, { variant, reversed }, text);
173
179
  };
174
180
  var renderContent = function(props) {
175
- return React.createElement("span", { className: styles$G.content }, props.working ? renderWorkingContent(props) : renderDefaultContent(props));
181
+ return React.createElement("span", { className: styles$I.content }, props.working ? renderWorkingContent(props) : renderDefaultContent(props));
176
182
  };
177
183
  var renderIcon = function(icon) {
178
- return React.createElement("span", { className: styles$G.iconWrapper }, icon);
184
+ return React.createElement("span", { className: styles$I.iconWrapper }, icon);
179
185
  };
180
186
  var generateAriaLabel = function(props) {
181
187
  if (props.working && props.workingLabelHidden) {
@@ -210,19 +216,19 @@ var ClearIcon = function(props) {
210
216
  );
211
217
  };
212
218
 
213
- var styles$F = {"clearButton":"ClearButton-module_clearButton__CSOIc","default":"ClearButton-module_default__lBJxw","reversed":"ClearButton-module_reversed__0I2DC"};
219
+ var styles$H = {"clearButton":"ClearButton-module_clearButton__CSOIc","default":"ClearButton-module_default__lBJxw","reversed":"ClearButton-module_reversed__0I2DC"};
214
220
 
215
221
  var ClearButton$1 = function(_a) {
216
222
  var classNameOverride = _a.classNameOverride, _b = _a.isReversed, isReversed = _b === void 0 ? false : _b, restProps = SuccessIcon.__rest(_a, ["classNameOverride", "isReversed"]);
217
223
  return React.createElement(
218
224
  "button",
219
- SuccessIcon.__assign({ type: "button", "aria-label": "clear", className: classnames(styles$F.clearButton, isReversed ? styles$F.reversed : styles$F["default"], classNameOverride) }, restProps),
225
+ SuccessIcon.__assign({ type: "button", "aria-label": "clear", className: classnames(styles$H.clearButton, isReversed ? styles$H.reversed : styles$H["default"], classNameOverride) }, restProps),
220
226
  React.createElement(ClearIcon, { role: "presentation" })
221
227
  );
222
228
  };
223
229
  ClearButton$1.displayName = "ClearButton";
224
230
 
225
- var styles$E = {"filterPopover":"FilterPopover-module_filterPopover__OgOEM"};
231
+ var styles$G = {"filterPopover":"FilterPopover-module_filterPopover__OgOEM"};
226
232
 
227
233
  var FilterPopover = function(_a) {
228
234
  var children = _a.children, referenceElement = _a.referenceElement, popperOptions = _a.popperOptions, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "referenceElement", "popperOptions", "classNameOverride"]);
@@ -235,7 +241,7 @@ var FilterPopover = function(_a) {
235
241
  }
236
242
  }
237
243
  ], placement: "bottom-start" }, popperOptions)), popperStyles = _c.styles, popperAttributes = _c.attributes;
238
- return React.createElement("div", SuccessIcon.__assign({ ref: setPopperElement, style: popperStyles === null || popperStyles === void 0 ? void 0 : popperStyles.popper }, popperAttributes === null || popperAttributes === void 0 ? void 0 : popperAttributes.popper, { className: classnames(styles$E.filterPopover, classNameOverride), role: "dialog", "aria-modal": "true" }, restProps), children);
244
+ return React.createElement("div", SuccessIcon.__assign({ ref: setPopperElement, style: popperStyles === null || popperStyles === void 0 ? void 0 : popperStyles.popper }, popperAttributes === null || popperAttributes === void 0 ? void 0 : popperAttributes.popper, { className: classnames(styles$G.filterPopover, classNameOverride), role: "dialog", "aria-modal": "true" }, restProps), children);
239
245
  };
240
246
  FilterPopover.displayName = "FilterPopover";
241
247
 
@@ -280,11 +286,11 @@ var Filter = function(_a) {
280
286
  };
281
287
  Filter.displayName = "Filter";
282
288
 
283
- var styles$D = {"filterContents":"FilterContents-module_filterContents__uNUpd"};
289
+ var styles$F = {"filterContents":"FilterContents-module_filterContents__uNUpd"};
284
290
 
285
291
  var FilterContents = function(_a) {
286
292
  var children = _a.children, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "classNameOverride"]);
287
- return React.createElement("div", SuccessIcon.__assign({ className: classnames(styles$D.filterContents, classNameOverride) }, restProps), children);
293
+ return React.createElement("div", SuccessIcon.__assign({ className: classnames(styles$F.filterContents, classNameOverride) }, restProps), children);
288
294
  };
289
295
  FilterContents.displayName = "FilterContents";
290
296
 
@@ -507,15 +513,65 @@ var transformDateToInputValue = function(date, disabledDays, locale) {
507
513
  return date ? datePicker.formatDateAsText(date, disabledDays, locale) : "";
508
514
  };
509
515
 
510
- var styles$C = {"labelledMessage":"LabelledMessage-module_labelledMessage__8hqzY","labelSeparator":"LabelledMessage-module_labelSeparator__f3zFN"};
516
+ var useDateInputHandlers = function(_a) {
517
+ var locale = _a.locale, disabledDays = _a.disabledDays, setInputValue = _a.setInputValue, onDateChange = _a.onDateChange, onDateSubmit = _a.onDateSubmit, onChange = _a.onChange, onFocus = _a.onFocus, onBlur = _a.onBlur, onKeyDown = _a.onKeyDown;
518
+ var isValidDate = function(date) {
519
+ return !datePicker.isInvalidDate(date) && !isDisabledDate.isDisabledDate(date, disabledDays);
520
+ };
521
+ var handleChange = function(e) {
522
+ setInputValue(e.currentTarget.value);
523
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
524
+ };
525
+ var handleFocus = function(e) {
526
+ var date = parseDateFromTextFormatValue.parseDateFromTextFormatValue(e.currentTarget.value, locale);
527
+ if (!datePicker.isInvalidDate(date)) {
528
+ var newInputValue = formatDateAsNumeral.formatDateAsNumeral(date, locale);
529
+ setInputValue(newInputValue);
530
+ }
531
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);
532
+ };
533
+ var handleBlur = function(e) {
534
+ if (isSelectingDayInCalendar.isSelectingDayInCalendar(e.relatedTarget))
535
+ return;
536
+ if (e.currentTarget.value === "") {
537
+ onDateChange(void 0);
538
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
539
+ return;
540
+ }
541
+ var date = parseDateFromNumeralFormatValue.parseDateFromNumeralFormatValue(e.currentTarget.value, locale);
542
+ if (isValidDate(date)) {
543
+ var newInputValue = datePicker.formatDateAsText(date, disabledDays, locale);
544
+ setInputValue(newInputValue);
545
+ }
546
+ onDateChange(date);
547
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
548
+ };
549
+ var handleKeyDown = function(e) {
550
+ if (e.key === "Enter") {
551
+ e.preventDefault();
552
+ var date = parseDateFromNumeralFormatValue.parseDateFromNumeralFormatValue(e.currentTarget.value, locale);
553
+ onDateChange(date);
554
+ onDateSubmit === null || onDateSubmit === void 0 ? void 0 : onDateSubmit(date);
555
+ }
556
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);
557
+ };
558
+ return {
559
+ onChange: handleChange,
560
+ onFocus: handleFocus,
561
+ onBlur: handleBlur,
562
+ onKeyDown: handleKeyDown
563
+ };
564
+ };
565
+
566
+ var styles$E = {"labelledMessage":"LabelledMessage-module_labelledMessage__8hqzY","labelSeparator":"LabelledMessage-module_labelSeparator__f3zFN"};
511
567
 
512
568
  var LabelledMessage = function(_a) {
513
569
  var label = _a.label, message = _a.message;
514
570
  return React.createElement(
515
571
  "span",
516
- { className: styles$C.labelledMessage },
572
+ { className: styles$E.labelledMessage },
517
573
  React.createElement("span", null, label),
518
- React.createElement("span", { className: styles$C.labelSeparator }, ":"),
574
+ React.createElement("span", { className: styles$E.labelSeparator }, ":"),
519
575
  React.createElement("span", null, message)
520
576
  );
521
577
  };
@@ -526,7 +582,7 @@ var formatDescriptionInputFormat = function(locale) {
526
582
  return (_a = locale.formatLong) === null || _a === void 0 ? void 0 : _a.date({ width: "short" }).toLowerCase();
527
583
  };
528
584
 
529
- var styles$B = {"dateInputDescription":"DateInputDescription-module_dateInputDescription__-ONK8","dateInputFormatContainer":"DateInputDescription-module_dateInputFormatContainer__6hP6K"};
585
+ var styles$D = {"dateInputDescription":"DateInputDescription-module_dateInputDescription__-ONK8","dateInputFormatContainer":"DateInputDescription-module_dateInputFormatContainer__6hP6K"};
530
586
 
531
587
  var DateInputDescription = function(_a) {
532
588
  var description = _a.description, locale = _a.locale;
@@ -540,11 +596,11 @@ var DateInputDescription = function(_a) {
540
596
  if (hasCustomDescription) {
541
597
  return React.createElement(
542
598
  "span",
543
- { className: styles$B.dateInputDescription },
599
+ { className: styles$D.dateInputDescription },
544
600
  React.createElement("span", null, description),
545
601
  React.createElement(
546
602
  "span",
547
- { className: styles$B.dateInputFormatContainer },
603
+ { className: styles$D.dateInputFormatContainer },
548
604
  "(",
549
605
  React.createElement(LabelledMessage, { label: translatedInputFormatMessage, message: formatDescriptionInputFormat(locale) }),
550
606
  ")"
@@ -555,7 +611,7 @@ var DateInputDescription = function(_a) {
555
611
  };
556
612
  DateInputDescription.displayName = "DateInputDescription";
557
613
 
558
- var styles$A = {"disabled":"DateInputField-module_disabled__Lf9TS"};
614
+ var styles$C = {"disabled":"DateInputField-module_disabled__Lf9TS"};
559
615
 
560
616
  var DateInputField = React.forwardRef(function(_a, ref) {
561
617
  var id = _a.id, labelText = _a.labelText, description = _a.description, disabled = _a.disabled, _b = _a.isReversed, isReversed = _b === void 0 ? false : _b, validationMessage = _a.validationMessage, locale = _a.locale, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["id", "labelText", "description", "disabled", "isReversed", "validationMessage", "locale", "classNameOverride"]);
@@ -568,12 +624,12 @@ var DateInputField = React.forwardRef(function(_a, ref) {
568
624
  null,
569
625
  React.createElement(datePicker.DateInput, SuccessIcon.__assign({ ref, id, labelText: labelText || "Date", "aria-describedby": inputDescribedBy, "aria-errormessage": errorMessageId, "aria-invalid": dateIsInvalid, autoComplete: "off", disabled, status: validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.status, classNameOverride }, restProps)),
570
626
  validationMessage && React.createElement(draftForm.FieldMessage, { id: errorMessageId, message: validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.message, status: validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.status, reversed: isReversed }),
571
- React.createElement(draftForm.FieldMessage, { id: descriptionId, message: React.createElement(DateInputDescription, { description, locale }), reversed: isReversed, classNameOverride: disabled ? styles$A.disabled : void 0 })
627
+ React.createElement(draftForm.FieldMessage, { id: descriptionId, message: React.createElement(DateInputDescription, { description, locale }), reversed: isReversed, classNameOverride: disabled ? styles$C.disabled : void 0 })
572
628
  );
573
629
  });
574
630
  DateInputField.displayName = "DateInputField";
575
631
 
576
- var filterDatePickerFieldReducer = function(state, action) {
632
+ var filterDatePickerFieldReducer$1 = function(state, action) {
577
633
  switch (action.type) {
578
634
  case "update_selected_date":
579
635
  return SuccessIcon.__assign(SuccessIcon.__assign({}, state), { selectedDate: action.date, inputValue: action.inputValue === void 0 ? state.inputValue : action.inputValue, startMonth: action.date && !datePicker.isInvalidDate(action.date) ? action.date : /* @__PURE__ */ new Date() });
@@ -584,7 +640,7 @@ var filterDatePickerFieldReducer = function(state, action) {
584
640
  }
585
641
  };
586
642
 
587
- var styles$z = {"filterDatePickerField":"FilterDatePickerField-module_filterDatePickerField__KvWHu"};
643
+ var styles$B = {"filterDatePickerField":"FilterDatePickerField-module_filterDatePickerField__KvWHu"};
588
644
 
589
645
  var FilterDatePickerField = function(_a) {
590
646
  var id = _a.id, inputProps = _a.inputProps, propsLocale = _a.locale, defaultMonth = _a.defaultMonth, selectedDate = _a.selectedDate, onDateChange = _a.onDateChange, onDateSubmit = _a.onDateSubmit, disabledDays = _a.disabledDays, description = _a.description, validationMessage = _a.validationMessage, onValidate = _a.onValidate, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["id", "inputProps", "locale", "defaultMonth", "selectedDate", "onDateChange", "onDateSubmit", "disabledDays", "description", "validationMessage", "onValidate", "classNameOverride"]);
@@ -602,7 +658,7 @@ var FilterDatePickerField = function(_a) {
602
658
  dateValidation.updateValidation(validationResponse);
603
659
  return newDate;
604
660
  };
605
- var _b = React.useReducer(filterDatePickerFieldReducer, {
661
+ var _b = React.useReducer(filterDatePickerFieldReducer$1, {
606
662
  selectedDate,
607
663
  inputValue: transformDateToInputValue(selectedDate, disabledDays, locale) || "",
608
664
  startMonth: selectedDate && !datePicker.isInvalidDate(selectedDate) ? selectedDate : defaultMonth || /* @__PURE__ */ new Date()
@@ -610,7 +666,7 @@ var FilterDatePickerField = function(_a) {
610
666
  var handleDateChange = function(date) {
611
667
  onDateChange(date);
612
668
  };
613
- var inputDateHandlers = datePicker.useDateInputHandlers(SuccessIcon.__assign({ locale, disabledDays, setInputValue: function(value) {
669
+ var inputDateHandlers = useDateInputHandlers(SuccessIcon.__assign({ locale, disabledDays, setInputValue: function(value) {
614
670
  dispatch({
615
671
  type: "update_input_field",
616
672
  inputValue: value
@@ -621,10 +677,11 @@ var FilterDatePickerField = function(_a) {
621
677
  type: "update_selected_date",
622
678
  date: newDate
623
679
  });
624
- if (newDate && !datePicker.isInvalidDate(newDate)) {
625
- onDateSubmit === null || onDateSubmit === void 0 ? void 0 : onDateSubmit(newDate);
626
- }
627
680
  handleDateChange(newDate);
681
+ }, onDateSubmit: function(date) {
682
+ if (!datePicker.isInvalidDate(date)) {
683
+ onDateSubmit === null || onDateSubmit === void 0 ? void 0 : onDateSubmit(date);
684
+ }
628
685
  } }, inputProps));
629
686
  var handleCalendarSelect = function(date) {
630
687
  var inputValue = transformDateToInputValue(date, disabledDays, locale);
@@ -645,7 +702,7 @@ var FilterDatePickerField = function(_a) {
645
702
  }, []);
646
703
  return React.createElement(
647
704
  "div",
648
- SuccessIcon.__assign({ className: classnames(styles$z.filterDatePickerField, classNameOverride) }, restProps),
705
+ SuccessIcon.__assign({ className: classnames(styles$B.filterDatePickerField, classNameOverride) }, restProps),
649
706
  React.createElement(DateInputField, SuccessIcon.__assign({ id: "".concat(id, "--input"), locale, value: state.inputValue, description, validationMessage: dateValidation.validationMessage }, inputDateHandlers, inputProps)),
650
707
  React.createElement(datePicker.CalendarSingle, { disabled: disabledDays, locale, selected: state.selectedDate, onSelect: handleCalendarSelect, month: state.startMonth, onMonthChange: function(value) {
651
708
  return dispatch({ type: "navigate_months", date: value });
@@ -751,15 +808,15 @@ var isRefObject = function(ref) {
751
808
  return ref !== null && "current" in ref;
752
809
  };
753
810
 
754
- var styles$y = {"filterButtonBase":"FilterButtonBase-module_filterButtonBase__505sK"};
811
+ var styles$A = {"filterButtonBase":"FilterButtonBase-module_filterButtonBase__505sK"};
755
812
 
756
813
  var FilterButtonBase = React.forwardRef(function(_a, ref) {
757
814
  var children = _a.children, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "classNameOverride"]);
758
- return React.createElement("button", SuccessIcon.__assign({ ref, type: "button", className: classnames(styles$y.filterButtonBase, classNameOverride) }, restProps), children);
815
+ return React.createElement("button", SuccessIcon.__assign({ ref, type: "button", className: classnames(styles$A.filterButtonBase, classNameOverride) }, restProps), children);
759
816
  });
760
817
  FilterButtonBase.displayName = "FilterButtonBase";
761
818
 
762
- var styles$x = {"filterButton":"FilterButton-module_filterButton__Q2dMX","labelContainer":"FilterButton-module_labelContainer__5G-MD","hasSelectedValues":"FilterButton-module_hasSelectedValues__dyQkL","labelSeparator":"FilterButton-module_labelSeparator__xrkAx"};
819
+ var styles$z = {"filterButton":"FilterButton-module_filterButton__Q2dMX","labelContainer":"FilterButton-module_labelContainer__5G-MD","hasSelectedValues":"FilterButton-module_hasSelectedValues__dyQkL","labelSeparator":"FilterButton-module_labelSeparator__xrkAx"};
763
820
 
764
821
  var FilterButton = React.forwardRef(function(_a, ref) {
765
822
  var label = _a.label, selectedValue = _a.selectedValue, _b = _a.isOpen, isOpen = _b === void 0 ? false : _b, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["label", "selectedValue", "isOpen", "classNameOverride"]);
@@ -768,15 +825,15 @@ var FilterButton = React.forwardRef(function(_a, ref) {
768
825
  var selectedValuesLabel = selectedValue;
769
826
  return React.createElement(
770
827
  FilterButtonBase,
771
- SuccessIcon.__assign({ ref: triggerRef, classNameOverride: classnames(styles$x.filterButton, classNameOverride), "aria-haspopup": "true", "aria-expanded": isOpen }, restProps),
772
- React.createElement("span", { className: styles$x.labelContainer }, selectedValuesLabel ? React.createElement(
828
+ SuccessIcon.__assign({ ref: triggerRef, classNameOverride: classnames(styles$z.filterButton, classNameOverride), "aria-haspopup": "true", "aria-expanded": isOpen }, restProps),
829
+ React.createElement("span", { className: styles$z.labelContainer }, selectedValuesLabel ? React.createElement(
773
830
  React.Fragment,
774
831
  null,
775
832
  React.createElement(
776
833
  "span",
777
- { className: styles$x.hasSelectedValues },
834
+ { className: styles$z.hasSelectedValues },
778
835
  React.createElement("span", null, label),
779
- React.createElement("span", { className: styles$x.labelSeparator }, ":")
836
+ React.createElement("span", { className: styles$z.labelSeparator }, ":")
780
837
  ),
781
838
  React.createElement("span", null, selectedValuesLabel)
782
839
  ) : label),
@@ -785,7 +842,7 @@ var FilterButton = React.forwardRef(function(_a, ref) {
785
842
  });
786
843
  FilterButton.displayName = "FilterButton";
787
844
 
788
- var styles$w = {"buttonGroup":"ButtonGroup-module_buttonGroup__bsy2X","child":"ButtonGroup-module_child__K6AP-","firstChild":"ButtonGroup-module_firstChild__uEn1j","lastChild":"ButtonGroup-module_lastChild__Vicsx"};
845
+ var styles$y = {"buttonGroup":"ButtonGroup-module_buttonGroup__bsy2X","child":"ButtonGroup-module_child__K6AP-","firstChild":"ButtonGroup-module_firstChild__uEn1j","lastChild":"ButtonGroup-module_lastChild__Vicsx"};
789
846
 
790
847
  var isFilterButton = function(node) {
791
848
  return React.isValidElement(node) && node.type === FilterButtonBase;
@@ -793,11 +850,11 @@ var isFilterButton = function(node) {
793
850
  var ButtonGroup = function(_a) {
794
851
  var children = _a.children, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "classNameOverride"]);
795
852
  var childCount = React.Children.count(children);
796
- var containerProps = SuccessIcon.__assign({ role: "group", className: classnames(styles$w.buttonGroup, classNameOverride) }, restProps);
853
+ var containerProps = SuccessIcon.__assign({ role: "group", className: classnames(styles$y.buttonGroup, classNameOverride) }, restProps);
797
854
  if (childCount === 1)
798
855
  return React.createElement("div", SuccessIcon.__assign({}, containerProps), children);
799
856
  return React.createElement("div", SuccessIcon.__assign({}, containerProps), React.Children.map(children, function(child, index) {
800
- var buttonClassNames = classnames(styles$w.child, index === 0 && styles$w.firstChild, index === childCount - 1 && styles$w.lastChild, child.props.classNameOverride);
857
+ var buttonClassNames = classnames(styles$y.child, index === 0 && styles$y.firstChild, index === childCount - 1 && styles$y.lastChild, child.props.classNameOverride);
801
858
  if (child.type === draftTooltip.Tooltip) {
802
859
  var button = child.props.children;
803
860
  if (isFilterButton(button)) {
@@ -865,7 +922,7 @@ var FilterBarDatePicker = function(_a) {
865
922
  };
866
923
  FilterBarDatePicker.displayName = "FilterBar.DatePicker";
867
924
 
868
- var styles$v = {"dateRangeDisplayLabel":"DateRangeDisplayLabel-module_dateRangeDisplayLabel__Gsq1R"};
925
+ var styles$x = {"dateRangeDisplayLabel":"DateRangeDisplayLabel-module_dateRangeDisplayLabel__Gsq1R"};
869
926
 
870
927
  var DateRangeDisplayLabel = function(_a) {
871
928
  var dateRange = _a.dateRange, locale = _a.locale;
@@ -873,7 +930,7 @@ var DateRangeDisplayLabel = function(_a) {
873
930
  var formattedDateTo = formatDateAsText.formatDateAsText(dateRange.to, void 0, locale);
874
931
  return React.createElement(
875
932
  "span",
876
- { className: styles$v.dateRangeDisplayLabel },
933
+ { className: styles$x.dateRangeDisplayLabel },
877
934
  React.createElement("span", null, formattedDateFrom),
878
935
  React.createElement("span", null, "-"),
879
936
  React.createElement("span", null, formattedDateTo)
@@ -881,7 +938,7 @@ var DateRangeDisplayLabel = function(_a) {
881
938
  };
882
939
  DateRangeDisplayLabel.displayName = "DateRangeDisplayLabel";
883
940
 
884
- var styles$u = {"fieldMessageList":"DateRangeValidationMessage-module_fieldMessageList__UluZx"};
941
+ var styles$w = {"fieldMessageList":"DateRangeValidationMessage-module_fieldMessageList__UluZx"};
885
942
 
886
943
  var DateRangeValidationMessage = function(_a) {
887
944
  var validationMessage = _a.validationMessage, dateStartId = _a.dateStartId, dateEndId = _a.dateEndId, isReversed = _a.isReversed;
@@ -893,7 +950,7 @@ var DateRangeValidationMessage = function(_a) {
893
950
  if (dateStart.status === dateEnd.status) {
894
951
  return React.createElement(draftForm.FieldMessage, { message: React.createElement(
895
952
  "ul",
896
- { className: styles$u.fieldMessageList },
953
+ { className: styles$w.fieldMessageList },
897
954
  React.createElement("li", { id: dateStartId }, dateStart.message),
898
955
  React.createElement("li", { id: dateEndId }, dateEnd.message)
899
956
  ), status: dateStart.status || dateEnd.status, reversed: isReversed });
@@ -915,7 +972,7 @@ var DateRangeValidationMessage = function(_a) {
915
972
  };
916
973
  DateRangeValidationMessage.displayName = "DateRangeValidationMessage";
917
974
 
918
- var styles$t = {"dateRangeInputContainer":"DateRangeInputField-module_dateRangeInputContainer__KGDB1","inputStartDate":"DateRangeInputField-module_inputStartDate__3nwlg","inputEndDate":"DateRangeInputField-module_inputEndDate__ZvUwZ","disabled":"DateRangeInputField-module_disabled__iPMZ-"};
975
+ var styles$v = {"dateRangeInputContainer":"DateRangeInputField-module_dateRangeInputContainer__KGDB1","inputStartDate":"DateRangeInputField-module_inputStartDate__3nwlg","inputEndDate":"DateRangeInputField-module_inputEndDate__ZvUwZ","disabled":"DateRangeInputField-module_disabled__iPMZ-"};
919
976
 
920
977
  var DateRangeInputField = React.forwardRef(function(_a, ref) {
921
978
  var _b, _c;
@@ -935,21 +992,42 @@ var DateRangeInputField = React.forwardRef(function(_a, ref) {
935
992
  SuccessIcon.__assign({ className: classNameOverride }, restProps),
936
993
  React.createElement(
937
994
  "fieldset",
938
- { className: styles$t.dateRangeInputContainer },
995
+ { className: styles$v.dateRangeInputContainer },
939
996
  React.createElement(
940
997
  "legend",
941
998
  null,
942
999
  React.createElement(a11y.VisuallyHidden, null, legend)
943
1000
  ),
944
- React.createElement(DateInput.DateInput, SuccessIcon.__assign({ ref: inputStartDateRef, id: "".concat(id, "--from"), "aria-describedby": dateStartInputDescribedBy, "aria-errormessage": dateStartErrorMessageId, "aria-invalid": dateStartIsInvalid, autoComplete: "off", disabled, status: (_b = validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.dateStart) === null || _b === void 0 ? void 0 : _b.status }, inputStartDateProps, { classNameOverride: classnames(styles$t.inputStartDate, inputStartDateProps.classNameOverride) })),
945
- React.createElement(DateInput.DateInput, SuccessIcon.__assign({ ref: inputEndDateRef, id: "".concat(id, "--to"), "aria-describedby": dateEndInputDescribedBy, "aria-errormessage": dateEndErrorMessageId, "aria-invalid": dateEndIsInvalid, autoComplete: "off", disabled, status: (_c = validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.dateEnd) === null || _c === void 0 ? void 0 : _c.status }, inputEndDateProps, { classNameOverride: classnames(styles$t.inputEndDate, inputEndDateProps.classNameOverride) }))
1001
+ React.createElement(DateInput.DateInput, SuccessIcon.__assign({ ref: inputStartDateRef, id: "".concat(id, "--from"), "aria-describedby": dateStartInputDescribedBy, "aria-errormessage": dateStartErrorMessageId, "aria-invalid": dateStartIsInvalid, autoComplete: "off", disabled, status: (_b = validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.dateStart) === null || _b === void 0 ? void 0 : _b.status }, inputStartDateProps, { classNameOverride: classnames(styles$v.inputStartDate, inputStartDateProps.classNameOverride) })),
1002
+ React.createElement(DateInput.DateInput, SuccessIcon.__assign({ ref: inputEndDateRef, id: "".concat(id, "--to"), "aria-describedby": dateEndInputDescribedBy, "aria-errormessage": dateEndErrorMessageId, "aria-invalid": dateEndIsInvalid, autoComplete: "off", disabled, status: (_c = validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.dateEnd) === null || _c === void 0 ? void 0 : _c.status }, inputEndDateProps, { classNameOverride: classnames(styles$v.inputEndDate, inputEndDateProps.classNameOverride) }))
946
1003
  ),
947
1004
  validationMessage && React.createElement(DateRangeValidationMessage, { validationMessage, isReversed, dateStartId: dateStartErrorMessageId, dateEndId: dateEndErrorMessageId }),
948
- React.createElement(draftForm.FieldMessage, { id: descriptionId, message: React.createElement(DateInputDescription, { description, locale }), reversed: isReversed, classNameOverride: disabled ? styles$t.disabled : void 0 })
1005
+ React.createElement(draftForm.FieldMessage, { id: descriptionId, message: React.createElement(DateInputDescription, { description, locale }), reversed: isReversed, classNameOverride: disabled ? styles$v.disabled : void 0 })
949
1006
  );
950
1007
  });
951
1008
  DateRangeInputField.displayName = "DateRangeInputField";
952
1009
 
1010
+ var filterDatePickerFieldReducer = function(state, action) {
1011
+ switch (action.type) {
1012
+ case "update_selected_start_date":
1013
+ return SuccessIcon.__assign(SuccessIcon.__assign({}, state), { selectedStartDate: action.date, inputStartValue: action.inputValue === void 0 ? state.inputStartValue : action.inputValue, startMonth: action.date && !datePicker.isInvalidDate(action.date) ? action.date : /* @__PURE__ */ new Date() });
1014
+ case "update_selected_end_date":
1015
+ return SuccessIcon.__assign(SuccessIcon.__assign({}, state), { selectedEndDate: action.date, inputEndValue: action.inputValue === void 0 ? state.inputEndValue : action.inputValue });
1016
+ case "navigate_months":
1017
+ return SuccessIcon.__assign(SuccessIcon.__assign({}, state), { startMonth: action.date && !datePicker.isInvalidDate(action.date) ? action.date : /* @__PURE__ */ new Date() });
1018
+ case "update_input_start_field":
1019
+ return SuccessIcon.__assign(SuccessIcon.__assign({}, state), { inputStartValue: action.inputValue });
1020
+ case "update_input_end_field":
1021
+ return SuccessIcon.__assign(SuccessIcon.__assign({}, state), { inputEndValue: action.inputValue });
1022
+ }
1023
+ };
1024
+
1025
+ var isValidRange = function(startDate, endDate) {
1026
+ if (startDate && endDate)
1027
+ return startDate <= endDate;
1028
+ return false;
1029
+ };
1030
+
953
1031
  var validateEndDateBeforeStartDate = function(_a) {
954
1032
  var startDate = _a.startDate, startDateFieldLabel = _a.startDateFieldLabel, endDate = _a.endDate, endDateInputValue = _a.endDateInputValue;
955
1033
  var baseResponse = {
@@ -961,13 +1039,13 @@ var validateEndDateBeforeStartDate = function(_a) {
961
1039
  isEmpty: false,
962
1040
  isValidDate: true
963
1041
  };
964
- if (endDate < startDate) {
1042
+ if (!isValidRange(startDate, endDate)) {
965
1043
  return {
966
1044
  validationResponse: SuccessIcon.__assign(SuccessIcon.__assign({}, baseResponse), { validationMessage: {
967
1045
  status: "error",
968
1046
  message: 'Cannot be earlier than the selection in "'.concat(getNodeText(startDateFieldLabel), '"')
969
1047
  } }),
970
- newDate: void 0
1048
+ newDate: endDate
971
1049
  };
972
1050
  }
973
1051
  return {
@@ -1023,7 +1101,7 @@ var useStartDateValidation = function(args) {
1023
1101
  };
1024
1102
  };
1025
1103
 
1026
- var styles$s = {"filterDateRangePickerField":"FilterDateRangePickerField-module_filterDateRangePickerField__1gCr0","dateRangeInputField":"FilterDateRangePickerField-module_dateRangeInputField__XFvb-"};
1104
+ var styles$u = {"filterDateRangePickerField":"FilterDateRangePickerField-module_filterDateRangePickerField__1gCr0","dateRangeInputField":"FilterDateRangePickerField-module_dateRangeInputField__XFvb-"};
1027
1105
 
1028
1106
  var FilterDateRangePickerField = function(_a) {
1029
1107
  var id = _a.id, label = _a.label, propsLocale = _a.locale, defaultMonth = _a.defaultMonth, selectedRange = _a.selectedRange, onRangeChange = _a.onRangeChange, disabledDays = _a.disabledDays, inputStartDateProps = _a.inputStartDateProps, inputEndDateProps = _a.inputEndDateProps, description = _a.description, validationMessage = _a.validationMessage, onValidate = _a.onValidate, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["id", "label", "locale", "defaultMonth", "selectedRange", "onRangeChange", "disabledDays", "inputStartDateProps", "inputEndDateProps", "description", "validationMessage", "onValidate", "classNameOverride"]);
@@ -1044,13 +1122,6 @@ var FilterDateRangePickerField = function(_a) {
1044
1122
  var transformDateToInputValue = function(date) {
1045
1123
  return date ? formatDateAsText.formatDateAsText(date, disabledDays, locale) : "";
1046
1124
  };
1047
- var rangeStart = selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from;
1048
- var rangeEnd = selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to;
1049
- var transformedStartDate = transformDateToInputValue(rangeStart);
1050
- var transformedEndDate = transformDateToInputValue(rangeEnd);
1051
- var _b = React.useState(rangeStart && !isInvalidDate.isInvalidDate(rangeStart) ? rangeStart : defaultMonth || /* @__PURE__ */ new Date()), startMonth = _b[0], setStartMonth = _b[1];
1052
- var _c = React.useState(transformedStartDate), inputStartDateValue = _c[0], setInputStartDateValue = _c[1];
1053
- var _d = React.useState(transformedEndDate), inputEndDateValue = _d[0], setInputEndDateValue = _d[1];
1054
1125
  var handleDateRangeChange = function(dateRange) {
1055
1126
  onRangeChange(dateRange);
1056
1127
  };
@@ -1060,67 +1131,122 @@ var FilterDateRangePickerField = function(_a) {
1060
1131
  validationMessage: validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.dateStart,
1061
1132
  onValidate: onValidate === null || onValidate === void 0 ? void 0 : onValidate.dateStart
1062
1133
  });
1063
- var validateStartDate = function(date) {
1064
- return dateStartValidation.validateDate({
1065
- date,
1066
- inputValue: inputStartDateValue
1067
- });
1068
- };
1069
1134
  var dateEndValidation = useEndDateValidation({
1070
1135
  inputLabel: inputEndDateLabel,
1071
1136
  disabledDays,
1072
1137
  validationMessage: validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.dateEnd,
1073
1138
  onValidate: onValidate === null || onValidate === void 0 ? void 0 : onValidate.dateEnd
1074
1139
  });
1075
- var validateEndDate = function(date) {
1140
+ var validateStartDate = function(date, inputValue) {
1141
+ return dateStartValidation.validateDate({
1142
+ date,
1143
+ inputValue
1144
+ });
1145
+ };
1146
+ var validateEndDate = function(date, inputValue) {
1076
1147
  return dateEndValidation.validateDate({
1077
1148
  endDate: date,
1078
- endDateInputValue: inputEndDateValue,
1149
+ endDateInputValue: inputValue,
1079
1150
  startDate: selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from,
1080
1151
  startDateFieldLabel: inputStartDateLabel
1081
1152
  });
1082
1153
  };
1083
- var inputStartDateHandlers = useDateInputHandlers.useDateInputHandlers(SuccessIcon.__assign({ locale, disabledDays, setInputValue: setInputStartDateValue, onDateChange: function(date) {
1084
- var newDate = validateStartDate(date);
1085
- var endDate = parseDateFromTextFormatValue.parseDateFromTextFormatValue(inputEndDateValue, locale);
1086
- if (newDate && !isInvalidDate.isInvalidDate(endDate)) {
1087
- var newEndDate = dateEndValidation.validateEndDateBeforeStartDate({
1154
+ var _b = React.useReducer(filterDatePickerFieldReducer, {
1155
+ selectedStartDate: selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from,
1156
+ selectedEndDate: selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to,
1157
+ inputStartValue: transformDateToInputValue(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from),
1158
+ inputEndValue: transformDateToInputValue(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to),
1159
+ startMonth: (selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from) && !isInvalidDate.isInvalidDate(selectedRange.from) ? selectedRange.from : defaultMonth || /* @__PURE__ */ new Date()
1160
+ }), state = _b[0], dispatch = _b[1];
1161
+ var inputStartDateHandlers = useDateInputHandlers(SuccessIcon.__assign({ locale, disabledDays, setInputValue: function(value) {
1162
+ dispatch({
1163
+ type: "update_input_start_field",
1164
+ inputValue: value
1165
+ });
1166
+ }, onDateChange: function(date) {
1167
+ var newDate = validateStartDate(date, state.inputStartValue);
1168
+ var endDate = parseDateFromTextFormatValue.parseDateFromTextFormatValue(state.inputEndValue, locale);
1169
+ var isRangeValid = isValidRange(newDate, endDate);
1170
+ dispatch({
1171
+ type: "update_selected_start_date",
1172
+ date: newDate
1173
+ });
1174
+ dispatch({
1175
+ type: "update_selected_end_date",
1176
+ date: isRangeValid ? endDate : void 0
1177
+ });
1178
+ handleDateRangeChange({
1179
+ from: newDate,
1180
+ to: isRangeValid ? endDate : void 0
1181
+ });
1182
+ if (newDate && endDate && !isInvalidDate.isInvalidDate(endDate)) {
1183
+ dateEndValidation.validateEndDateBeforeStartDate({
1088
1184
  startDate: newDate,
1089
1185
  startDateFieldLabel: inputStartDateLabel,
1090
1186
  endDate,
1091
- endDateInputValue: inputEndDateValue
1187
+ endDateInputValue: state.inputEndValue
1092
1188
  });
1093
- handleDateRangeChange({ from: newDate, to: newEndDate });
1094
- } else {
1095
- handleDateRangeChange({ from: newDate, to: rangeEnd });
1096
1189
  }
1097
- if (newDate)
1098
- setStartMonth(newDate);
1099
1190
  } }, inputStartDateProps));
1100
- var inputEndDateHandlers = useDateInputHandlers.useDateInputHandlers(SuccessIcon.__assign({ locale, disabledDays, setInputValue: setInputEndDateValue, onDateChange: function(date) {
1101
- var newDate = validateEndDate(date);
1102
- handleDateRangeChange({ from: rangeStart, to: newDate });
1191
+ var inputEndDateHandlers = useDateInputHandlers(SuccessIcon.__assign({ locale, disabledDays, setInputValue: function(value) {
1192
+ dispatch({
1193
+ type: "update_input_end_field",
1194
+ inputValue: value
1195
+ });
1196
+ }, onDateChange: function(date) {
1197
+ var startDate = state.selectedStartDate;
1198
+ var newEndDate = validateEndDate(date, state.inputEndValue);
1199
+ var isRangeValid = isValidRange(startDate, newEndDate);
1200
+ dispatch({
1201
+ type: "update_selected_end_date",
1202
+ date: isRangeValid ? newEndDate : void 0
1203
+ });
1204
+ handleDateRangeChange({
1205
+ from: startDate,
1206
+ to: isRangeValid ? newEndDate : void 0
1207
+ });
1103
1208
  } }, inputEndDateProps));
1104
1209
  var handleCalendarSelectRange = function(range) {
1105
- var newStartDate = validateStartDate(range === null || range === void 0 ? void 0 : range.from);
1106
- var newEndDate = validateEndDate(range === null || range === void 0 ? void 0 : range.to);
1107
- setInputStartDateValue(transformDateToInputValue(newStartDate));
1108
- setInputEndDateValue(transformDateToInputValue(newEndDate));
1210
+ var inputStartValue = transformDateToInputValue(range === null || range === void 0 ? void 0 : range.from);
1211
+ var inputEndValue = transformDateToInputValue(range === null || range === void 0 ? void 0 : range.to);
1212
+ var newStartDate = validateStartDate(range === null || range === void 0 ? void 0 : range.from, inputStartValue);
1213
+ var newEndDate = validateEndDate(range === null || range === void 0 ? void 0 : range.to, inputEndValue);
1214
+ dispatch({
1215
+ type: "update_selected_start_date",
1216
+ date: newStartDate,
1217
+ inputValue: inputStartValue
1218
+ });
1219
+ dispatch({
1220
+ type: "update_selected_end_date",
1221
+ date: newEndDate,
1222
+ inputValue: inputEndValue
1223
+ });
1109
1224
  handleDateRangeChange({ from: newStartDate, to: newEndDate });
1110
1225
  };
1111
1226
  React.useEffect(function() {
1112
- var newStartDate = validateStartDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from);
1113
- var newEndDate = validateEndDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to);
1227
+ var newStartDate = validateStartDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.from, state.inputStartValue);
1228
+ var newEndDate = validateEndDate(selectedRange === null || selectedRange === void 0 ? void 0 : selectedRange.to, state.inputEndValue);
1229
+ if (newStartDate && !isValidRange(newStartDate, newEndDate)) {
1230
+ dispatch({
1231
+ type: "update_selected_end_date",
1232
+ date: void 0
1233
+ });
1234
+ }
1114
1235
  handleDateRangeChange({ from: newStartDate, to: newEndDate });
1115
1236
  }, []);
1116
1237
  return React.createElement(
1117
1238
  "div",
1118
- SuccessIcon.__assign({ className: classnames(styles$s.filterDateRangePickerField, classNameOverride) }, restProps),
1119
- React.createElement(DateRangeInputField, { id: "".concat(id, "--input"), legend: label, inputStartDateProps: SuccessIcon.__assign(SuccessIcon.__assign({ labelText: inputStartDateLabel, value: inputStartDateValue }, inputStartDateProps), inputStartDateHandlers), inputEndDateProps: SuccessIcon.__assign(SuccessIcon.__assign({ labelText: inputEndDateLabel, value: inputEndDateValue }, inputEndDateProps), inputEndDateHandlers), locale, description, validationMessage: {
1239
+ SuccessIcon.__assign({ className: classnames(styles$u.filterDateRangePickerField, classNameOverride) }, restProps),
1240
+ React.createElement(DateRangeInputField, { id: "".concat(id, "--input"), legend: label, inputStartDateProps: SuccessIcon.__assign(SuccessIcon.__assign({ labelText: inputStartDateLabel, value: state.inputStartValue }, inputStartDateProps), inputStartDateHandlers), inputEndDateProps: SuccessIcon.__assign(SuccessIcon.__assign({ labelText: inputEndDateLabel, value: state.inputEndValue }, inputEndDateProps), inputEndDateHandlers), locale, description, validationMessage: {
1120
1241
  dateStart: dateStartValidation.validationMessage,
1121
1242
  dateEnd: dateEndValidation.validationMessage
1122
- }, classNameOverride: styles$s.dateRangeInputField }),
1123
- React.createElement(Calendar.CalendarRange, { disabled: disabledDays, locale, selected: selectedRange, onSelect: handleCalendarSelectRange, month: startMonth, onMonthChange: setStartMonth })
1243
+ }, classNameOverride: styles$u.dateRangeInputField }),
1244
+ React.createElement(Calendar.CalendarRange, { disabled: disabledDays, locale, selected: {
1245
+ from: state.selectedStartDate,
1246
+ to: state.selectedEndDate
1247
+ }, onSelect: handleCalendarSelectRange, month: state.startMonth, onMonthChange: function(value) {
1248
+ return dispatch({ type: "navigate_months", date: value });
1249
+ } })
1124
1250
  );
1125
1251
  };
1126
1252
  FilterDateRangePickerField.displayName = "FilterDateRangePickerField";
@@ -1134,7 +1260,7 @@ var FilterDateRangePicker = function(_a) {
1134
1260
  return React.createElement(
1135
1261
  Filter,
1136
1262
  { isOpen, setIsOpen, renderTrigger: function(triggerProps) {
1137
- return renderTrigger(SuccessIcon.__assign({ selectedValue: isCompleteDateRange(selectedRange) ? React.createElement(DateRangeDisplayLabel, { dateRange: selectedRange, locale: getLocale.getLocale(locale) }) : void 0, label }, triggerProps));
1263
+ return renderTrigger(SuccessIcon.__assign({ selectedValue: isCompleteDateRange(selectedRange) && isValidRange(selectedRange.from, selectedRange.to) ? React.createElement(DateRangeDisplayLabel, { dateRange: selectedRange, locale: getLocale.getLocale(locale) }) : void 0, label }, triggerProps));
1138
1264
  } },
1139
1265
  React.createElement(
1140
1266
  FilterContents,
@@ -1223,7 +1349,7 @@ var useSelectionContext = function() {
1223
1349
  var SelectionConsumer = SelectionContext.Consumer;
1224
1350
  SelectionProvider.displayName = "SelectionProvider";
1225
1351
 
1226
- var styles$r = {"listBox":"ListBox-module_listBox__UNOzJ","overflown":"ListBox-module_overflown__ATtxj","hidden":"ListBox-module_hidden__tQP6S"};
1352
+ var styles$t = {"listBox":"ListBox-module_listBox__UNOzJ","overflown":"ListBox-module_overflown__ATtxj","hidden":"ListBox-module_hidden__tQP6S"};
1227
1353
 
1228
1354
  var getItemsFromKeys = function(items, keys) {
1229
1355
  var itemKeys = Array.from(keys);
@@ -1272,43 +1398,43 @@ var ListBox$1 = function(_a) {
1272
1398
  React.Fragment,
1273
1399
  null,
1274
1400
  React.createElement("div", null, children(itemsState)),
1275
- React.createElement("ul", { ref: listRef, className: styles$r.hidden })
1401
+ React.createElement("ul", { ref: listRef, className: styles$t.hidden })
1276
1402
  );
1277
1403
  }
1278
- return React.createElement("ul", SuccessIcon.__assign({}, listBoxProps, { ref: listRef, className: classnames(styles$r.listBox, isOverflown && styles$r.overflown) }), children(itemsState));
1404
+ return React.createElement("ul", SuccessIcon.__assign({}, listBoxProps, { ref: listRef, className: classnames(styles$t.listBox, isOverflown && styles$t.overflown) }), children(itemsState));
1279
1405
  };
1280
1406
  ListBox$1.displayName = "FilterMultiSelect.ListBox";
1281
1407
 
1282
- var styles$q = {"listBoxSection":"ListBoxSection-module_listBoxSection__zH8wd"};
1408
+ var styles$s = {"listBoxSection":"ListBoxSection-module_listBoxSection__zH8wd"};
1283
1409
 
1284
1410
  var ListBoxSection$1 = function(_a) {
1285
1411
  var items = _a.items, sectionName = _a.sectionName, children = _a.children;
1286
- return React.createElement("div", { "aria-label": sectionName, className: styles$q.listBoxSection }, Array.from(items).map(function(node) {
1412
+ return React.createElement("div", { "aria-label": sectionName, className: styles$s.listBoxSection }, Array.from(items).map(function(node) {
1287
1413
  return node != void 0 && children(node);
1288
1414
  }));
1289
1415
  };
1290
1416
  ListBoxSection$1.displayName = "FilterMultiSelect.ListBoxSection";
1291
1417
 
1292
- var styles$p = {"container":"LoadMoreButton-module_container__5VoUY"};
1418
+ var styles$r = {"container":"LoadMoreButton-module_container__5VoUY"};
1293
1419
 
1294
1420
  var LoadMoreButton = function(props) {
1295
1421
  return React.createElement(
1296
1422
  "div",
1297
- { className: styles$p.container },
1423
+ { className: styles$r.container },
1298
1424
  React.createElement(button$1.Button, SuccessIcon.__assign({}, props, { fullWidth: true }))
1299
1425
  );
1300
1426
  };
1301
1427
  LoadMoreButton.displayName = "FilterMultiSelect.LoadMoreButton";
1302
1428
 
1303
- var styles$o = {"footer":"MenuFooter-module_footer__EAJQH"};
1429
+ var styles$q = {"footer":"MenuFooter-module_footer__EAJQH"};
1304
1430
 
1305
1431
  var MenuFooter = function(_a) {
1306
1432
  var children = _a.children;
1307
- return React.createElement("div", { className: styles$o.footer }, children);
1433
+ return React.createElement("div", { className: styles$q.footer }, children);
1308
1434
  };
1309
1435
  MenuFooter.displayName = "FilterMultiSelect.MenuFooter";
1310
1436
 
1311
- var styles$n = {"loadingInput":"MenuLoadingSkeleton-module_loadingInput__XjXUs","loadingContainer":"MenuLoadingSkeleton-module_loadingContainer__Re0NU"};
1437
+ var styles$p = {"loadingInput":"MenuLoadingSkeleton-module_loadingInput__XjXUs","loadingContainer":"MenuLoadingSkeleton-module_loadingContainer__Re0NU"};
1312
1438
 
1313
1439
  var MenuLoadingSkeleton = function(_a) {
1314
1440
  var _b = _a.isAnimated, isAnimated = _b === void 0 ? false : _b;
@@ -1317,8 +1443,8 @@ var MenuLoadingSkeleton = function(_a) {
1317
1443
  null,
1318
1444
  React.createElement(
1319
1445
  "div",
1320
- { className: styles$n.loadingContainer },
1321
- React.createElement(loadingSkeleton.LoadingInput, { classNameOverride: styles$n.loadingInput, isAnimated }),
1446
+ { className: styles$p.loadingContainer },
1447
+ React.createElement(loadingSkeleton.LoadingInput, { classNameOverride: styles$p.loadingInput, isAnimated }),
1322
1448
  React.createElement(loadingSkeleton.LoadingParagraph, { isAnimated }),
1323
1449
  React.createElement(loadingSkeleton.LoadingParagraph, { isAnimated }),
1324
1450
  React.createElement(loadingSkeleton.LoadingParagraph, { isAnimated }),
@@ -1344,7 +1470,7 @@ var CheckIcon = function(props) {
1344
1470
  };
1345
1471
  CheckIcon.displayName = "CheckIcon";
1346
1472
 
1347
- var styles$m = {"icon":"MultiSelectOption-module_icon__rmfL-","option":"MultiSelectOption-module_option__1vbfi","badge":"MultiSelectOption-module_badge__VbnQR","isFocused":"MultiSelectOption-module_isFocused__XhwMs","isDisabled":"MultiSelectOption-module_isDisabled__FKH9f","badgeContainer":"MultiSelectOption-module_badgeContainer__6Xw7E","isSelected":"MultiSelectOption-module_isSelected__dXmuK"};
1473
+ var styles$o = {"icon":"MultiSelectOption-module_icon__rmfL-","option":"MultiSelectOption-module_option__1vbfi","badge":"MultiSelectOption-module_badge__VbnQR","isFocused":"MultiSelectOption-module_isFocused__XhwMs","isDisabled":"MultiSelectOption-module_isDisabled__FKH9f","badgeContainer":"MultiSelectOption-module_badgeContainer__6Xw7E","isSelected":"MultiSelectOption-module_isSelected__dXmuK"};
1348
1474
 
1349
1475
  var MultiSelectOption = function(_a) {
1350
1476
  var _b, _c, _d;
@@ -1358,32 +1484,32 @@ var MultiSelectOption = function(_a) {
1358
1484
  }, []);
1359
1485
  return React.createElement(
1360
1486
  "li",
1361
- SuccessIcon.__assign({}, utils.mergeProps(optionProps, focusProps), { ref, className: classnames(styles$m.option, isSelected && styles$m.isSelected, isFocusVisible && styles$m.isFocusVisible, isDisabled && styles$m.isDisabled), "aria-label": (_b = item.value) === null || _b === void 0 ? void 0 : _b.label, "aria-describedby": ((_c = item.value) === null || _c === void 0 ? void 0 : _c.count) ? countElementId : void 0 }),
1362
- React.createElement("span", { className: classnames(styles$m.icon, isSelected && styles$m.isSelected) }, isSelected && React.createElement(CheckIcon, { role: "presentation" })),
1487
+ SuccessIcon.__assign({}, utils.mergeProps(optionProps, focusProps), { ref, className: classnames(styles$o.option, isSelected && styles$o.isSelected, isFocusVisible && styles$o.isFocusVisible, isDisabled && styles$o.isDisabled), "aria-label": (_b = item.value) === null || _b === void 0 ? void 0 : _b.label, "aria-describedby": ((_c = item.value) === null || _c === void 0 ? void 0 : _c.count) ? countElementId : void 0 }),
1488
+ React.createElement("span", { className: classnames(styles$o.icon, isSelected && styles$o.isSelected) }, isSelected && React.createElement(CheckIcon, { role: "presentation" })),
1363
1489
  item.rendered,
1364
1490
  ((_d = item.value) === null || _d === void 0 ? void 0 : _d.count) && React.createElement(
1365
1491
  "span",
1366
- { id: countElementId, className: styles$m.badgeContainer },
1367
- React.createElement(draftBadge.Badge, { classNameOverride: styles$m.badge }, item.value.count),
1492
+ { id: countElementId, className: styles$o.badgeContainer },
1493
+ React.createElement(draftBadge.Badge, { classNameOverride: styles$o.badge }, item.value.count),
1368
1494
  React.createElement(a11y.VisuallyHidden, null, " available")
1369
1495
  )
1370
1496
  );
1371
1497
  };
1372
1498
  MultiSelectOption.displayName = "FilterMultiSelect.Option";
1373
1499
 
1374
- var styles$l = {"container":"NoResults-module_container__itPph"};
1500
+ var styles$n = {"container":"NoResults-module_container__itPph"};
1375
1501
 
1376
1502
  var NoResults = function(_a) {
1377
1503
  var children = _a.children, restProps = SuccessIcon.__rest(_a, ["children"]);
1378
1504
  return React.createElement(
1379
1505
  "div",
1380
- SuccessIcon.__assign({ className: styles$l.container }, restProps),
1506
+ SuccessIcon.__assign({ className: styles$n.container }, restProps),
1381
1507
  React.createElement(typography.Paragraph, { variant: "extra-small", color: "dark-reduced-opacity" }, children)
1382
1508
  );
1383
1509
  };
1384
1510
  NoResults.displayName = "FilterMultiSelect.NoResults";
1385
1511
 
1386
- var styles$k = {"menuPopup":"MenuPopup-module_menuPopup__JlPk3"};
1512
+ var styles$m = {"menuPopup":"MenuPopup-module_menuPopup__JlPk3"};
1387
1513
 
1388
1514
  var MenuPopup = function(_a) {
1389
1515
  var isLoading = _a.isLoading, loadingSkeleton = _a.loadingSkeleton, children = _a.children;
@@ -1397,7 +1523,7 @@ var MenuPopup = function(_a) {
1397
1523
  isOpen: menuTriggerState.isOpen,
1398
1524
  isDismissable: true
1399
1525
  }, overlayRef).overlayProps;
1400
- return menuTriggerState.isOpen ? React.createElement("div", SuccessIcon.__assign({}, overlayProps, { ref: overlayRef, className: styles$k.menuPopup }), isLoading && loadingSkeleton ? React.createElement(
1526
+ return menuTriggerState.isOpen ? React.createElement("div", SuccessIcon.__assign({}, overlayProps, { ref: overlayRef, className: styles$m.menuPopup }), isLoading && loadingSkeleton ? React.createElement(
1401
1527
  React.Fragment,
1402
1528
  null,
1403
1529
  React.createElement(overlays.DismissButton, { onDismiss: onClose }),
@@ -1465,7 +1591,7 @@ var SearchIcon = function(props) {
1465
1591
  };
1466
1592
  SearchIcon.displayName = "SearchIcon";
1467
1593
 
1468
- var styles$j = {"wrapper":"InputSearch-module_wrapper__hs-4L","input":"InputSearch-module_input__dNBbc","hasEndIconAdornment":"InputSearch-module_hasEndIconAdornment__AbK33","focusRing":"InputSearch-module_focusRing__IjP-5","startIconAdornment":"InputSearch-module_startIconAdornment__80-z0","loadingSpinner":"InputSearch-module_loadingSpinner__JrFST","endIconAdornment":"InputSearch-module_endIconAdornment__mgwQC","disabled":"InputSearch-module_disabled__gA9sy","default":"InputSearch-module_default__9VM-U","secondary":"InputSearch-module_secondary__ndOXK","reversed":"InputSearch-module_reversed__v8hfk"};
1594
+ var styles$l = {"wrapper":"InputSearch-module_wrapper__hs-4L","input":"InputSearch-module_input__dNBbc","hasEndIconAdornment":"InputSearch-module_hasEndIconAdornment__AbK33","focusRing":"InputSearch-module_focusRing__IjP-5","startIconAdornment":"InputSearch-module_startIconAdornment__80-z0","loadingSpinner":"InputSearch-module_loadingSpinner__JrFST","endIconAdornment":"InputSearch-module_endIconAdornment__mgwQC","disabled":"InputSearch-module_disabled__gA9sy","default":"InputSearch-module_default__9VM-U","secondary":"InputSearch-module_secondary__ndOXK","reversed":"InputSearch-module_reversed__v8hfk"};
1469
1595
 
1470
1596
  var InputSearch = function(props) {
1471
1597
  var value = props.value, onChange = props.onChange, onClear = props.onClear, classNameOverride = props.classNameOverride, disabled = props.disabled, _a = props.reversed, reversed = _a === void 0 ? false : _a, _b = props.loading, loading = _b === void 0 ? false : _b, _c = props.secondary, secondary = _c === void 0 ? false : _c, restProps = SuccessIcon.__rest(props, ["value", "onChange", "onClear", "classNameOverride", "disabled", "reversed", "loading", "secondary"]);
@@ -1477,16 +1603,16 @@ var InputSearch = function(props) {
1477
1603
  };
1478
1604
  return React.createElement(
1479
1605
  "div",
1480
- { className: classnames(styles$j.wrapper, secondary ? styles$j.secondary : styles$j["default"], reversed && styles$j.reversed, disabled && styles$j.disabled, value && styles$j.hasEndIconAdornment, classNameOverride) },
1481
- React.createElement("div", { className: styles$j.startIconAdornment }, loading ? React.createElement(loadingSpinner.LoadingSpinner, { accessibilityLabel: "", size: "sm", classNameOverride: styles$j.loadingSpinner }) : React.createElement(SearchIcon, { role: "presentation" })),
1482
- React.createElement("input", SuccessIcon.__assign({ ref: inputRef, type: "search", className: styles$j.input, disabled, value, onChange, readOnly: onChange === void 0 }, restProps)),
1483
- React.createElement("div", { className: styles$j.focusRing }),
1484
- value && React.createElement(ClearButton$1, { isReversed: reversed, onClick: handleOnClear, disabled, classNameOverride: styles$j.endIconAdornment, "aria-label": "clear search" })
1606
+ { className: classnames(styles$l.wrapper, secondary ? styles$l.secondary : styles$l["default"], reversed && styles$l.reversed, disabled && styles$l.disabled, value && styles$l.hasEndIconAdornment, classNameOverride) },
1607
+ React.createElement("div", { className: styles$l.startIconAdornment }, loading ? React.createElement(loadingSpinner.LoadingSpinner, { accessibilityLabel: "", size: "sm", classNameOverride: styles$l.loadingSpinner }) : React.createElement(SearchIcon, { role: "presentation" })),
1608
+ React.createElement("input", SuccessIcon.__assign({ ref: inputRef, type: "search", className: styles$l.input, disabled, value, onChange, readOnly: onChange === void 0 }, restProps)),
1609
+ React.createElement("div", { className: styles$l.focusRing }),
1610
+ value && React.createElement(ClearButton$1, { isReversed: reversed, onClick: handleOnClear, disabled, classNameOverride: styles$l.endIconAdornment, "aria-label": "clear search" })
1485
1611
  );
1486
1612
  };
1487
1613
  InputSearch.displayName = "InputSearch";
1488
1614
 
1489
- var styles$i = {"inputSearchContainer":"SearchInput-module_inputSearchContainer__2TCSY"};
1615
+ var styles$k = {"inputSearchContainer":"SearchInput-module_inputSearchContainer__2TCSY"};
1490
1616
 
1491
1617
  var SearchInput = function(_a) {
1492
1618
  var label = _a.label, id = _a.id, isLoading = _a.isLoading;
@@ -1502,20 +1628,20 @@ var SearchInput = function(_a) {
1502
1628
  }, [id]);
1503
1629
  return React.createElement(
1504
1630
  "div",
1505
- { className: styles$i.inputSearchContainer },
1631
+ { className: styles$k.inputSearchContainer },
1506
1632
  React.createElement(InputSearch, { id: inputId, "aria-label": label !== null && label !== void 0 ? label : "Filter options by search query", secondary: true, placeholder: "Search\u2026", value: searchQuery, onChange: handleChange, onClear: handleClear, loading: isLoading })
1507
1633
  );
1508
1634
  };
1509
1635
  SearchInput.displayName = "FilterMultiSelect.SearchInput";
1510
1636
 
1511
- var styles$h = {"divider":"SectionDivider-module_divider__zlsWs"};
1637
+ var styles$j = {"divider":"SectionDivider-module_divider__zlsWs"};
1512
1638
 
1513
1639
  var SectionDivider$1 = function() {
1514
- return React.createElement(draftDivider.Divider, { classNameOverride: styles$h.divider, variant: "canvas" });
1640
+ return React.createElement(draftDivider.Divider, { classNameOverride: styles$j.divider, variant: "canvas" });
1515
1641
  };
1516
1642
  SectionDivider$1.displayName = "FilterMultiSelect.SectionDivider";
1517
1643
 
1518
- var styles$g = {"button":"SelectionControlButton-module_button__F6wec","isDisabled":"SelectionControlButton-module_isDisabled__lYOrG"};
1644
+ var styles$i = {"button":"SelectionControlButton-module_button__F6wec","isDisabled":"SelectionControlButton-module_isDisabled__lYOrG"};
1519
1645
 
1520
1646
  var ClearButton = function() {
1521
1647
  var selectionState = useSelectionContext().selectionState;
@@ -1526,7 +1652,7 @@ var ClearButton = function() {
1526
1652
  }));
1527
1653
  return React.createElement(
1528
1654
  "button",
1529
- { type: "button", className: classnames(styles$g.button, isDisabled && styles$g.isDisabled), "aria-disabled": isDisabled, onClick: function() {
1655
+ { type: "button", className: classnames(styles$i.button, isDisabled && styles$i.isDisabled), "aria-disabled": isDisabled, onClick: function() {
1530
1656
  !isDisabled && selectionState.selectionManager.setSelectedKeys(selectedOptions.filter(function(option) {
1531
1657
  return !filteredOptions.includes(option);
1532
1658
  }));
@@ -1544,7 +1670,7 @@ var SelectAllButton = function() {
1544
1670
  var filteredOptions = Array.from(selectionState.collection.getKeys()).filter(function(key) {
1545
1671
  return !disabledOptions.includes(key);
1546
1672
  });
1547
- return React.createElement("button", { type: "button", className: classnames(styles$g.button, selectionState.selectionManager.isSelectAll && styles$g.isDisabled), "aria-disabled": selectionState.selectionManager.isSelectAll, onClick: function() {
1673
+ return React.createElement("button", { type: "button", className: classnames(styles$i.button, selectionState.selectionManager.isSelectAll && styles$i.isDisabled), "aria-disabled": selectionState.selectionManager.isSelectAll, onClick: function() {
1548
1674
  return !selectionState.selectionManager.isSelectAll && selectionState.selectionManager.setSelectedKeys(SuccessIcon.__spreadArray(SuccessIcon.__spreadArray([], selectedOptions, true), filteredOptions, true));
1549
1675
  } }, "Select all");
1550
1676
  };
@@ -1713,18 +1839,18 @@ var SelectProvider = function(_a) {
1713
1839
  return React.createElement(SelectContext.Provider, { value: { state } }, children);
1714
1840
  };
1715
1841
 
1716
- var styles$f = {"listBox":"ListBox-module_listBox__FQ9sQ","focus":"ListBox-module_focus__Tm-jn"};
1842
+ var styles$h = {"listBox":"ListBox-module_listBox__FQ9sQ","focus":"ListBox-module_focus__Tm-jn"};
1717
1843
 
1718
1844
  var ListBox = function(_a) {
1719
1845
  var children = _a.children, menuProps = _a.menuProps, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "menuProps", "classNameOverride"]);
1720
1846
  var state = useSelectContext().state;
1721
1847
  var ref = React.useRef(null);
1722
1848
  var listBoxProps = listbox.useListBox(SuccessIcon.__assign(SuccessIcon.__assign({}, menuProps), { disallowEmptySelection: true, autoFocus: "first" }), state, ref).listBoxProps;
1723
- return React.createElement("ul", SuccessIcon.__assign({ ref, className: classnames(styles$f.listBox, classNameOverride) }, listBoxProps, restProps), children);
1849
+ return React.createElement("ul", SuccessIcon.__assign({ ref, className: classnames(styles$h.listBox, classNameOverride) }, listBoxProps, restProps), children);
1724
1850
  };
1725
1851
  ListBox.displayName = "ListBox";
1726
1852
 
1727
- var styles$e = {"icon":"Option-module_icon__0ECp6","option":"Option-module_option__U-MsL","isFocusVisible":"Option-module_isFocusVisible__yYC7y","disabled":"Option-module_disabled__RV081","isSelected":"Option-module_isSelected__L3nhB"};
1853
+ var styles$g = {"icon":"Option-module_icon__0ECp6","option":"Option-module_option__U-MsL","isFocusVisible":"Option-module_isFocusVisible__yYC7y","disabled":"Option-module_disabled__RV081","isSelected":"Option-module_isSelected__L3nhB"};
1728
1854
 
1729
1855
  var Option = function(_a) {
1730
1856
  var item = _a.item, classNameOverride = _a.classNameOverride, props = SuccessIcon.__rest(_a, ["item", "classNameOverride"]);
@@ -1734,14 +1860,14 @@ var Option = function(_a) {
1734
1860
  var _c = focus.useFocusRing(), isFocusVisible = _c.isFocusVisible, focusProps = _c.focusProps;
1735
1861
  return React.createElement(
1736
1862
  "li",
1737
- SuccessIcon.__assign({}, utils.mergeProps(optionProps, focusProps, props), { ref, className: classnames(styles$e.option, isSelected && styles$e.isSelected, isFocusVisible && styles$e.isFocusVisible, isDisabled && styles$e.disabled, classNameOverride), "aria-label": item.textValue }),
1863
+ SuccessIcon.__assign({}, utils.mergeProps(optionProps, focusProps, props), { ref, className: classnames(styles$g.option, isSelected && styles$g.isSelected, isFocusVisible && styles$g.isFocusVisible, isDisabled && styles$g.disabled, classNameOverride), "aria-label": item.textValue }),
1738
1864
  item.rendered,
1739
- React.createElement("span", { className: classnames(styles$e.icon, isSelected && styles$e.isSelected) }, isSelected && React.createElement(CheckIcon, { inheritSize: true, role: "presentation" }))
1865
+ React.createElement("span", { className: classnames(styles$g.icon, isSelected && styles$g.isSelected) }, isSelected && React.createElement(CheckIcon, { inheritSize: true, role: "presentation" }))
1740
1866
  );
1741
1867
  };
1742
1868
  Option.displayName = "Option";
1743
1869
 
1744
- var styles$d = {"sectionWrapper":"ListBoxSection-module_sectionWrapper__NYQwa","sectionHeading":"ListBoxSection-module_sectionHeading__KiOi1","sectionList":"ListBoxSection-module_sectionList__xiPZY"};
1870
+ var styles$f = {"sectionWrapper":"ListBoxSection-module_sectionWrapper__NYQwa","sectionHeading":"ListBoxSection-module_sectionHeading__KiOi1","sectionList":"ListBoxSection-module_sectionList__xiPZY"};
1745
1871
 
1746
1872
  var ListBoxSection = function(_a) {
1747
1873
  var section = _a.section;
@@ -1754,9 +1880,9 @@ var ListBoxSection = function(_a) {
1754
1880
  null,
1755
1881
  React.createElement(
1756
1882
  "li",
1757
- SuccessIcon.__assign({}, itemProps, { className: styles$d.sectionWrapper }),
1758
- section.rendered && React.createElement(typography.Heading, SuccessIcon.__assign({ tag: "span", variant: "heading-6" }, headingProps, { classNameOverride: styles$d.sectionHeading }), section.rendered),
1759
- React.createElement("ul", SuccessIcon.__assign({}, groupProps, { className: styles$d.sectionList }), Array.from(section.childNodes).map(function(item) {
1883
+ SuccessIcon.__assign({}, itemProps, { className: styles$f.sectionWrapper }),
1884
+ section.rendered && React.createElement(typography.Heading, SuccessIcon.__assign({ tag: "span", variant: "heading-6" }, headingProps, { classNameOverride: styles$f.sectionHeading }), section.rendered),
1885
+ React.createElement("ul", SuccessIcon.__assign({}, groupProps, { className: styles$f.sectionList }), Array.from(section.childNodes).map(function(item) {
1760
1886
  return React.createElement(Option, { key: item.key, item });
1761
1887
  }))
1762
1888
  )
@@ -1797,10 +1923,10 @@ var Overlay = function(_a) {
1797
1923
  };
1798
1924
  Overlay.displayName = "Overlay";
1799
1925
 
1800
- var styles$c = {"divider":"SectionDivider-module_divider__-idrC"};
1926
+ var styles$e = {"divider":"SectionDivider-module_divider__-idrC"};
1801
1927
 
1802
1928
  var SectionDivider = function() {
1803
- return React.createElement(draftDivider.Divider, { classNameOverride: styles$c.divider, variant: "canvas" });
1929
+ return React.createElement(draftDivider.Divider, { classNameOverride: styles$e.divider, variant: "canvas" });
1804
1930
  };
1805
1931
  SectionDivider.displayName = "SectionDivider";
1806
1932
 
@@ -1814,7 +1940,7 @@ var transformSelectItemToCollectionElement = function(item) {
1814
1940
  }) : React.createElement(collections.Item, { key: item.value }, item.label);
1815
1941
  };
1816
1942
 
1817
- var styles$b = {"filterContents":"FilterSelect-module_filterContents__2LknZ"};
1943
+ var styles$d = {"filterContents":"FilterSelect-module_filterContents__2LknZ"};
1818
1944
 
1819
1945
  var FilterSelect = function(_a) {
1820
1946
  var isOpen = _a.isOpen, setIsOpen = _a.setIsOpen, renderTrigger = _a.renderTrigger, label = _a.label, children = _a.children, items = _a.items, classNameOverride = _a.classNameOverride, selectedKey = _a.selectedKey, restProps = SuccessIcon.__rest(_a, ["isOpen", "setIsOpen", "renderTrigger", "label", "children", "items", "classNameOverride", "selectedKey"]);
@@ -1847,7 +1973,7 @@ var FilterSelect = function(_a) {
1847
1973
  }, onMount: setTriggerRef, classNameOverride },
1848
1974
  React.createElement(
1849
1975
  FilterContents,
1850
- { classNameOverride: styles$b.filterContents },
1976
+ { classNameOverride: styles$d.filterContents },
1851
1977
  React.createElement(
1852
1978
  SelectProvider,
1853
1979
  { state },
@@ -1925,25 +2051,25 @@ var AddFiltersMenu = function() {
1925
2051
  };
1926
2052
  AddFiltersMenu.displayName = "FilterBar.AddFiltersMenu";
1927
2053
 
1928
- var styles$a = {"clearAllButton":"ClearAllButton-module_clearAllButton__luhgk"};
2054
+ var styles$c = {"clearAllButton":"ClearAllButton-module_clearAllButton__luhgk"};
1929
2055
 
1930
2056
  var ClearAllButton = function() {
1931
2057
  var clearAllFilters = useFilterBarContext().clearAllFilters;
1932
- return React.createElement(Button, { label: "Clear all", "aria-label": "Clear all filters", classNameOverride: styles$a.clearAllButton, secondary: true, onClick: clearAllFilters });
2058
+ return React.createElement(Button, { label: "Clear all", "aria-label": "Clear all filters", classNameOverride: styles$c.clearAllButton, secondary: true, onClick: clearAllFilters });
1933
2059
  };
1934
2060
  ClearAllButton.displayName = "FilterBar.ClearAllButton";
1935
2061
 
1936
- var styles$9 = {"filterBar":"FilterBar-module_filterBar__qMeNj","filtersContainer":"FilterBar-module_filtersContainer__AlFGD"};
2062
+ var styles$b = {"filterBar":"FilterBar-module_filterBar__qMeNj","filtersContainer":"FilterBar-module_filtersContainer__AlFGD"};
1937
2063
 
1938
2064
  var FilterBar = function(_a) {
1939
2065
  var filters = _a.filters, classNameOverride = _a.classNameOverride, providerProps = SuccessIcon.__rest(_a, ["filters", "classNameOverride"]);
1940
2066
  return React.createElement(FilterBarProvider, SuccessIcon.__assign({ filters }, providerProps), function(activeFilters) {
1941
2067
  return React.createElement(
1942
2068
  "div",
1943
- { className: classnames(styles$9.filterBar, classNameOverride) },
2069
+ { className: classnames(styles$b.filterBar, classNameOverride) },
1944
2070
  React.createElement(
1945
2071
  "div",
1946
- { className: styles$9.filtersContainer },
2072
+ { className: styles$b.filtersContainer },
1947
2073
  Object.values(activeFilters).map(function(_a2) {
1948
2074
  var id = _a2.id, Component = _a2.Component;
1949
2075
  return (
@@ -2402,15 +2528,15 @@ var KaizenProvider = function(_a) {
2402
2528
  };
2403
2529
  KaizenProvider.displayName = "KaizenProvider";
2404
2530
 
2405
- var styles$8 = {"footerRoot":"FooterRoot-module_footerRoot__bvMSa"};
2531
+ var styles$a = {"footerRoot":"FooterRoot-module_footerRoot__bvMSa"};
2406
2532
 
2407
2533
  var FooterRoot = function(_a) {
2408
2534
  var children = _a.children, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "classNameOverride"]);
2409
- return React.createElement("footer", SuccessIcon.__assign({ className: classnames(styles$8.footerRoot, classNameOverride) }, restProps), children);
2535
+ return React.createElement("footer", SuccessIcon.__assign({ className: classnames(styles$a.footerRoot, classNameOverride) }, restProps), children);
2410
2536
  };
2411
2537
  FooterRoot.displayName = "Workflow.FooterRoot";
2412
2538
 
2413
- var styles$7 = {"stepsContainer":"ProgressStepper-module_stepsContainer__kh4S2","stepList":"ProgressStepper-module_stepList__ToKVO","step":"ProgressStepper-module_step__5Zakx","stepContent":"ProgressStepper-module_stepContent__brp8m","stepIndicator":"ProgressStepper-module_stepIndicator__vAWW6","stepName":"ProgressStepper-module_stepName__21rPP","stepIcon":"ProgressStepper-module_stepIcon__eW-Ps","stepDivider":"ProgressStepper-module_stepDivider__SaO4y","stepperDescription":"ProgressStepper-module_stepperDescription__XT8Ra"};
2539
+ var styles$9 = {"stepsContainer":"ProgressStepper-module_stepsContainer__kh4S2","stepList":"ProgressStepper-module_stepList__ToKVO","step":"ProgressStepper-module_step__5Zakx","stepContent":"ProgressStepper-module_stepContent__brp8m","stepIndicator":"ProgressStepper-module_stepIndicator__vAWW6","stepName":"ProgressStepper-module_stepName__21rPP","stepIcon":"ProgressStepper-module_stepIcon__eW-Ps","stepDivider":"ProgressStepper-module_stepDivider__SaO4y","stepperDescription":"ProgressStepper-module_stepperDescription__XT8Ra"};
2414
2540
 
2415
2541
  var getStepStatus = function(isComplete, isCurrentStep, step, index) {
2416
2542
  if (isComplete) {
@@ -2435,34 +2561,34 @@ var ProgressStepper = function(_a) {
2435
2561
  var currentStepIndex = steps.indexOf(stepName);
2436
2562
  return React.createElement(
2437
2563
  "div",
2438
- { className: styles$7.stepsContainer },
2439
- React.createElement("ol", SuccessIcon.__assign({ className: styles$7.stepList }, restprops, { "aria-labelledby": "stepper-description" }), steps.map(function(step, index) {
2564
+ { className: styles$9.stepsContainer },
2565
+ React.createElement("ol", SuccessIcon.__assign({ className: styles$9.stepList }, restprops, { "aria-labelledby": "stepper-description" }), steps.map(function(step, index) {
2440
2566
  var isCurrentStep = currentStepIndex === index;
2441
2567
  var isCompletedStep = index < currentStepIndex || isComplete;
2442
2568
  var _a2 = getStepStatus(isCompletedStep, isCurrentStep, step, index), accessibleName = _a2.accessibleName, Icon = _a2.icon;
2443
2569
  return React.createElement(
2444
2570
  "li",
2445
- { className: styles$7.step, key: "".concat(index, "-").concat(step), "aria-current": isCurrentStep },
2571
+ { className: styles$9.step, key: "".concat(index, "-").concat(step), "aria-current": isCurrentStep },
2446
2572
  React.createElement(
2447
2573
  "div",
2448
- { className: styles$7.stepContent },
2574
+ { className: styles$9.stepContent },
2449
2575
  React.createElement("span", { className: "sr-only" }, accessibleName),
2450
- React.createElement(typography.Paragraph, { classNameOverride: styles$7.stepName, variant: "small", color: "white", "aria-hidden": true }, step),
2576
+ React.createElement(typography.Paragraph, { classNameOverride: styles$9.stepName, variant: "small", color: "white", "aria-hidden": true }, step),
2451
2577
  React.createElement(
2452
2578
  "div",
2453
- { className: styles$7.stepIndicator },
2454
- React.createElement("span", { className: styles$7.stepIcon }, Icon)
2579
+ { className: styles$9.stepIndicator },
2580
+ React.createElement("span", { className: styles$9.stepIcon }, Icon)
2455
2581
  ),
2456
2582
  index < steps.length - 1 && React.createElement("div", { className: classnames([
2457
- styles$7.stepDivider,
2458
- isCompletedStep && styles$7.completedStep
2583
+ styles$9.stepDivider,
2584
+ isCompletedStep && styles$9.completedStep
2459
2585
  ]) })
2460
2586
  )
2461
2587
  );
2462
2588
  })),
2463
2589
  React.createElement(
2464
2590
  typography.Paragraph,
2465
- { classNameOverride: styles$7.stepperDescription, variant: "small", color: "white", id: "stepper-description" },
2591
+ { classNameOverride: styles$9.stepperDescription, variant: "small", color: "white", id: "stepper-description" },
2466
2592
  "Step ",
2467
2593
  currentStepIndex + 1,
2468
2594
  " of ",
@@ -2472,13 +2598,13 @@ var ProgressStepper = function(_a) {
2472
2598
  };
2473
2599
  ProgressStepper.displayName = "Workflow.ProgressStepper";
2474
2600
 
2475
- var styles$6 = {"footerAction":"FooterActions-module_footerAction__H-bdq","footerActionPrevious":"FooterActions-module_footerActionPrevious__yyzsX","footerActionNext":"FooterActions-module_footerActionNext__GIowc"};
2601
+ var styles$8 = {"footerAction":"FooterActions-module_footerAction__H-bdq","footerActionPrevious":"FooterActions-module_footerActionPrevious__yyzsX","footerActionNext":"FooterActions-module_footerActionNext__GIowc"};
2476
2602
 
2477
2603
  var FooterAction = function(_a) {
2478
2604
  var _b = _a.actionType, actionType = _b === void 0 ? "Previous" : _b, action = _a.action, restProps = SuccessIcon.__rest(_a, ["actionType", "action"]);
2479
2605
  return React.createElement("div", SuccessIcon.__assign({ className: classnames([
2480
- styles$6.footerAction,
2481
- styles$6["footerAction".concat(actionType)]
2606
+ styles$8.footerAction,
2607
+ styles$8["footerAction".concat(actionType)]
2482
2608
  ]) }, restProps), action);
2483
2609
  };
2484
2610
  FooterAction.displayName = "Workflow.FooterActions";
@@ -2495,19 +2621,19 @@ var Footer = function(_a) {
2495
2621
  };
2496
2622
  Footer.displayName = "Workflow.Footer";
2497
2623
 
2498
- var styles$5 = {"titles":"Titles-module_titles__tO9dZ","pageTitle":"Titles-module_pageTitle__7-ui0","prefix":"Titles-module_prefix__vV-WW","status":"Titles-module_status__RvbTg"};
2624
+ var styles$7 = {"titles":"Titles-module_titles__tO9dZ","pageTitle":"Titles-module_pageTitle__7-ui0","prefix":"Titles-module_prefix__vV-WW","status":"Titles-module_status__RvbTg"};
2499
2625
 
2500
2626
  var Titles = function(_a) {
2501
2627
  var workflowName = _a.workflowName, stepName = _a.stepName, status = _a.status, restProps = SuccessIcon.__rest(_a, ["workflowName", "stepName", "status"]);
2502
2628
  return React.createElement(
2503
2629
  "div",
2504
- SuccessIcon.__assign({ className: styles$5.titles }, restProps),
2630
+ SuccessIcon.__assign({ className: styles$7.titles }, restProps),
2505
2631
  React.createElement(
2506
2632
  typography.Heading,
2507
- { variant: "heading-1", tag: "h1", color: "dark", classNameOverride: styles$5.pageTitle },
2633
+ { variant: "heading-1", tag: "h1", color: "dark", classNameOverride: styles$7.pageTitle },
2508
2634
  React.createElement(
2509
2635
  typography.Heading,
2510
- { classNameOverride: styles$5.prefix, variant: "heading-6", tag: "span", color: "dark-reduced-opacity" },
2636
+ { classNameOverride: styles$7.prefix, variant: "heading-6", tag: "span", color: "dark-reduced-opacity" },
2511
2637
  workflowName,
2512
2638
  React.createElement("span", { className: "sr-only" }, ":")
2513
2639
  ),
@@ -2516,40 +2642,40 @@ var Titles = function(_a) {
2516
2642
  status && // status may need to be update by a fetch
2517
2643
  React.createElement(
2518
2644
  "div",
2519
- { className: styles$5.status },
2645
+ { className: styles$7.status },
2520
2646
  React.createElement(draftTag.Tag, { inline: true, variant: (status === null || status === void 0 ? void 0 : status.variant) || "statusDraft" }, status === null || status === void 0 ? void 0 : status.content)
2521
2647
  )
2522
2648
  );
2523
2649
  };
2524
2650
  Titles.displayName = "Workflow.Titles";
2525
2651
 
2526
- var styles$4 = {"actions":"Actions-module_actions__2Zdtd"};
2652
+ var styles$6 = {"actions":"Actions-module_actions__2Zdtd"};
2527
2653
 
2528
2654
  var Actions = function(_a) {
2529
2655
  var headerActions = _a.headerActions, restProps = SuccessIcon.__rest(_a, ["headerActions"]);
2530
- return React.createElement("div", SuccessIcon.__assign({ className: styles$4.actions }, restProps), headerActions === null || headerActions === void 0 ? void 0 : headerActions.map(function(action, index) {
2656
+ return React.createElement("div", SuccessIcon.__assign({ className: styles$6.actions }, restProps), headerActions === null || headerActions === void 0 ? void 0 : headerActions.map(function(action, index) {
2531
2657
  return React.createElement(action.type, SuccessIcon.__assign({ key: "header-actions ".concat(index) }, action.props));
2532
2658
  }));
2533
2659
  };
2534
2660
  Actions.displayName = "Workflow.Actions";
2535
2661
 
2536
- var styles$3 = {"branding":"Branding-module_branding__Oayqr","logo":"Branding-module_logo__rTXU9"};
2662
+ var styles$5 = {"branding":"Branding-module_branding__Oayqr","logo":"Branding-module_logo__rTXU9"};
2537
2663
 
2538
2664
  var Branding = function(_a) {
2539
2665
  var _b = _a.variant, variant = _b === void 0 ? "logo-horizontal" : _b, alt = _a.alt;
2540
2666
  return React.createElement(
2541
2667
  "div",
2542
- { className: styles$3.branding },
2543
- React.createElement(brand.Brand, { classNameOverride: styles$3.logo, variant, alt })
2668
+ { className: styles$5.branding },
2669
+ React.createElement(brand.Brand, { classNameOverride: styles$5.logo, variant, alt })
2544
2670
  );
2545
2671
  };
2546
2672
  Branding.displayName = "Workflow.Branding";
2547
2673
 
2548
- var styles$2 = {"root":"Root-module_root__cfRZi"};
2674
+ var styles$4 = {"root":"Root-module_root__cfRZi"};
2549
2675
 
2550
2676
  var HeaderRoot = function(_a) {
2551
2677
  var children = _a.children, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "classNameOverride"]);
2552
- return React.createElement("header", SuccessIcon.__assign({ className: classnames(styles$2.root, classNameOverride) }, restProps), children);
2678
+ return React.createElement("header", SuccessIcon.__assign({ className: classnames(styles$4.root, classNameOverride) }, restProps), children);
2553
2679
  };
2554
2680
  HeaderRoot.displayName = "Workflow.HeaderRoot";
2555
2681
 
@@ -2565,19 +2691,19 @@ var Header = function(_a) {
2565
2691
  };
2566
2692
  Header.displayName = "Workflow.Header";
2567
2693
 
2568
- var styles$1 = {"main":"Main-module_main__H-zGJ"};
2694
+ var styles$3 = {"main":"Main-module_main__H-zGJ"};
2569
2695
 
2570
2696
  var Main = function(_a) {
2571
2697
  var children = _a.children, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "classNameOverride"]);
2572
- return React.createElement("main", SuccessIcon.__assign({ className: classnames([styles$1.main, classNameOverride]) }, restProps), children);
2698
+ return React.createElement("main", SuccessIcon.__assign({ className: classnames([styles$3.main, classNameOverride]) }, restProps), children);
2573
2699
  };
2574
2700
  Main.displayName = "Workflow.Main";
2575
2701
 
2576
- var styles = {"wrapper":"Wrapper-module_wrapper__EUUEZ"};
2702
+ var styles$2 = {"wrapper":"Wrapper-module_wrapper__EUUEZ"};
2577
2703
 
2578
2704
  var Wrapper = function(_a) {
2579
2705
  var children = _a.children, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["children", "classNameOverride"]);
2580
- return React.createElement("div", SuccessIcon.__assign({ className: classnames(styles.wrapper, classNameOverride) }, restProps), children);
2706
+ return React.createElement("div", SuccessIcon.__assign({ className: classnames(styles$2.wrapper, classNameOverride) }, restProps), children);
2581
2707
  };
2582
2708
  Wrapper.displayName = "Workflow.Wrapper";
2583
2709
 
@@ -2599,8 +2725,272 @@ var Workflow = Object.assign(WorkflowComponent, {
2599
2725
  Wrapper
2600
2726
  });
2601
2727
 
2728
+ var styles$1 = {"body":"BrandMoment-module_body__J4lls","informative":"BrandMoment-module_informative__Qvwcd","positive":"BrandMoment-module_positive__78wqJ","negative":"BrandMoment-module_negative__atXal","container":"BrandMoment-module_container__4ORHI","header":"BrandMoment-module_header__EAP5Q","main":"BrandMoment-module_main__cdWko","mainInner":"BrandMoment-module_mainInner__xsFA6","left":"BrandMoment-module_left__ZHJiM","leftInner":"BrandMoment-module_leftInner__TY5DY","right":"BrandMoment-module_right__B-PR2","rightInner":"BrandMoment-module_rightInner__XvQ5Y","subtitle":"BrandMoment-module_subtitle__z9PL8","title":"BrandMoment-module_title__GrdAR","textBody":"BrandMoment-module_textBody__W6LvQ","secondaryAction":"BrandMoment-module_secondaryAction__d18oJ","actions":"BrandMoment-module_actions__Z3NrK","footer":"BrandMoment-module_footer__vSeX1","footerInner":"BrandMoment-module_footerInner__Wt9Rt","poweredByContainer":"BrandMoment-module_poweredByContainer__OkhVN","footerTextContainer":"BrandMoment-module_footerTextContainer__8iin9","poweredByLogo":"BrandMoment-module_poweredByLogo__w6M7o"};
2729
+
2730
+ var BrandMoment = function(_a) {
2731
+ var mood = _a.mood, illustration = _a.illustration, header = _a.header, body = _a.body, primaryAction = _a.primaryAction, secondaryAction = _a.secondaryAction, text = _a.text, classNameOverride = _a.classNameOverride, restProps = SuccessIcon.__rest(_a, ["mood", "illustration", "header", "body", "primaryAction", "secondaryAction", "text", "classNameOverride"]);
2732
+ var queries = responsive.useMediaQueries().queries;
2733
+ return React.createElement(
2734
+ "div",
2735
+ SuccessIcon.__assign({ className: classnames(styles$1.body, styles$1[mood], classNameOverride) }, restProps),
2736
+ React.createElement("header", { className: styles$1.header }, header),
2737
+ React.createElement(
2738
+ "main",
2739
+ { className: styles$1.main },
2740
+ React.createElement(
2741
+ "div",
2742
+ { className: styles$1.container },
2743
+ React.createElement(
2744
+ "div",
2745
+ { className: styles$1.mainInner },
2746
+ React.createElement(
2747
+ "div",
2748
+ { className: styles$1.left },
2749
+ React.createElement("div", { className: styles$1.leftInner }, illustration)
2750
+ ),
2751
+ React.createElement(
2752
+ "div",
2753
+ { className: styles$1.right },
2754
+ React.createElement(
2755
+ "div",
2756
+ { className: styles$1.rightInner },
2757
+ text.subtitle && React.createElement(typography.Heading, { variant: "heading-3", tag: "h1", classNameOverride: styles$1.subtitle }, text.subtitle),
2758
+ React.createElement(typography.Heading, { variant: "display-0", tag: text.subtitle ? "h2" : "h1", classNameOverride: styles$1.title }, text.title),
2759
+ text.body && React.createElement(typography.Paragraph, { variant: "intro-lede", classNameOverride: styles$1.textBody }, text.body),
2760
+ body && React.createElement("div", { className: styles$1.textBody }, body),
2761
+ React.createElement(
2762
+ "div",
2763
+ { className: styles$1.actions },
2764
+ primaryAction && React.createElement(Button, SuccessIcon.__assign({ primary: true, fullWidth: queries.isSmall }, primaryAction)),
2765
+ secondaryAction && React.createElement(
2766
+ "div",
2767
+ { className: styles$1.secondaryAction },
2768
+ React.createElement(Button, SuccessIcon.__assign({ secondary: true, fullWidth: queries.isSmall }, secondaryAction))
2769
+ )
2770
+ )
2771
+ )
2772
+ )
2773
+ )
2774
+ )
2775
+ ),
2776
+ text.footer && React.createElement(
2777
+ "footer",
2778
+ { className: styles$1.footer },
2779
+ React.createElement(
2780
+ "div",
2781
+ { className: styles$1.container },
2782
+ React.createElement(
2783
+ "div",
2784
+ { className: styles$1.footerInner },
2785
+ React.createElement(
2786
+ "div",
2787
+ { className: styles$1.poweredByContainer },
2788
+ React.createElement(typography.Paragraph, { variant: "extra-small", color: "dark-reduced-opacity" }, "Powered by"),
2789
+ React.createElement(
2790
+ "a",
2791
+ { href: "https://www.cultureamp.com", className: styles$1.poweredByLogo },
2792
+ React.createElement("img", { src: hostedAssets.assetUrl("brand/logo-horizontal-default.svg"), alt: "Culture Amp" })
2793
+ )
2794
+ ),
2795
+ React.createElement(
2796
+ "div",
2797
+ { className: styles$1.footerTextContainer },
2798
+ React.createElement(typography.Paragraph, { variant: "extra-small" }, text.footer)
2799
+ )
2800
+ )
2801
+ )
2802
+ )
2803
+ );
2804
+ };
2805
+ BrandMoment.displayName = "BrandMoment";
2806
+
2807
+ var ArrowRightIcon = function(props) {
2808
+ return React.createElement(
2809
+ SuccessIcon.SVG,
2810
+ SuccessIcon.__assign({}, props),
2811
+ React.createElement("path", { fill: "currentColor", fillRule: "evenodd", d: "m12.5 5-1.179 1.179 2.987 2.987H2.5v1.667h11.808l-2.987 2.988L12.5 15l5-5.001z" })
2812
+ );
2813
+ };
2814
+ ArrowRightIcon.displayName = "ArrowRightIcon";
2815
+
2816
+ var EmailIcon = function(props) {
2817
+ return React.createElement(
2818
+ SuccessIcon.SVG,
2819
+ SuccessIcon.__assign({}, props),
2820
+ React.createElement("path", { fill: "currentColor", fillRule: "nonzero", d: "M16.4 3.5H3.6c-.88 0-1.592.72-1.592 1.6L2 14.7c0 .88.72 1.6 1.6 1.6h12.8c.88 0 1.6-.72 1.6-1.6V5.1c0-.88-.72-1.6-1.6-1.6Zm0 3.2-6.4 4-6.4-4V5.1l6.4 4 6.4-4v1.6Z" })
2821
+ );
2822
+ };
2823
+ EmailIcon.displayName = "EmailIcon";
2824
+
2825
+ var useErrorMessages = function(code) {
2826
+ var formatMessage = i18nReactIntl.useIntl().formatMessage;
2827
+ var translationsMap = {
2828
+ 400: {
2829
+ title: formatMessage({
2830
+ id: "kzErrorPage.400.title",
2831
+ defaultMessage: "Your request has slipped into the void",
2832
+ description: "Heading for page"
2833
+ }),
2834
+ message: formatMessage({
2835
+ id: "kzErrorPage.400.message",
2836
+ defaultMessage: "Sorry but your request couldn\u2019t be completed. Go back and try again, or head to Home",
2837
+ description: "Call to action instructions for the user"
2838
+ })
2839
+ },
2840
+ 401: {
2841
+ title: formatMessage({
2842
+ id: "kzErrorPage.401.title",
2843
+ defaultMessage: "You can't view this page",
2844
+ description: "Main title for page"
2845
+ }),
2846
+ message: formatMessage({
2847
+ id: "kzErrorPage.401.message",
2848
+ defaultMessage: "Sorry but we can't verify if you're able to view this page. Go back and try again, or head to Home",
2849
+ description: "Call to action instructions for the user"
2850
+ })
2851
+ },
2852
+ 403: {
2853
+ title: formatMessage({
2854
+ id: "kzErrorPage.403.title",
2855
+ defaultMessage: "You can't view this page",
2856
+ description: "Main title for page"
2857
+ }),
2858
+ message: formatMessage({
2859
+ id: "kzErrorPage.403.message",
2860
+ defaultMessage: "Sorry but it looks like you don\u2019t have permission to view this page. Go back and try again, or head to Home",
2861
+ description: "Call to action instructions for the user"
2862
+ })
2863
+ },
2864
+ 404: {
2865
+ title: formatMessage({
2866
+ id: "kzErrorPage.404.title",
2867
+ defaultMessage: "Missing pages are one of life's mysteries",
2868
+ description: "Main title of page"
2869
+ }),
2870
+ message: formatMessage({
2871
+ id: "kzErrorPage.404.message",
2872
+ defaultMessage: "Sorry but we can't fing the page you're looking for. Go back and try again, or head to Home",
2873
+ description: "Call to action instructions for the user"
2874
+ })
2875
+ },
2876
+ 422: {
2877
+ title: formatMessage({
2878
+ id: "kzErrorPage.422.title",
2879
+ defaultMessage: "Change never comes easy",
2880
+ description: "Main title of page"
2881
+ }),
2882
+ message: formatMessage({
2883
+ id: "kzErrorPage.422.message",
2884
+ defaultMessage: "Sorry but your change couldn't be made. Go back and try again, or head to Home",
2885
+ description: "Call to action instructions for the user"
2886
+ })
2887
+ },
2888
+ 500: {
2889
+ title: formatMessage({
2890
+ id: "kzErrorPage.500.title",
2891
+ defaultMessage: "Something's gone wrong on our side",
2892
+ description: "Main title of page"
2893
+ }),
2894
+ message: formatMessage({
2895
+ id: "kzErrorPage.500",
2896
+ defaultMessage: "Sorry there's an issue with our system and this page can't be displayed. Go back and try again, or head to Home",
2897
+ description: "Call to action instructions for the user"
2898
+ })
2899
+ },
2900
+ 502: {
2901
+ title: formatMessage({
2902
+ id: "kzErrorPage.502.title",
2903
+ defaultMessage: "You can't view this page",
2904
+ description: "Main title of page"
2905
+ }),
2906
+ message: formatMessage({
2907
+ id: "kzErrorPage.502.message",
2908
+ defaultMessage: "Sorry about this. The best thing to do is go back and try again.",
2909
+ description: "Call to action instructions for the user"
2910
+ })
2911
+ },
2912
+ 503: {
2913
+ title: formatMessage({
2914
+ id: "kzErrorPage.503.title",
2915
+ defaultMessage: "You can't view this page",
2916
+ description: "Main title of page"
2917
+ }),
2918
+ message: formatMessage({
2919
+ id: "kzErrorPage.503.message",
2920
+ defaultMessage: "Sorry about this. The best thing to do is go back and try again.",
2921
+ description: "Call to action instructions for the user"
2922
+ })
2923
+ },
2924
+ 504: {
2925
+ title: formatMessage({
2926
+ id: "kzErrorPage.504.title",
2927
+ defaultMessage: "You can't view this page",
2928
+ description: "Main title of page"
2929
+ }),
2930
+ message: formatMessage({
2931
+ id: "kzErrorPage.504.message",
2932
+ defaultMessage: "Sorry about this. The best thing to do is go back and try again.",
2933
+ description: "Call to action instructions for the user"
2934
+ })
2935
+ }
2936
+ };
2937
+ return translationsMap[code] || {
2938
+ title: "",
2939
+ message: ""
2940
+ };
2941
+ };
2942
+
2943
+ var styles = {"paragraphPadding":"ErrorPage-module_paragraphPadding__-L-qy"};
2944
+
2945
+ var getMailToHref = function(code) {
2946
+ var supportEmail = "support@cultureamp.com";
2947
+ var subject = "Houston we have a problem";
2948
+ var body = "Hi there,\n\nI received a ".concat(code, " error page while I was trying to...");
2949
+ return encodeURI("mailto:".concat(supportEmail, "?subject=").concat(subject, "&amp;body=").concat(body));
2950
+ };
2951
+ var HOME_HREF = "/app/home";
2952
+ function ErrorPage(_a) {
2953
+ var code = _a.code, title = _a.title, message = _a.message, callToAction = _a.callToAction, classNameOverride = _a.classNameOverride;
2954
+ var formatMessage = i18nReactIntl.useIntl().formatMessage;
2955
+ var content = useErrorMessages(code);
2956
+ var actions = {
2957
+ primary: { href: (callToAction === null || callToAction === void 0 ? void 0 : callToAction.homeHref) || HOME_HREF },
2958
+ secondary: (callToAction === null || callToAction === void 0 ? void 0 : callToAction.onContactSupport) ? { onClick: callToAction.onContactSupport } : { href: getMailToHref(code) }
2959
+ };
2960
+ return React.createElement(
2961
+ "div",
2962
+ { className: classnames(classNameOverride) },
2963
+ React.createElement(BrandMoment, { header: React.createElement(React.Fragment, null), body: React.createElement(
2964
+ React.Fragment,
2965
+ null,
2966
+ React.createElement(
2967
+ "div",
2968
+ { className: styles.paragraphPadding },
2969
+ React.createElement(typography.Paragraph, { variant: "intro-lede" }, message || content.message)
2970
+ ),
2971
+ React.createElement(
2972
+ typography.Paragraph,
2973
+ { color: "dark-reduced-opacity", variant: "small" },
2974
+ React.createElement(i18nReactIntl.FormattedMessage, { id: "kzErrorPage.errorCode", defaultMessage: "Error code {code}", values: { code } })
2975
+ )
2976
+ ), illustration: React.createElement(draftIllustration.BrandMomentError, { isAnimated: true, loop: true }), mood: "negative", primaryAction: SuccessIcon.__assign(SuccessIcon.__assign({}, actions.primary), { icon: React.createElement(ArrowRightIcon, { role: "presentation" }), iconPosition: "end", label: formatMessage({
2977
+ id: "kzErrorPage.goToHome",
2978
+ defaultMessage: "Go to Home",
2979
+ description: "Home button label"
2980
+ }) }), secondaryAction: SuccessIcon.__assign(SuccessIcon.__assign({}, actions.secondary), { icon: React.createElement(EmailIcon, { role: "presentation" }), label: formatMessage({
2981
+ id: "kzErrorPage",
2982
+ defaultMessage: "Contact support",
2983
+ description: "Label for contact button"
2984
+ }) }), text: {
2985
+ title: title || content.title
2986
+ } })
2987
+ );
2988
+ }
2989
+ ErrorPage.displayName = "ErrorPage";
2990
+
2602
2991
  exports.Button = Button;
2603
2992
  exports.ClearButton = ClearButton$1;
2993
+ exports.ErrorPage = ErrorPage;
2604
2994
  exports.Filter = Filter;
2605
2995
  exports.FilterBar = FilterBar;
2606
2996
  exports.FilterBarProvider = FilterBarProvider;