@jobber/components 4.20.0 → 4.20.1-JOB-70335.35

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 (34) hide show
  1. package/AnimatedSwitcher.d.ts +1 -0
  2. package/AnimatedSwitcher.js +17 -0
  3. package/dist/AnimatedSwitcher/AnimatedSwitcher.d.ts +31 -0
  4. package/dist/AnimatedSwitcher/index.d.ts +1 -0
  5. package/dist/AnimatedSwitcher/index.js +99 -0
  6. package/dist/AnimatedSwitcher/transitions.d.ts +8 -0
  7. package/dist/Autocomplete/index.js +2 -2
  8. package/dist/Chips/index.js +7 -4
  9. package/dist/DataTable/index.js +2 -2
  10. package/dist/DatePicker/index.js +2 -2
  11. package/dist/{DatePicker-98f03314.js → DatePicker-38b0c40b.js} +3 -2
  12. package/dist/FormField/index.js +1 -1
  13. package/dist/{FormField-c2bc7144.js → FormField-c7047a5f.js} +2 -2
  14. package/dist/FormatFile/index.js +3 -2
  15. package/dist/{FormatFile-cc6b058c.js → FormatFile-196a73cd.js} +1 -1
  16. package/dist/Gallery/index.js +3 -2
  17. package/dist/Glimmer/Glimmer.d.ts +43 -1
  18. package/dist/Glimmer/index.js +3 -1
  19. package/dist/Glimmer-a14ad7fd.js +77 -0
  20. package/dist/InputDate/index.js +5 -4
  21. package/dist/InputEmail/index.js +1 -1
  22. package/dist/InputNumber/index.js +15 -2
  23. package/dist/InputPassword/index.js +1 -1
  24. package/dist/InputPhoneNumber/index.js +1 -1
  25. package/dist/InputText/InputText.d.ts +6 -6
  26. package/dist/InputText/index.js +2 -2
  27. package/dist/{InputText-a8a571c1.js → InputText-192749f1.js} +6 -1
  28. package/dist/InputTime/index.js +1 -1
  29. package/dist/List/index.js +5 -2
  30. package/dist/{Option-2ce89a73.js → Option-de240090.js} +1 -1
  31. package/dist/Select/index.js +2 -2
  32. package/package.json +5 -5
  33. package/rollup.config.js +4 -1
  34. package/dist/Glimmer-f670c24e.js +0 -42
@@ -0,0 +1 @@
1
+ export * from "./dist/AnimatedSwitcher";
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+
7
+ var AnimatedSwitcher = require("./dist/AnimatedSwitcher");
8
+
9
+ Object.keys(AnimatedSwitcher).forEach(function(key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ Object.defineProperty(exports, key, {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return AnimatedSwitcher[key];
15
+ },
16
+ });
17
+ });
@@ -0,0 +1,31 @@
1
+ import { ReactElement } from "react";
2
+ import { IconNames } from "@jobber/design";
3
+ export interface AnimatedSwitcherProps {
4
+ /**
5
+ * Determines when to switch the component to the `switchTo` prop.
6
+ *
7
+ * @default false
8
+ */
9
+ readonly switched: boolean;
10
+ /**
11
+ * The component that shows up when the `switched` prop is `false`
12
+ */
13
+ readonly initialChild: ReactElement;
14
+ /**
15
+ * The component that shows up when the `switched` prop is `true`
16
+ */
17
+ readonly switchTo: ReactElement;
18
+ /**
19
+ * Change the transition between 2 elements.
20
+ */
21
+ readonly type?: "slideFromBottom" | "fade";
22
+ }
23
+ export declare function AnimatedSwitcher({ initialChild, switched, switchTo, type, }: AnimatedSwitcherProps): JSX.Element;
24
+ export declare namespace AnimatedSwitcher {
25
+ var Icon: ({ switchToIcon, switched, initialIcon, }: AnimatedSwitcherIconProps) => JSX.Element;
26
+ }
27
+ interface AnimatedSwitcherIconProps extends Pick<AnimatedSwitcherProps, "switched"> {
28
+ readonly initialIcon: IconNames;
29
+ readonly switchToIcon: IconNames;
30
+ }
31
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./AnimatedSwitcher";
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var framerMotion = require('framer-motion');
7
+ var Icon = require('../Icon-405a216c.js');
8
+ require('@jobber/design');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+
14
+ const DURATION_SIMPLE = 0.1;
15
+ const DURATION_AVERAGE = 0.2;
16
+ const FADE = {
17
+ visible: { opacity: 1 },
18
+ hidden: { opacity: 0 },
19
+ };
20
+ const SLIDE_IN_UP = {
21
+ visible: { y: 0, opacity: 1 },
22
+ hidden: { y: "10%", opacity: 0 },
23
+ };
24
+ const SLIDE_IN_DOWN = {
25
+ visible: { y: 0, opacity: 1 },
26
+ hidden: { y: "-10%", opacity: 0 },
27
+ };
28
+ const SPIN_COUNTER_CLOCK_WISE = {
29
+ visible: {
30
+ rotate: 0,
31
+ scale: 1,
32
+ transition: { duration: DURATION_AVERAGE, ease: "easeOut" },
33
+ },
34
+ hidden: {
35
+ rotate: 180,
36
+ scale: 0.6,
37
+ transition: { duration: DURATION_AVERAGE, ease: "easeIn" },
38
+ },
39
+ };
40
+ const SPIN_CLOCK_WISE = {
41
+ visible: {
42
+ rotate: 0,
43
+ scale: 1,
44
+ transition: { duration: DURATION_AVERAGE, ease: "easeOut" },
45
+ },
46
+ hidden: {
47
+ rotate: -180,
48
+ scale: 0.6,
49
+ transition: { duration: DURATION_AVERAGE, ease: "easeIn" },
50
+ },
51
+ };
52
+
53
+ function AnimatedSwitcher({ initialChild, switched, switchTo, type = "slideFromBottom", }) {
54
+ const [ref, setRef] = React.useState(null);
55
+ const isSwitchingBetweenIcons = initialChild.type === Icon.Icon && switchTo.type === Icon.Icon;
56
+ const { key, transition, child, duration } = getChildData();
57
+ return (React__default["default"].createElement(framerMotion.AnimatePresence, { exitBeforeEnter: true, initial: false },
58
+ React__default["default"].createElement(framerMotion.motion.div, { ref: setRef, key: key, variants: transition, initial: "hidden", animate: "visible", exit: "hidden", transition: { duration }, style: { display: getDisplayValue() } }, child)));
59
+ function getDisplayValue() {
60
+ if (ref === null || ref === void 0 ? void 0 : ref.firstElementChild) {
61
+ return window.getComputedStyle(ref.firstElementChild).display;
62
+ }
63
+ }
64
+ function getChildData() {
65
+ let data = { key: `${initialChild.type}_1`, child: initialChild };
66
+ if (switched) {
67
+ data = { key: `${switchTo.type}_2`, child: switchTo };
68
+ }
69
+ return Object.assign(Object.assign({}, data), { transition: getTransitionType(), duration: getTransitionDuration() });
70
+ }
71
+ function getTransitionType() {
72
+ if (isSwitchingBetweenIcons) {
73
+ if (switched)
74
+ return SPIN_COUNTER_CLOCK_WISE;
75
+ return SPIN_CLOCK_WISE;
76
+ }
77
+ else if (type === "fade") {
78
+ return FADE;
79
+ }
80
+ else {
81
+ if (switched)
82
+ return SLIDE_IN_UP;
83
+ return SLIDE_IN_DOWN;
84
+ }
85
+ }
86
+ function getTransitionDuration() {
87
+ switch (type) {
88
+ case "fade":
89
+ return DURATION_AVERAGE;
90
+ default:
91
+ return DURATION_SIMPLE;
92
+ }
93
+ }
94
+ }
95
+ AnimatedSwitcher.Icon = function AnimatedSwitcherIcon({ switchToIcon, switched, initialIcon, }) {
96
+ return (React__default["default"].createElement(AnimatedSwitcher, { switched: switched, initialChild: React__default["default"].createElement(Icon.Icon, { name: initialIcon }), switchTo: React__default["default"].createElement(Icon.Icon, { name: switchToIcon }) }));
97
+ };
98
+
99
+ exports.AnimatedSwitcher = AnimatedSwitcher;
@@ -0,0 +1,8 @@
1
+ import { Variants } from "framer-motion";
2
+ export declare const DURATION_SIMPLE = 0.1;
3
+ export declare const DURATION_AVERAGE = 0.2;
4
+ export declare const FADE: Variants;
5
+ export declare const SLIDE_IN_UP: Variants;
6
+ export declare const SLIDE_IN_DOWN: Variants;
7
+ export declare const SPIN_COUNTER_CLOCK_WISE: Variants;
8
+ export declare const SPIN_CLOCK_WISE: Variants;
@@ -13,10 +13,10 @@ var reactPopper = require('react-popper');
13
13
  var Text = require('../Text-e7ed0974.js');
14
14
  var Icon = require('../Icon-405a216c.js');
15
15
  var Heading = require('../Heading-a1191b15.js');
16
- var InputText = require('../InputText-a8a571c1.js');
16
+ var InputText = require('../InputText-192749f1.js');
17
17
  require('../Typography-fd6f932a.js');
18
18
  require('@jobber/design');
19
- require('../FormField-c2bc7144.js');
19
+ require('../FormField-c7047a5f.js');
20
20
  require('uuid');
21
21
  require('react-hook-form');
22
22
  require('../Button-7698424c.js');
@@ -11,8 +11,9 @@ var Avatar = require('../Avatar-1aa30ee1.js');
11
11
  var Typography = require('../Typography-fd6f932a.js');
12
12
  var Tooltip = require('../Tooltip-bf67fe6e.js');
13
13
  var uuid = require('uuid');
14
- var lodash = require('lodash');
14
+ var sortBy = require('lodash/sortBy');
15
15
  var useLiveAnnounce = require('@jobber/hooks/useLiveAnnounce');
16
+ var debounce = require('lodash/debounce');
16
17
  var reactPopper = require('react-popper');
17
18
  var Text = require('../Text-e7ed0974.js');
18
19
  var Button = require('../Button-7698424c.js');
@@ -27,6 +28,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
27
28
 
28
29
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
30
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
31
+ var sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);
32
+ var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
30
33
 
31
34
  var css_248z$1 = "/**\n * Used in the wrapping chips component:\n * - InternalChipSingleSelect\n * - InternalChipMultiSelect\n */\n\n.zn6onyiQVmA- {\n display: -ms-flexbox;\n display: flex;\n gap: calc(16px / 2);\n gap: var(--space-small);\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.PEnZzMEgbhU- {\n display: inline-grid;\n position: relative;\n max-width: 100%;\n box-sizing: border-box;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 2);\n border-radius: var(--radius-larger);\n color: rgba(101, 120, 132, 1);\n color: var(--color-text--secondary);\n text-align: left;\n vertical-align: middle;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n transition: 200ms ease-in-out;\n transition: var(--timing-base) ease-in-out;\n transition-property: background-color, box-shadow, color;\n grid-template-columns: -webkit-max-content;\n grid-template-columns: max-content;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.dtysUhwYdG4-,\n.xGaMCAYsdwA- {\n padding: calc((16px / 4) + (16px / 8)) calc(16px / 2);\n padding: calc(calc(16px / 4) + calc(16px / 8)) calc(16px / 2);\n padding: calc(var(--space-smaller) + var(--space-smallest)) var(--space-small);\n}\n\n.dtysUhwYdG4- {\n grid-template-columns: -webkit-min-content 1fr;\n grid-template-columns: min-content 1fr;\n}\n\n.xGaMCAYsdwA- {\n grid-template-columns: 1fr -webkit-min-content;\n grid-template-columns: 1fr min-content;\n}\n\n.dtysUhwYdG4-.xGaMCAYsdwA- {\n grid-template-columns: -webkit-min-content 1fr -webkit-min-content;\n grid-template-columns: min-content 1fr min-content;\n}\n\n.SNT7gGV-h-o-,\n.W4D98cvEth4- ~ .PEnZzMEgbhU- {\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n}\n\n/**\n * Interaction\n */\n\n.PEnZzMEgbhU-:focus,\n.W4D98cvEth4-:focus ~ .PEnZzMEgbhU- {\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n.SNT7gGV-h-o-:hover,\n.W4D98cvEth4- ~ .PEnZzMEgbhU-:not(._0hEzaTXK9M0-):hover,\n.W4D98cvEth4-:focus ~ .PEnZzMEgbhU-:not(._0hEzaTXK9M0-) {\n background-color: rgb(250, 246, 219);\n background-color: var(--color-surface--hover);\n}\n\n/**\n * States\n */\n\n.PEnZzMEgbhU-._0hEzaTXK9M0- {\n border-color: rgb(1, 41, 57);\n border-color: var(--color-surface--reverse);\n color: rgba(255, 255, 255, 1);\n color: var(--color-text--reverse);\n background-color: rgb(1, 41, 57);\n background-color: var(--color-surface--reverse);\n}\n\n.PEnZzMEgbhU-.JApS2787BU8- {\n border-color: rgb(128, 25, 0);\n border-color: var(--color-critical--onSurface);\n color: rgb(128, 25, 0);\n color: var(--color-critical--onSurface);\n background-color: rgb(255, 226, 219);\n background-color: var(--color-critical--surface);\n}\n\n.PEnZzMEgbhU-.Kg0c8WVgMpg- {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n}\n\n._0hEzaTXK9M0-.Kg0c8WVgMpg- {\n border-color: rgb(181, 181, 181);\n border-color: var(--color-disabled);\n color: rgba(255, 255, 255, 1);\n color: var(--color-white);\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.JApS2787BU8-.Kg0c8WVgMpg- {\n border-color: rgb(201, 66, 33);\n border-color: var(--color-critical);\n}\n\n/**\n * Input checkbox/radio\n *\n * Hide checkbox on UI but not screen readers and still allow focus state\n */\n\n.W4D98cvEth4- {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(100%);\n clip-path: inset(100%);\n white-space: nowrap;\n}\n\n/**\n * Button\n */\n\n._0-ZWexS4Gfg- {\n display: -ms-flexbox;\n display: flex;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n cursor: pointer;\n transition: background-color 200ms ease;\n}\n\n._0-ZWexS4Gfg-:hover,\n._0-ZWexS4Gfg-:focus {\n background-color: rgb(250, 246, 219);\n background-color: var(--color-surface--hover);\n}\n\n._0-ZWexS4Gfg-:focus,\n.SNT7gGV-h-o- ._0-ZWexS4Gfg-:hover {\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n/**\n * Override icon default colors.\n *\n * NOTE: This is a workaround since some icons have default colors that we don't\n * want to override until the component color prop overrides it.\n * DO NOT COPY!\n */\n\n.DQPnZP4UZpw- > svg {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n}\n\n.DQPnZP4UZpw- {\n display: -ms-flexbox;\n display: flex;\n}\n";
32
35
  var styles$1 = {"wrapper":"zn6onyiQVmA-","chip":"PEnZzMEgbhU-","hasPrefix":"dtysUhwYdG4-","hasSuffix":"xGaMCAYsdwA-","clickable":"SNT7gGV-h-o-","input":"W4D98cvEth4-","active":"_0hEzaTXK9M0-","invalid":"JApS2787BU8-","disabled":"Kg0c8WVgMpg-","button":"_0-ZWexS4Gfg-","icon":"DQPnZP4UZpw-"};
@@ -209,7 +212,7 @@ function useInternalChipDismissible({ children, selected, onChange, onClick, onC
209
212
  const ref = React.useRef(null);
210
213
  const chipOptions = children.map(chip => chip.props);
211
214
  const visibleChipOptions = chipOptions.filter(chip => selected.includes(chip.value));
212
- const sortedVisibleChipOptions = lodash.sortBy(visibleChipOptions, chip => selected.indexOf(chip.value));
215
+ const sortedVisibleChipOptions = sortBy__default["default"](visibleChipOptions, chip => selected.indexOf(chip.value));
213
216
  const availableChipOptions = chipOptions.filter(chip => !selected.includes(chip.value));
214
217
  const { liveAnnounce } = useLiveAnnounce.useLiveAnnounce();
215
218
  const actions = {
@@ -361,7 +364,7 @@ function useInternalChipDismissibleInput({ options, isLoadingMore = false, onCus
361
364
  }
362
365
  handleKeydownEvents(callbacks, event);
363
366
  },
364
- handleDebouncedSearch: lodash.debounce(() => {
367
+ handleDebouncedSearch: debounce__default["default"](() => {
365
368
  onSearch && onSearch(searchValue);
366
369
  setAllOptions(generateOptions(options, searchValue, canAddCustomOption));
367
370
  setShouldCancelEnter(false);
@@ -477,7 +480,7 @@ function InternalChipDismissibleInput(props) {
477
480
  return React__default["default"].cloneElement(activator, { onClick: handleOpenMenu });
478
481
  }
479
482
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
480
- React__default["default"].createElement("input", { ref: inputRef, className: styles.input, type: "text", role: "combobox", "aria-label": "Press up and down arrow to cycle through the options or type to narrow down the results", "aria-autocomplete": "list", "aria-owns": menuId, "aria-expanded": hasAvailableOptions, "aria-activedescendant": generateDescendantId(activeIndex), value: searchValue, onChange: handleSearchChange, onKeyDown: handleKeyDown, onBlur: lodash.debounce(handleBlur, 200), onFocus: handleOpenMenu, autoFocus: true }),
483
+ React__default["default"].createElement("input", { ref: inputRef, className: styles.input, type: "text", role: "combobox", "aria-label": "Press up and down arrow to cycle through the options or type to narrow down the results", "aria-autocomplete": "list", "aria-owns": menuId, "aria-expanded": hasAvailableOptions, "aria-activedescendant": generateDescendantId(activeIndex), value: searchValue, onChange: handleSearchChange, onKeyDown: handleKeyDown, onBlur: debounce__default["default"](handleBlur, 200), onFocus: handleOpenMenu, autoFocus: true }),
481
484
  (hasAvailableOptions || isLoadingMore) && (React__default["default"].createElement("div", Object.assign({ ref: setPositionedElementRef, className: styles.menu, style: popperStyles.popper }, attributes.popper),
482
485
  React__default["default"].createElement("div", { ref: menuRef, role: "listbox", id: menuId, className: styles.menuList, "data-testid": "chip-menu" },
483
486
  allOptions.map((option, i) => (React__default["default"].createElement("button", { key: option.value, role: "option", id: generateDescendantId(i), className: classnames__default["default"](styles.menuListOption, {
@@ -8,10 +8,10 @@ var React = require('react');
8
8
  var jobberHooks = require('@jobber/hooks/useResizeObserver');
9
9
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
10
10
  var tslib_es6 = require('../tslib.es6-5b8768b7.js');
11
- var Option = require('../Option-2ce89a73.js');
11
+ var Option = require('../Option-de240090.js');
12
12
  var Button = require('../Button-7698424c.js');
13
13
  var Text = require('../Text-e7ed0974.js');
14
- require('../FormField-c2bc7144.js');
14
+ require('../FormField-c7047a5f.js');
15
15
  require('uuid');
16
16
  require('react-hook-form');
17
17
  require('../Icon-405a216c.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var DatePicker = require('../DatePicker-98f03314.js');
5
+ var DatePicker = require('../DatePicker-38b0c40b.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('react-datepicker');
@@ -13,7 +13,7 @@ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
16
- require('lodash');
16
+ require('lodash/omit');
17
17
 
18
18
 
19
19
 
@@ -7,13 +7,14 @@ var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
7
7
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
8
8
  var Typography = require('./Typography-fd6f932a.js');
9
9
  var Button = require('./Button-7698424c.js');
10
- var lodash = require('lodash');
10
+ var omit = require('lodash/omit');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
14
14
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
15
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
16
16
  var ReactDatePicker__default = /*#__PURE__*/_interopDefaultLegacy(ReactDatePicker);
17
+ var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
17
18
 
18
19
  var css_248z = "@charset \"UTF-8\";\n/* stylelint-disable */\n.react-datepicker__year-read-view--down-arrow, .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-year-read-view--down-arrow, .react-datepicker__navigation-icon::before {\n border-color: #ccc;\n border-style: solid;\n border-width: 3px 3px 0 0;\n content: \"\";\n display: block;\n height: 9px;\n position: absolute;\n top: 6px;\n width: 9px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {\n margin-left: -4px;\n position: absolute;\n width: 0;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n box-sizing: content-box;\n position: absolute;\n border: 8px solid transparent;\n height: 0;\n width: 1px;\n content: \"\";\n z-index: -1;\n border-width: 8px;\n left: -8px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {\n border-bottom-color: #aeaeae;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {\n top: 0;\n margin-top: -8px;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n border-top: none;\n border-bottom-color: #f0f0f0;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n top: 0;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {\n top: -1px;\n border-bottom-color: #aeaeae;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {\n bottom: 0;\n margin-bottom: -8px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {\n border-bottom: none;\n border-top-color: #fff;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {\n bottom: 0;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before {\n bottom: -1px;\n border-top-color: #aeaeae;\n}\n.react-datepicker-wrapper {\n display: inline-block;\n padding: 0;\n border: 0;\n width: 100%;\n}\n.react-datepicker {\n font-family: \"Helvetica Neue\", helvetica, arial, sans-serif;\n font-size: 0.8rem;\n background-color: #fff;\n color: #000;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n display: inline-block;\n position: relative;\n}\n.react-datepicker--time-only .react-datepicker__triangle {\n left: 35px;\n}\n.react-datepicker--time-only .react-datepicker__time-container {\n border-left: 0;\n}\n.react-datepicker--time-only .react-datepicker__time, .react-datepicker--time-only .react-datepicker__time-box {\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__triangle {\n position: absolute;\n left: 50px;\n}\n.react-datepicker-popper {\n z-index: 1;\n}\n.react-datepicker-popper[data-placement^=bottom] {\n padding-top: 10px;\n}\n.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle, .react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle {\n left: auto;\n right: 50px;\n}\n.react-datepicker-popper[data-placement^=top] {\n padding-bottom: 10px;\n}\n.react-datepicker-popper[data-placement^=right] {\n padding-left: 8px;\n}\n.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle {\n left: auto;\n right: 42px;\n}\n.react-datepicker-popper[data-placement^=left] {\n padding-right: 8px;\n}\n.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle {\n left: 42px;\n right: auto;\n}\n.react-datepicker__header {\n text-align: center;\n background-color: #f0f0f0;\n border-bottom: 1px solid #aeaeae;\n border-top-left-radius: 0.3rem;\n padding: 8px 0;\n position: relative;\n}\n.react-datepicker__header--time {\n padding-bottom: 8px;\n padding-left: 5px;\n padding-right: 5px;\n}\n.react-datepicker__header--time:not(.react-datepicker__header--time--only) {\n border-top-left-radius: 0;\n}\n.react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n border-top-right-radius: 0.3rem;\n}\n.react-datepicker__year-dropdown-container--select, .react-datepicker__month-dropdown-container--select, .react-datepicker__month-year-dropdown-container--select, .react-datepicker__year-dropdown-container--scroll, .react-datepicker__month-dropdown-container--scroll, .react-datepicker__month-year-dropdown-container--scroll {\n display: inline-block;\n margin: 0 15px;\n}\n.react-datepicker__current-month, .react-datepicker-time__header, .react-datepicker-year-header {\n margin-top: 0;\n color: #000;\n font-weight: bold;\n font-size: 0.944rem;\n}\n.react-datepicker-time__header {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.react-datepicker__navigation {\n -ms-flex-align: center;\n align-items: center;\n background: none;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n text-align: center;\n cursor: pointer;\n position: absolute;\n top: 2px;\n padding: 0;\n border: none;\n z-index: 1;\n height: 32px;\n width: 32px;\n text-indent: -999em;\n overflow: hidden;\n}\n.react-datepicker__navigation--previous {\n left: 2px;\n}\n.react-datepicker__navigation--next {\n right: 2px;\n}\n.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {\n right: 85px;\n}\n.react-datepicker__navigation--years {\n position: relative;\n top: 0;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.react-datepicker__navigation--years-previous {\n top: 4px;\n}\n.react-datepicker__navigation--years-upcoming {\n top: -4px;\n}\n.react-datepicker__navigation:hover *::before {\n border-color: #a6a6a6;\n}\n.react-datepicker__navigation-icon {\n position: relative;\n top: -1px;\n font-size: 20px;\n width: 0;\n}\n.react-datepicker__navigation-icon--next {\n left: -2px;\n}\n.react-datepicker__navigation-icon--next::before {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n left: -7px;\n}\n.react-datepicker__navigation-icon--previous {\n right: -2px;\n}\n.react-datepicker__navigation-icon--previous::before {\n -webkit-transform: rotate(225deg);\n transform: rotate(225deg);\n right: -7px;\n}\n.react-datepicker__month-container {\n float: left;\n}\n.react-datepicker__year {\n margin: 0.4rem;\n text-align: center;\n}\n.react-datepicker__year-wrapper {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n max-width: 180px;\n}\n.react-datepicker__year .react-datepicker__year-text {\n display: inline-block;\n width: 4rem;\n margin: 2px;\n}\n.react-datepicker__month {\n margin: 0.4rem;\n text-align: center;\n}\n.react-datepicker__month .react-datepicker__month-text, .react-datepicker__month .react-datepicker__quarter-text {\n display: inline-block;\n width: 4rem;\n margin: 2px;\n}\n.react-datepicker__input-time-container {\n clear: both;\n width: 100%;\n float: left;\n margin: 5px 0 10px 15px;\n text-align: left;\n}\n.react-datepicker__input-time-container .react-datepicker-time__caption {\n display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container {\n display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {\n display: inline-block;\n margin-left: 10px;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {\n width: auto;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button, .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {\n -moz-appearance: textfield;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {\n margin-left: 5px;\n display: inline-block;\n}\n.react-datepicker__time-container {\n float: right;\n border-left: 1px solid #aeaeae;\n width: 85px;\n}\n.react-datepicker__time-container--with-today-button {\n display: inline;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n position: absolute;\n right: -87px;\n top: 0;\n}\n.react-datepicker__time-container .react-datepicker__time {\n position: relative;\n background: white;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {\n width: 85px;\n overflow-x: hidden;\n margin: 0 auto;\n text-align: center;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {\n list-style: none;\n margin: 0;\n height: calc(195px + (1.7rem / 2));\n overflow-y: scroll;\n padding-right: 0;\n padding-left: 0;\n width: 100%;\n box-sizing: content-box;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {\n height: 30px;\n padding: 5px 10px;\n white-space: nowrap;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {\n cursor: pointer;\n background-color: #f0f0f0;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {\n background-color: #216ba5;\n color: white;\n font-weight: bold;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {\n background-color: #216ba5;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {\n color: #ccc;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {\n cursor: default;\n background-color: transparent;\n}\n.react-datepicker__week-number {\n color: #ccc;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable {\n cursor: pointer;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n.react-datepicker__day-names, .react-datepicker__week {\n white-space: nowrap;\n}\n.react-datepicker__day-names {\n margin-bottom: -8px;\n}\n.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {\n color: #000;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n.react-datepicker__month--selected, .react-datepicker__month--in-selecting-range, .react-datepicker__month--in-range, .react-datepicker__quarter--selected, .react-datepicker__quarter--in-selecting-range, .react-datepicker__quarter--in-range {\n border-radius: 0.3rem;\n background-color: #216ba5;\n color: #fff;\n}\n.react-datepicker__month--selected:hover, .react-datepicker__month--in-selecting-range:hover, .react-datepicker__month--in-range:hover, .react-datepicker__quarter--selected:hover, .react-datepicker__quarter--in-selecting-range:hover, .react-datepicker__quarter--in-range:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__month--disabled, .react-datepicker__quarter--disabled {\n color: #ccc;\n pointer-events: none;\n}\n.react-datepicker__month--disabled:hover, .react-datepicker__quarter--disabled:hover {\n cursor: default;\n background-color: transparent;\n}\n.react-datepicker__day, .react-datepicker__month-text, .react-datepicker__quarter-text, .react-datepicker__year-text {\n cursor: pointer;\n}\n.react-datepicker__day:hover, .react-datepicker__month-text:hover, .react-datepicker__quarter-text:hover, .react-datepicker__year-text:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n.react-datepicker__day--today, .react-datepicker__month-text--today, .react-datepicker__quarter-text--today, .react-datepicker__year-text--today {\n font-weight: bold;\n}\n.react-datepicker__day--highlighted, .react-datepicker__month-text--highlighted, .react-datepicker__quarter-text--highlighted, .react-datepicker__year-text--highlighted {\n border-radius: 0.3rem;\n background-color: #3dcc4a;\n color: #fff;\n}\n.react-datepicker__day--highlighted:hover, .react-datepicker__month-text--highlighted:hover, .react-datepicker__quarter-text--highlighted:hover, .react-datepicker__year-text--highlighted:hover {\n background-color: #32be3f;\n}\n.react-datepicker__day--highlighted-custom-1, .react-datepicker__month-text--highlighted-custom-1, .react-datepicker__quarter-text--highlighted-custom-1, .react-datepicker__year-text--highlighted-custom-1 {\n color: magenta;\n}\n.react-datepicker__day--highlighted-custom-2, .react-datepicker__month-text--highlighted-custom-2, .react-datepicker__quarter-text--highlighted-custom-2, .react-datepicker__year-text--highlighted-custom-2 {\n color: green;\n}\n.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range, .react-datepicker__month-text--selected, .react-datepicker__month-text--in-selecting-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--selected, .react-datepicker__quarter-text--in-selecting-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--selected, .react-datepicker__year-text--in-selecting-range, .react-datepicker__year-text--in-range {\n border-radius: 0.3rem;\n background-color: #216ba5;\n color: #fff;\n}\n.react-datepicker__day--selected:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover, .react-datepicker__month-text--selected:hover, .react-datepicker__month-text--in-selecting-range:hover, .react-datepicker__month-text--in-range:hover, .react-datepicker__quarter-text--selected:hover, .react-datepicker__quarter-text--in-selecting-range:hover, .react-datepicker__quarter-text--in-range:hover, .react-datepicker__year-text--selected:hover, .react-datepicker__year-text--in-selecting-range:hover, .react-datepicker__year-text--in-range:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__day--keyboard-selected, .react-datepicker__month-text--keyboard-selected, .react-datepicker__quarter-text--keyboard-selected, .react-datepicker__year-text--keyboard-selected {\n border-radius: 0.3rem;\n background-color: #bad9f1;\n color: rgb(0, 0, 0);\n}\n.react-datepicker__day--keyboard-selected:hover, .react-datepicker__month-text--keyboard-selected:hover, .react-datepicker__quarter-text--keyboard-selected:hover, .react-datepicker__year-text--keyboard-selected:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range), .react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range), .react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range), .react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range) {\n background-color: rgba(33, 107, 165, 0.5);\n}\n.vl9aI3nIPIc- .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range),\n.vl9aI3nIPIc- .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range),\n.vl9aI3nIPIc- .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range),\n.vl9aI3nIPIc- .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range) {\n background-color: #f0f0f0;\n color: #000;\n}\n.react-datepicker__day--disabled, .react-datepicker__month-text--disabled, .react-datepicker__quarter-text--disabled, .react-datepicker__year-text--disabled {\n cursor: default;\n color: #ccc;\n}\n.react-datepicker__day--disabled:hover, .react-datepicker__month-text--disabled:hover, .react-datepicker__quarter-text--disabled:hover, .react-datepicker__year-text--disabled:hover {\n background-color: transparent;\n}\n.react-datepicker__month-text.react-datepicker__month--selected:hover, .react-datepicker__month-text.react-datepicker__month--in-range:hover, .react-datepicker__month-text.react-datepicker__quarter--selected:hover, .react-datepicker__month-text.react-datepicker__quarter--in-range:hover, .react-datepicker__quarter-text.react-datepicker__month--selected:hover, .react-datepicker__quarter-text.react-datepicker__month--in-range:hover, .react-datepicker__quarter-text.react-datepicker__quarter--selected:hover, .react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover {\n background-color: #216ba5;\n}\n.react-datepicker__month-text:hover, .react-datepicker__quarter-text:hover {\n background-color: #f0f0f0;\n}\n.react-datepicker__input-container {\n position: relative;\n display: inline-block;\n width: 100%;\n}\n.react-datepicker__year-read-view, .react-datepicker__month-read-view, .react-datepicker__month-year-read-view {\n border: 1px solid transparent;\n border-radius: 0.3rem;\n position: relative;\n}\n.react-datepicker__year-read-view:hover, .react-datepicker__month-read-view:hover, .react-datepicker__month-year-read-view:hover {\n cursor: pointer;\n}\n.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow, .react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow, .react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow, .react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {\n border-top-color: #b3b3b3;\n}\n.react-datepicker__year-read-view--down-arrow, .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-year-read-view--down-arrow {\n -webkit-transform: rotate(135deg);\n transform: rotate(135deg);\n right: -16px;\n top: 0;\n}\n.react-datepicker__year-dropdown, .react-datepicker__month-dropdown, .react-datepicker__month-year-dropdown {\n background-color: #f0f0f0;\n position: absolute;\n width: 50%;\n left: 25%;\n top: 30px;\n z-index: 1;\n text-align: center;\n border-radius: 0.3rem;\n border: 1px solid #aeaeae;\n}\n.react-datepicker__year-dropdown:hover, .react-datepicker__month-dropdown:hover, .react-datepicker__month-year-dropdown:hover {\n cursor: pointer;\n}\n.react-datepicker__year-dropdown--scrollable, .react-datepicker__month-dropdown--scrollable, .react-datepicker__month-year-dropdown--scrollable {\n height: 150px;\n overflow-y: scroll;\n}\n.react-datepicker__year-option, .react-datepicker__month-option, .react-datepicker__month-year-option {\n line-height: 20px;\n width: 100%;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.react-datepicker__year-option:first-of-type, .react-datepicker__month-option:first-of-type, .react-datepicker__month-year-option:first-of-type {\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:last-of-type, .react-datepicker__month-option:last-of-type, .react-datepicker__month-year-option:last-of-type {\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:hover, .react-datepicker__month-option:hover, .react-datepicker__month-year-option:hover {\n background-color: #ccc;\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming, .react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming, .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {\n border-bottom-color: #b3b3b3;\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous, .react-datepicker__month-option:hover .react-datepicker__navigation--years-previous, .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {\n border-top-color: #b3b3b3;\n}\n.react-datepicker__year-option--selected, .react-datepicker__month-option--selected, .react-datepicker__month-year-option--selected {\n position: absolute;\n left: 15px;\n}\n.react-datepicker__close-icon {\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n padding: 0 6px 0 0;\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n display: table-cell;\n vertical-align: middle;\n}\n.react-datepicker__close-icon::after {\n cursor: pointer;\n background-color: #216ba5;\n color: #fff;\n border-radius: 50%;\n height: 16px;\n width: 16px;\n padding: 2px;\n font-size: 12px;\n line-height: 1;\n text-align: center;\n display: table-cell;\n vertical-align: middle;\n content: \"×\";\n}\n.react-datepicker__today-button {\n background: #f0f0f0;\n border-top: 1px solid #aeaeae;\n cursor: pointer;\n text-align: center;\n font-weight: bold;\n padding: 5px 0;\n clear: left;\n}\n.react-datepicker__portal {\n position: fixed;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.8);\n left: 0;\n top: 0;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n z-index: 2147483647;\n}\n.react-datepicker__portal .react-datepicker__day-name, .react-datepicker__portal .react-datepicker__day, .react-datepicker__portal .react-datepicker__time-name {\n width: 3rem;\n line-height: 3rem;\n}\n@media (max-width: 400px), (max-height: 550px) {\n .react-datepicker__portal .react-datepicker__day-name, .react-datepicker__portal .react-datepicker__day, .react-datepicker__portal .react-datepicker__time-name {\n width: 2rem;\n line-height: 2rem;\n }\n}\n.react-datepicker__portal .react-datepicker__current-month, .react-datepicker__portal .react-datepicker-time__header {\n font-size: 1.44rem;\n}\n.react-datepicker__children-container {\n width: 13.8rem;\n margin: 0.4rem;\n padding-right: 0.2rem;\n padding-left: 0.2rem;\n height: auto;\n}\n.react-datepicker__aria-live {\n position: absolute;\n -webkit-clip-path: circle(0);\n clip-path: circle(0);\n border: 0;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n width: 1px;\n white-space: nowrap;\n}\n/* stylelint-enable */\n.jswNs4p7tII- {\n display: inline-block;\n}\n.WNVBy7I-Vv4- {\n display: block;\n width: 100%;\n}\n._8kgzU28z2Eo-.react-datepicker {\n --datepicker-cell-size: calc(var(--space-base) * 2.375);\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n border-color: rgb(225, 225, 225);\n border-color: var(--color-border);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n font-family: \"Inter\", Helvetica, Arial, sans-serif;\n font-family: var(--typography--fontFamily-normal);\n}\n._8kgzU28z2Eo-._1Z7yDS-JQa0- {\n box-shadow: none;\n}\n.react-datepicker__input-container,\n.react-datepicker-wrapper {\n max-width: 100%;\n}\n.jswNs4p7tII- .react-datepicker-popper {\n z-index: 6;\n z-index: var(--elevation-datepicker);\n}\n._8kgzU28z2Eo- .react-datepicker__header {\n padding: 0;\n border-bottom: calc(16px / 16) solid rgb(225, 225, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n background: rgba(255, 255, 255, 1);\n background: var(--color-surface);\n}\n.G2Kz3asqaFQ- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: center;\n align-items: center;\n}\n._8kgzU28z2Eo- .react-datepicker__day {\n display: -ms-inline-flexbox;\n display: inline-flex;\n width: var(--datepicker-cell-size);\n height: var(--datepicker-cell-size);\n margin: 0;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n line-height: inherit;\n background: rgba(255, 255, 255, 1);\n background: var(--color-surface);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n._8kgzU28z2Eo- .react-datepicker__day--highlighted {\n background: rgb(236, 243, 219);\n background: var(--color-surface--active);\n}\n._8kgzU28z2Eo- .react-datepicker__day--outside-month {\n border-radius: 0;\n color: rgb(66, 78, 86);\n color: var(--color-text);\n background: rgb(225, 225, 225);\n background: var(--color-disabled--secondary);\n}\n._8kgzU28z2Eo- .react-datepicker__day--disabled {\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n cursor: default;\n}\n._8kgzU28z2Eo- .react-datepicker__month {\n margin: 0;\n}\n._8kgzU28z2Eo- .react-datepicker__day--selected {\n color: rgba(255, 255, 255, 1);\n color: var(--color-text--reverse);\n background: rgb(125, 176, 14);\n background: var(--color-interactive);\n}\n._8kgzU28z2Eo- .react-datepicker__day-names {\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n padding: calc(16px / 8) 0 0;\n padding: var(--space-smallest) 0 0;\n color: rgb(66, 78, 86);\n color: var(--color-text);\n font-size: calc((16px * 1) * 0.75);\n font-size: calc(calc(16px * 1) * 0.75);\n font-size: var(--typography--fontSize-small);\n text-transform: uppercase;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n._8kgzU28z2Eo- .react-datepicker__day-name {\n width: auto;\n color: rgb(66, 78, 86);\n color: var(--color-text);\n -ms-flex: 1;\n flex: 1;\n}\n._8kgzU28z2Eo- .react-datepicker__day:hover,\n._8kgzU28z2Eo- .react-datepicker__day:focus {\n background: rgb(250, 246, 219);\n background: var(--color-surface--hover);\n}\n._8kgzU28z2Eo- .react-datepicker__day:focus {\n position: relative;\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n._8kgzU28z2Eo- .react-datepicker__day--selected:hover,\n._8kgzU28z2Eo- .react-datepicker__day--selected:focus {\n background: rgb(81, 114, 9);\n background: var(--color-interactive--hover);\n}\n._8kgzU28z2Eo- .react-datepicker__day--disabled:hover,\n._8kgzU28z2Eo- .react-datepicker__day--disabled:focus {\n box-shadow: none;\n background: transparent;\n}\n._8kgzU28z2Eo-\n .react-datepicker__day--disabled.react-datepicker__day--outside-month:hover,\n._8kgzU28z2Eo-\n .react-datepicker__day--disabled.react-datepicker__day--outside-month:focus {\n box-shadow: none;\n background: rgb(225, 225, 225);\n background: var(--color-disabled--secondary);\n}\n.D3kDqTSFScU- {\n margin-top: calc(16px / 16);\n margin-top: var(--space-minuscule);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n}\n";
19
20
  var styles = {"react-datepicker__month--selecting-range":"vl9aI3nIPIc-","datePickerWrapper":"jswNs4p7tII-","fullWidth":"WNVBy7I-Vv4-","datePicker":"_8kgzU28z2Eo-","inline":"_1Z7yDS-JQa0-","header":"G2Kz3asqaFQ-","month":"D3kDqTSFScU-"};
@@ -33,7 +34,7 @@ function DatePickerCustomHeader({ monthDate, decreaseMonth, increaseMonth, prevM
33
34
  const DatePickerActivator = React.forwardRef(InternalActivator);
34
35
  function InternalActivator(props, ref) {
35
36
  const { activator, fullWidth } = props;
36
- const newActivatorProps = lodash.omit(props, ["activator", "fullWidth"]);
37
+ const newActivatorProps = omit__default["default"](props, ["activator", "fullWidth"]);
37
38
  if (activator) {
38
39
  if (React.isValidElement(activator)) {
39
40
  const isAComponent = typeof activator.type === "function";
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormField = require('../FormField-c2bc7144.js');
5
+ var FormField = require('../FormField-c7047a5f.js');
6
6
  require('../tslib.es6-5b8768b7.js');
7
7
  require('react');
8
8
  require('uuid');
@@ -17,8 +17,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
17
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
18
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
19
19
 
20
- var css_248z = ":root {\n /**\n * These `--public-field` properties are used in other components such\n * as InputGroup, therefore they must stay on :root\n **/\n --public-field--top-left-radius: var(--radius-base);\n --public-field--top-right-radius: var(--radius-base);\n --public-field--bottom-left-radius: var(--radius-base);\n --public-field--bottom-right-radius: var(--radius-base);\n}\n\n/**\n * Wrapper\n **/\n\n.nPGhTEEzsoU- {\n --field--placeholder-color: var(--color-greyBlue--light);\n --field--placeholder-offset: 50%;\n --field--placeholder-transform: -50%;\n\n --field--textAlign: left;\n\n --field--height: var(--space-largest);\n\n --field--padding-top: calc(var(--space-base) - var(--space-smallest));\n --field--padding-bottom: calc(var(--space-base) - var(--space-smallest));\n --field--padding-left: var(--space-base);\n --field--padding-right: var(--space-base);\n\n --field--value-color: var(--color-heading);\n --field--value-lineHeight: calc(var(--base-unit) * 1.25);\n\n --field--border-color: var(--color-border);\n --field--background-color: var(--color-surface);\n\n --field--base-elevation: var(--elevation-base);\n --field--label-elevation: calc(var(--field--base-elevation) + 1);\n --field--postfix-elevation: calc(var(--field--base-elevation) - 1);\n --field--postfix-action-elevation: calc(var(--field--base-elevation) + 2);\n\n display: -ms-flexbox;\n\n display: flex;\n width: 100%;\n height: calc(16px * 3);\n height: var(--field--height);\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--field--border-color);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n border-top-right-radius: calc(16px / 8);\n border-top-right-radius: var(--public-field--top-right-radius);\n border-bottom-right-radius: calc(16px / 8);\n border-bottom-right-radius: var(--public-field--bottom-right-radius);\n border-bottom-left-radius: calc(16px / 8);\n border-bottom-left-radius: var(--public-field--bottom-left-radius);\n border-top-left-radius: calc(16px / 8);\n border-top-left-radius: var(--public-field--top-left-radius);\n color: rgb(1, 41, 57);\n color: var(--field--value-color);\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--field--background-color);\n}\n\n.nPGhTEEzsoU- * {\n box-sizing: border-box;\n}\n\n.nPGhTEEzsoU-:focus-within {\n position: relative;\n z-index: var(--field--base-elevation);\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n}\n\n.UIZq8hTmJVU- {\n --field--placeholder-color: var(--color-text--secondary);\n --field--placeholder-offset: var(--space-smallest);\n --field--placeholder-transform: 0;\n --field--padding-top: calc(var(--space-base) + var(--space-smaller));\n --field--padding-bottom: var(--space-small);\n}\n\n.nPGhTEEzsoU-.mgPacJ6Z71Y- {\n height: auto;\n min-height: auto;\n}\n\n.gJ-15M615eY-,\n.gJ-15M615eY-:focus-within {\n --field--border-color: var(--color-critical);\n}\n\n._1rsTLm5GwcM- {\n --field--placeholder-color: var(--color-disabled);\n --field--value-color: var(--color-disabled);\n --field--background-color: var(--color-surface--background);\n --field--border-color: var(--color-disabled--secondary);\n}\n\n/* override iOS default styling for disabled input */\n\n._1rsTLm5GwcM- :disabled {\n -webkit-text-fill-color: var(--field--value-color);\n opacity: 1;\n}\n\n.o8D-H-lKfDk- {\n --field--padding-left: calc(var(--space-base) - var(--space-smaller));\n --field--padding-right: calc(var(--space-base) - var(--space-smaller));\n --field--padding-top: var(--space-small);\n --field--padding-bottom: var(--space-small);\n --field--height: calc(var(--space-larger) + var(--space-smaller));\n}\n\n.Ku8sWS0mLew- {\n --field--padding-left: var(--space-large);\n --field--padding-right: var(--space-large);\n --field--height: calc(var(--space-extravagant));\n}\n\n._5Hu2F3cBvng- {\n display: -ms-inline-flexbox;\n display: inline-flex;\n width: auto;\n}\n\n.s1WLQs6ffD8- {\n --field--textAlign: center;\n}\n\n.a2r4QheWYIA- {\n --field--textAlign: right;\n}\n\n/**\n * The custom property --formField-maxLength is getting defined inside the\n * component.\n */\n\n.KdAnXK1gClo- {\n width: calc(\n (16px * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n width: calc(\n (var(--base-unit) * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n}\n\n/**\n * Input Wrapper\n **/\n\n.iQFhpFYnz-8- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1;\n flex: 1;\n position: relative;\n /* Ensure input stays with the rest of the element stack */\n z-index: 0;\n z-index: var(--elevation-default);\n}\n\n.Yo2Wi9dpa-Y- {\n position: relative;\n -ms-flex: 1;\n flex: 1;\n}\n\n/**\n * Input\n **/\n\n.LSHPV7PwOTg- {\n position: relative;\n z-index: var(--field--base-elevation);\n width: 100%;\n height: 100%;\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n border: none;\n border-radius: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.LSHPV7PwOTg-:focus {\n outline: none;\n}\n\n.mgPacJ6Z71Y- .LSHPV7PwOTg- {\n resize: vertical;\n}\n\n.i31GQXcMz54- .LSHPV7PwOTg- {\n z-index: var(--field--label-elevation);\n}\n\n.LSHPV7PwOTg-:-webkit-autofill,\n.LSHPV7PwOTg-:-webkit-autofill:hover,\n.LSHPV7PwOTg-:-webkit-autofill:focus,\n.LSHPV7PwOTg-:-webkit-autofill:active {\n -webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 1) inset !important;\n -webkit-box-shadow: 0 0 0 30px var(--color-surface) inset !important;\n}\n\n/**\n * Label\n **/\n\n._3xREbTN5pPg- {\n position: absolute;\n top: var(--field--placeholder-offset);\n z-index: var(--field--label-elevation);\n width: 100%;\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n overflow: hidden;\n color: var(--field--placeholder-color);\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n text-overflow: ellipsis;\n white-space: nowrap;\n -webkit-transform: translateY(var(--field--placeholder-transform));\n transform: translateY(var(--field--placeholder-transform));\n transition: all 100ms;\n transition: all var(--timing-quick);\n}\n\n.UIZq8hTmJVU- ._3xREbTN5pPg- {\n font-size: calc((16px * 1) * 0.75);\n font-size: calc(calc(16px * 1) * 0.75);\n font-size: var(--typography--fontSize-small);\n}\n\n.mgPacJ6Z71Y- ._3xREbTN5pPg- {\n top: var(--field--padding-top);\n -webkit-transform: translateY(0);\n transform: translateY(0);\n}\n\n.mgPacJ6Z71Y-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n top: calc(16px / 8);\n top: var(--space-smallest);\n}\n\n.o8D-H-lKfDk-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n display: none;\n}\n\n.Ku8sWS0mLew-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n top: calc(16px / 2);\n top: var(--space-small);\n}\n\n/**\n * Postfix\n **/\n\n.VtnAk1HYMMk- {\n position: absolute;\n top: 50%;\n right: calc(16px * 1);\n right: var(--space-base);\n z-index: var(--field--postfix-elevation);\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n}\n\n/**\n * Affix\n **/\n\n.uPLklxvtfJw- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0 calc(var(--field--padding-left) * -1) 0 0;\n padding: 0 var(--field--padding-right) 0 var(--field--padding-left);\n}\n\n@supports (aspect-ratio: 1/1) {\n .uPLklxvtfJw- {\n /*\n * disabling property-no-unknown here as this is a real property\n * that stylelint just doesn't know about. We may be able to remove\n * this when we update our stylelint to not care about IE11.\n */\n /* stylelint-disable-next-line property-no-unknown */\n aspect-ratio: 1/1;\n padding: 0;\n }\n}\n\n.uPLklxvtfJw-.pYqqDvv57JE- {\n margin: 0 0 0 calc(var(--field--padding-right) * -1);\n}\n\n.uPLklxvtfJw-.eI44oQpuVlk- {\n position: relative;\n z-index: var(--field--postfix-action-elevation);\n}\n\n.jO8P2iSHilM- {\n display: -ms-flexbox;\n display: flex;\n margin: 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1) 0 0;\n margin: 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1) 0 0;\n padding: 0 0 0 var(--field--padding-left);\n line-height: var(--field--value-lineHeight);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n.jO8P2iSHilM-.pYqqDvv57JE- {\n margin: 0 0 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1);\n margin: 0 0 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1);\n padding: 0 var(--field--padding-left) 0 0;\n}\n\n.UIZq8hTmJVU-:not(.o8D-H-lKfDk-) .jO8P2iSHilM- {\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n}\n\n._2GfgzNnLOSI- {\n margin-top: calc(16px / 4);\n margin-top: var(--space-smaller);\n}\n";
21
- var styles = {"wrapper":"nPGhTEEzsoU-","miniLabel":"UIZq8hTmJVU-","textarea":"mgPacJ6Z71Y-","invalid":"gJ-15M615eY-","disabled":"_1rsTLm5GwcM-","small":"o8D-H-lKfDk-","large":"Ku8sWS0mLew-","inline":"_5Hu2F3cBvng-","center":"s1WLQs6ffD8-","right":"a2r4QheWYIA-","maxLength":"KdAnXK1gClo-","inputWrapper":"iQFhpFYnz-8-","childrenWrapper":"Yo2Wi9dpa-Y-","input":"LSHPV7PwOTg-","select":"i31GQXcMz54-","label":"_3xREbTN5pPg-","postfix":"VtnAk1HYMMk-","affixIcon":"uPLklxvtfJw-","suffix":"pYqqDvv57JE-","hasAction":"eI44oQpuVlk-","affixLabel":"jO8P2iSHilM-","description":"_2GfgzNnLOSI-"};
20
+ var css_248z = ":root {\n /**\n * These `--public-field` properties are used in other components such\n * as InputGroup, therefore they must stay on :root\n **/\n --public-field--top-left-radius: var(--radius-base);\n --public-field--top-right-radius: var(--radius-base);\n --public-field--bottom-left-radius: var(--radius-base);\n --public-field--bottom-right-radius: var(--radius-base);\n}\n\n/**\n * Wrapper\n **/\n\n.nPGhTEEzsoU- {\n --field--placeholder-color: var(--color-greyBlue--light);\n --field--placeholder-offset: 50%;\n --field--placeholder-transform: -50%;\n\n --field--textAlign: left;\n\n --field--height: var(--space-largest);\n\n --field--padding-top: calc(var(--space-base) - var(--space-smallest));\n --field--padding-bottom: calc(var(--space-base) - var(--space-smallest));\n --field--padding-left: var(--space-base);\n --field--padding-right: var(--space-base);\n\n --field--value-color: var(--color-heading);\n --field--value-lineHeight: calc(var(--base-unit) * 1.25);\n\n --field--border-color: var(--color-border);\n --field--background-color: var(--color-surface);\n\n --field--base-elevation: var(--elevation-base);\n --field--label-elevation: calc(var(--field--base-elevation) + 1);\n --field--postfix-elevation: calc(var(--field--base-elevation) - 1);\n --field--postfix-action-elevation: calc(var(--field--base-elevation) + 2);\n\n display: -ms-flexbox;\n\n display: flex;\n width: 100%;\n height: calc(16px * 3);\n height: var(--field--height);\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--field--border-color);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n border-top-right-radius: calc(16px / 8);\n border-top-right-radius: var(--public-field--top-right-radius);\n border-bottom-right-radius: calc(16px / 8);\n border-bottom-right-radius: var(--public-field--bottom-right-radius);\n border-bottom-left-radius: calc(16px / 8);\n border-bottom-left-radius: var(--public-field--bottom-left-radius);\n border-top-left-radius: calc(16px / 8);\n border-top-left-radius: var(--public-field--top-left-radius);\n color: rgb(1, 41, 57);\n color: var(--field--value-color);\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--field--background-color);\n}\n\n.nPGhTEEzsoU- * {\n box-sizing: border-box;\n}\n\n.nPGhTEEzsoU-:focus-within {\n position: relative;\n z-index: var(--field--base-elevation);\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n}\n\n.UIZq8hTmJVU- {\n --field--placeholder-color: var(--color-text--secondary);\n --field--placeholder-offset: var(--space-smallest);\n --field--placeholder-transform: 0;\n --field--padding-top: calc(var(--space-base) + var(--space-smaller));\n --field--padding-bottom: var(--space-small);\n}\n\n.UIZq8hTmJVU-.Ku8sWS0mLew- {\n --field--padding-top: calc(var(--space-large) + var(--space-smaller));\n}\n\n.nPGhTEEzsoU-.mgPacJ6Z71Y- {\n --field--placeholder-offset: 0;\n --field--placeholder-transform: 0;\n height: auto;\n min-height: auto;\n}\n\n.gJ-15M615eY-,\n.gJ-15M615eY-:focus-within {\n --field--border-color: var(--color-critical);\n}\n\n._1rsTLm5GwcM- {\n --field--placeholder-color: var(--color-disabled);\n --field--value-color: var(--color-disabled);\n --field--background-color: var(--color-surface--background);\n --field--border-color: var(--color-disabled--secondary);\n}\n\n/* override iOS default styling for disabled input */\n\n._1rsTLm5GwcM- :disabled {\n -webkit-text-fill-color: var(--field--value-color);\n opacity: 1;\n}\n\n.o8D-H-lKfDk- {\n --field--padding-left: calc(var(--space-base) - var(--space-smaller));\n --field--padding-right: calc(var(--space-base) - var(--space-smaller));\n --field--padding-top: var(--space-small);\n --field--padding-bottom: var(--space-small);\n --field--height: calc(var(--space-larger) + var(--space-smaller));\n}\n\n.Ku8sWS0mLew- {\n --field--padding-left: var(--space-large);\n --field--padding-right: var(--space-large);\n --field--height: calc(var(--space-extravagant));\n}\n\n._5Hu2F3cBvng- {\n display: -ms-inline-flexbox;\n display: inline-flex;\n width: auto;\n}\n\n.s1WLQs6ffD8- {\n --field--textAlign: center;\n}\n\n.a2r4QheWYIA- {\n --field--textAlign: right;\n}\n\n/**\n * The custom property --formField-maxLength is getting defined inside the\n * component.\n */\n\n.KdAnXK1gClo- {\n width: calc(\n (16px * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n width: calc(\n (var(--base-unit) * var(--formField-maxLength)) + var(--field--padding-left) +\n var(--field--padding-right)\n );\n}\n\n/**\n * Input Wrapper\n **/\n\n.iQFhpFYnz-8- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1;\n flex: 1;\n position: relative;\n /* Ensure input stays with the rest of the element stack */\n z-index: 0;\n z-index: var(--elevation-default);\n}\n\n.Yo2Wi9dpa-Y- {\n position: relative;\n -ms-flex: 1;\n flex: 1;\n}\n\n/**\n * Input\n **/\n\n.LSHPV7PwOTg- {\n position: relative;\n z-index: var(--field--base-elevation);\n width: 100%;\n height: 100%;\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n border: none;\n border-radius: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.LSHPV7PwOTg-:focus {\n outline: none;\n}\n\n.mgPacJ6Z71Y- .LSHPV7PwOTg- {\n resize: vertical;\n}\n\n.i31GQXcMz54- .LSHPV7PwOTg- {\n z-index: var(--field--label-elevation);\n}\n\n.LSHPV7PwOTg-:-webkit-autofill,\n.LSHPV7PwOTg-:-webkit-autofill:hover,\n.LSHPV7PwOTg-:-webkit-autofill:focus,\n.LSHPV7PwOTg-:-webkit-autofill:active {\n -webkit-box-shadow: 0 0 0 30px rgba(255, 255, 255, 1) inset !important;\n -webkit-box-shadow: 0 0 0 30px var(--color-surface) inset !important;\n}\n\n/**\n * Label\n **/\n\n._3xREbTN5pPg- {\n position: absolute;\n top: var(--field--placeholder-offset);\n z-index: var(--field--label-elevation);\n width: 100%;\n padding-left: var(--field--padding-left);\n padding-right: var(--field--padding-right);\n overflow: hidden;\n color: var(--field--placeholder-color);\n line-height: var(--field--value-lineHeight);\n text-align: var(--field--textAlign);\n text-overflow: ellipsis;\n white-space: nowrap;\n -webkit-transform: translateY(var(--field--placeholder-transform));\n transform: translateY(var(--field--placeholder-transform));\n transition: all 100ms;\n transition: all var(--timing-quick);\n}\n\n.UIZq8hTmJVU- ._3xREbTN5pPg- {\n font-size: calc((16px * 1) * 0.75);\n font-size: calc(calc(16px * 1) * 0.75);\n font-size: var(--typography--fontSize-small);\n}\n\n.mgPacJ6Z71Y- ._3xREbTN5pPg- {\n /* Changes the width so that the scrollbar on the textarea doesn't get cut off */\n width: calc(100% - var(--field--padding-right));\n padding-top: var(--field--padding-top);\n /* Remove padding on right to make use of the entire width */\n padding-right: 0;\n -webkit-transform: translateY(--field--placeholder-transform);\n transform: translateY(--field--placeholder-transform);\n}\n\n.mgPacJ6Z71Y-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n padding-top: calc(16px / 8);\n padding-top: var(--space-smallest);\n background-color: var(--field--background-color);\n}\n\n.o8D-H-lKfDk-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n display: none;\n}\n\n.Ku8sWS0mLew-.UIZq8hTmJVU- ._3xREbTN5pPg- {\n padding-top: calc(16px / 2);\n padding-top: var(--space-small);\n}\n\n/**\n * Postfix\n **/\n\n.VtnAk1HYMMk- {\n position: absolute;\n top: 50%;\n right: calc(16px * 1);\n right: var(--space-base);\n z-index: var(--field--postfix-elevation);\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n}\n\n/**\n * Affix\n **/\n\n.uPLklxvtfJw- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n margin: 0 calc(var(--field--padding-left) * -1) 0 0;\n padding: 0 var(--field--padding-right) 0 var(--field--padding-left);\n}\n\n@supports (aspect-ratio: 1/1) {\n .uPLklxvtfJw- {\n /*\n * disabling property-no-unknown here as this is a real property\n * that stylelint just doesn't know about. We may be able to remove\n * this when we update our stylelint to not care about IE11.\n */\n /* stylelint-disable-next-line property-no-unknown */\n aspect-ratio: 1/1;\n padding: 0;\n }\n}\n\n.uPLklxvtfJw-.pYqqDvv57JE- {\n margin: 0 0 0 calc(var(--field--padding-right) * -1);\n}\n\n.uPLklxvtfJw-.eI44oQpuVlk- {\n position: relative;\n z-index: var(--field--postfix-action-elevation);\n}\n\n.jO8P2iSHilM- {\n display: -ms-flexbox;\n display: flex;\n margin: 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1) 0 0;\n margin: 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1) 0 0;\n padding: 0 0 0 var(--field--padding-left);\n line-height: var(--field--value-lineHeight);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n.jO8P2iSHilM-.pYqqDvv57JE- {\n margin: 0 0 0 calc((var(--field--padding-left) - calc(16px / 8)) * -1);\n margin: 0 0 0 calc((var(--field--padding-left) - var(--space-smallest)) * -1);\n padding: 0 var(--field--padding-left) 0 0;\n}\n\n.UIZq8hTmJVU-:not(.o8D-H-lKfDk-) .jO8P2iSHilM- {\n padding-top: var(--field--padding-top);\n padding-bottom: var(--field--padding-bottom);\n}\n\n._2GfgzNnLOSI- {\n margin-top: calc(16px / 4);\n margin-top: var(--space-smaller);\n}\n";
21
+ var styles = {"wrapper":"nPGhTEEzsoU-","miniLabel":"UIZq8hTmJVU-","large":"Ku8sWS0mLew-","textarea":"mgPacJ6Z71Y-","invalid":"gJ-15M615eY-","disabled":"_1rsTLm5GwcM-","small":"o8D-H-lKfDk-","inline":"_5Hu2F3cBvng-","center":"s1WLQs6ffD8-","right":"a2r4QheWYIA-","maxLength":"KdAnXK1gClo-","inputWrapper":"iQFhpFYnz-8-","childrenWrapper":"Yo2Wi9dpa-Y-","input":"LSHPV7PwOTg-","select":"i31GQXcMz54-","label":"_3xREbTN5pPg-","postfix":"VtnAk1HYMMk-","affixIcon":"uPLklxvtfJw-","suffix":"pYqqDvv57JE-","hasAction":"eI44oQpuVlk-","affixLabel":"jO8P2iSHilM-","description":"_2GfgzNnLOSI-"};
22
22
  styleInject_es.styleInject(css_248z);
23
23
 
24
24
  function AffixLabel({ label, variation = "prefix", labelRef, }) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormatFile = require('../FormatFile-cc6b058c.js');
5
+ var FormatFile = require('../FormatFile-196a73cd.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('filesize');
@@ -26,7 +26,8 @@ require('../Markdown-53a0bfda.js');
26
26
  require('react-markdown');
27
27
  require('../Text-e7ed0974.js');
28
28
  require('../Emphasis-76a10790.js');
29
- require('../Glimmer-f670c24e.js');
29
+ require('../Glimmer-a14ad7fd.js');
30
+ require('../tslib.es6-5b8768b7.js');
30
31
  require('../ProgressBar-5dfc1885.js');
31
32
 
32
33
 
@@ -6,7 +6,7 @@ var getHumanReadableFileSize = require('filesize');
6
6
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
7
  var Button = require('./Button-7698424c.js');
8
8
  var ConfirmationModal = require('./ConfirmationModal-ba91bd1d.js');
9
- var Glimmer = require('./Glimmer-f670c24e.js');
9
+ var Glimmer = require('./Glimmer-a14ad7fd.js');
10
10
  var Icon = require('./Icon-405a216c.js');
11
11
  var Typography = require('./Typography-fd6f932a.js');
12
12
  var Text = require('./Text-e7ed0974.js');
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
8
  var LightBox = require('../LightBox-b59ee23b.js');
9
- var FormatFile = require('../FormatFile-cc6b058c.js');
9
+ var FormatFile = require('../FormatFile-196a73cd.js');
10
10
  var Button = require('../Button-7698424c.js');
11
11
  require('framer-motion');
12
12
  require('react-dom');
@@ -25,7 +25,8 @@ require('../Markdown-53a0bfda.js');
25
25
  require('react-markdown');
26
26
  require('../Text-e7ed0974.js');
27
27
  require('../Emphasis-76a10790.js');
28
- require('../Glimmer-f670c24e.js');
28
+ require('../Glimmer-a14ad7fd.js');
29
+ require('../tslib.es6-5b8768b7.js');
29
30
  require('../Icon-405a216c.js');
30
31
  require('@jobber/design');
31
32
  require('../ProgressBar-5dfc1885.js');
@@ -16,6 +16,8 @@ interface GlimmerProps {
16
16
  readonly size?: Sizes;
17
17
  /**
18
18
  * Sets the shape of the glimmer.
19
+ *
20
+ * If you need a specific width, use the `width` prop.
19
21
  */
20
22
  readonly shape?: Shapes;
21
23
  /**
@@ -23,8 +25,19 @@ interface GlimmerProps {
23
25
  * the glimmer is used on smaller spaces.
24
26
  */
25
27
  readonly timing?: Timings;
28
+ /**
29
+ * Use on surfaces with dark backgrounds.
30
+ */
31
+ readonly reverseTheme?: boolean;
32
+ /**
33
+ * Adjust the width of the glimmer in px values.
34
+ */
35
+ readonly width?: number;
26
36
  }
27
37
  export declare const GLIMMER_TEST_ID = "ATL-Glimmer";
38
+ export declare const GLIMMER_HEADER_TEST_ID = "ATL-GlimmerHeader";
39
+ export declare const GLIMMER_TEXT_TEST_ID = "ATL-GlimmerText";
40
+ export declare const GLIMMER_BUTTON_TEST_ID = "ATL-GlimmerButton";
28
41
  /**
29
42
  * **Experimental component! Use at your own risk.**
30
43
  *
@@ -32,5 +45,34 @@ export declare const GLIMMER_TEST_ID = "ATL-Glimmer";
32
45
  *
33
46
  * @experimental
34
47
  */
35
- export declare function Glimmer({ size, shape, timing, }: GlimmerProps): JSX.Element;
48
+ export declare function Glimmer({ size, shape, timing, reverseTheme, width, }: GlimmerProps): JSX.Element;
49
+ export declare namespace Glimmer {
50
+ var Header: ({ level, ...props }: GlimmerHeaderProps) => JSX.Element;
51
+ var Text: ({ width, lines, ...props }: GlimmerTextProps) => JSX.Element;
52
+ var Button: ({ fullWidth, ...props }: GlimmerButtonProps) => JSX.Element;
53
+ }
54
+ interface GlimmerHeaderProps extends Omit<GlimmerProps, "shape" | "size"> {
55
+ /**
56
+ * Adjust the size of the `Glimmer.Header`.
57
+ *
58
+ * @default 3
59
+ */
60
+ readonly level?: 1 | 2 | 3 | 4 | 5;
61
+ }
62
+ interface GlimmerTextProps extends Omit<GlimmerProps, "shape" | "size"> {
63
+ /**
64
+ * Set how many lines shows up.
65
+ *
66
+ * @default 3
67
+ */
68
+ readonly lines?: 1 | 2 | 3;
69
+ }
70
+ interface GlimmerButtonProps extends Omit<GlimmerProps, "shape" | "size"> {
71
+ /**
72
+ * Allow `Glimmer.Button` to go full width.
73
+ *
74
+ * @default false
75
+ */
76
+ readonly fullWidth?: boolean;
77
+ }
36
78
  export {};
@@ -2,10 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Glimmer = require('../Glimmer-f670c24e.js');
5
+ var Glimmer = require('../Glimmer-a14ad7fd.js');
6
+ require('../tslib.es6-5b8768b7.js');
6
7
  require('react');
7
8
  require('classnames');
8
9
  require('../style-inject.es-9d2f5f4e.js');
10
+ require('../Content-a6590328.js');
9
11
 
10
12
 
11
13
 
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-5b8768b7.js');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
+ var Content = require('./Content-a6590328.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
13
+
14
+ var css_248z$3 = ".FXzzrJAf890- {\n --glimmer-background: rgba(var(--color-black--rgb) 5%);\n --glimmer-shine: rgba(var(--color-white--rgb), var(--glimmer-shine-opacity));\n --glimmer-shine-opacity: 80%;\n --duration-base: calc(var(--timing-slowest) * 4); /* 2s */\n --duration-fast: calc(var(--duration-base) / 2); /* 1s */\n\n width: 100%;\n height: 100%;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n background-color: rgba(0 0 0 5%);\n background-color: rgba(0, 0, 0 5%);\n background-color: var(--glimmer-background);\n background-image: linear-gradient(\n 90deg,\n transparent 0px,\n rgba(255, 255, 255, 0.8) calc(16px * 2),\n transparent calc(16px * 4)\n );\n background-image: linear-gradient(\n 90deg,\n transparent 0px,\n rgba(255, 255, 255, 80%) calc(16px * 2),\n transparent calc(16px * 4)\n );\n background-image: linear-gradient(\n 90deg,\n transparent 0px,\n var(--glimmer-shine) var(--space-larger),\n transparent var(--space-extravagant)\n );\n background-repeat: no-repeat;\n background-size: calc(16px * 4) 100%;\n background-size: var(--space-extravagant) 100%;\n -webkit-animation: FXzzrJAf890- 2s infinite linear;\n animation: FXzzrJAf890- 2s infinite linear;\n}@supports (color: rgb(0 0 0 / 0.5)) and (color: hsl(0 0% 0% / 0.5)) {.FXzzrJAf890- {\n --glimmer-background: rgba(var(--color-black--rgb), 5%);\n}\n}\n\n.s9bG0yRJR3A- {\n --glimmer-background: rgba(var(--color-white--rgb) 10%);\n --glimmer-shine-opacity: 25%;\n}\n\n@supports (color: rgb(0 0 0 / 0.5)) and (color: hsl(0 0% 0% / 0.5)) {\n\n.s9bG0yRJR3A- {\n --glimmer-background: rgba(var(--color-white--rgb), 10%);\n}\n}\n\n@-webkit-keyframes FXzzrJAf890- {\n 0%,\n 20% {\n background-position-x: calc((16px * 4) * -1);\n background-position-x: calc(calc(16px * 4) * -1);\n background-position-x: calc(var(--space-extravagant) * -1);\n }\n\n 100% {\n background-position-x: calc(100% + (16px * 4));\n background-position-x: calc(100% + calc(16px * 4));\n background-position-x: calc(100% + var(--space-extravagant));\n }\n}\n\n@keyframes FXzzrJAf890- {\n 0%,\n 20% {\n background-position-x: calc((16px * 4) * -1);\n background-position-x: calc(calc(16px * 4) * -1);\n background-position-x: calc(var(--space-extravagant) * -1);\n }\n\n 100% {\n background-position-x: calc(100% + (16px * 4));\n background-position-x: calc(100% + calc(16px * 4));\n background-position-x: calc(100% + var(--space-extravagant));\n }\n}\n\n.M0X0dxjIyv4- {\n width: 30%;\n max-width: 180px;\n min-width: 120px;\n}\n\n.v2Q1amzd7Ac- {\n display: inline-block;\n width: 100px;\n height: 36px;\n}\n\n._8va--lBgr38- {\n display: block;\n width: 100%;\n min-width: 100px;\n}\n";
15
+ var styles = {"glimmer":"FXzzrJAf890-","reverseTheme":"s9bG0yRJR3A-","header":"M0X0dxjIyv4-","button":"v2Q1amzd7Ac-","buttonFill":"_8va--lBgr38-"};
16
+ styleInject_es.styleInject(css_248z$3);
17
+
18
+ var css_248z$2 = ".siUUG4rZNSk- {\n height: calc(16px / 2);\n height: var(--space-small);\n}\n\n.nFuBXyrhG2Q- {\n height: calc(16px * 1);\n height: var(--space-base);\n}\n\n.oiVEoAqI-fU- {\n height: calc(16px * 1.5);\n height: var(--space-large);\n}\n\n.Tkmo6mSMI9Y- {\n height: calc(16px * 2);\n height: var(--space-larger);\n}\n\n.uVeaD3IhD6o- {\n height: calc(16px * 3);\n height: var(--space-largest);\n}\n\n._6Wak9NLJ3VQ- {\n height: 100%;\n min-width: calc(16px * 1);\n min-width: var(--space-base);\n min-height: calc(16px * 1);\n min-height: var(--space-base);\n}\n";
19
+ var sizes = {"small":"siUUG4rZNSk-","base":"nFuBXyrhG2Q-","large":"oiVEoAqI-fU-","larger":"Tkmo6mSMI9Y-","largest":"uVeaD3IhD6o-","auto":"_6Wak9NLJ3VQ-"};
20
+ styleInject_es.styleInject(css_248z$2);
21
+
22
+ var css_248z$1 = ".enoWbteryXg- {\n width: 100%;\n}\n\n._9qkwCdedX1M- {\n width: 85%;\n}\n\n.XtyJxvcJDFs- {\n width: 70%;\n}\n\n._8unQ0TS1He4-,\n.ameRMYEKfss- {\n width: auto;\n aspect-ratio: 1;\n}\n\n.ameRMYEKfss- {\n border-radius: 100%;\n border-radius: var(--radius-circle);\n}\n";
23
+ var shapes = {"rectangle":"enoWbteryXg-","rectangleShort":"_9qkwCdedX1M-","rectangleShorter":"XtyJxvcJDFs-","square":"_8unQ0TS1He4-","circle":"ameRMYEKfss-"};
24
+ styleInject_es.styleInject(css_248z$1);
25
+
26
+ var css_248z = ".hO0mZ6TeVko- {\n -webkit-animation-duration: var(--duration-base);\n animation-duration: var(--duration-base);\n}\n\n.WXi5-zF8Ll4- {\n -webkit-animation-duration: calc(var(--duration-fast));\n animation-duration: calc(var(--duration-fast));\n}\n";
27
+ var timings = {"base":"hO0mZ6TeVko-","fast":"WXi5-zF8Ll4-"};
28
+ styleInject_es.styleInject(css_248z);
29
+
30
+ const GLIMMER_TEST_ID = "ATL-Glimmer";
31
+ const GLIMMER_HEADER_TEST_ID = "ATL-GlimmerHeader";
32
+ const GLIMMER_TEXT_TEST_ID = "ATL-GlimmerText";
33
+ const GLIMMER_BUTTON_TEST_ID = "ATL-GlimmerButton";
34
+ /**
35
+ * **Experimental component! Use at your own risk.**
36
+ *
37
+ * Foundational component used to build loading states such as Skeleton UI
38
+ *
39
+ * @experimental
40
+ */
41
+ function Glimmer({ size = "base", shape = "rectangle", timing = "base", reverseTheme = false, width, }) {
42
+ const className = classnames__default["default"](styles.glimmer, sizes[size], shapes[shape], timings[timing], { [styles.reverseTheme]: reverseTheme });
43
+ return (React__default["default"].createElement("div", { "aria-busy": "true", className: className, "data-testid": GLIMMER_TEST_ID, style: { width } }));
44
+ }
45
+ Glimmer.Header = function GlimmerHeader(_a) {
46
+ var { level = 3 } = _a, props = tslib_es6.__rest(_a, ["level"]);
47
+ const headerSize = {
48
+ 1: "largest",
49
+ 2: "larger",
50
+ 3: "large",
51
+ 4: "base",
52
+ 5: "small",
53
+ };
54
+ return (React__default["default"].createElement("div", { className: styles.header, "data-testid": GLIMMER_HEADER_TEST_ID },
55
+ React__default["default"].createElement(Glimmer, Object.assign({ size: headerSize[level] }, props))));
56
+ };
57
+ Glimmer.Text = function GlimmerText(_a) {
58
+ var { width, lines = 3 } = _a, props = tslib_es6.__rest(_a, ["width", "lines"]);
59
+ const children = [
60
+ React__default["default"].createElement(Glimmer, Object.assign({ key: "1", size: "small", shape: "rectangleShort" }, props)),
61
+ React__default["default"].createElement(Glimmer, Object.assign({ key: "2", size: "small" }, props)),
62
+ React__default["default"].createElement(Glimmer, Object.assign({ key: "3", size: "small", shape: "rectangleShorter" }, props)),
63
+ ].slice(0, lines);
64
+ return (React__default["default"].createElement("div", { style: { width }, "data-testid": GLIMMER_TEXT_TEST_ID },
65
+ React__default["default"].createElement(Content.Content, { spacing: "small" }, children)));
66
+ };
67
+ Glimmer.Button = function GlimmerButton(_a) {
68
+ var { fullWidth = false } = _a, props = tslib_es6.__rest(_a, ["fullWidth"]);
69
+ const buttonClassNames = classnames__default["default"](styles.button, {
70
+ [styles.buttonFill]: fullWidth,
71
+ });
72
+ return (React__default["default"].createElement("div", { className: buttonClassNames, "data-testid": GLIMMER_BUTTON_TEST_ID },
73
+ React__default["default"].createElement(Glimmer, Object.assign({}, props, { size: "auto" }))));
74
+ };
75
+
76
+ exports.GLIMMER_TEST_ID = GLIMMER_TEST_ID;
77
+ exports.Glimmer = Glimmer;
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var lodash = require('lodash');
5
+ var omit = require('lodash/omit');
6
6
  var React = require('react');
7
- var FormField = require('../FormField-c2bc7144.js');
8
- var DatePicker = require('../DatePicker-98f03314.js');
7
+ var FormField = require('../FormField-c7047a5f.js');
8
+ var DatePicker = require('../DatePicker-38b0c40b.js');
9
9
  require('../tslib.es6-5b8768b7.js');
10
10
  require('uuid');
11
11
  require('react-hook-form');
@@ -25,6 +25,7 @@ require('@jobber/hooks/useRefocusOnActivator');
25
25
 
26
26
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
27
27
 
28
+ var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
28
29
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
30
 
30
31
  function InputDate(inputProps) {
@@ -32,7 +33,7 @@ function InputDate(inputProps) {
32
33
  return (React__default["default"].createElement(DatePicker.DatePicker, { selected: inputProps.value, onChange: inputProps.onChange, disabled: inputProps.disabled, readonly: inputProps.readonly, fullWidth: !inputProps.inline, minDate: inputProps.minDate, maxDate: inputProps.maxDate, smartAutofocus: false, activator: activatorProps => {
33
34
  var _a;
34
35
  const { onChange, onClick, value } = activatorProps;
35
- const newActivatorProps = lodash.omit(activatorProps, ["activator"]);
36
+ const newActivatorProps = omit__default["default"](activatorProps, ["activator"]);
36
37
  const suffix = Object.assign({ icon: "calendar" }, (onClick && {
37
38
  onClick: onClick,
38
39
  ariaLabel: "Show calendar",
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-c2bc7144.js');
6
+ var FormField = require('../FormField-c7047a5f.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-c2bc7144.js');
6
+ var FormField = require('../FormField-c7047a5f.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
@@ -24,6 +24,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
24
24
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
25
 
26
26
  function InputNumberInternal(props, ref) {
27
+ var _a;
27
28
  const inputRef = React.createRef();
28
29
  React.useImperativeHandle(ref, () => ({
29
30
  blur: () => {
@@ -39,7 +40,19 @@ function InputNumberInternal(props, ref) {
39
40
  }
40
41
  },
41
42
  }));
42
- return (React__default["default"].createElement(FormField.FormField, Object.assign({}, props, { type: "number", inputRef: inputRef, onChange: handleChange, validations: Object.assign(Object.assign({}, props.validations), { validate: getOverLimitMessage }) })));
43
+ return (React__default["default"].createElement(FormField.FormField, Object.assign({}, props, { type: "number", inputRef: inputRef, onChange: handleChange, validations: Object.assign(Object.assign({}, props.validations), { validate: customValidators((_a = props.validations) === null || _a === void 0 ? void 0 : _a.validate) }) })));
44
+ function customValidators(validators) {
45
+ if (validators == null) {
46
+ return getOverLimitMessage;
47
+ }
48
+ else if (typeof validators === "function") {
49
+ return {
50
+ customValidation: validators,
51
+ getOverLimitMessage,
52
+ };
53
+ }
54
+ return Object.assign(Object.assign({}, validators), { getOverLimitMessage });
55
+ }
43
56
  function handleChange(newValue) {
44
57
  props.onChange && props.onChange(newValue);
45
58
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-c2bc7144.js');
6
+ var FormField = require('../FormField-c7047a5f.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
@@ -6,7 +6,7 @@ var tslib_es6 = require('../tslib.es6-5b8768b7.js');
6
6
  var React = require('react');
7
7
  var reactHookForm = require('react-hook-form');
8
8
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
9
- var FormField = require('../FormField-c2bc7144.js');
9
+ var FormField = require('../FormField-c7047a5f.js');
10
10
  require('uuid');
11
11
  require('classnames');
12
12
  require('../Button-7698424c.js');
@@ -11,7 +11,7 @@ export interface InputTextRef {
11
11
  export declare const InputText: React.ForwardRefExoticComponent<({
12
12
  readonly multiline: true;
13
13
  readonly rows?: number | RowRange | undefined;
14
- readonly align?: "center" | "right" | undefined;
14
+ readonly align?: "right" | "center" | undefined;
15
15
  readonly description?: string | undefined;
16
16
  readonly disabled?: boolean | undefined;
17
17
  readonly invalid?: boolean | undefined;
@@ -23,10 +23,10 @@ export declare const InputText: React.ForwardRefExoticComponent<({
23
23
  readonly placeholder?: string | undefined;
24
24
  readonly size?: "large" | "small" | undefined;
25
25
  readonly value?: string | number | Date | undefined;
26
- readonly defaultValue?: string | Date | undefined;
27
- readonly prefix?: import("../FormField").Affix | undefined;
28
26
  onFocus?: (() => void) | undefined;
29
27
  onBlur?: (() => void) | undefined;
28
+ readonly defaultValue?: string | Date | undefined;
29
+ readonly prefix?: import("../FormField").Affix | undefined;
30
30
  readonly autocomplete?: boolean | import("../FormField").AutocompleteTypes | undefined;
31
31
  inputRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement> | undefined;
32
32
  readonly keyboard?: "numeric" | "decimal" | undefined;
@@ -48,7 +48,7 @@ export declare const InputText: React.ForwardRefExoticComponent<({
48
48
  } | {
49
49
  rows?: undefined;
50
50
  multiline?: boolean | undefined;
51
- readonly align?: "center" | "right" | undefined;
51
+ readonly align?: "right" | "center" | undefined;
52
52
  readonly description?: string | undefined;
53
53
  readonly disabled?: boolean | undefined;
54
54
  readonly invalid?: boolean | undefined;
@@ -60,10 +60,10 @@ export declare const InputText: React.ForwardRefExoticComponent<({
60
60
  readonly placeholder?: string | undefined;
61
61
  readonly size?: "large" | "small" | undefined;
62
62
  readonly value?: string | number | Date | undefined;
63
- readonly defaultValue?: string | Date | undefined;
64
- readonly prefix?: import("../FormField").Affix | undefined;
65
63
  onFocus?: (() => void) | undefined;
66
64
  onBlur?: (() => void) | undefined;
65
+ readonly defaultValue?: string | Date | undefined;
66
+ readonly prefix?: import("../FormField").Affix | undefined;
67
67
  readonly autocomplete?: boolean | import("../FormField").AutocompleteTypes | undefined;
68
68
  inputRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement> | undefined;
69
69
  readonly keyboard?: "numeric" | "decimal" | undefined;
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InputText = require('../InputText-a8a571c1.js');
5
+ var InputText = require('../InputText-192749f1.js');
6
6
  require('react');
7
- require('../FormField-c2bc7144.js');
7
+ require('../FormField-c7047a5f.js');
8
8
  require('../tslib.es6-5b8768b7.js');
9
9
  require('uuid');
10
10
  require('react-hook-form');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var FormField = require('./FormField-c2bc7144.js');
4
+ var FormField = require('./FormField-c7047a5f.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -28,6 +28,11 @@ function InputTextInternal(props, ref) {
28
28
  }
29
29
  },
30
30
  }));
31
+ React.useLayoutEffect(() => {
32
+ if (inputRef && inputRef.current instanceof HTMLTextAreaElement) {
33
+ resize(inputRef.current);
34
+ }
35
+ }, [inputRef.current]);
31
36
  return (React__default["default"].createElement(FormField.FormField, Object.assign({}, props, { type: props.multiline ? "textarea" : "text", inputRef: inputRef, actionsRef: actionsRef, onChange: handleChange, rows: rowRange.min })));
32
37
  function handleChange(newValue) {
33
38
  props.onChange && props.onChange(newValue);
@@ -6,7 +6,7 @@ var tslib_es6 = require('../tslib.es6-5b8768b7.js');
6
6
  var React = require('react');
7
7
  var debounce = require('lodash/debounce');
8
8
  var temporal = require('@std-proposal/temporal');
9
- var FormField = require('../FormField-c2bc7144.js');
9
+ var FormField = require('../FormField-c7047a5f.js');
10
10
  require('uuid');
11
11
  require('react-hook-form');
12
12
  require('../style-inject.es-9d2f5f4e.js');
@@ -4,7 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
- var lodash = require('lodash');
7
+ var get = require('lodash/get');
8
+ var groupBy = require('lodash/groupBy');
8
9
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
9
10
  var Icon = require('../Icon-405a216c.js');
10
11
  var Text = require('../Text-e7ed0974.js');
@@ -20,6 +21,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
20
21
 
21
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
23
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
24
+ var get__default = /*#__PURE__*/_interopDefaultLegacy(get);
25
+ var groupBy__default = /*#__PURE__*/_interopDefaultLegacy(groupBy);
23
26
 
24
27
  var css_248z$2 = ".u853Ql4cj50- {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.ig9l6LfEgwo-:not(:last-child) {\n border-bottom: calc(16px / 16) solid rgb(225, 225, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n}\n\n.KIYTQdrufzY- {\n position: relative;\n}\n\n.KIYTQdrufzY-:not(:last-child) .u853Ql4cj50- {\n padding-bottom: calc(16px * 1.5);\n padding-bottom: var(--space-large);\n}\n";
25
28
  var styles$1 = {"list":"u853Ql4cj50-","item":"ig9l6LfEgwo-","section":"KIYTQdrufzY-"};
@@ -76,7 +79,7 @@ function DisplayList({ items }) {
76
79
  React__default["default"].createElement(ListItem, Object.assign({}, item)))))));
77
80
  }
78
81
  function SectionedList({ items }) {
79
- const sectionedItems = lodash.groupBy(items, item => lodash.get(item, "section", "Other"));
82
+ const sectionedItems = groupBy__default["default"](items, item => get__default["default"](item, "section", "Other"));
80
83
  const sectionHeaderClassNames = classnames__default["default"](sectionStyles.sectionHeader);
81
84
  return (React__default["default"].createElement("ul", { className: styles$1.list }, Object.keys(sectionedItems).map(sectionName => (React__default["default"].createElement("li", { key: sectionName, className: styles$1.section },
82
85
  React__default["default"].createElement("div", { className: sectionHeaderClassNames },
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var FormField = require('./FormField-c2bc7144.js');
4
+ var FormField = require('./FormField-c7047a5f.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Option = require('../Option-2ce89a73.js');
5
+ var Option = require('../Option-de240090.js');
6
6
  require('react');
7
- require('../FormField-c2bc7144.js');
7
+ require('../FormField-c7047a5f.js');
8
8
  require('../tslib.es6-5b8768b7.js');
9
9
  require('uuid');
10
10
  require('react-hook-form');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "4.20.0",
3
+ "version": "4.20.1-JOB-70335.35+2bff4b56",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,9 +19,9 @@
19
19
  "dist/*"
20
20
  ],
21
21
  "dependencies": {
22
- "@jobber/design": "^0.41.3",
23
- "@jobber/formatters": "*",
24
- "@jobber/hooks": "^2.1.3",
22
+ "@jobber/design": "^0.42.0",
23
+ "@jobber/formatters": "^0.2.2",
24
+ "@jobber/hooks": "^2.1.4",
25
25
  "@popperjs/core": "^2.0.6",
26
26
  "@std-proposal/temporal": "0.0.1",
27
27
  "@tanstack/react-table": "8.5.13",
@@ -83,5 +83,5 @@
83
83
  "> 1%",
84
84
  "IE 10"
85
85
  ],
86
- "gitHead": "a2d9a23c4fc35753b4113926afdd4ddadbf76b97"
86
+ "gitHead": "2bff4b56446274b6f16af0e98a8e2ad727377210"
87
87
  }
package/rollup.config.js CHANGED
@@ -59,9 +59,12 @@ export default {
59
59
  "color",
60
60
  "framer-motion",
61
61
  "classnames",
62
- "lodash",
63
62
  "uuid",
64
63
  "lodash/debounce",
64
+ "lodash/get",
65
+ "lodash/groupBy",
66
+ "lodash/omit",
67
+ "lodash/sortBy",
65
68
  "@std-proposal/temporal",
66
69
  "@use-it/event-listener",
67
70
  "@jobber/design",
@@ -1,42 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var classnames = require('classnames');
5
- var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
11
-
12
- var css_248z$3 = ".FXzzrJAf890- {\n --duration-base: calc(var(--timing-slowest) * 4); /* 2s */\n --duration-fast: calc(var(--duration-base) / 2); /* 1s */\n\n width: 100%;\n height: 100%;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n background-color: rgb(244, 244, 244);\n background-color: var(--color-grey--lightest);\n background-image: linear-gradient(\n 90deg,\n rgb(244, 244, 244) 0px,\n rgba(255, 255, 255, 1) calc(16px * 2),\n rgb(244, 244, 244) calc(16px * 4)\n );\n background-image: linear-gradient(\n 90deg,\n var(--color-grey--lightest) 0px,\n var(--color-white) var(--space-larger),\n var(--color-grey--lightest) var(--space-extravagant)\n );\n background-repeat: no-repeat;\n background-size: calc(16px * 4) 100%;\n background-size: var(--space-extravagant) 100%;\n -webkit-animation: FXzzrJAf890- 2s infinite linear;\n animation: FXzzrJAf890- 2s infinite linear;\n}\n\n@-webkit-keyframes FXzzrJAf890- {\n 0%,\n 20% {\n background-position: calc((16px * 4) * -1);\n background-position: calc(calc(16px * 4) * -1);\n background-position: calc(var(--space-extravagant) * -1);\n }\n\n 100% {\n background-position: calc(100% + (16px * 4));\n background-position: calc(100% + calc(16px * 4));\n background-position: calc(100% + var(--space-extravagant));\n }\n}\n\n@keyframes FXzzrJAf890- {\n 0%,\n 20% {\n background-position: calc((16px * 4) * -1);\n background-position: calc(calc(16px * 4) * -1);\n background-position: calc(var(--space-extravagant) * -1);\n }\n\n 100% {\n background-position: calc(100% + (16px * 4));\n background-position: calc(100% + calc(16px * 4));\n background-position: calc(100% + var(--space-extravagant));\n }\n}\n";
13
- var styles = {"glimmer":"FXzzrJAf890-"};
14
- styleInject_es.styleInject(css_248z$3);
15
-
16
- var css_248z$2 = ".siUUG4rZNSk- {\n height: calc(16px / 2);\n height: var(--space-small);\n}\n\n.nFuBXyrhG2Q- {\n height: calc(16px * 1);\n height: var(--space-base);\n}\n\n.oiVEoAqI-fU- {\n height: calc(16px * 1.5);\n height: var(--space-large);\n}\n\n.Tkmo6mSMI9Y- {\n height: calc(16px * 2);\n height: var(--space-larger);\n}\n\n.uVeaD3IhD6o- {\n height: calc(16px * 3);\n height: var(--space-largest);\n}\n\n._6Wak9NLJ3VQ- {\n height: 100%;\n min-width: calc(16px * 1);\n min-width: var(--space-base);\n min-height: calc(16px * 1);\n min-height: var(--space-base);\n}\n";
17
- var sizes = {"small":"siUUG4rZNSk-","base":"nFuBXyrhG2Q-","large":"oiVEoAqI-fU-","larger":"Tkmo6mSMI9Y-","largest":"uVeaD3IhD6o-","auto":"_6Wak9NLJ3VQ-"};
18
- styleInject_es.styleInject(css_248z$2);
19
-
20
- var css_248z$1 = ".enoWbteryXg- {\n width: 100%;\n}\n\n._9qkwCdedX1M- {\n width: 85%;\n}\n\n.XtyJxvcJDFs- {\n width: 70%;\n}\n\n._8unQ0TS1He4-,\n.ameRMYEKfss- {\n width: auto;\n aspect-ratio: 1;\n}\n\n.ameRMYEKfss- {\n border-radius: 100%;\n border-radius: var(--radius-circle);\n}\n";
21
- var shapes = {"rectangle":"enoWbteryXg-","rectangleShort":"_9qkwCdedX1M-","rectangleShorter":"XtyJxvcJDFs-","square":"_8unQ0TS1He4-","circle":"ameRMYEKfss-"};
22
- styleInject_es.styleInject(css_248z$1);
23
-
24
- var css_248z = ".hO0mZ6TeVko- {\n -webkit-animation-duration: var(--duration-base);\n animation-duration: var(--duration-base);\n}\n\n.WXi5-zF8Ll4- {\n -webkit-animation-duration: calc(var(--duration-fast));\n animation-duration: calc(var(--duration-fast));\n}\n";
25
- var timings = {"base":"hO0mZ6TeVko-","fast":"WXi5-zF8Ll4-"};
26
- styleInject_es.styleInject(css_248z);
27
-
28
- const GLIMMER_TEST_ID = "ATL-Glimmer";
29
- /**
30
- * **Experimental component! Use at your own risk.**
31
- *
32
- * Foundational component used to build loading states such as Skeleton UI
33
- *
34
- * @experimental
35
- */
36
- function Glimmer({ size = "base", shape = "rectangle", timing = "base", }) {
37
- const className = classnames__default["default"](styles.glimmer, sizes[size], shapes[shape], timings[timing]);
38
- return (React__default["default"].createElement("div", { "aria-busy": "true", className: className, "data-testid": GLIMMER_TEST_ID }));
39
- }
40
-
41
- exports.GLIMMER_TEST_ID = GLIMMER_TEST_ID;
42
- exports.Glimmer = Glimmer;