@jobber/components 4.0.2 → 4.1.1

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 +10 -2
  43. package/dist/DatePicker/index.js +4 -5
  44. package/dist/{DatePicker-7c67e8d2.js → DatePicker-0696b0f0.js} +41 -38
  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-ac310b6f.js → FormField-79a0a375.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-70f7d947.js → InputText-95ea24f9.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-7d5de76b.js → Option-4b665afd.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,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
 
@@ -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 ReactDOM = require('react-dom');
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 Heading = require('./Heading-a9a66964.js');
11
- var Button = require('./Button-cd30df0f.js');
12
- var ButtonDismiss = require('./ButtonDismiss-a9590195.js');
9
+ var Heading = require('./Heading-7b203f7f.js');
10
+ var Button = require('./Button-16e043ec.js');
11
+ var ButtonDismiss = require('./ButtonDismiss-3fb1eaf9.js');
13
12
 
14
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
14
 
@@ -25,13 +24,12 @@ var css = "._1rPyLQMc1nSLWx4zAzSas0 {\n --modal--padding: var(--space-base);\n
25
24
  var sizes = {"small":"_1rPyLQMc1nSLWx4zAzSas0","large":"_3GkHDHYnN_8P6NQFVSfYiB"};
26
25
  styleInject_es.styleInject(css);
27
26
 
28
- function Modal(_a) {
29
- var _b = _a.open, open = _b === void 0 ? false : _b, title = _a.title, size = _a.size, _c = _a.dismissible, dismissible = _c === void 0 ? true : _c, children = _a.children, primaryAction = _a.primaryAction, secondaryAction = _a.secondaryAction, tertiaryAction = _a.tertiaryAction, onRequestClose = _a.onRequestClose;
30
- var modalClassName = classnames__default["default"](styles.modal, size && sizes[size]);
27
+ function Modal({ open = false, title, size, dismissible = true, children, primaryAction, secondaryAction, tertiaryAction, onRequestClose, }) {
28
+ const modalClassName = classnames__default["default"](styles.modal, size && sizes[size]);
31
29
  jobberHooks.useRefocusOnActivator(open);
32
- var modalRef = jobberHooks.useFocusTrap(open);
30
+ const modalRef = jobberHooks.useFocusTrap(open);
33
31
  jobberHooks.useOnKeyDown(handleRequestClose, "Escape");
34
- var template = (React__default["default"].createElement(framerMotion.AnimatePresence, null, open && (React__default["default"].createElement("div", { ref: modalRef, className: styles.container, tabIndex: 0 },
32
+ const template = (React__default["default"].createElement(framerMotion.AnimatePresence, null, open && (React__default["default"].createElement("div", { ref: modalRef, className: styles.container, tabIndex: 0 },
35
33
  React__default["default"].createElement(framerMotion.motion.div, { key: styles.overlay, className: styles.overlay, onClick: onRequestClose, initial: { opacity: 0 }, animate: { opacity: 0.8 }, exit: { opacity: 0 }, transition: { duration: 0.2 } }),
36
34
  React__default["default"].createElement(framerMotion.motion.div, { key: styles.modal, className: modalClassName, initial: { scale: 0.9, opacity: 0 }, animate: { scale: 1, opacity: 1 }, exit: { scale: 0.9, opacity: 0 }, transition: {
37
35
  duration: 0.2,
@@ -47,15 +45,13 @@ function Modal(_a) {
47
45
  }
48
46
  }
49
47
  }
50
- function Header(_a) {
51
- var title = _a.title, dismissible = _a.dismissible, onRequestClose = _a.onRequestClose;
48
+ function Header({ title, dismissible, onRequestClose }) {
52
49
  return (React__default["default"].createElement("div", { className: styles.header, "data-testid": "modal-header" },
53
50
  React__default["default"].createElement(Heading.Heading, { level: 3 }, title),
54
51
  dismissible && (React__default["default"].createElement(ButtonDismiss.ButtonDismiss, { onClick: onRequestClose, ariaLabel: "Close modal" }))));
55
52
  }
56
- function Actions(_a) {
57
- var primary = _a.primary, secondary = _a.secondary, tertiary = _a.tertiary;
58
- var shouldShow = primary != undefined || secondary != undefined || tertiary != undefined;
53
+ function Actions({ primary, secondary, tertiary }) {
54
+ const shouldShow = primary != undefined || secondary != undefined || tertiary != undefined;
59
55
  if (secondary != undefined) {
60
56
  secondary = Object.assign({ type: "primary", variation: "subtle" }, secondary);
61
57
  }
@@ -64,10 +60,10 @@ function Actions(_a) {
64
60
  }
65
61
  return (React__default["default"].createElement(React__default["default"].Fragment, null, shouldShow && (React__default["default"].createElement("div", { className: styles.actionBar },
66
62
  React__default["default"].createElement("div", { className: styles.rightAction },
67
- primary && React__default["default"].createElement(Button.Button, tslib_es6.__assign({}, primary)),
68
- secondary && React__default["default"].createElement(Button.Button, tslib_es6.__assign({}, secondary))),
63
+ primary && React__default["default"].createElement(Button.Button, Object.assign({}, primary)),
64
+ secondary && React__default["default"].createElement(Button.Button, Object.assign({}, secondary))),
69
65
  tertiary && (React__default["default"].createElement("div", { className: styles.leftAction },
70
- React__default["default"].createElement(Button.Button, tslib_es6.__assign({}, tertiary))))))));
66
+ React__default["default"].createElement(Button.Button, Object.assign({}, tertiary))))))));
71
67
  }
72
68
 
73
69
  exports.Modal = Modal;