@jobber/components 4.0.0 → 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 +31 -32
  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 +3 -3
  127. package/dist/tslib.es6-5b50eb8e.js +0 -103
@@ -2,15 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InputValidation = require('../InputValidation-06a8a7ba.js');
5
+ var InputValidation = require('../InputValidation-97dd0dcf.js');
6
6
  require('react');
7
7
  require('framer-motion');
8
8
  require('../style-inject.es-dcee06b6.js');
9
- require('../Text-e012fb46.js');
10
- require('../Typography-fbe0ed6e.js');
11
- require('../tslib.es6-5b50eb8e.js');
9
+ require('../Text-7ce00adb.js');
10
+ require('../Typography-9262511f.js');
12
11
  require('classnames');
13
- require('../Icon-d5ad1a6d.js');
12
+ require('../Icon-405a216c.js');
14
13
  require('@jobber/design');
15
14
 
16
15
 
@@ -3,8 +3,8 @@
3
3
  var React = require('react');
4
4
  var framerMotion = require('framer-motion');
5
5
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
6
- var Text = require('./Text-e012fb46.js');
7
- var Icon = require('./Icon-d5ad1a6d.js');
6
+ var Text = require('./Text-7ce00adb.js');
7
+ var Icon = require('./Icon-405a216c.js');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
@@ -14,17 +14,16 @@ var css = "._9gFxrZogiKbS3gPLv_I79 {\n margin-top: var(--space-smaller);\n}\n\n
14
14
  var styles = {"hasValidationMessage":"_9gFxrZogiKbS3gPLv_I79","message":"_3QUt88pIWZatkYLVYFlRuL"};
15
15
  styleInject_es.styleInject(css);
16
16
 
17
- function InputValidation(_a) {
18
- var message = _a.message;
19
- var messages = [message];
20
- var variants = {
17
+ function InputValidation({ message }) {
18
+ const messages = [message];
19
+ const variants = {
21
20
  slideOut: { y: "5%", opacity: 0 },
22
21
  slideIn: { y: 0, opacity: 1 },
23
22
  };
24
- return (React__default["default"].createElement(React__default["default"].Fragment, null, messages && messages.length > 0 && (React__default["default"].createElement(framerMotion.AnimatePresence, { exitBeforeEnter: true }, messages.map(function (msg) { return (React__default["default"].createElement(framerMotion.motion.div, { key: "validation-" + msg, variants: variants, initial: "slideOut", animate: "slideIn", exit: "slideOut", transition: { duration: 0.2 } },
23
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, messages && messages.length > 0 && (React__default["default"].createElement(framerMotion.AnimatePresence, { exitBeforeEnter: true }, messages.map(msg => (React__default["default"].createElement(framerMotion.motion.div, { key: `validation-${msg}`, variants: variants, initial: "slideOut", animate: "slideIn", exit: "slideOut", transition: { duration: 0.2 } },
25
24
  React__default["default"].createElement("div", { className: styles.message, "aria-live": "assertive", role: "alert", tabIndex: 0 },
26
25
  React__default["default"].createElement(Icon.Icon, { name: "alert", size: "small", color: "critical" }),
27
- React__default["default"].createElement(Text.Text, { size: "small", variation: "error" }, msg)))); })))));
26
+ React__default["default"].createElement(Text.Text, { size: "small", variation: "error" }, msg)))))))));
28
27
  }
29
28
 
30
29
  exports.InputValidation = InputValidation;
@@ -2,21 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var LightBox = require('../LightBox-1ad62669.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var LightBox = require('../LightBox-dd1afa97.js');
7
6
  require('react');
8
7
  require('framer-motion');
9
8
  require('react-dom');
10
9
  require('lodash/debounce');
11
10
  require('@jobber/hooks');
12
11
  require('../style-inject.es-dcee06b6.js');
13
- require('../ButtonDismiss-a9590195.js');
14
- require('../Button-cd30df0f.js');
12
+ require('../ButtonDismiss-3fb1eaf9.js');
13
+ require('../Button-16e043ec.js');
15
14
  require('classnames');
16
15
  require('react-router-dom');
17
- require('../Icon-d5ad1a6d.js');
16
+ require('../Icon-405a216c.js');
18
17
  require('@jobber/design');
19
- require('../Typography-fbe0ed6e.js');
18
+ require('../Typography-9262511f.js');
20
19
 
21
20
 
22
21
 
@@ -1,14 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
3
  var React = require('react');
5
4
  var framerMotion = require('framer-motion');
6
5
  var ReactDOM = require('react-dom');
7
6
  var debounce = require('lodash/debounce');
8
7
  var jobberHooks = require('@jobber/hooks');
9
8
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
10
- var ButtonDismiss = require('./ButtonDismiss-a9590195.js');
11
- var Button = require('./Button-cd30df0f.js');
9
+ var ButtonDismiss = require('./ButtonDismiss-3fb1eaf9.js');
10
+ var Button = require('./Button-16e043ec.js');
12
11
 
13
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
13
 
@@ -20,12 +19,13 @@ var css = "._2qgU3ylcPWUJGRthB18cb,\n._27gh3HPkx5J1Ru4Tqp_1tF {\n display: -ms-
20
19
  var styles = {"next":"_2qgU3ylcPWUJGRthB18cb","prev":"_27gh3HPkx5J1Ru4Tqp_1tF","lightboxWrapper":"_3FuSx2b8rfxjzTQKeVn6MW","toolbar":"_2gGRj41uQJhcl0zcSNgsOA","title":"oyIA3-aR1Fvwn0lpp1Mgx","imagesWrapper":"_1PPDSsP7v3FAZG3DA--Oq3","overlay":"_23IH8HE3ZATpurQqLyWj-l","image":"_2UNyNw_u8HDWIzzxcSLUU6"};
21
20
  styleInject_es.styleInject(css);
22
21
 
23
- var swipeConfidenceThreshold = 10000;
24
- var swipePower = function (offset, velocity) {
22
+ /* eslint-disable max-statements */
23
+ const swipeConfidenceThreshold = 10000;
24
+ const swipePower = (offset, velocity) => {
25
25
  return Math.abs(offset) * velocity;
26
26
  };
27
- var variants = {
28
- enter: function (direction) {
27
+ const variants = {
28
+ enter: (direction) => {
29
29
  return {
30
30
  x: direction > 0 ? 1000 : -1000,
31
31
  opacity: 0,
@@ -36,7 +36,7 @@ var variants = {
36
36
  x: 0,
37
37
  opacity: 1,
38
38
  },
39
- exit: function (direction) {
39
+ exit: (direction) => {
40
40
  return {
41
41
  zIndex: 0,
42
42
  x: direction < 0 ? 1000 : -1000,
@@ -44,21 +44,20 @@ var variants = {
44
44
  };
45
45
  },
46
46
  };
47
- var imageTransition = {
47
+ const imageTransition = {
48
48
  x: { type: "spring", stiffness: 300, damping: 30 },
49
49
  opacity: { duration: 0.2 },
50
50
  };
51
51
  // A little bit more than the transition's duration
52
52
  // We're doing this to prevent a bug from framer-motion
53
53
  // https://github.com/framer/motion/issues/1769
54
- var debounceDuration = 250;
55
- function LightBox(_a) {
56
- var open = _a.open, images = _a.images, _b = _a.imageIndex, imageIndex = _b === void 0 ? 0 : _b, onRequestClose = _a.onRequestClose;
57
- var _c = tslib_es6.__read(React.useState(imageIndex), 2), currentImageIndex = _c[0], setCurrentImageIndex = _c[1];
58
- var _d = tslib_es6.__read(React.useState(0), 2), direction = _d[0], setDirection = _d[1];
59
- var lightboxRef = jobberHooks.useFocusTrap(open);
60
- var debouncedHandleNext = debounce__default["default"](handleMoveNext, debounceDuration);
61
- var debouncedHandlePrevious = debounce__default["default"](handleMovePrevious, debounceDuration);
54
+ const debounceDuration = 250;
55
+ function LightBox({ open, images, imageIndex = 0, onRequestClose, }) {
56
+ const [currentImageIndex, setCurrentImageIndex] = React.useState(imageIndex);
57
+ const [direction, setDirection] = React.useState(0);
58
+ const lightboxRef = jobberHooks.useFocusTrap(open);
59
+ const debouncedHandleNext = debounce__default["default"](handleMoveNext, debounceDuration);
60
+ const debouncedHandlePrevious = debounce__default["default"](handleMovePrevious, debounceDuration);
62
61
  jobberHooks.useRefocusOnActivator(open);
63
62
  jobberHooks.useOnKeyDown(handleRequestClose, "Escape");
64
63
  jobberHooks.useOnKeyDown(debouncedHandlePrevious, {
@@ -67,10 +66,10 @@ function LightBox(_a) {
67
66
  jobberHooks.useOnKeyDown(debouncedHandleNext, {
68
67
  key: "ArrowRight",
69
68
  });
70
- React.useEffect(function () {
69
+ React.useEffect(() => {
71
70
  setCurrentImageIndex(imageIndex);
72
71
  }, [imageIndex, open]);
73
- var template = (React__default["default"].createElement(React__default["default"].Fragment, null, open && (React__default["default"].createElement("div", { className: styles.lightboxWrapper, tabIndex: 0, "aria-label": "Lightbox", key: "Lightbox", ref: lightboxRef },
72
+ const template = (React__default["default"].createElement(React__default["default"].Fragment, null, open && (React__default["default"].createElement("div", { className: styles.lightboxWrapper, tabIndex: 0, "aria-label": "Lightbox", key: "Lightbox", ref: lightboxRef },
74
73
  React__default["default"].createElement("div", { className: styles.toolbar },
75
74
  React__default["default"].createElement("span", { className: styles.title }, images[currentImageIndex].title),
76
75
  React__default["default"].createElement(ButtonDismiss.ButtonDismiss, { ariaLabel: "Close", onClick: handleRequestClose })),
@@ -94,9 +93,8 @@ function LightBox(_a) {
94
93
  function handleRequestClose() {
95
94
  onRequestClose({ lastPosition: currentImageIndex });
96
95
  }
97
- function handleOnDragEnd(event, _a) {
98
- var offset = _a.offset, velocity = _a.velocity;
99
- var swipe = swipePower(offset.x, velocity.x);
96
+ function handleOnDragEnd(event, { offset, velocity }) {
97
+ const swipe = swipePower(offset.x, velocity.x);
100
98
  if (swipe < -swipeConfidenceThreshold) {
101
99
  handleMoveNext();
102
100
  }
@@ -105,13 +103,11 @@ function LightBox(_a) {
105
103
  }
106
104
  }
107
105
  }
108
- function PreviousButton(_a) {
109
- var onClick = _a.onClick;
106
+ function PreviousButton({ onClick }) {
110
107
  return (React__default["default"].createElement("div", { className: styles.prev },
111
108
  React__default["default"].createElement(Button.Button, { size: "large", variation: "subtle", type: "secondary", icon: "arrowLeft", ariaLabel: "Previous image", onClick: onClick })));
112
109
  }
113
- function NextButton(_a) {
114
- var onClick = _a.onClick;
110
+ function NextButton({ onClick }) {
115
111
  return (React__default["default"].createElement("div", { className: styles.next },
116
112
  React__default["default"].createElement(Button.Button, { size: "large", variation: "subtle", type: "secondary", icon: "arrowRight", ariaLabel: "Next image", onClick: onClick })));
117
113
  }
@@ -2,20 +2,19 @@
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 lodash = require('lodash');
9
8
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
10
- var Icon = require('../Icon-d5ad1a6d.js');
11
- var Text = require('../Text-e012fb46.js');
12
- var Heading = require('../Heading-a9a66964.js');
13
- var Typography = require('../Typography-fbe0ed6e.js');
14
- var Markdown = require('../Markdown-b53e0308.js');
15
- var Emphasis = require('../Emphasis-75a3f411.js');
9
+ var Icon = require('../Icon-405a216c.js');
10
+ var Text = require('../Text-7ce00adb.js');
11
+ var Heading = require('../Heading-7b203f7f.js');
12
+ var Typography = require('../Typography-9262511f.js');
13
+ var Markdown = require('../Markdown-be2dcd0c.js');
14
+ var Emphasis = require('../Emphasis-23dc2a0a.js');
16
15
  require('@jobber/design');
17
16
  require('react-markdown');
18
- require('../Content-18de5fbb.js');
17
+ require('../Content-05df8f7f.js');
19
18
 
20
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
20
 
@@ -34,12 +33,11 @@ var css = "._2iTo0SHtApSj1Pz0jAi44D {\n display: -ms-flexbox;\n display: flex;
34
33
  var styles = {"action":"_2iTo0SHtApSj1Pz0jAi44D","hoverable":"_3fuo63dN8BYlteQspAWEB","icon":"_2Ba10JIy4V4gV8mql4xqHo","info":"_1vz3KPZUhpnltJyF8wN7V1","amount":"_1vkwx_Vuhn930_zHsgEmz3","isActive":"_2QvWobst7cPMHu3OkCl2SG","truncate":"d36Bq7j0EKz3c5tj7HrWN"};
35
34
  styleInject_es.styleInject(css);
36
35
 
37
- function ListItem(_a) {
38
- var caption = _a.caption, content = _a.content, icon = _a.icon, iconColor = _a.iconColor, id = _a.id, isActive = _a.isActive, onClick = _a.onClick, title = _a.title, url = _a.url, value = _a.value;
39
- var actionClasses = classnames__default["default"](styles.action, isActive && styles.isActive, (onClick || url) && styles.hoverable);
40
- var Wrapper = url ? "a" : "button";
41
- var buttonProps = tslib_es6.__assign({}, (Wrapper === "button" && { role: "button", type: "button" }));
42
- return (React__default["default"].createElement(Wrapper, tslib_es6.__assign({ id: id.toString(), className: actionClasses, href: url, onClick: onClick }, buttonProps),
36
+ function ListItem({ caption, content, icon, iconColor, id, isActive, onClick, title, url, value, }) {
37
+ const actionClasses = classnames__default["default"](styles.action, isActive && styles.isActive, (onClick || url) && styles.hoverable);
38
+ const Wrapper = url ? "a" : "button";
39
+ const buttonProps = Object.assign({}, (Wrapper === "button" && { role: "button", type: "button" }));
40
+ return (React__default["default"].createElement(Wrapper, Object.assign({ id: id.toString(), className: actionClasses, href: url, onClick: onClick }, buttonProps),
43
41
  icon && (React__default["default"].createElement("div", { className: styles.icon },
44
42
  React__default["default"].createElement(Icon.Icon, { name: icon, color: iconColor }))),
45
43
  React__default["default"].createElement("div", { className: styles.info },
@@ -51,12 +49,11 @@ function ListItem(_a) {
51
49
  React__default["default"].createElement(Text.Text, null,
52
50
  React__default["default"].createElement(Emphasis.Emphasis, { variation: "bold" }, value))))));
53
51
  }
54
- function Description(_a) {
55
- var content = _a.content;
52
+ function Description({ content }) {
56
53
  if (content instanceof Array) {
57
- return (React__default["default"].createElement(React__default["default"].Fragment, null, content.map(function (item, i) { return (React__default["default"].createElement(Text.Text, { key: i },
54
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, content.map((item, i) => (React__default["default"].createElement(Text.Text, { key: i },
58
55
  React__default["default"].createElement("span", { className: styles.truncate },
59
- React__default["default"].createElement(Markdown.Markdown, { content: item, basicUsage: true })))); })));
56
+ React__default["default"].createElement(Markdown.Markdown, { content: item, basicUsage: true })))))));
60
57
  }
61
58
  else {
62
59
  return (React__default["default"].createElement(Text.Text, null,
@@ -65,9 +62,8 @@ function Description(_a) {
65
62
  }
66
63
  }
67
64
 
68
- function List(_a) {
69
- var items = _a.items;
70
- var isSectioned = items.some(function (item) { return item.section; });
65
+ function List({ items }) {
66
+ const isSectioned = items.some(item => item.section);
71
67
  if (isSectioned) {
72
68
  return React__default["default"].createElement(SectionedList, { items: items });
73
69
  }
@@ -75,20 +71,18 @@ function List(_a) {
75
71
  return React__default["default"].createElement(DisplayList, { items: items });
76
72
  }
77
73
  }
78
- function DisplayList(_a) {
79
- var items = _a.items;
80
- return (React__default["default"].createElement("ul", { className: styles$1.list }, items.map(function (item) { return (React__default["default"].createElement("li", { key: item.id, className: styles$1.item },
81
- React__default["default"].createElement(ListItem, tslib_es6.__assign({}, item)))); })));
74
+ function DisplayList({ items }) {
75
+ return (React__default["default"].createElement("ul", { className: styles$1.list }, items.map(item => (React__default["default"].createElement("li", { key: item.id, className: styles$1.item },
76
+ React__default["default"].createElement(ListItem, Object.assign({}, item)))))));
82
77
  }
83
- function SectionedList(_a) {
84
- var items = _a.items;
85
- var sectionedItems = lodash.groupBy(items, function (item) { return lodash.get(item, "section", "Other"); });
86
- var sectionHeaderClassNames = classnames__default["default"](sectionStyles.sectionHeader);
87
- return (React__default["default"].createElement("ul", { className: styles$1.list }, Object.keys(sectionedItems).map(function (sectionName) { return (React__default["default"].createElement("li", { key: sectionName, className: styles$1.section },
78
+ function SectionedList({ items }) {
79
+ const sectionedItems = lodash.groupBy(items, item => lodash.get(item, "section", "Other"));
80
+ const sectionHeaderClassNames = classnames__default["default"](sectionStyles.sectionHeader);
81
+ 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 },
88
82
  React__default["default"].createElement("div", { className: sectionHeaderClassNames },
89
83
  React__default["default"].createElement(Typography.Typography, { element: "h4", fontWeight: "bold", size: "large" }, sectionName)),
90
- React__default["default"].createElement("ul", { className: styles$1.list }, sectionedItems[sectionName].map(function (item) { return (React__default["default"].createElement("li", { key: item.id, className: styles$1.item },
91
- React__default["default"].createElement(ListItem, tslib_es6.__assign({}, item)))); })))); })));
84
+ React__default["default"].createElement("ul", { className: styles$1.list }, sectionedItems[sectionName].map(item => (React__default["default"].createElement("li", { key: item.id, className: styles$1.item },
85
+ React__default["default"].createElement(ListItem, Object.assign({}, item)))))))))));
92
86
  }
93
87
 
94
88
  exports.List = List;
@@ -2,17 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Markdown = require('../Markdown-b53e0308.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var Markdown = require('../Markdown-be2dcd0c.js');
7
6
  require('react');
8
7
  require('react-markdown');
9
- require('../Text-e012fb46.js');
10
- require('../Typography-fbe0ed6e.js');
8
+ require('../Text-7ce00adb.js');
9
+ require('../Typography-9262511f.js');
11
10
  require('classnames');
12
11
  require('../style-inject.es-dcee06b6.js');
13
- require('../Emphasis-75a3f411.js');
14
- require('../Heading-a9a66964.js');
15
- require('../Content-18de5fbb.js');
12
+ require('../Emphasis-23dc2a0a.js');
13
+ require('../Heading-7b203f7f.js');
14
+ require('../Content-05df8f7f.js');
16
15
 
17
16
 
18
17
 
@@ -1,21 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
3
  var React = require('react');
5
4
  var ReactMarkdown = require('react-markdown');
6
- var Text = require('./Text-e012fb46.js');
7
- var Emphasis = require('./Emphasis-75a3f411.js');
8
- var Heading = require('./Heading-a9a66964.js');
9
- var Content = require('./Content-18de5fbb.js');
5
+ var Text = require('./Text-7ce00adb.js');
6
+ var Emphasis = require('./Emphasis-23dc2a0a.js');
7
+ var Heading = require('./Heading-7b203f7f.js');
8
+ var Content = require('./Content-05df8f7f.js');
10
9
 
11
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
11
 
13
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
13
  var ReactMarkdown__default = /*#__PURE__*/_interopDefaultLegacy(ReactMarkdown);
15
14
 
16
- function Markdown(_a) {
17
- var content = _a.content, externalLink = _a.externalLink, basicUsage = _a.basicUsage;
18
- var props = tslib_es6.__assign({}, (basicUsage && {
15
+ function Markdown({ content, externalLink, basicUsage }) {
16
+ const props = Object.assign({}, (basicUsage && {
19
17
  disallowedElements: [
20
18
  "p",
21
19
  "h1",
@@ -32,9 +30,9 @@ function Markdown(_a) {
32
30
  ],
33
31
  unwrapDisallowed: true,
34
32
  }));
35
- var Tag = basicUsage ? React__default["default"].Fragment : Content.Content;
33
+ const Tag = basicUsage ? React__default["default"].Fragment : Content.Content;
36
34
  return (React__default["default"].createElement(Tag, null,
37
- React__default["default"].createElement(ReactMarkdown__default["default"], tslib_es6.__assign({}, props, { linkTarget: externalLink ? "_blank" : undefined, components: {
35
+ React__default["default"].createElement(ReactMarkdown__default["default"], Object.assign({}, props, { linkTarget: externalLink ? "_blank" : undefined, components: {
38
36
  p: renderParagraph,
39
37
  strong: renderStrong,
40
38
  em: renderEmphasis,
@@ -45,21 +43,17 @@ function Markdown(_a) {
45
43
  h5: renderHeading(5),
46
44
  } }), content)));
47
45
  }
48
- function renderParagraph(_a) {
49
- var children = _a.children;
46
+ function renderParagraph({ children }) {
50
47
  return React__default["default"].createElement(Text.Text, null, children);
51
48
  }
52
- function renderStrong(_a) {
53
- var children = _a.children;
49
+ function renderStrong({ children }) {
54
50
  return React__default["default"].createElement(Emphasis.Emphasis, { variation: "bold" }, children);
55
51
  }
56
- function renderEmphasis(_a) {
57
- var children = _a.children;
52
+ function renderEmphasis({ children }) {
58
53
  return React__default["default"].createElement(Emphasis.Emphasis, { variation: "italic" }, children);
59
54
  }
60
55
  function renderHeading(level) {
61
- function buildHeading(_a) {
62
- var children = _a.children;
56
+ function buildHeading({ children }) {
63
57
  return React__default["default"].createElement(Heading.Heading, { level: level }, children);
64
58
  }
65
59
  return buildHeading;
@@ -2,19 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Menu = require('../Menu-826cfb89.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var Menu = require('../Menu-d6a7d17b.js');
7
6
  require('react');
8
7
  require('uuid');
9
8
  require('classnames');
10
9
  require('framer-motion');
11
10
  require('@jobber/hooks');
12
11
  require('../style-inject.es-dcee06b6.js');
13
- require('../Button-cd30df0f.js');
12
+ require('../Button-16e043ec.js');
14
13
  require('react-router-dom');
15
- require('../Icon-d5ad1a6d.js');
14
+ require('../Icon-405a216c.js');
16
15
  require('@jobber/design');
17
- require('../Typography-fbe0ed6e.js');
16
+ require('../Typography-9262511f.js');
18
17
 
19
18
 
20
19
 
@@ -1,15 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
3
  var React = require('react');
5
4
  var uuid = require('uuid');
6
5
  var classnames = require('classnames');
7
6
  var framerMotion = require('framer-motion');
8
7
  var jobberHooks = require('@jobber/hooks');
9
8
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
10
- var Button = require('./Button-cd30df0f.js');
11
- var Typography = require('./Typography-fbe0ed6e.js');
12
- var Icon = require('./Icon-d5ad1a6d.js');
9
+ var Button = require('./Button-16e043ec.js');
10
+ var Typography = require('./Typography-9262511f.js');
11
+ var Icon = require('./Icon-405a216c.js');
13
12
 
14
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
14
 
@@ -20,37 +19,35 @@ var css = "._3dsZe-fIMb0ftQQAJf53tI * {\n box-sizing: border-box;\n}\n\n._3dsZe
20
19
  var styles = {"wrapper":"_3dsZe-fIMb0ftQQAJf53tI","menu":"_15jh7FtEcALDetgrjoV8HG","above":"_2S3J3IQ4JcMgnYjzx3A9AA","below":"qgoF1WJ8Cu39FVc3p_c8w","left":"_2QwnAwwIXZuZReq2cUwEoX","right":"_2Bdz7gjSU8id-Og42er82U","section":"_1j-ztPLXQgH-5XOlXybf0-","sectionHeader":"ecEGgRDm96wrHymIDR1FM","action":"_1lmtkHVgn76IrVsqnqlOYh","icon":"QMbGAf7Vb6_SM8qOIvLMc","overlay":"_1DIimpm0iJewCr_4Ee8NTa","fullWidth":"qVvYE_6U6kPoQ4ms_2slA","screenReaderOnly":"_3Pk5uJMOz91YR7eDwLASEh"};
21
20
  styleInject_es.styleInject(css);
22
21
 
23
- var variation = {
22
+ const variation = {
24
23
  overlayStartStop: { opacity: 0 },
25
- startOrStop: function (position) {
26
- var y = 10;
24
+ startOrStop: (position) => {
25
+ let y = 10;
27
26
  if (position === "below")
28
27
  y *= -1;
29
28
  if (window.innerWidth < 640)
30
29
  y = 150;
31
- return { opacity: 0, y: y };
30
+ return { opacity: 0, y };
32
31
  },
33
32
  done: { opacity: 1, y: 0 },
34
33
  };
35
34
  // eslint-disable-next-line max-statements
36
- function Menu(_a) {
37
- var _b;
38
- var activator = _a.activator, items = _a.items;
39
- var _c;
40
- var _d = tslib_es6.__read(React.useState(false), 2), visible = _d[0], setVisible = _d[1];
41
- var fullWidth = ((_c = activator === null || activator === void 0 ? void 0 : activator.props) === null || _c === void 0 ? void 0 : _c.fullWidth) || false;
42
- var _e = tslib_es6.__read(React.useState({
35
+ function Menu({ activator, items }) {
36
+ var _a;
37
+ const [visible, setVisible] = React.useState(false);
38
+ const fullWidth = ((_a = activator === null || activator === void 0 ? void 0 : activator.props) === null || _a === void 0 ? void 0 : _a.fullWidth) || false;
39
+ const [position, setPosition] = React.useState({
43
40
  vertical: "below",
44
41
  horizontal: "right",
45
- }), 2), position = _e[0], setPosition = _e[1];
46
- var wrapperRef = React.createRef();
47
- var buttonID = uuid.v1();
48
- var menuID = uuid.v1();
42
+ });
43
+ const wrapperRef = React.createRef();
44
+ const buttonID = uuid.v1();
45
+ const menuID = uuid.v1();
49
46
  jobberHooks.useOnKeyDown(handleKeyboardShortcut, ["Escape"]);
50
- React.useLayoutEffect(function () {
47
+ React.useLayoutEffect(() => {
51
48
  if (wrapperRef.current) {
52
- var bounds = wrapperRef.current.getBoundingClientRect();
53
- var newPosition = tslib_es6.__assign({}, position);
49
+ const bounds = wrapperRef.current.getBoundingClientRect();
50
+ const newPosition = Object.assign({}, position);
54
51
  if (bounds.top <= window.innerHeight / 2) {
55
52
  newPosition.vertical = "below";
56
53
  }
@@ -69,10 +66,10 @@ function Menu(_a) {
69
66
  if (!activator) {
70
67
  activator = (React__default["default"].createElement(Button.Button, { fullWidth: true, label: "More Actions", icon: "more", type: "secondary" }));
71
68
  }
72
- var menuClasses = classnames__default["default"](styles.menu, position.vertical === "above" && styles.above, position.vertical === "below" && styles.below, position.horizontal === "left" && styles.left, position.horizontal === "right" && styles.right);
73
- var wrapperClasses = classnames__default["default"](styles.wrapper, (_b = {},
74
- _b[styles.fullWidth] = fullWidth,
75
- _b));
69
+ const menuClasses = classnames__default["default"](styles.menu, position.vertical === "above" && styles.above, position.vertical === "below" && styles.below, position.horizontal === "left" && styles.left, position.horizontal === "right" && styles.right);
70
+ const wrapperClasses = classnames__default["default"](styles.wrapper, {
71
+ [styles.fullWidth]: fullWidth,
72
+ });
76
73
  return (React__default["default"].createElement("div", { className: wrapperClasses, ref: wrapperRef },
77
74
  React__default["default"].cloneElement(activator, {
78
75
  onClick: toggle(activator.props.onClick),
@@ -89,11 +86,11 @@ function Menu(_a) {
89
86
  React__default["default"].createElement(framerMotion.motion.div, { className: menuClasses, role: "menu", "aria-labelledby": buttonID, id: menuID, onClick: hide, variants: variation, initial: "startOrStop", animate: "done", exit: "startOrStop", custom: position, transition: {
90
87
  type: "tween",
91
88
  duration: 0.25,
92
- } }, items.map(function (item, key) { return (React__default["default"].createElement("div", { key: key, className: styles.section },
89
+ } }, items.map((item, key) => (React__default["default"].createElement("div", { key: key, className: styles.section },
93
90
  item.header && React__default["default"].createElement(SectionHeader, { text: item.header }),
94
- item.actions.map(function (action, index) { return (React__default["default"].createElement(Action, tslib_es6.__assign({ sectionLabel: item.header, key: action.label, shouldFocus: key === 0 && index === 0 }, action))); }))); })))))));
91
+ item.actions.map((action, index) => (React__default["default"].createElement(Action, Object.assign({ sectionLabel: item.header, key: action.label, shouldFocus: key === 0 && index === 0 }, action)))))))))))));
95
92
  function toggle(callbackPassthrough) {
96
- return function (event) {
93
+ return (event) => {
97
94
  setVisible(!visible);
98
95
  callbackPassthrough && callbackPassthrough(event);
99
96
  };
@@ -102,7 +99,7 @@ function Menu(_a) {
102
99
  setVisible(false);
103
100
  }
104
101
  function handleKeyboardShortcut(event) {
105
- var key = event.key;
102
+ const { key } = event;
106
103
  if (!visible)
107
104
  return;
108
105
  event.preventDefault();
@@ -110,15 +107,13 @@ function Menu(_a) {
110
107
  key === "Escape" && hide();
111
108
  }
112
109
  }
113
- function SectionHeader(_a) {
114
- var text = _a.text;
110
+ function SectionHeader({ text }) {
115
111
  return (React__default["default"].createElement("div", { className: styles.sectionHeader, "aria-hidden": true },
116
112
  React__default["default"].createElement(Typography.Typography, { element: "h6", size: "small", textCase: "uppercase", textColor: "textSecondary", fontWeight: "bold" }, text)));
117
113
  }
118
- function Action(_a) {
119
- var label = _a.label, sectionLabel = _a.sectionLabel, icon = _a.icon, onClick = _a.onClick, _b = _a.shouldFocus, shouldFocus = _b === void 0 ? false : _b;
120
- var actionButtonRef = React.useRef();
121
- React.useEffect(function () {
114
+ function Action({ label, sectionLabel, icon, onClick, shouldFocus = false, }) {
115
+ const actionButtonRef = React.useRef();
116
+ React.useEffect(() => {
122
117
  if (actionButtonRef.current && shouldFocus) {
123
118
  actionButtonRef.current.focus();
124
119
  }
@@ -2,21 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Modal = require('../Modal-cc3bd7bf.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var Modal = require('../Modal-757e83fd.js');
7
6
  require('react');
8
7
  require('react-dom');
9
8
  require('classnames');
10
9
  require('framer-motion');
11
10
  require('@jobber/hooks');
12
11
  require('../style-inject.es-dcee06b6.js');
13
- require('../Heading-a9a66964.js');
14
- require('../Typography-fbe0ed6e.js');
15
- require('../Button-cd30df0f.js');
12
+ require('../Heading-7b203f7f.js');
13
+ require('../Typography-9262511f.js');
14
+ require('../Button-16e043ec.js');
16
15
  require('react-router-dom');
17
- require('../Icon-d5ad1a6d.js');
16
+ require('../Icon-405a216c.js');
18
17
  require('@jobber/design');
19
- require('../ButtonDismiss-a9590195.js');
18
+ require('../ButtonDismiss-3fb1eaf9.js');
20
19
 
21
20
 
22
21