@jobber/components 3.5.10 → 4.0.1-pre.4

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 (127) hide show
  1. package/dist/Autocomplete/Autocomplete.d.ts +1 -1
  2. package/dist/Autocomplete/Option.d.ts +2 -2
  3. package/dist/Autocomplete/index.js +51 -67
  4. package/dist/Avatar/Avatar.d.ts +2 -2
  5. package/dist/Avatar/index.js +2 -2
  6. package/dist/{Avatar-cfd04e86.js → Avatar-89cfd0a6.js} +14 -18
  7. package/dist/Banner/Banner.d.ts +1 -1
  8. package/dist/Banner/index.js +15 -19
  9. package/dist/Button/Button.d.ts +1 -1
  10. package/dist/Button/index.js +3 -4
  11. package/dist/{Button-cd30df0f.js → Button-16e043ec.js} +21 -24
  12. package/dist/ButtonDismiss/index.js +4 -5
  13. package/dist/{ButtonDismiss-a9590195.js → ButtonDismiss-3fb1eaf9.js} +2 -3
  14. package/dist/Card/Card.d.ts +1 -1
  15. package/dist/Card/index.js +6 -7
  16. package/dist/Card/types.d.ts +1 -1
  17. package/dist/{Card-b9f8d6f3.js → Card-edab9c3c.js} +18 -22
  18. package/dist/Checkbox/Checkbox.d.ts +1 -1
  19. package/dist/Checkbox/index.js +4 -5
  20. package/dist/{Checkbox-5103d2b9.js → Checkbox-c1efc2f6.js} +10 -12
  21. package/dist/Chips/ChipsTypes.d.ts +1 -1
  22. package/dist/Chips/InternalChipDismissible/InternalChipDismissibleTypes.d.ts +1 -1
  23. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissible.d.ts +1 -1
  24. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissibleInput.d.ts +3 -3
  25. package/dist/Chips/InternalChipMultiSelect.d.ts +1 -1
  26. package/dist/Chips/InternalChipSingleSelect.d.ts +1 -1
  27. package/dist/Chips/index.js +165 -185
  28. package/dist/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  29. package/dist/ConfirmationModal/index.js +11 -12
  30. package/dist/{ConfirmationModal-e95f46d7.js → ConfirmationModal-6a7beee2.js} +28 -31
  31. package/dist/Content/index.js +1 -1
  32. package/dist/{Content-18de5fbb.js → Content-05df8f7f.js} +2 -3
  33. package/dist/Countdown/Countdown.d.ts +1 -1
  34. package/dist/Countdown/computeTimeUnit.d.ts +1 -1
  35. package/dist/Countdown/index.js +15 -18
  36. package/dist/DataDump/index.js +9 -11
  37. package/dist/DataTable/Footer.d.ts +1 -1
  38. package/dist/DataTable/createTableSettings.d.ts +2 -2
  39. package/dist/DataTable/index.js +74 -106
  40. package/dist/DataTable/test-utilities/helpers.d.ts +1 -1
  41. package/dist/DataTable/types.d.ts +2 -2
  42. package/dist/DatePicker/DatePicker.d.ts +1 -1
  43. package/dist/DatePicker/index.js +4 -5
  44. package/dist/{DatePicker-7c67e8d2.js → DatePicker-af21ae91.js} +31 -36
  45. package/dist/DescriptionList/index.js +5 -10
  46. package/dist/Disclosure/index.js +8 -10
  47. package/dist/Divider/index.js +8 -10
  48. package/dist/Drawer/index.js +10 -14
  49. package/dist/Emphasis/index.js +2 -3
  50. package/dist/{Emphasis-75a3f411.js → Emphasis-23dc2a0a.js} +4 -6
  51. package/dist/FeatureSwitch/index.js +15 -17
  52. package/dist/Form/index.js +23 -33
  53. package/dist/FormField/FormFieldTypes.d.ts +2 -2
  54. package/dist/FormField/index.js +8 -8
  55. package/dist/{FormField-76068c0b.js → FormField-1e444bb6.js} +68 -76
  56. package/dist/FormatDate/index.js +2 -3
  57. package/dist/FormatEmail/index.js +2 -3
  58. package/dist/FormatFile/index.js +13 -14
  59. package/dist/{FormatFile-18e8a54a.js → FormatFile-3512f838.js} +33 -40
  60. package/dist/FormatRelativeDateTime/index.js +5 -6
  61. package/dist/FormatTime/index.js +6 -7
  62. package/dist/Gallery/GalleryTypes.d.ts +2 -2
  63. package/dist/Gallery/index.js +31 -33
  64. package/dist/Heading/index.js +2 -3
  65. package/dist/{Heading-a9a66964.js → Heading-7b203f7f.js} +4 -6
  66. package/dist/Icon/index.js +1 -1
  67. package/dist/{Icon-d5ad1a6d.js → Icon-405a216c.js} +7 -8
  68. package/dist/InlineLabel/InlineLabel.d.ts +1 -1
  69. package/dist/InlineLabel/index.js +4 -6
  70. package/dist/InputAvatar/index.js +15 -20
  71. package/dist/InputDate/index.js +15 -15
  72. package/dist/InputEmail/InputEmail.d.ts +1 -1
  73. package/dist/InputEmail/index.js +12 -12
  74. package/dist/InputFile/index.js +6 -6
  75. package/dist/{InputFile-e108a7f8.js → InputFile-5e0ed2b5.js} +48 -62
  76. package/dist/InputGroup/index.js +4 -5
  77. package/dist/InputNumber/index.js +22 -22
  78. package/dist/InputPassword/index.js +12 -12
  79. package/dist/InputText/InputText.d.ts +1 -1
  80. package/dist/InputText/index.js +9 -9
  81. package/dist/{InputText-523d0e48.js → InputText-12b112a9.js} +23 -24
  82. package/dist/InputTime/index.js +27 -27
  83. package/dist/InputValidation/index.js +4 -5
  84. package/dist/{InputValidation-06a8a7ba.js → InputValidation-97dd0dcf.js} +7 -8
  85. package/dist/LightBox/index.js +5 -6
  86. package/dist/{LightBox-1ad62669.js → LightBox-dd1afa97.js} +22 -26
  87. package/dist/List/index.js +26 -32
  88. package/dist/Markdown/index.js +6 -7
  89. package/dist/{Markdown-b53e0308.js → Markdown-be2dcd0c.js} +12 -18
  90. package/dist/Menu/index.js +4 -5
  91. package/dist/{Menu-826cfb89.js → Menu-d6a7d17b.js} +31 -36
  92. package/dist/Modal/index.js +6 -7
  93. package/dist/{Modal-cc3bd7bf.js → Modal-757e83fd.js} +13 -17
  94. package/dist/MultiSelect/index.js +53 -60
  95. package/dist/MultiSelect/types.d.ts +1 -1
  96. package/dist/{Option-fdf21181.js → Option-13150f4a.js} +3 -5
  97. package/dist/Page/Page.d.ts +1 -1
  98. package/dist/Page/index.js +21 -24
  99. package/dist/Popover/index.js +11 -13
  100. package/dist/ProgressBar/index.js +1 -1
  101. package/dist/{ProgressBar-e9a49129.js → ProgressBar-f028b159.js} +3 -4
  102. package/dist/RadioGroup/RadioOption.d.ts +2 -2
  103. package/dist/RadioGroup/index.js +9 -13
  104. package/dist/RecurringSelect/types.d.ts +2 -2
  105. package/dist/Select/Select.d.ts +1 -1
  106. package/dist/Select/index.js +9 -9
  107. package/dist/Spinner/index.js +1 -1
  108. package/dist/{Spinner-e4e9c8eb.js → Spinner-ae4c8a85.js} +5 -7
  109. package/dist/StatusLabel/StatusLabel.d.ts +1 -1
  110. package/dist/StatusLabel/index.js +6 -9
  111. package/dist/Switch/index.js +2 -3
  112. package/dist/{Switch-f03b70fc.js → Switch-7ac32f7b.js} +12 -16
  113. package/dist/Table/index.js +9 -17
  114. package/dist/Tabs/index.js +28 -34
  115. package/dist/Text/index.js +2 -3
  116. package/dist/{Text-e012fb46.js → Text-7ce00adb.js} +4 -5
  117. package/dist/Toast/Toast.d.ts +2 -2
  118. package/dist/Toast/index.js +42 -40
  119. package/dist/Tooltip/index.js +3 -4
  120. package/dist/Tooltip/useTooltipPositioning.d.ts +1 -1
  121. package/dist/{Tooltip-041feb00.js → Tooltip-1090a43d.js} +25 -28
  122. package/dist/Typography/Typography.d.ts +1 -1
  123. package/dist/Typography/index.js +1 -2
  124. package/dist/{Typography-fbe0ed6e.js → Typography-9262511f.js} +5 -7
  125. package/dist/tslib.es6-efe27175.js +38 -0
  126. package/package.json +8 -8
  127. package/dist/tslib.es6-5b50eb8e.js +0 -103
@@ -13,13 +13,11 @@ var css = "._2Vxgrs4a5osOKmp9b0i7ud {\n width: var(--space-larger);\n height:
13
13
  var styles = {"spinner":"_2Vxgrs4a5osOKmp9b0i7ud","animationSpin":"_3bn_eCsItKh7HS1dEQIERv","small":"_3uMtJrFH9VsqhWvHLkG1SQ","inline-left":"_20N4X28gVsanpe8jhUzYxj","inline-right":"_20N4X28gVsanpe8jhUzYxj","inline":"_20N4X28gVsanpe8jhUzYxj"};
14
14
  styleInject_es.styleInject(css);
15
15
 
16
- function Spinner(_a) {
17
- var _b;
18
- var _c = _a.size, size = _c === void 0 ? "base" : _c, inline = _a.inline;
19
- var spinnerStyles = classnames__default["default"](styles.spinner, (_b = {},
20
- _b[styles.small] = size === "small",
21
- _b[styles.inline] = inline,
22
- _b));
16
+ function Spinner({ size = "base", inline }) {
17
+ const spinnerStyles = classnames__default["default"](styles.spinner, {
18
+ [styles.small]: size === "small",
19
+ [styles.inline]: inline,
20
+ });
23
21
  return (React__default["default"].createElement("div", { className: spinnerStyles, role: "alert", "aria-busy": true, "aria-label": "loading" }));
24
22
  }
25
23
 
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare type StatusType = "success" | "warning" | "critical" | "inactive" | "informative";
2
+ export type StatusType = "success" | "warning" | "critical" | "inactive" | "informative";
3
3
  export interface StatusLabelType {
4
4
  readonly statusLabel: string;
5
5
  readonly statusType?: StatusType;
@@ -5,9 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
8
- var Text = require('../Text-e012fb46.js');
9
- require('../Typography-fbe0ed6e.js');
10
- require('../tslib.es6-5b50eb8e.js');
8
+ var Text = require('../Text-7ce00adb.js');
9
+ require('../Typography-9262511f.js');
11
10
 
12
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
12
 
@@ -18,16 +17,14 @@ var css = ":root {\n --statusLabel-icon-diameter: calc(var(--space-base) - var(
18
17
  var styles = {"statusLabelRow":"NUUO4mR41Qn5Pf0pzjhZe","statusIndicator":"_2XU8xQD0q92o9P2Ej5EdwP","labelTextEndAligned":"_3eQHL9hZlneMfEoGaF0dDv"};
19
18
  styleInject_es.styleInject(css);
20
19
 
21
- function StatusLabel(_a) {
22
- var label = _a.label, _b = _a.alignment, alignment = _b === void 0 ? "start" : _b, _c = _a.status, status = _c === void 0 ? "inactive" : _c;
23
- var containerClassNames = classnames__default["default"](styles.statusLabelRow, alignment === "end" && styles.labelTextEndAligned);
20
+ function StatusLabel({ label, alignment = "start", status = "inactive", }) {
21
+ const containerClassNames = classnames__default["default"](styles.statusLabelRow, alignment === "end" && styles.labelTextEndAligned);
24
22
  return (React__default["default"].createElement("div", { role: "status", className: containerClassNames },
25
23
  React__default["default"].createElement(StatusLabelIcon, { status: status }),
26
24
  React__default["default"].createElement(Text.Text, { size: "small", align: alignment }, label)));
27
25
  }
28
- function StatusLabelIcon(_a) {
29
- var status = _a.status;
30
- return (React__default["default"].createElement("div", { style: { backgroundColor: "var(--color-" + status }, className: styles.statusIndicator }));
26
+ function StatusLabelIcon({ status }) {
27
+ return (React__default["default"].createElement("div", { style: { backgroundColor: `var(--color-${status}` }, className: styles.statusIndicator }));
31
28
  }
32
29
 
33
30
  exports.StatusLabel = StatusLabel;
@@ -2,12 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Switch = require('../Switch-f03b70fc.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var Switch = require('../Switch-7ac32f7b.js');
7
6
  require('react');
8
7
  require('classnames');
9
8
  require('../style-inject.es-dcee06b6.js');
10
- require('../Typography-fbe0ed6e.js');
9
+ require('../Typography-9262511f.js');
11
10
 
12
11
 
13
12
 
@@ -1,10 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
3
  var React = require('react');
5
4
  var classnames = require('classnames');
6
5
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
7
- var Typography = require('./Typography-fbe0ed6e.js');
6
+ var Typography = require('./Typography-9262511f.js');
8
7
 
9
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
9
 
@@ -15,25 +14,23 @@ var css = ":root {\n --switch--pipSize: calc(var(--space-base) * 1.875);\n --s
15
14
  var styles = {"track":"_1TYiN0KipS0HguS_tKWfjN","isChecked":"_2FTUgoy1jHHC6Zp3jZiFem","toggle":"_17OASjesGo_G7ojFH6iMvI","label":"_2QoMYBKIeOc4fkTMpeJ-0Y","pip":"JsY6cDqLe8d_25vumz97W","disabled":"_3uDSBuknYCWotuDOq6jYUD"};
16
15
  styleInject_es.styleInject(css);
17
16
 
18
- function Switch(_a) {
19
- var _b;
20
- var providedValue = _a.value, ariaLabel = _a.ariaLabel, name = _a.name, disabled = _a.disabled, onChange = _a.onChange;
21
- var _c = tslib_es6.__read(React.useState(false), 2), statefulValue = _c[0], setValue = _c[1];
22
- var value = providedValue != undefined ? providedValue : statefulValue;
23
- var toggleSwitch = function () {
17
+ function Switch({ value: providedValue, ariaLabel, name, disabled, onChange, }) {
18
+ const [statefulValue, setValue] = React.useState(false);
19
+ const value = providedValue != undefined ? providedValue : statefulValue;
20
+ const toggleSwitch = () => {
24
21
  if (disabled) {
25
22
  return;
26
23
  }
27
- var newValue = !value;
24
+ const newValue = !value;
28
25
  onChange && onChange(newValue);
29
26
  if (providedValue == undefined) {
30
27
  setValue(newValue);
31
28
  }
32
29
  };
33
- var className = classnames__default["default"](styles.track, (_b = {},
34
- _b[styles.isChecked] = value,
35
- _b[styles.disabled] = disabled,
36
- _b));
30
+ const className = classnames__default["default"](styles.track, {
31
+ [styles.isChecked]: value,
32
+ [styles.disabled]: disabled,
33
+ });
37
34
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
38
35
  React__default["default"].createElement("button", { id: name, type: "button", role: "switch", "aria-checked": value, "aria-label": ariaLabel, className: className, onClick: toggleSwitch, disabled: disabled },
39
36
  React__default["default"].createElement("span", { className: styles.toggle },
@@ -42,9 +39,8 @@ function Switch(_a) {
42
39
  React__default["default"].createElement(Label, { as: "Off", disabled: disabled }))),
43
40
  React__default["default"].createElement("input", { name: name, type: "hidden", value: String(value) })));
44
41
  }
45
- function Label(_a) {
46
- var as = _a.as, disabled = _a.disabled;
47
- var getTextColor = function () {
42
+ function Label({ as, disabled }) {
43
+ const getTextColor = () => {
48
44
  if (disabled) {
49
45
  return "grey";
50
46
  }
@@ -16,13 +16,11 @@ var css$1 = ".gByR7gRALLoMeErFwXopX {\n --border-color: var(--color-border);\n
16
16
  var styles$1 = {"table":"gByR7gRALLoMeErFwXopX","row":"_2NFX_QOYJa4MyVRCz6JquI","header":"_3KP2hgsyvrNv4nEo3uCeR1","footer":"_1gl1OQ5klhRSWkmB-Q01kt"};
17
17
  styleInject_es.styleInject(css$1);
18
18
 
19
- function Table(_a) {
20
- var children = _a.children;
19
+ function Table({ children }) {
21
20
  return React__default["default"].createElement("table", { className: styles$1.table }, children);
22
21
  }
23
22
 
24
- function Row(_a) {
25
- var children = _a.children;
23
+ function Row({ children }) {
26
24
  return React__default["default"].createElement("tr", { className: styles$1.row }, children);
27
25
  }
28
26
 
@@ -30,37 +28,31 @@ var css = ".Dq-OQpN9kItKfJsIaTjL6 {\n padding: var(--horizontal-inset) calc(var
30
28
  var styles = {"cell":"Dq-OQpN9kItKfJsIaTjL6","left":"_3bBRzvtoTBozmykVE7XqOe","center":"_1f1IguDUp2Dy3ZhU_LCrgu","right":"_3cxjTRdABFJmE_6huhyU4R","numeric":"_3kcv5Lj_4g1u4sK_yR4QOu"};
31
29
  styleInject_es.styleInject(css);
32
30
 
33
- function Cell(_a) {
34
- var children = _a.children, _b = _a.align, align = _b === void 0 ? "left" : _b;
35
- var className = classnames__default["default"](styles.cell, styles[align]);
31
+ function Cell({ children, align = "left" }) {
32
+ const className = classnames__default["default"](styles.cell, styles[align]);
36
33
  return React__default["default"].createElement("td", { className: className }, children);
37
34
  }
38
35
 
39
- function CellNumeric(_a) {
40
- var value = _a.value;
36
+ function CellNumeric({ value }) {
41
37
  return (React__default["default"].createElement(Cell, { align: "right" },
42
38
  React__default["default"].createElement("span", { className: styles.numeric }, value.toString())));
43
39
  }
44
40
 
45
- function CellCurrency(_a) {
46
- var value = _a.value, _b = _a.currency, currency = _b === void 0 ? undefined : _b;
41
+ function CellCurrency({ value, currency = undefined, }) {
47
42
  return React__default["default"].createElement(CellNumeric, { value: formatters.formatCurrency(value, currency) });
48
43
  }
49
44
 
50
- function Header(_a) {
51
- var children = _a.children;
45
+ function Header({ children }) {
52
46
  return (React__default["default"].createElement("thead", { className: styles$1.header },
53
47
  React__default["default"].createElement(Row, null, children)));
54
48
  }
55
49
 
56
- function Footer(_a) {
57
- var children = _a.children;
50
+ function Footer({ children }) {
58
51
  return (React__default["default"].createElement("tfoot", { className: styles$1.footer },
59
52
  React__default["default"].createElement(Row, null, children)));
60
53
  }
61
54
 
62
- function Body(_a) {
63
- var children = _a.children;
55
+ function Body({ children }) {
64
56
  return React__default["default"].createElement("tbody", null, children);
65
57
  }
66
58
 
@@ -2,11 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
6
5
  var React = require('react');
7
6
  var classnames = require('classnames');
8
7
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
9
- var Typography = require('../Typography-fbe0ed6e.js');
8
+ var Typography = require('../Typography-9262511f.js');
10
9
 
11
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
11
 
@@ -17,61 +16,56 @@ var css = ":root {\n --tab--height: calc(var(--space-larger) + var(--space-smal
17
16
  var styles = {"tabs":"_1XPiwZ-6hOSsu7HDy5yHmS","overflow":"RnC8r3uAcGujRbYT-p6nj","overflowRight":"_2gWu8IF5c8dDlBnYmABbrH","overflowLeft":"_3PQJmJy2Ol38mhvrp-VAjw","tabRow":"_2SHAj2nQK9vISS7i_Zfxuw","tab":"NClJjJvATDpU-FSQJ6ywe","selected":"_2ijhlnd8EAKFyri-YTtRjw","tabContent":"_3Y4JRV5DrYYp-_haxplE4P"};
18
17
  styleInject_es.styleInject(css);
19
18
 
20
- function Tabs(_a) {
21
- var _b;
22
- var children = _a.children;
23
- var _c = tslib_es6.__read(React.useState(0), 2), activeTab = _c[0], setActiveTab = _c[1];
24
- var _d = tslib_es6.__read(React.useState(false), 2), overflowRight = _d[0], setOverflowRight = _d[1];
25
- var _e = tslib_es6.__read(React.useState(false), 2), overflowLeft = _e[0], setOverflowLeft = _e[1];
26
- var tabRow = React.useRef();
27
- var overflowClassNames = classnames__default["default"](styles.overflow, (_b = {},
28
- _b[styles.overflowRight] = overflowRight,
29
- _b[styles.overflowLeft] = overflowLeft,
30
- _b));
31
- var activateTab = function (index) {
32
- return function () {
19
+ function Tabs({ children }) {
20
+ const [activeTab, setActiveTab] = React.useState(0);
21
+ const [overflowRight, setOverflowRight] = React.useState(false);
22
+ const [overflowLeft, setOverflowLeft] = React.useState(false);
23
+ const tabRow = React.useRef();
24
+ const overflowClassNames = classnames__default["default"](styles.overflow, {
25
+ [styles.overflowRight]: overflowRight,
26
+ [styles.overflowLeft]: overflowLeft,
27
+ });
28
+ const activateTab = (index) => {
29
+ return () => {
33
30
  setActiveTab(index);
34
31
  };
35
32
  };
36
- var activeTabProps = React__default["default"].Children.toArray(children)[activeTab].props;
37
- var handleOverflowing = function () {
33
+ const activeTabProps = React__default["default"].Children.toArray(children)[activeTab].props;
34
+ const handleOverflowing = () => {
38
35
  if (tabRow.current) {
39
- var scrollWidth = tabRow.current.scrollWidth;
40
- var clientWidth = tabRow.current.clientWidth;
41
- var maxScroll = scrollWidth - clientWidth;
42
- var scrollPos = tabRow.current.scrollLeft;
36
+ const scrollWidth = tabRow.current.scrollWidth;
37
+ const clientWidth = tabRow.current.clientWidth;
38
+ const maxScroll = scrollWidth - clientWidth;
39
+ const scrollPos = tabRow.current.scrollLeft;
43
40
  if (scrollWidth > clientWidth) {
44
41
  setOverflowRight(scrollPos >= 0 && scrollPos != maxScroll);
45
42
  setOverflowLeft(scrollPos > 0 && scrollPos < scrollWidth);
46
43
  }
47
44
  }
48
45
  };
49
- React.useEffect(function () {
46
+ React.useEffect(() => {
50
47
  handleOverflowing();
51
48
  tabRow.current &&
52
49
  tabRow.current.addEventListener("scroll", handleOverflowing);
53
- return function () {
50
+ return () => {
54
51
  window.removeEventListener("scroll", handleOverflowing);
55
52
  };
56
53
  });
57
54
  return (React__default["default"].createElement("div", { className: styles.tabs },
58
55
  React__default["default"].createElement("div", { className: overflowClassNames },
59
56
  React__default["default"].createElement("ul", { role: "tablist", className: styles.tabRow, ref: tabRow },
60
- React__default["default"].createElement("li", { role: "presentation" }, React__default["default"].Children.map(children, function (tab, index) { return (React__default["default"].createElement(InternalTab, { label: tab.props.label, selected: activeTab === index, activateTab: activateTab(index), onClick: tab.props.onClick })); })))),
57
+ React__default["default"].createElement("li", { role: "presentation" }, React__default["default"].Children.map(children, (tab, index) => (React__default["default"].createElement(InternalTab, { label: tab.props.label, selected: activeTab === index, activateTab: activateTab(index), onClick: tab.props.onClick })))))),
61
58
  React__default["default"].createElement("section", { role: "tabpanel", className: styles.tabContent, "aria-label": activeTabProps.label }, activeTabProps.children)));
62
59
  }
63
- function Tab(_a) {
64
- var label = _a.label;
60
+ function Tab({ label }) {
65
61
  return React__default["default"].createElement(React__default["default"].Fragment, null, label);
66
62
  }
67
- function InternalTab(_a) {
68
- var _b;
69
- var label = _a.label, selected = _a.selected, activateTab = _a.activateTab, _c = _a.onClick, onClick = _c === void 0 ? function () {
70
- return;
71
- } : _c;
72
- var className = classnames__default["default"](styles.tab, (_b = {}, _b[styles.selected] = selected, _b));
73
- var color = selected ? "green" : "heading";
74
- return (React__default["default"].createElement("button", { type: "button", role: "tab", id: label, className: className, onClick: function (event) {
63
+ function InternalTab({ label, selected, activateTab, onClick = () => {
64
+ return;
65
+ }, }) {
66
+ const className = classnames__default["default"](styles.tab, { [styles.selected]: selected });
67
+ const color = selected ? "green" : "heading";
68
+ return (React__default["default"].createElement("button", { type: "button", role: "tab", id: label, className: className, onClick: event => {
75
69
  activateTab();
76
70
  onClick(event);
77
71
  } },
@@ -2,10 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Text = require('../Text-e012fb46.js');
5
+ var Text = require('../Text-7ce00adb.js');
6
6
  require('react');
7
- require('../Typography-fbe0ed6e.js');
8
- require('../tslib.es6-5b50eb8e.js');
7
+ require('../Typography-9262511f.js');
9
8
  require('classnames');
10
9
  require('../style-inject.es-dcee06b6.js');
11
10
 
@@ -1,15 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Typography = require('./Typography-fbe0ed6e.js');
4
+ var Typography = require('./Typography-9262511f.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
8
8
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
9
 
10
- function Text(_a) {
11
- var _b = _a.variation, variation = _b === void 0 ? "default" : _b, _c = _a.size, size = _c === void 0 ? "base" : _c, _d = _a.align, align = _d === void 0 ? "start" : _d, children = _a.children, _e = _a.maxLines, maxLines = _e === void 0 ? "unlimited" : _e;
12
- var textColors = {
10
+ function Text({ variation = "default", size = "base", align = "start", children, maxLines = "unlimited", }) {
11
+ const textColors = {
13
12
  default: "text",
14
13
  subdued: "textSecondary",
15
14
  success: "success",
@@ -18,7 +17,7 @@ function Text(_a) {
18
17
  info: "informative",
19
18
  disabled: "disabled",
20
19
  };
21
- var maxLineToNumber = {
20
+ const maxLineToNumber = {
22
21
  single: 1,
23
22
  small: 2,
24
23
  base: 4,
@@ -9,8 +9,8 @@ interface ActionToastProps extends BaseToastProps {
9
9
  action(): void;
10
10
  actionLabel: string;
11
11
  }
12
- export declare type ToastProps = XOR<BaseToastProps, ActionToastProps>;
13
- declare type ToastPropsInternal = Omit<ToastProps, "id">;
12
+ export type ToastProps = XOR<BaseToastProps, ActionToastProps>;
13
+ type ToastPropsInternal = Omit<ToastProps, "id">;
14
14
  export interface ToastRef {
15
15
  add(props: ToastProps): void;
16
16
  }
@@ -2,14 +2,13 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
6
5
  var React = require('react');
7
- var ReactDOM = require('react-dom');
6
+ var client = require('react-dom/client');
8
7
  var framerMotion = require('framer-motion');
9
8
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
10
- var Icon = require('../Icon-d5ad1a6d.js');
11
- var Button = require('../Button-cd30df0f.js');
12
- var Typography = require('../Typography-fbe0ed6e.js');
9
+ var Icon = require('../Icon-405a216c.js');
10
+ var Button = require('../Button-16e043ec.js');
11
+ var Typography = require('../Typography-9262511f.js');
13
12
  require('@jobber/design');
14
13
  require('classnames');
15
14
  require('react-router-dom');
@@ -22,13 +21,12 @@ var css = "._1jL4uuxcwlNL5YnUj_ua2g {\n position: relative;\n z-index: var(--e
22
21
  var styles = {"wrapper":"_1jL4uuxcwlNL5YnUj_ua2g","container":"_1OJBJo55SADOx1bC1JQBfB","toast":"_3M3dXN6cHdqE_9yCnTwXuA","slice":"_2JTk_JuoYf4H1PIiFTxwK","icon":"_3kimXYOdDlyI9bxgiFJMgZ","button":"_1izxhu6XCPAQla9emS_Wn_","action":"FMxl_EoRhLki7i_UOLCT4"};
23
22
  styleInject_es.styleInject(css);
24
23
 
25
- function Toast(_a) {
26
- var message = _a.message, _b = _a.variation, variation = _b === void 0 ? "success" : _b, action = _a.action, actionLabel = _a.actionLabel;
27
- var _c = tslib_es6.__read(React.useState(true), 2), visible = _c[0], setVisible = _c[1];
28
- var icon = getIcon();
29
- var timer;
30
- React.useEffect(function () { return startTimer(); }, []);
31
- return (React__default["default"].createElement(framerMotion.AnimatePresence, null, visible && (React__default["default"].createElement(framerMotion.motion.div, { className: styles.toast, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, onMouseEnter: function () { return stopTimer(); }, onMouseLeave: function () { return startTimer(); }, exit: {
24
+ function Toast({ message, variation = "success", action, actionLabel, }) {
25
+ const [visible, setVisible] = React.useState(true);
26
+ const icon = getIcon();
27
+ let timer;
28
+ React.useEffect(() => startTimer(), []);
29
+ return (React__default["default"].createElement(framerMotion.AnimatePresence, null, visible && (React__default["default"].createElement(framerMotion.motion.div, { className: styles.toast, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, onMouseEnter: () => stopTimer(), onMouseLeave: () => startTimer(), exit: {
32
30
  opacity: 0,
33
31
  scale: 0.8,
34
32
  height: 0,
@@ -38,11 +36,11 @@ function Toast(_a) {
38
36
  React__default["default"].createElement("div", { className: styles.icon },
39
37
  React__default["default"].createElement(Icon.Icon, { color: icon.color, name: icon.name })),
40
38
  React__default["default"].createElement(Typography.Typography, { element: "span", size: "large" }, message),
41
- action && (React__default["default"].createElement(Button.Button, { label: "" + actionLabel, onClick: action, type: "tertiary" })),
39
+ action && (React__default["default"].createElement(Button.Button, { label: `${actionLabel}`, onClick: action, type: "tertiary" })),
42
40
  React__default["default"].createElement("div", { className: styles.button },
43
41
  React__default["default"].createElement(Button.Button, { icon: "remove", ariaLabel: "Hide Notification", onClick: handleToastClose, type: "tertiary", variation: "subtle" })))))));
44
42
  function startTimer() {
45
- timer = setTimeout(function () { return handleToastClose(); }, getTimeout());
43
+ timer = setTimeout(() => handleToastClose(), getTimeout());
46
44
  }
47
45
  function stopTimer() {
48
46
  clearTimeout(timer);
@@ -51,9 +49,9 @@ function Toast(_a) {
51
49
  setVisible(false);
52
50
  }
53
51
  function getTimeout() {
54
- var min = 5000;
55
- var max = 10000;
56
- var time = message.length * 200;
52
+ const min = 5000;
53
+ const max = 10000;
54
+ const time = message.length * 200;
57
55
  if (time < min)
58
56
  return min;
59
57
  if (time > max)
@@ -72,38 +70,42 @@ function Toast(_a) {
72
70
  }
73
71
  }
74
72
 
75
- function showToast(props) {
76
- createDocumentToast(props);
73
+ const targetId = "atlantis-toast-element";
74
+ let target = document.querySelector(`#${targetId}`);
75
+ if (!target) {
76
+ target = document.createElement("div");
77
+ target.id = targetId;
78
+ target.classList.add(styles.wrapper);
79
+ document.body.appendChild(target);
77
80
  }
78
- function createDocumentToast(props) {
79
- var targetId = "atlantis-toast-element";
80
- var target = document.querySelector("#" + targetId);
81
- if (!target) {
82
- target = document.createElement("div");
83
- target.id = targetId;
84
- target.classList.add(styles.wrapper);
85
- document.body.appendChild(target);
81
+ const root = client.createRoot(target);
82
+ function showToast(props) {
83
+ // Ensure target and body is still there when rendering the toast. This is due
84
+ // to an issue with ReactDOM createRoot assuming document is always there and
85
+ // Jest taking the document down.
86
+ if (document.body.contains(target)) {
87
+ root.render(React__default["default"].createElement(ToasterOven, Object.assign({}, props)));
86
88
  }
87
- ReactDOM.render(React__default["default"].createElement(ToasterOven, tslib_es6.__assign({}, props)), target);
88
89
  }
89
- var ToastContainer = React.forwardRef(ToastInternal);
90
+ const ToastContainer = React.forwardRef(ToastInternal);
90
91
  function ToasterOven(props) {
91
- var toastRef = React.useRef();
92
- React.useEffect(function () { return toastRef.current.add(props); });
92
+ const toastRef = React.useRef();
93
+ React.useEffect(() => toastRef.current.add(props));
93
94
  return React__default["default"].createElement(ToastContainer, { ref: toastRef });
94
95
  }
95
96
  function ToastInternal(_, ref) {
96
- var _a = tslib_es6.__read(React.useState(0), 2), toastKey = _a[0], setToastKey = _a[1];
97
- var _b = tslib_es6.__read(React.useState([]), 2), toasts = _b[0], setToasts = _b[1];
98
- React.useImperativeHandle(ref, function () { return ({
99
- add: function (props) {
97
+ const [toastKey, setToastKey] = React.useState(0);
98
+ const [toasts, setToasts] = React.useState([]);
99
+ React.useImperativeHandle(ref, () => ({
100
+ add: props => {
100
101
  setToastKey(toastKey + 1);
101
- setToasts(tslib_es6.__spread([
102
- tslib_es6.__assign(tslib_es6.__assign({}, props), { id: toastKey })
103
- ], toasts));
102
+ setToasts([
103
+ Object.assign(Object.assign({}, props), { id: toastKey }),
104
+ ...toasts,
105
+ ]);
104
106
  },
105
- }); });
106
- return (React__default["default"].createElement("div", { className: styles.container }, toasts.map(function (toast) { return (React__default["default"].createElement(Toast, tslib_es6.__assign({}, toast, { key: toast.id }))); })));
107
+ }));
108
+ return (React__default["default"].createElement("div", { className: styles.container }, toasts.map(toast => (React__default["default"].createElement(Toast, Object.assign({}, toast, { key: toast.id }))))));
107
109
  }
108
110
 
109
111
  exports.showToast = showToast;
@@ -2,16 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Tooltip = require('../Tooltip-041feb00.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var Tooltip = require('../Tooltip-1090a43d.js');
7
6
  require('react');
8
7
  require('classnames');
9
8
  require('react-dom');
10
9
  require('framer-motion');
11
10
  require('../style-inject.es-dcee06b6.js');
12
11
  require('react-popper');
13
- require('../Text-e012fb46.js');
14
- require('../Typography-fbe0ed6e.js');
12
+ require('../Text-7ce00adb.js');
13
+ require('../Typography-9262511f.js');
15
14
 
16
15
 
17
16
 
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  export declare function useTooltipPositioning(): {
3
- placement: "top" | "bottom" | "right" | "auto" | "left" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end" | undefined;
3
+ placement: import("@popperjs/core").Placement | undefined;
4
4
  shadowRef: import("react").RefObject<HTMLSpanElement>;
5
5
  setArrowRef: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null | undefined>>;
6
6
  setTooltipRef: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null | undefined>>;