@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,31 +2,30 @@
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 LightBox = require('../LightBox-1ad62669.js');
10
- var FormatFile = require('../FormatFile-18e8a54a.js');
11
- var Button = require('../Button-cd30df0f.js');
8
+ var LightBox = require('../LightBox-dd1afa97.js');
9
+ var FormatFile = require('../FormatFile-3512f838.js');
10
+ var Button = require('../Button-16e043ec.js');
12
11
  require('framer-motion');
13
12
  require('react-dom');
14
13
  require('lodash/debounce');
15
14
  require('@jobber/hooks');
16
- require('../ButtonDismiss-a9590195.js');
15
+ require('../ButtonDismiss-3fb1eaf9.js');
17
16
  require('filesize');
18
- require('../ConfirmationModal-e95f46d7.js');
19
- require('../Modal-cc3bd7bf.js');
20
- require('../Heading-a9a66964.js');
21
- require('../Typography-fbe0ed6e.js');
22
- require('../Content-18de5fbb.js');
23
- require('../Markdown-b53e0308.js');
17
+ require('../ConfirmationModal-6a7beee2.js');
18
+ require('../Modal-757e83fd.js');
19
+ require('../Heading-7b203f7f.js');
20
+ require('../Typography-9262511f.js');
21
+ require('../Content-05df8f7f.js');
22
+ require('../Markdown-be2dcd0c.js');
24
23
  require('react-markdown');
25
- require('../Text-e012fb46.js');
26
- require('../Emphasis-75a3f411.js');
27
- require('../Icon-d5ad1a6d.js');
24
+ require('../Text-7ce00adb.js');
25
+ require('../Emphasis-23dc2a0a.js');
26
+ require('../Icon-405a216c.js');
28
27
  require('@jobber/design');
29
- require('../ProgressBar-e9a49129.js');
28
+ require('../ProgressBar-f028b159.js');
30
29
  require('react-router-dom');
31
30
 
32
31
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -38,22 +37,21 @@ var css = ".oLHYkzv718LqMvtqFZFcZ,\n._2JSG0uYj1HSXFads63nptQ {\n display: -ms-f
38
37
  var styles = {"gallery":"oLHYkzv718LqMvtqFZFcZ","galleryLarge":"_2JSG0uYj1HSXFads63nptQ","showMoreButton":"_3LkQj1p9wvHbrfXfz2nUYp","baseShowMoreButton":"FG8mZ6UcMPRsMC9HQinY2","largeShowMoreButton":"_1cTzKosWc22qxWZSiI0CzZ"};
39
38
  styleInject_es.styleInject(css);
40
39
 
41
- function Gallery(_a) {
42
- var files = _a.files, _b = _a.size, size = _b === void 0 ? "base" : _b, max = _a.max, onDelete = _a.onDelete;
43
- var _c = generateImagesArray(files), images = _c.images, filesToImageIndex = _c.filesToImageIndex;
44
- var _d = tslib_es6.__read(React.useState(false), 2), lightboxOpen = _d[0], setLightboxOpen = _d[1];
45
- var _e = tslib_es6.__read(React.useState(0), 2), lightboxIndex = _e[0], setLightboxIndex = _e[1];
46
- var _f = tslib_es6.__read(React.useState(max ? false : true), 2), displayPastMax = _f[0], setDisplayPastMax = _f[1];
47
- var visibleFiles = displayPastMax ? files : files.slice(0, max);
40
+ function Gallery({ files, size = "base", max, onDelete }) {
41
+ const { images, filesToImageIndex } = generateImagesArray(files);
42
+ const [lightboxOpen, setLightboxOpen] = React.useState(false);
43
+ const [lightboxIndex, setLightboxIndex] = React.useState(0);
44
+ const [displayPastMax, setDisplayPastMax] = React.useState(max ? false : true);
45
+ const visibleFiles = displayPastMax ? files : files.slice(0, max);
48
46
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
49
47
  React__default["default"].createElement("div", { className: size === "large" ? styles.galleryLarge : styles.gallery },
50
- visibleFiles.map(function (file, index) {
51
- return (React__default["default"].createElement(FormatFile.FormatFile, { key: file.key, file: tslib_es6.__assign(tslib_es6.__assign({}, file), { src: function () { return Promise.resolve(file.src); } }), display: "compact", displaySize: size, onClick: function () {
48
+ visibleFiles.map((file, index) => {
49
+ return (React__default["default"].createElement(FormatFile.FormatFile, { key: file.key, file: Object.assign(Object.assign({}, file), { src: () => Promise.resolve(file.src) }), display: "compact", displaySize: size, onClick: () => {
52
50
  handleThumbnailClicked(index);
53
- }, onDelete: onDelete ? function () { return onDelete === null || onDelete === void 0 ? void 0 : onDelete(file); } : undefined }));
51
+ }, onDelete: onDelete ? () => onDelete === null || onDelete === void 0 ? void 0 : onDelete(file) : undefined }));
54
52
  }),
55
- max && files.length > max && !displayPastMax && (React__default["default"].createElement("div", { className: classnames__default["default"](styles.showMoreButton, styles[size + "ShowMoreButton"]) },
56
- React__default["default"].createElement(Button.Button, { type: "tertiary", size: size, label: "+ " + (files.length - max), fullWidth: true, onClick: function () {
53
+ max && files.length > max && !displayPastMax && (React__default["default"].createElement("div", { className: classnames__default["default"](styles.showMoreButton, styles[`${size}ShowMoreButton`]) },
54
+ React__default["default"].createElement(Button.Button, { type: "tertiary", size: size, label: `+ ${files.length - max}`, fullWidth: true, onClick: () => {
57
55
  setDisplayPastMax(true);
58
56
  } })))),
59
57
  React__default["default"].createElement(LightBox.LightBox, { open: lightboxOpen, images: images, imageIndex: lightboxIndex, onRequestClose: handleLightboxClose })));
@@ -66,7 +64,7 @@ function Gallery(_a) {
66
64
  }
67
65
  }
68
66
  function handleLightboxOpen(index) {
69
- var fileToImageIndex = filesToImageIndex[index];
67
+ const fileToImageIndex = filesToImageIndex[index];
70
68
  if (fileToImageIndex !== undefined) {
71
69
  setLightboxIndex(fileToImageIndex);
72
70
  setLightboxOpen(true);
@@ -77,10 +75,10 @@ function Gallery(_a) {
77
75
  }
78
76
  }
79
77
  function generateImagesArray(files) {
80
- var images = [];
81
- var filesToImageIndex = [];
82
- var imageIndex = 0;
83
- for (var i = 0; i < files.length; i++) {
78
+ const images = [];
79
+ const filesToImageIndex = [];
80
+ let imageIndex = 0;
81
+ for (let i = 0; i < files.length; i++) {
84
82
  if (files[i].type.startsWith("image/")) {
85
83
  images.push({ title: files[i].name, url: files[i].src });
86
84
  filesToImageIndex.push(imageIndex);
@@ -90,7 +88,7 @@ function generateImagesArray(files) {
90
88
  filesToImageIndex.push(undefined);
91
89
  }
92
90
  }
93
- return { images: images, filesToImageIndex: filesToImageIndex };
91
+ return { images, filesToImageIndex };
94
92
  }
95
93
 
96
94
  exports.Gallery = Gallery;
@@ -2,10 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Heading = require('../Heading-a9a66964.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var Heading = require('../Heading-7b203f7f.js');
7
6
  require('react');
8
- require('../Typography-fbe0ed6e.js');
7
+ require('../Typography-9262511f.js');
9
8
  require('classnames');
10
9
  require('../style-inject.es-dcee06b6.js');
11
10
 
@@ -1,16 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
3
  var React = require('react');
5
- var Typography = require('./Typography-fbe0ed6e.js');
4
+ var Typography = require('./Typography-9262511f.js');
6
5
 
7
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
7
 
9
8
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
9
 
11
- function Heading(_a) {
12
- var _b = _a.level, level = _b === void 0 ? 5 : _b, children = _a.children;
13
- var levelMap = {
10
+ function Heading({ level = 5, children }) {
11
+ const levelMap = {
14
12
  1: {
15
13
  element: "h1",
16
14
  size: "jumbo",
@@ -49,7 +47,7 @@ function Heading(_a) {
49
47
  textColor: "heading",
50
48
  },
51
49
  };
52
- return React__default["default"].createElement(Typography.Typography, tslib_es6.__assign({}, levelMap[level]), children);
50
+ return React__default["default"].createElement(Typography.Typography, Object.assign({}, levelMap[level]), children);
53
51
  }
54
52
 
55
53
  exports.Heading = Heading;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Icon = require('../Icon-d5ad1a6d.js');
5
+ var Icon = require('../Icon-405a216c.js');
6
6
  require('react');
7
7
  require('@jobber/design');
8
8
 
@@ -7,19 +7,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
7
7
 
8
8
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
9
 
10
- function Icon(_a) {
11
- var name = _a.name, color = _a.color, customColor = _a.customColor, _b = _a.size, size = _b === void 0 ? "base" : _b;
12
- var icon;
13
- var _c = design.getIcon({
14
- name: name,
10
+ function Icon({ name, color, customColor, size = "base" }) {
11
+ let icon;
12
+ const { svgClassNames, pathClassNames, paths, viewBox } = design.getIcon({
13
+ name,
15
14
  color: getIconColor(name, color),
16
- size: size,
17
- }), svgClassNames = _c.svgClassNames, pathClassNames = _c.pathClassNames, paths = _c.paths, viewBox = _c.viewBox;
15
+ size,
16
+ });
18
17
  if (name === "truck") {
19
18
  icon = getTruck(pathClassNames, customColor);
20
19
  }
21
20
  else {
22
- icon = paths.map(function (path) { return (React__default["default"].createElement("path", { key: path, className: pathClassNames, d: path, fill: customColor })); });
21
+ icon = paths.map((path) => (React__default["default"].createElement("path", { key: path, className: pathClassNames, d: path, fill: customColor })));
23
22
  }
24
23
  return (React__default["default"].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: viewBox, className: svgClassNames, "data-testid": name }, icon));
25
24
  }
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from "react";
2
- export declare type InlineLabelColors = "greyBlue" | "red" | "orange" | "green" | "blue" | "yellow" | "lime" | "purple" | "pink" | "teal" | "yellowGreen" | "blueDark" | "lightBlue" | "indigo";
2
+ export type InlineLabelColors = "greyBlue" | "red" | "orange" | "green" | "blue" | "yellow" | "lime" | "purple" | "pink" | "teal" | "yellowGreen" | "blueDark" | "lightBlue" | "indigo";
3
3
  interface InlineLabelProps {
4
4
  /**
5
5
  * The size of the label
@@ -5,8 +5,7 @@ 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 Typography = require('../Typography-fbe0ed6e.js');
9
- require('../tslib.es6-5b50eb8e.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,10 +16,9 @@ var css = "._2CX7X_wH5lb0fioNTuYTB3 {\n display: -ms-inline-flexbox;\n display
17
16
  var styles = {"inlineLabel":"_2CX7X_wH5lb0fioNTuYTB3","base":"hIEzl9j3x8azFGCx53-RF","large":"_2FEAdHSbQ1julTQlXKcU9G","larger":"y2IZqgoDbEVd68JUw74_V","greyBlue":"_3ayhjHoV55pJnCyceIIodY","red":"_1NRX5K08cyefHFTjmEY7JC","orange":"_2WqpAFlUhWh2Wycr-r2uMn","green":"EM3QGMlc1v7pjfVBR2j82","blue":"LuBWHY5BJNh4RnEPozKgA","navy":"_36P3W4wMGeF6ObMYI87q2b","yellow":"z7yJ1rNuOTksBtZ0cr3ys","lime":"_2jRJWXkl2av1GzSTdc4GS","purple":"_2DSYzUVBgtIaB1xsMr7rVj","pink":"_27cvq6AfdeOP6SUuX5Ex_T","teal":"eImPpTsVAb13A3dFkEkBc","yellowGreen":"_1AcWxzfWcjE71_gRrEo-J_","blueDark":"J21zEr7ZIvGwt6R5-MZQ7","lightBlue":"_27HNFihCeydE5HUcbCskQ4","indigo":"_3_dDXhHTqG9pa_au-60pWR"};
18
17
  styleInject_es.styleInject(css);
19
18
 
20
- function InlineLabel(_a) {
21
- var _b = _a.size, size = _b === void 0 ? "base" : _b, _c = _a.color, color = _c === void 0 ? "greyBlue" : _c, children = _a.children;
22
- var className = classnames__default["default"](styles.inlineLabel, styles[size], styles[color]);
23
- var sizeMapper = {
19
+ function InlineLabel({ size = "base", color = "greyBlue", children, }) {
20
+ const className = classnames__default["default"](styles.inlineLabel, styles[size], styles[color]);
21
+ const sizeMapper = {
24
22
  base: "small",
25
23
  large: "large",
26
24
  larger: "large",
@@ -2,22 +2,22 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
5
+ var tslib_es6 = require('../tslib.es6-efe27175.js');
6
6
  var React = require('react');
7
7
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
8
- var Avatar = require('../Avatar-cfd04e86.js');
9
- var InputFile = require('../InputFile-e108a7f8.js');
10
- var ProgressBar = require('../ProgressBar-e9a49129.js');
11
- var Button = require('../Button-cd30df0f.js');
8
+ var Avatar = require('../Avatar-89cfd0a6.js');
9
+ var InputFile = require('../InputFile-5e0ed2b5.js');
10
+ var ProgressBar = require('../ProgressBar-f028b159.js');
11
+ var Button = require('../Button-16e043ec.js');
12
12
  require('classnames');
13
13
  require('color');
14
- require('../Icon-d5ad1a6d.js');
14
+ require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
16
16
  require('react-dropzone');
17
17
  require('axios');
18
18
  require('uuid');
19
- require('../Content-18de5fbb.js');
20
- require('../Typography-fbe0ed6e.js');
19
+ require('../Content-05df8f7f.js');
20
+ require('../Typography-9262511f.js');
21
21
  require('react-router-dom');
22
22
 
23
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -29,11 +29,11 @@ var styles = {"inputAvatar":"_1e1D2becaB2vzZJ8QkTQFY","preview":"TQgDlkCH4_o4LkH
29
29
  styleInject_es.styleInject(css);
30
30
 
31
31
  function InputAvatar(_a) {
32
- var getUploadParams = _a.getUploadParams, onUploadComplete = _a.onUploadComplete, onChange = _a.onChange, avatarProps = tslib_es6.__rest(_a, ["getUploadParams", "onUploadComplete", "onChange"]);
33
- var _b = tslib_es6.__read(React.useState(1), 2), progress = _b[0], setProgress = _b[1];
32
+ var { getUploadParams, onUploadComplete, onChange } = _a, avatarProps = tslib_es6.__rest(_a, ["getUploadParams", "onUploadComplete", "onChange"]);
33
+ const [progress, setProgress] = React.useState(1);
34
34
  return (React__default["default"].createElement("div", { className: styles.inputAvatar },
35
35
  React__default["default"].createElement("div", { className: styles.preview },
36
- React__default["default"].createElement(Avatar.Avatar, tslib_es6.__assign({ size: "large" }, avatarProps)),
36
+ React__default["default"].createElement(Avatar.Avatar, Object.assign({ size: "large" }, avatarProps)),
37
37
  progress < 1 && (React__default["default"].createElement(Overlay, null,
38
38
  React__default["default"].createElement(Centered, null,
39
39
  React__default["default"].createElement(ProgressBar.ProgressBar, { size: "small", currentStep: progress * 100, totalSteps: 100 }))))),
@@ -48,11 +48,8 @@ function InputAvatar(_a) {
48
48
  handleUpload(newFile);
49
49
  }
50
50
  function handleUpload(newFile) {
51
- return tslib_es6.__awaiter(this, void 0, void 0, function () {
52
- return tslib_es6.__generator(this, function (_a) {
53
- setProgress(newFile.progress);
54
- return [2 /*return*/];
55
- });
51
+ return tslib_es6.__awaiter(this, void 0, void 0, function* () {
52
+ setProgress(newFile.progress);
56
53
  });
57
54
  }
58
55
  function clearAvatar() {
@@ -60,12 +57,10 @@ function InputAvatar(_a) {
60
57
  setProgress(1);
61
58
  }
62
59
  }
63
- function Overlay(_a) {
64
- var children = _a.children;
60
+ function Overlay({ children }) {
65
61
  return React__default["default"].createElement("div", { className: styles.overlay }, children);
66
62
  }
67
- function Centered(_a) {
68
- var children = _a.children;
63
+ function Centered({ children }) {
69
64
  // Note: this HIGHLY experimental Centered component is applying margin.
70
65
  return React__default["default"].createElement("div", { className: styles.centered }, children);
71
66
  }
@@ -2,24 +2,24 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
6
5
  var lodash = require('lodash');
7
6
  var React = require('react');
8
- var FormField = require('../FormField-ac310b6f.js');
9
- var DatePicker = require('../DatePicker-7c67e8d2.js');
7
+ var FormField = require('../FormField-79a0a375.js');
8
+ var DatePicker = require('../DatePicker-0696b0f0.js');
9
+ require('../tslib.es6-efe27175.js');
10
10
  require('uuid');
11
11
  require('react-hook-form');
12
12
  require('../style-inject.es-dcee06b6.js');
13
13
  require('classnames');
14
- require('../Button-cd30df0f.js');
14
+ require('../Button-16e043ec.js');
15
15
  require('react-router-dom');
16
- require('../Icon-d5ad1a6d.js');
16
+ require('../Icon-405a216c.js');
17
17
  require('@jobber/design');
18
- require('../Typography-fbe0ed6e.js');
19
- require('../Text-e012fb46.js');
20
- require('../InputValidation-06a8a7ba.js');
18
+ require('../Typography-9262511f.js');
19
+ require('../Text-7ce00adb.js');
20
+ require('../InputValidation-97dd0dcf.js');
21
21
  require('framer-motion');
22
- require('../Spinner-e4e9c8eb.js');
22
+ require('../Spinner-ae4c8a85.js');
23
23
  require('react-datepicker');
24
24
  require('@jobber/hooks');
25
25
 
@@ -28,17 +28,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
28
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
29
29
 
30
30
  function InputDate(inputProps) {
31
- return (React__default["default"].createElement(DatePicker.DatePicker, { selected: inputProps.value, onChange: inputProps.onChange, disabled: inputProps.disabled, readonly: inputProps.readonly, fullWidth: !inputProps.inline, minDate: inputProps.minDate, maxDate: inputProps.maxDate, smartAutofocus: false, activator: function (activatorProps) {
32
- var onChange = activatorProps.onChange, onClick = activatorProps.onClick, value = activatorProps.value;
33
- var newActivatorProps = lodash.omit(activatorProps, ["activator"]);
34
- var suffix = tslib_es6.__assign({ icon: "calendar" }, (onClick && {
31
+ return (React__default["default"].createElement(DatePicker.DatePicker, { selected: inputProps.value, onChange: inputProps.onChange, disabled: inputProps.disabled, readonly: inputProps.readonly, fullWidth: !inputProps.inline, minDate: inputProps.minDate, maxDate: inputProps.maxDate, smartAutofocus: false, activator: activatorProps => {
32
+ const { onChange, onClick, value } = activatorProps;
33
+ const newActivatorProps = lodash.omit(activatorProps, ["activator"]);
34
+ const suffix = Object.assign({ icon: "calendar" }, (onClick && {
35
35
  onClick: onClick,
36
36
  ariaLabel: "Show calendar",
37
37
  }));
38
- return (React__default["default"].createElement(FormField.FormField, tslib_es6.__assign({}, newActivatorProps, inputProps, { value: value, onChange: function (_, event) { return onChange && onChange(event); }, onBlur: function () {
38
+ return (React__default["default"].createElement(FormField.FormField, Object.assign({}, newActivatorProps, inputProps, { value: value, onChange: (_, event) => onChange && onChange(event), onBlur: () => {
39
39
  inputProps.onBlur && inputProps.onBlur();
40
40
  activatorProps.onBlur && activatorProps.onBlur();
41
- }, onFocus: function () {
41
+ }, onFocus: () => {
42
42
  inputProps.onFocus && inputProps.onFocus();
43
43
  activatorProps.onFocus && activatorProps.onFocus();
44
44
  }, suffix: suffix })));
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CommonFormFieldProps, FormFieldProps } from "../FormField";
3
- declare type InputEmailProps = CommonFormFieldProps & Pick<FormFieldProps, "maxLength" | "readonly" | "validations" | "defaultValue">;
3
+ type InputEmailProps = CommonFormFieldProps & Pick<FormFieldProps, "maxLength" | "readonly" | "validations" | "defaultValue">;
4
4
  export declare const validationMessage = "Please enter a valid email";
5
5
  export declare function InputEmail(props: InputEmailProps): JSX.Element;
6
6
  export {};
@@ -2,33 +2,33 @@
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 FormField = require('../FormField-ac310b6f.js');
6
+ var FormField = require('../FormField-79a0a375.js');
7
+ require('../tslib.es6-efe27175.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
10
10
  require('../style-inject.es-dcee06b6.js');
11
11
  require('classnames');
12
- require('../Button-cd30df0f.js');
12
+ require('../Button-16e043ec.js');
13
13
  require('react-router-dom');
14
- require('../Icon-d5ad1a6d.js');
14
+ require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
16
- require('../Typography-fbe0ed6e.js');
17
- require('../Text-e012fb46.js');
18
- require('../InputValidation-06a8a7ba.js');
16
+ require('../Typography-9262511f.js');
17
+ require('../Text-7ce00adb.js');
18
+ require('../InputValidation-97dd0dcf.js');
19
19
  require('framer-motion');
20
- require('../Spinner-e4e9c8eb.js');
20
+ require('../Spinner-ae4c8a85.js');
21
21
 
22
22
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
23
 
24
24
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
25
 
26
- var validationMessage = "Please enter a valid email";
26
+ const validationMessage = "Please enter a valid email";
27
27
  function InputEmail(props) {
28
- var validations = props.validations;
29
- return (React__default["default"].createElement(FormField.FormField, tslib_es6.__assign({}, props, { type: "email", validations: tslib_es6.__assign(tslib_es6.__assign({}, validations), { validate: checkForValidEmail }) })));
28
+ const { validations } = props;
29
+ return (React__default["default"].createElement(FormField.FormField, Object.assign({}, props, { type: "email", validations: Object.assign(Object.assign({}, validations), { validate: checkForValidEmail }) })));
30
30
  function checkForValidEmail(value) {
31
- var emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
31
+ const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
32
32
  if (!value) {
33
33
  return true;
34
34
  }
@@ -2,20 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InputFile = require('../InputFile-e108a7f8.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var InputFile = require('../InputFile-5e0ed2b5.js');
6
+ require('../tslib.es6-efe27175.js');
7
7
  require('react');
8
8
  require('classnames');
9
9
  require('react-dropzone');
10
10
  require('axios');
11
11
  require('uuid');
12
12
  require('../style-inject.es-dcee06b6.js');
13
- require('../Button-cd30df0f.js');
13
+ require('../Button-16e043ec.js');
14
14
  require('react-router-dom');
15
- require('../Icon-d5ad1a6d.js');
15
+ require('../Icon-405a216c.js');
16
16
  require('@jobber/design');
17
- require('../Typography-fbe0ed6e.js');
18
- require('../Content-18de5fbb.js');
17
+ require('../Typography-9262511f.js');
18
+ require('../Content-05df8f7f.js');
19
19
 
20
20
 
21
21
 
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
3
+ var tslib_es6 = require('./tslib.es6-efe27175.js');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
6
  var reactDropzone = require('react-dropzone');
7
7
  var axios = require('axios');
8
8
  var uuid = require('uuid');
9
9
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
10
- var Button = require('./Button-cd30df0f.js');
11
- var Content = require('./Content-18de5fbb.js');
12
- var Typography = require('./Typography-fbe0ed6e.js');
10
+ var Button = require('./Button-16e043ec.js');
11
+ var Content = require('./Content-05df8f7f.js');
12
+ var Typography = require('./Typography-9262511f.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
@@ -21,10 +21,8 @@ var css = "._2CgKZHQp30gXtQyW8h2Ex_ {\n font-size: 0;\n line-height: 0;\n -we
21
21
  var styles = {"dropZoneBase":"_2CgKZHQp30gXtQyW8h2Ex_","dropZone":"_3nre5MPe67v_oDs44x2IDC","active":"_1wLTm5Es7oqZzzwFiOySeN"};
22
22
  styleInject_es.styleInject(css);
23
23
 
24
- function InputFile(_a) {
25
- var _b;
26
- var _c = _a.variation, variation = _c === void 0 ? "dropzone" : _c, _d = _a.size, size = _d === void 0 ? "base" : _d, providedButtonLabel = _a.buttonLabel, _e = _a.allowMultiple, allowMultiple = _e === void 0 ? false : _e, _f = _a.allowedTypes, allowedTypes = _f === void 0 ? "all" : _f, getUploadParams = _a.getUploadParams, onUploadStart = _a.onUploadStart, onUploadProgress = _a.onUploadProgress, onUploadComplete = _a.onUploadComplete;
27
- var options = {
24
+ function InputFile({ variation = "dropzone", size = "base", buttonLabel: providedButtonLabel, allowMultiple = false, allowedTypes = "all", getUploadParams, onUploadStart, onUploadProgress, onUploadComplete, }) {
25
+ const options = {
28
26
  multiple: allowMultiple,
29
27
  onDrop: React.useCallback(handleDrop, []),
30
28
  };
@@ -34,66 +32,54 @@ function InputFile(_a) {
34
32
  else if (allowedTypes === "basicImages") {
35
33
  options.accept = "image/png, image/jpg, image/jpeg";
36
34
  }
37
- var _g = reactDropzone.useDropzone(options), getRootProps = _g.getRootProps, getInputProps = _g.getInputProps, isDragActive = _g.isDragActive;
38
- var _h = getLabels(providedButtonLabel, allowMultiple, allowedTypes), buttonLabel = _h.buttonLabel, hintText = _h.hintText;
39
- var dropZone = classnames__default["default"](styles.dropZoneBase, (_b = {},
40
- _b[styles.dropZone] = variation === "dropzone",
41
- _b[styles.active] = isDragActive,
42
- _b));
43
- return (React__default["default"].createElement("div", tslib_es6.__assign({}, getRootProps({ className: dropZone }), { tabIndex: variation === "button" ? -1 : 0 }),
44
- React__default["default"].createElement("input", tslib_es6.__assign({}, getInputProps())),
35
+ const { getRootProps, getInputProps, isDragActive } = reactDropzone.useDropzone(options);
36
+ const { buttonLabel, hintText } = getLabels(providedButtonLabel, allowMultiple, allowedTypes);
37
+ const dropZone = classnames__default["default"](styles.dropZoneBase, {
38
+ [styles.dropZone]: variation === "dropzone",
39
+ [styles.active]: isDragActive,
40
+ });
41
+ return (React__default["default"].createElement("div", Object.assign({}, getRootProps({ className: dropZone }), { tabIndex: variation === "button" ? -1 : 0 }),
42
+ React__default["default"].createElement("input", Object.assign({}, getInputProps())),
45
43
  variation === "dropzone" && (React__default["default"].createElement(Content.Content, { spacing: "small" },
46
44
  React__default["default"].createElement(Button.Button, { label: buttonLabel, size: "small", type: "secondary" }),
47
45
  size === "base" && (React__default["default"].createElement(Typography.Typography, { size: "small", textColor: "textSecondary" }, hintText)))),
48
46
  variation === "button" && (React__default["default"].createElement(Button.Button, { label: buttonLabel, size: size, type: "secondary", fullWidth: true }))));
49
47
  function handleDrop(acceptedFiles) {
50
- acceptedFiles.forEach(function (file) {
48
+ acceptedFiles.forEach(file => {
51
49
  uploadFile(file);
52
50
  });
53
51
  }
54
52
  function uploadFile(file) {
55
- return tslib_es6.__awaiter(this, void 0, void 0, function () {
56
- var _a, url, _b, key, _c, fields, _d, httpMethod, fileUpload, handleUploadProgress, handleUploadComplete, axiosConfig;
57
- return tslib_es6.__generator(this, function (_e) {
58
- switch (_e.label) {
59
- case 0: return [4 /*yield*/, getUploadParams(file)];
60
- case 1:
61
- _a = _e.sent(), url = _a.url, _b = _a.key, key = _b === void 0 ? uuid.v1() : _b, _c = _a.fields, fields = _c === void 0 ? {} : _c, _d = _a.httpMethod, httpMethod = _d === void 0 ? "POST" : _d;
62
- fileUpload = getFileUpload(file, key);
63
- onUploadStart && onUploadStart(tslib_es6.__assign({}, fileUpload));
64
- handleUploadProgress = function (progressEvent) {
65
- onUploadProgress &&
66
- onUploadProgress(tslib_es6.__assign(tslib_es6.__assign({}, fileUpload), { progress: progressEvent.loaded / progressEvent.total }));
67
- };
68
- handleUploadComplete = function () {
69
- onUploadComplete === null || onUploadComplete === void 0 ? void 0 : onUploadComplete(tslib_es6.__assign(tslib_es6.__assign({}, fileUpload), { progress: 1 }));
70
- };
71
- axiosConfig = createAxiosConfig({
72
- url: url,
73
- httpMethod: httpMethod,
74
- fields: fields,
75
- file: file,
76
- handleUploadProgress: handleUploadProgress,
77
- });
78
- axios__default["default"].request(axiosConfig).then(handleUploadComplete);
79
- return [2 /*return*/];
80
- }
53
+ return tslib_es6.__awaiter(this, void 0, void 0, function* () {
54
+ const { url, key = uuid.v1(), fields = {}, httpMethod = "POST", } = yield getUploadParams(file);
55
+ const fileUpload = getFileUpload(file, key);
56
+ onUploadStart && onUploadStart(Object.assign({}, fileUpload));
57
+ const handleUploadProgress = (progressEvent) => {
58
+ onUploadProgress &&
59
+ onUploadProgress(Object.assign(Object.assign({}, fileUpload), { progress: progressEvent.loaded / progressEvent.total }));
60
+ };
61
+ const handleUploadComplete = () => {
62
+ onUploadComplete === null || onUploadComplete === void 0 ? void 0 : onUploadComplete(Object.assign(Object.assign({}, fileUpload), { progress: 1 }));
63
+ };
64
+ const axiosConfig = createAxiosConfig({
65
+ url,
66
+ httpMethod,
67
+ fields,
68
+ file,
69
+ handleUploadProgress,
81
70
  });
71
+ axios__default["default"].request(axiosConfig).then(handleUploadComplete);
82
72
  });
83
73
  }
84
74
  }
85
- function createAxiosConfig(_a) {
86
- var url = _a.url, _b = _a.httpMethod, httpMethod = _b === void 0 ? "POST" : _b, _c = _a.fields, fields = _c === void 0 ? {} : _c, file = _a.file, handleUploadProgress = _a.handleUploadProgress;
87
- var data;
88
- var headers;
75
+ function createAxiosConfig({ url, httpMethod = "POST", fields = {}, file, handleUploadProgress, }) {
76
+ let data;
77
+ let headers;
89
78
  if (httpMethod === "POST") {
90
- var formData_1 = new FormData();
91
- Object.entries(fields).forEach(function (_a) {
92
- var _b = tslib_es6.__read(_a, 2), field = _b[0], value = _b[1];
93
- return formData_1.append(field, value);
94
- });
95
- formData_1.append("file", file);
96
- data = formData_1;
79
+ const formData = new FormData();
80
+ Object.entries(fields).forEach(([field, value]) => formData.append(field, value));
81
+ formData.append("file", file);
82
+ data = formData;
97
83
  headers = { "X-Requested-With": "XMLHttpRequest" };
98
84
  }
99
85
  else {
@@ -109,8 +95,8 @@ function createAxiosConfig(_a) {
109
95
  };
110
96
  }
111
97
  function getLabels(providedButtonLabel, multiple, allowedTypes) {
112
- var buttonLabel = multiple ? "Upload Files" : "Upload File";
113
- var hintText = multiple
98
+ let buttonLabel = multiple ? "Upload Files" : "Upload File";
99
+ let hintText = multiple
114
100
  ? "or drag files here to upload"
115
101
  : "or drag a file here to upload";
116
102
  if (allowedTypes === "images" || allowedTypes === "basicImages") {
@@ -121,7 +107,7 @@ function getLabels(providedButtonLabel, multiple, allowedTypes) {
121
107
  }
122
108
  if (providedButtonLabel)
123
109
  buttonLabel = providedButtonLabel;
124
- return { buttonLabel: buttonLabel, hintText: hintText };
110
+ return { buttonLabel, hintText };
125
111
  }
126
112
  function getFileUpload(file, key) {
127
113
  return {
@@ -133,9 +119,9 @@ function getFileUpload(file, key) {
133
119
  src: getSrc,
134
120
  };
135
121
  function getSrc() {
136
- var promise = new Promise(function (resolve, reject) {
137
- var reader = new FileReader();
138
- reader.onload = function (event) {
122
+ const promise = new Promise((resolve, reject) => {
123
+ const reader = new FileReader();
124
+ reader.onload = event => {
139
125
  if (event.target &&
140
126
  event.target.result &&
141
127
  typeof event.target.result === "string") {
@@ -159,8 +145,8 @@ function getFileUpload(file, key) {
159
145
  * @returns FileUpload[] updated set of files.
160
146
  */
161
147
  function updateFiles(updatedFile, files) {
162
- var newFiles = tslib_es6.__spread(files);
163
- var index = files.findIndex(function (file) { return file.key === updatedFile.key; });
148
+ const newFiles = [...files];
149
+ const index = files.findIndex(file => file.key === updatedFile.key);
164
150
  if (index !== -1) {
165
151
  newFiles[index] = updatedFile;
166
152
  }