@jobber/components 4.67.2-JOB-84261.6 → 4.67.2-pre.25

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 (154) hide show
  1. package/dist/AnimatedSwitcher/index.js +2 -2
  2. package/dist/{AnimatedSwitcher-d1e1ddcf.js → AnimatedSwitcher-879d0d6f.js} +1 -1
  3. package/dist/Autocomplete/index.js +13 -15
  4. package/dist/Avatar/index.js +2 -3
  5. package/dist/{Avatar-76a799fa.js → Avatar-765d6e45.js} +1 -4
  6. package/dist/Banner/index.js +4 -9
  7. package/dist/Button/index.js +3 -4
  8. package/dist/Button-8bde6560.js +54 -0
  9. package/dist/ButtonDismiss/index.js +4 -5
  10. package/dist/{ButtonDismiss-2b98d075.js → ButtonDismiss-af17d76d.js} +1 -1
  11. package/dist/Card/index.js +7 -8
  12. package/dist/Card-9dfc98d3.js +88 -0
  13. package/dist/Checkbox/index.js +5 -7
  14. package/dist/{Checkbox-ad7ec2e7.js → Checkbox-2d7c43d9.js} +5 -8
  15. package/dist/Chip/index.js +8 -7
  16. package/dist/Chip-dca6c22b.js +86 -0
  17. package/dist/Chips/index.js +12 -16
  18. package/dist/ClientOnly-4f3e136d.js +23 -0
  19. package/dist/Combobox/index.js +11 -10
  20. package/dist/{Combobox-eb1e5817.js → Combobox-35a3ea22.js} +43 -24
  21. package/dist/ConfirmationModal/index.js +14 -13
  22. package/dist/{ConfirmationModal-0f85d96c.js → ConfirmationModal-f6c0afc7.js} +3 -3
  23. package/dist/Content/index.js +1 -2
  24. package/dist/{Content-2ca1ffe1.js → Content-80486307.js} +0 -5
  25. package/dist/DataDump/index.js +9 -10
  26. package/dist/DataList/components/DataListHeader/DataListHeaderCheckbox.d.ts +1 -2
  27. package/dist/DataList/components/DataListHeaderTile/DataListSortingArrows.d.ts +1 -1
  28. package/dist/DataList/hooks/useMediaQuery.d.ts +3 -1
  29. package/dist/DataList/index.js +31 -56
  30. package/dist/DataTable/DataTable.d.ts +1 -1
  31. package/dist/DataTable/index.js +18 -22
  32. package/dist/DatePicker/index.js +4 -5
  33. package/dist/DatePicker-9399cc69.js +131 -0
  34. package/dist/DescriptionList/index.js +1 -4
  35. package/dist/Disclosure/index.js +2 -5
  36. package/dist/Divider/index.js +0 -3
  37. package/dist/Drawer/index.js +5 -10
  38. package/dist/Emphasis/index.js +2 -3
  39. package/dist/{Emphasis-b2d1b3aa.js → Emphasis-7a2893bb.js} +1 -1
  40. package/dist/FeatureSwitch/index.js +11 -13
  41. package/dist/Flex/index.js +6 -4
  42. package/dist/Form/index.js +1 -1
  43. package/dist/FormField/FormFieldTypes.d.ts +8 -0
  44. package/dist/FormField/FormFieldWrapper.d.ts +3 -1
  45. package/dist/FormField/components/ClearAction.d.ts +9 -0
  46. package/dist/FormField/index.js +9 -10
  47. package/dist/FormField-18eda132.js +252 -0
  48. package/dist/FormatDate/index.js +1 -1
  49. package/dist/FormatEmail/index.js +0 -3
  50. package/dist/FormatFile/index.js +17 -17
  51. package/dist/FormatFile-317b158a.js +116 -0
  52. package/dist/FormatTime/FormatTime.d.ts +1 -2
  53. package/dist/FormatTime/index.js +11 -6
  54. package/dist/Gallery/index.js +18 -20
  55. package/dist/Glimmer/index.js +3 -4
  56. package/dist/Glimmer-f5c31401.js +68 -0
  57. package/dist/Grid/index.js +0 -7
  58. package/dist/Heading/index.js +2 -3
  59. package/dist/{Heading-0f4ecb0c.js → Heading-f066883a.js} +1 -1
  60. package/dist/Icon/index.js +1 -1
  61. package/dist/InlineLabel/index.js +2 -3
  62. package/dist/InlineLabel-4c2fec47.js +25 -0
  63. package/dist/InputAvatar/index.js +8 -12
  64. package/dist/InputDate/InputDate.d.ts +1 -1
  65. package/dist/InputDate/index.js +10 -11
  66. package/dist/InputEmail/index.js +9 -10
  67. package/dist/InputFile/InputFile.d.ts +5 -1
  68. package/dist/InputFile/index.js +6 -8
  69. package/dist/{InputFile-540c1657.js → InputFile-5c44f0b4.js} +8 -11
  70. package/dist/InputGroup/index.js +1 -2
  71. package/dist/InputGroup-88bec8c9.js +30 -0
  72. package/dist/InputNumber/index.js +10 -11
  73. package/dist/{InputNumber-d9ebabaa.js → InputNumber-ed655bae.js} +1 -1
  74. package/dist/InputPassword/index.js +9 -10
  75. package/dist/InputPhoneNumber/index.js +9 -12
  76. package/dist/InputText/InputText.d.ts +2 -0
  77. package/dist/InputText/index.js +11 -11
  78. package/dist/InputText/useSafeLayoutEffect.d.ts +2 -0
  79. package/dist/{InputText-f7c45ee5.js → InputText-c68964ff.js} +3 -2
  80. package/dist/InputTime/InputTime.d.ts +3 -1
  81. package/dist/InputTime/InputTime.disabledTest.d.ts +1 -0
  82. package/dist/InputTime/InputTimeProps.d.ts +1 -1
  83. package/dist/InputTime/InternalInputTime.d.ts +3 -0
  84. package/dist/InputTime/SupportsTimePolyfill.d.ts +2 -0
  85. package/dist/InputTime/TimeInputPolyfill.client.d.ts +2 -0
  86. package/dist/InputTime/index.js +58 -724
  87. package/dist/InputValidation/index.js +4 -5
  88. package/dist/{InputValidation-179f0926.js → InputValidation-fdc891af.js} +2 -5
  89. package/dist/LightBox/ClientOnly.d.ts +6 -0
  90. package/dist/LightBox/LightBox.d.ts +2 -2
  91. package/dist/LightBox/index.js +6 -6
  92. package/dist/{LightBox-3f4dbc33.js → LightBox-d5aea313.js} +5 -6
  93. package/dist/List/index.js +9 -15
  94. package/dist/Markdown/Markdown.d.ts +1 -1
  95. package/dist/Markdown/index.js +8 -8
  96. package/dist/Markdown-10fc9d3e.js +90 -0
  97. package/dist/Menu/Menu.d.ts +4 -4
  98. package/dist/Menu/index.js +5 -6
  99. package/dist/{Menu-d7ea093c.js → Menu-7b7aa325.js} +7 -10
  100. package/dist/Modal/Modal.d.ts +2 -2
  101. package/dist/Modal/index.js +7 -7
  102. package/dist/{Modal-70daa0e2.js → Modal-357fd1df.js} +6 -9
  103. package/dist/MultiSelect/index.js +5 -11
  104. package/dist/{Option-469029b5.js → Option-c84f28a6.js} +1 -1
  105. package/dist/Page/index.js +12 -14
  106. package/dist/Popover/Popover.d.ts +2 -2
  107. package/dist/Popover/index.js +8 -8
  108. package/dist/ProgressBar/index.js +1 -2
  109. package/dist/ProgressBar-5c577dc0.js +38 -0
  110. package/dist/RadioGroup/index.js +3 -5
  111. package/dist/RadioGroup-9dded55d.js +44 -0
  112. package/dist/RecurringSelect/components/DayOfMonthSelect.d.ts +2 -2
  113. package/dist/RecurringSelect/components/WeeklySelect.d.ts +2 -2
  114. package/dist/RecurringSelect/index.js +16 -29
  115. package/dist/Select/index.js +10 -11
  116. package/dist/Spinner/index.js +1 -2
  117. package/dist/Spinner-cac356ee.js +21 -0
  118. package/dist/StatusLabel/index.js +2 -5
  119. package/dist/SupportsTimePolyfill-466a30f9.js +21 -0
  120. package/dist/Switch/index.js +2 -3
  121. package/dist/Switch-588c5e70.js +53 -0
  122. package/dist/Table/index.js +0 -5
  123. package/dist/Tabs/index.js +1 -4
  124. package/dist/Text/index.js +2 -3
  125. package/dist/{Text-4a2bc89f.js → Text-9f261dde.js} +1 -1
  126. package/dist/TimeInputPolyfill.client-1dfc8ab1.js +687 -0
  127. package/dist/Toast/index.js +3 -6
  128. package/dist/Tooltip/index.js +3 -2
  129. package/dist/{Tooltip-6b12f1c2.js → Tooltip-99440954.js} +14 -12
  130. package/dist/Typography/index.js +1 -2
  131. package/dist/Typography-75f58b60.js +43 -0
  132. package/dist/styles.css +8107 -0
  133. package/dist/useSafeLayoutEffect-b63708b1.js +16 -0
  134. package/package.json +4 -4
  135. package/rollup.config.js +3 -1
  136. package/dist/Button-163a0641.js +0 -57
  137. package/dist/Card-3178033c.js +0 -93
  138. package/dist/Chip-168acf3e.js +0 -89
  139. package/dist/DatePicker-c18f1739.js +0 -134
  140. package/dist/FormField-dfc061ca.js +0 -227
  141. package/dist/FormatFile-3b650d02.js +0 -121
  142. package/dist/Glimmer-cfa92a88.js +0 -77
  143. package/dist/InlineLabel-9a517c19.js +0 -28
  144. package/dist/InputGroup-8d4fd4eb.js +0 -33
  145. package/dist/Markdown-96070121.js +0 -62
  146. package/dist/ProgressBar-b68edc8f.js +0 -43
  147. package/dist/RadioGroup-ebaa4f87.js +0 -47
  148. package/dist/Spinner-9d8fc7ff.js +0 -24
  149. package/dist/Switch-b85272bf.js +0 -56
  150. package/dist/Typography-973b122e.js +0 -62
  151. package/dist/style-inject.es-9d2f5f4e.js +0 -30
  152. /package/dist/{FormatDate-70ea5b43.js → FormatDate-6fc94218.js} +0 -0
  153. /package/dist/{Icon-405a216c.js → Icon-361343e0.js} +0 -0
  154. /package/dist/{tslib.es6-5b8768b7.js → tslib.es6-a575af05.js} +0 -0
@@ -0,0 +1,116 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var classnames = require('classnames');
5
+ var getHumanReadableFileSize = require('filesize');
6
+ var Button = require('./Button-8bde6560.js');
7
+ var ConfirmationModal = require('./ConfirmationModal-f6c0afc7.js');
8
+ var Glimmer = require('./Glimmer-f5c31401.js');
9
+ var Icon = require('./Icon-361343e0.js');
10
+ var Typography = require('./Typography-75f58b60.js');
11
+ var Text = require('./Text-9f261dde.js');
12
+ var ProgressBar = require('./ProgressBar-5c577dc0.js');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
18
+ var getHumanReadableFileSize__default = /*#__PURE__*/_interopDefaultLegacy(getHumanReadableFileSize);
19
+
20
+ var styles$2 = {"expanded":"cx4iQqlNNvc-","compact":"nSaog7-7Jn0-","wrapper":"_9jVt97W52JY-","large":"z-kUGMs0Yfg-","base":"x1Ql0enaIxY-","thumbnail":"il9-MCeoBts-","clickable":"O9EG-xJYVco-","hoverable":"QmrRp5CTpGU-","progress":"N5qVYfi1Pgo-","contentBlock":"TyXXZnJuVwo-","deleteButton":"_7wDO6nPXy-g-","deleteable":"sgUJuNv0rUE-"};
21
+
22
+ function FormatFileDeleteButton({ size, onDelete }) {
23
+ const buttonSize = size === "base" ? "small" : "base";
24
+ const [deleteConfirmationOpen, setDeleteConfirmationOpen] = React.useState(false);
25
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
26
+ React__default["default"].createElement(Button.Button, { onClick: () => setDeleteConfirmationOpen(true), variation: "destructive", type: "tertiary", icon: "trash", ariaLabel: "Delete File", size: buttonSize }),
27
+ React__default["default"].createElement(ConfirmationModal.ConfirmationModal, { title: "Confirm Deletion", message: `Are you sure you want to delete this file?`, confirmLabel: "Delete", variation: "destructive", open: deleteConfirmationOpen, onConfirm: () => onDelete === null || onDelete === void 0 ? void 0 : onDelete(), onRequestClose: () => setDeleteConfirmationOpen(false) })));
28
+ }
29
+
30
+ var styles$1 = {"content":"M9Y7sOk6lTc-","hasName":"E4wclxY71oM-","large":"yReSfaruAh0-","fileName":"YXN92rsh2eU-","base":"psaqxO2Lu7E-"};
31
+
32
+ var styles = {"image":"_62D0xyydQwo-","fadeIn":"_5GIEBejwNJc-","hidden":"a5EQqLlJmCk-"};
33
+
34
+ function InternalThumbnailImage({ file }) {
35
+ const { name, src } = file;
36
+ const [imageSource, setImageSource] = React.useState();
37
+ const [imageLoaded, setImageLoaded] = React.useState(false);
38
+ React.useEffect(() => {
39
+ if (!imageSource) {
40
+ src().then(url => setImageSource(url));
41
+ }
42
+ }, []);
43
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
44
+ !imageLoaded && React__default["default"].createElement(Glimmer.Glimmer, { size: "auto" }),
45
+ React__default["default"].createElement("img", { src: imageSource, onLoad: handleImageLoad, alt: name, "data-testid": "internalThumbnailImage", className: classnames__default["default"](styles.image, { [styles.hidden]: !imageLoaded }) })));
46
+ function handleImageLoad() {
47
+ setImageLoaded(true);
48
+ }
49
+ }
50
+
51
+ function InternalThumbnail({ compact = false, size, file, }) {
52
+ const { name, type } = file;
53
+ const iconName = getIconNameFromType(type);
54
+ const hasName = Boolean(name) && compact;
55
+ if (type.startsWith("image/")) {
56
+ return React__default["default"].createElement(InternalThumbnailImage, { file: file });
57
+ }
58
+ return (React__default["default"].createElement("div", { className: classnames__default["default"](styles$1.content, styles$1[size], {
59
+ [styles$1.hasName]: hasName,
60
+ }) },
61
+ React__default["default"].createElement(Icon.Icon, { name: iconName, color: "greyBlue", size: size }),
62
+ hasName && (React__default["default"].createElement("div", { className: styles$1.fileName },
63
+ React__default["default"].createElement(Typography.Typography, { element: "span", textColor: "text", numberOfLines: 1 }, name)))));
64
+ }
65
+ function getIconNameFromType(mimeType) {
66
+ if (mimeType.startsWith("image/"))
67
+ return "camera";
68
+ if (mimeType.startsWith("video/"))
69
+ return "video";
70
+ switch (mimeType) {
71
+ case "application/pdf":
72
+ return "pdf";
73
+ case "application/vnd.ms-excel":
74
+ return "excel";
75
+ default:
76
+ return "file";
77
+ }
78
+ }
79
+
80
+ function FormatFile({ file, display = "expanded", displaySize = "base", onDelete, onClick, }) {
81
+ const isComplete = file.progress >= 1;
82
+ const fileSize = getHumanReadableFileSize__default["default"](file.size);
83
+ const wrapperClassNames = classnames__default["default"](styles$2[display], {
84
+ [styles$2[displaySize]]: display === "compact",
85
+ });
86
+ const DetailsContainer = isComplete && onClick ? "button" : "div";
87
+ const detailsClassNames = classnames__default["default"](styles$2.wrapper, {
88
+ [styles$2[displaySize]]: display === "compact",
89
+ [styles$2.hoverable]: isHoverable({ display, isComplete, onClick, onDelete }),
90
+ [styles$2.clickable]: onClick,
91
+ [styles$2.deleteable]: display === "compact",
92
+ });
93
+ const thumbnailContainerClassNames = classnames__default["default"](styles$2.thumbnail, styles$2[displaySize]);
94
+ return (React__default["default"].createElement("div", { className: wrapperClassNames },
95
+ React__default["default"].createElement(DetailsContainer, { type: "button", className: detailsClassNames, onClick: isComplete ? onClick : undefined, tabIndex: 0, "aria-busy": !isComplete },
96
+ React__default["default"].createElement("div", { className: thumbnailContainerClassNames },
97
+ React__default["default"].createElement(InternalThumbnail, { key: file.key, compact: display === "compact", file: file, size: displaySize }),
98
+ !isComplete && (React__default["default"].createElement("div", { className: styles$2.progress },
99
+ React__default["default"].createElement(ProgressBar.ProgressBar, { size: "small", currentStep: file.progress * 100, totalSteps: 100 })))),
100
+ display === "expanded" && (React__default["default"].createElement("div", { className: styles$2.contentBlock },
101
+ React__default["default"].createElement(Text.Text, { size: "base" }, file.name),
102
+ React__default["default"].createElement(Text.Text, { size: "small" }, fileSize)))),
103
+ isComplete && onDelete && (React__default["default"].createElement("div", { className: styles$2.deleteButton },
104
+ React__default["default"].createElement(FormatFileDeleteButton, { size: display === "expanded" ? "large" : displaySize, onDelete: onDelete })))));
105
+ }
106
+ function isHoverable({ display, isComplete, onClick, onDelete, }) {
107
+ if (display === "compact") {
108
+ return Boolean(isComplete && (onClick || onDelete));
109
+ }
110
+ else if (display === "expanded") {
111
+ return Boolean(isComplete && onClick);
112
+ }
113
+ return false;
114
+ }
115
+
116
+ exports.FormatFile = FormatFile;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CivilTime } from "@std-proposal/temporal";
3
2
  interface FormatTimeProps {
4
3
  /**
@@ -12,5 +11,5 @@ interface FormatTimeProps {
12
11
  */
13
12
  readonly use24HourClock?: boolean;
14
13
  }
15
- export declare function FormatTime({ time: inputTime, use24HourClock, }: FormatTimeProps): JSX.Element;
14
+ export declare const FormatTime: (props: FormatTimeProps) => JSX.Element;
16
15
  export {};
@@ -3,12 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var ClientOnly = require('../ClientOnly-4f3e136d.js');
6
7
 
7
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
9
 
9
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
11
 
11
- function FormatTime({ time: inputTime, use24HourClock, }) {
12
+ function FormatTimeInternal({ time: inputTime, use24HourClock, }) {
12
13
  let dateObject;
13
14
  if (inputTime instanceof Date) {
14
15
  dateObject = inputTime;
@@ -25,12 +26,16 @@ function FormatTime({ time: inputTime, use24HourClock, }) {
25
26
  }
26
27
  return React__default["default"].createElement(React__default["default"].Fragment, null, formatCivilTime(dateObject, use24HourClock));
27
28
  }
29
+ const FormatTime = (props) => (React__default["default"].createElement(ClientOnly.ClientOnly, null,
30
+ React__default["default"].createElement(FormatTimeInternal, Object.assign({}, props))));
28
31
  function formatCivilTime(date, use24HourClock) {
29
- return date.toLocaleTimeString(navigator.language, {
30
- hourCycle: use24HourClock ? "h23" : "h12",
31
- minute: "2-digit",
32
- hour: "numeric",
33
- });
32
+ return typeof navigator !== "undefined"
33
+ ? date.toLocaleTimeString(navigator.language, {
34
+ hourCycle: use24HourClock ? "h23" : "h12",
35
+ minute: "2-digit",
36
+ hour: "numeric",
37
+ })
38
+ : "";
34
39
  }
35
40
 
36
41
  exports.FormatTime = FormatTime;
@@ -4,32 +4,32 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
- var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var LightBox = require('../LightBox-3f4dbc33.js');
9
- var FormatFile = require('../FormatFile-3b650d02.js');
10
- var Button = require('../Button-163a0641.js');
7
+ var LightBox = require('../LightBox-d5aea313.js');
8
+ var FormatFile = require('../FormatFile-317b158a.js');
9
+ var Button = require('../Button-8bde6560.js');
11
10
  require('framer-motion');
12
11
  require('react-dom');
13
12
  require('lodash/debounce');
14
13
  require('@jobber/hooks/useRefocusOnActivator');
15
14
  require('@jobber/hooks/useOnKeyDown');
16
15
  require('@jobber/hooks/useFocusTrap');
17
- require('../ButtonDismiss-2b98d075.js');
16
+ require('../ClientOnly-4f3e136d.js');
17
+ require('../ButtonDismiss-af17d76d.js');
18
18
  require('filesize');
19
- require('../ConfirmationModal-0f85d96c.js');
20
- require('../Modal-70daa0e2.js');
21
- require('../Heading-0f4ecb0c.js');
22
- require('../Typography-973b122e.js');
23
- require('../Content-2ca1ffe1.js');
24
- require('../Markdown-96070121.js');
25
- require('react-markdown');
26
- require('../Text-4a2bc89f.js');
27
- require('../Emphasis-b2d1b3aa.js');
28
- require('../Glimmer-cfa92a88.js');
29
- require('../tslib.es6-5b8768b7.js');
30
- require('../Icon-405a216c.js');
19
+ require('../ConfirmationModal-f6c0afc7.js');
20
+ require('../Modal-357fd1df.js');
21
+ require('../Heading-f066883a.js');
22
+ require('../Typography-75f58b60.js');
23
+ require('../Content-80486307.js');
24
+ require('../Markdown-10fc9d3e.js');
25
+ require('../tslib.es6-a575af05.js');
26
+ require('markdown-to-jsx');
27
+ require('../Text-9f261dde.js');
28
+ require('../Emphasis-7a2893bb.js');
29
+ require('../Glimmer-f5c31401.js');
30
+ require('../Icon-361343e0.js');
31
31
  require('@jobber/design');
32
- require('../ProgressBar-b68edc8f.js');
32
+ require('../ProgressBar-5c577dc0.js');
33
33
  require('react-router-dom');
34
34
 
35
35
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -37,9 +37,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
37
37
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
38
38
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
39
39
 
40
- var css_248z = ".G3D4T8IYmwA-,\n._6sZaxiji5rQ- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n._6sZaxiji5rQ- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n}\n\n.wh-FkS64oJ0- {\n display: -ms-flexbox;\n display: flex;\n}\n\n.Idp-BJIbUUs- {\n width: 56px;\n height: 56px;\n}\n\n.kOG-STgt5Hs- {\n width: 168px;\n height: 168px;\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n}\n";
41
40
  var styles = {"gallery":"G3D4T8IYmwA-","galleryLarge":"_6sZaxiji5rQ-","showMoreButton":"wh-FkS64oJ0-","baseShowMoreButton":"Idp-BJIbUUs-","largeShowMoreButton":"kOG-STgt5Hs-"};
42
- styleInject_es.styleInject(css_248z);
43
41
 
44
42
  function Gallery({ files, size = "base", max, onDelete }) {
45
43
  const { images, filesToImageIndex } = generateImagesArray(files);
@@ -2,12 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Glimmer = require('../Glimmer-cfa92a88.js');
6
- require('../tslib.es6-5b8768b7.js');
5
+ var Glimmer = require('../Glimmer-f5c31401.js');
6
+ require('../tslib.es6-a575af05.js');
7
7
  require('react');
8
8
  require('classnames');
9
- require('../style-inject.es-9d2f5f4e.js');
10
- require('../Content-2ca1ffe1.js');
9
+ require('../Content-80486307.js');
11
10
 
12
11
 
13
12
 
@@ -0,0 +1,68 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-a575af05.js');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var Content = require('./Content-80486307.js');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
12
+
13
+ var styles = {"glimmer":"FXzzrJAf890-","reverseTheme":"s9bG0yRJR3A-","header":"M0X0dxjIyv4-","button":"v2Q1amzd7Ac-","buttonFill":"_8va--lBgr38-"};
14
+
15
+ var sizes = {"small":"siUUG4rZNSk-","base":"nFuBXyrhG2Q-","large":"oiVEoAqI-fU-","larger":"Tkmo6mSMI9Y-","largest":"uVeaD3IhD6o-","auto":"_6Wak9NLJ3VQ-"};
16
+
17
+ var shapes = {"rectangle":"enoWbteryXg-","rectangleShort":"_9qkwCdedX1M-","rectangleShorter":"XtyJxvcJDFs-","square":"_8unQ0TS1He4-","circle":"ameRMYEKfss-"};
18
+
19
+ var timings = {"base":"hO0mZ6TeVko-","fast":"WXi5-zF8Ll4-"};
20
+
21
+ const GLIMMER_TEST_ID = "ATL-Glimmer";
22
+ const GLIMMER_HEADER_TEST_ID = "ATL-GlimmerHeader";
23
+ const GLIMMER_TEXT_TEST_ID = "ATL-GlimmerText";
24
+ const GLIMMER_BUTTON_TEST_ID = "ATL-GlimmerButton";
25
+ /**
26
+ * **Experimental component! Use at your own risk.**
27
+ *
28
+ * Foundational component used to build loading states such as Skeleton UI
29
+ *
30
+ * @experimental
31
+ */
32
+ function Glimmer({ size = "base", shape = "rectangle", timing = "base", reverseTheme = false, width, }) {
33
+ const className = classnames__default["default"](styles.glimmer, sizes[size], shapes[shape], timings[timing], { [styles.reverseTheme]: reverseTheme });
34
+ return (React__default["default"].createElement("div", { "aria-busy": "true", className: className, "data-testid": GLIMMER_TEST_ID, style: { width } }));
35
+ }
36
+ Glimmer.Header = function GlimmerHeader(_a) {
37
+ var { level = 3 } = _a, props = tslib_es6.__rest(_a, ["level"]);
38
+ const headerSize = {
39
+ 1: "largest",
40
+ 2: "larger",
41
+ 3: "large",
42
+ 4: "base",
43
+ 5: "small",
44
+ };
45
+ return (React__default["default"].createElement("div", { className: styles.header, "data-testid": GLIMMER_HEADER_TEST_ID },
46
+ React__default["default"].createElement(Glimmer, Object.assign({ size: headerSize[level] }, props))));
47
+ };
48
+ Glimmer.Text = function GlimmerText(_a) {
49
+ var { width, lines = 3 } = _a, props = tslib_es6.__rest(_a, ["width", "lines"]);
50
+ const children = [
51
+ React__default["default"].createElement(Glimmer, Object.assign({ key: "1", size: "small", shape: "rectangleShort" }, props)),
52
+ React__default["default"].createElement(Glimmer, Object.assign({ key: "2", size: "small" }, props)),
53
+ React__default["default"].createElement(Glimmer, Object.assign({ key: "3", size: "small", shape: "rectangleShorter" }, props)),
54
+ ].slice(0, lines);
55
+ return (React__default["default"].createElement("div", { style: { width }, "data-testid": GLIMMER_TEXT_TEST_ID },
56
+ React__default["default"].createElement(Content.Content, { spacing: "small" }, children)));
57
+ };
58
+ Glimmer.Button = function GlimmerButton(_a) {
59
+ var { fullWidth = false } = _a, props = tslib_es6.__rest(_a, ["fullWidth"]);
60
+ const buttonClassNames = classnames__default["default"](styles.button, {
61
+ [styles.buttonFill]: fullWidth,
62
+ });
63
+ return (React__default["default"].createElement("div", { className: buttonClassNames, "data-testid": GLIMMER_BUTTON_TEST_ID },
64
+ React__default["default"].createElement(Glimmer, Object.assign({}, props, { size: "auto" }))));
65
+ };
66
+
67
+ exports.GLIMMER_TEST_ID = GLIMMER_TEST_ID;
68
+ exports.Glimmer = Glimmer;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
- var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
7
  var useAssert = require('@jobber/hooks/useAssert');
9
8
 
10
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -12,9 +11,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
12
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
12
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
14
13
 
15
- var css_248z$2 = ".YJHtDDKq6WI- {\n grid-column: initial;\n grid-column-end: span var(--gridCell--size-xs);\n}@media (min-width: 490px) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-sm);\n}\n }@media (--small-screens-and-up) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-sm);\n}\n }@media (min-width: 768px) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-md);\n}\n }@media (--medium-screens-and-up) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-md);\n}\n }@media (min-width: 1080px) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-lg);\n}\n }@media (--large-screens-and-up) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-lg);\n}\n }@media (min-width: 1440px) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-xl);\n}\n }@media (--extra-large-screens-and-up) {.YJHtDDKq6WI- {\n grid-column-end: span var(--gridCell--size-xl);\n}\n }\n";
16
14
  var styles$1 = {"gridCell":"YJHtDDKq6WI-"};
17
- styleInject_es.styleInject(css_248z$2);
18
15
 
19
16
  /**
20
17
  * Breakpoints that we support
@@ -45,13 +42,9 @@ function getSizeCSSVariables(size) {
45
42
  };
46
43
  }
47
44
 
48
- var css_248z$1 = ".NqFGJV-UF3Q- {\n display: grid;\n grid-template-columns: repeat(12, minmax(0, 1fr));\n}\n\n.IZLiiSquUTM- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n}\n\n@media (min-width: 768px) {\n .IZLiiSquUTM- {\n gap: calc(16px * 1.5);\n gap: var(--space-large);\n }\n}\n\n@media (--medium-screens-and-up) {\n .IZLiiSquUTM- {\n gap: calc(16px * 1.5);\n gap: var(--space-large);\n }\n}\n";
49
45
  var styles = {"grid":"NqFGJV-UF3Q-","gap":"IZLiiSquUTM-"};
50
- styleInject_es.styleInject(css_248z$1);
51
46
 
52
- var css_248z = "._8XlrWg3FV-Q- {\n -ms-flex-align: center;\n align-items: center;\n}\n\n.uKzqJPlYxJs- {\n -ms-flex-align: start;\n align-items: start;\n}\n\n.CSBjeFlj2xQ- {\n -ms-flex-align: end;\n align-items: end;\n}\n\n.BYyFdzONXyk- {\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n";
53
47
  var alignments = {"center":"_8XlrWg3FV-Q-","start":"uKzqJPlYxJs-","end":"CSBjeFlj2xQ-","stretch":"BYyFdzONXyk-"};
54
- styleInject_es.styleInject(css_248z);
55
48
 
56
49
  // Only need the component to pass in the data as a react children
57
50
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -2,11 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Heading = require('../Heading-0f4ecb0c.js');
5
+ var Heading = require('../Heading-f066883a.js');
6
6
  require('react');
7
- require('../Typography-973b122e.js');
7
+ require('../Typography-75f58b60.js');
8
8
  require('classnames');
9
- require('../style-inject.es-9d2f5f4e.js');
10
9
 
11
10
 
12
11
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Typography = require('./Typography-973b122e.js');
4
+ var Typography = require('./Typography-75f58b60.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Icon = require('../Icon-405a216c.js');
5
+ var Icon = require('../Icon-361343e0.js');
6
6
  require('react');
7
7
  require('@jobber/design');
8
8
 
@@ -2,11 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InlineLabel = require('../InlineLabel-9a517c19.js');
5
+ var InlineLabel = require('../InlineLabel-4c2fec47.js');
6
6
  require('react');
7
7
  require('classnames');
8
- require('../style-inject.es-9d2f5f4e.js');
9
- require('../Typography-973b122e.js');
8
+ require('../Typography-75f58b60.js');
10
9
 
11
10
 
12
11
 
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var classnames = require('classnames');
5
+ var Typography = require('./Typography-75f58b60.js');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
11
+
12
+ var styles = {"inlineLabel":"S72WkdRbhc0-","base":"bMWuAXJHkbw-","large":"ui07veHjPII-","larger":"WIXhLSQ7z8A-","greyBlue":"_8RuKvOhj-Ro-","red":"_2vEF1nvVWm8-","orange":"Wt305sIAeoE-","green":"F8KkNxz8W3A-","blue":"URZZoKSX4So-","navy":"OeLBV-9i0Rs-","yellow":"_2Xwx5tarf1w-","lime":"iCqIjI7GkEk-","purple":"_4iEIjiZj9oA-","pink":"JRW9QFSjLTA-","teal":"fbhprd-Gl8k-","yellowGreen":"yrF9aZSaTdw-","blueDark":"RPvjah0FdjI-","lightBlue":"apwauWJ6ITc-","indigo":"n8qJynvE-n0-"};
13
+
14
+ function InlineLabel({ size = "base", color = "greyBlue", children, }) {
15
+ const className = classnames__default["default"](styles.inlineLabel, styles[size], styles[color]);
16
+ const sizeMapper = {
17
+ base: "small",
18
+ large: "large",
19
+ larger: "large",
20
+ };
21
+ return (React__default["default"].createElement("span", { className: className },
22
+ React__default["default"].createElement(Typography.Typography, { element: "span", size: sizeMapper[size] }, children)));
23
+ }
24
+
25
+ exports.InlineLabel = InlineLabel;
@@ -2,31 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-5b8768b7.js');
5
+ var tslib_es6 = require('../tslib.es6-a575af05.js');
6
6
  var React = require('react');
7
- var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var Avatar = require('../Avatar-76a799fa.js');
9
- var InputFile = require('../InputFile-540c1657.js');
10
- var ProgressBar = require('../ProgressBar-b68edc8f.js');
11
- var Button = require('../Button-163a0641.js');
7
+ var Avatar = require('../Avatar-765d6e45.js');
8
+ var InputFile = require('../InputFile-5c44f0b4.js');
9
+ var ProgressBar = require('../ProgressBar-5c577dc0.js');
10
+ var Button = require('../Button-8bde6560.js');
12
11
  require('classnames');
13
12
  require('color');
14
- require('../Icon-405a216c.js');
13
+ require('../Icon-361343e0.js');
15
14
  require('@jobber/design');
16
15
  require('react-dropzone');
17
16
  require('axios');
18
- require('uuid');
19
- require('../Content-2ca1ffe1.js');
20
- require('../Typography-973b122e.js');
17
+ require('../Content-80486307.js');
18
+ require('../Typography-75f58b60.js');
21
19
  require('react-router-dom');
22
20
 
23
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
22
 
25
23
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
26
24
 
27
- var css_248z = ".a2KrLEZNB04- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.a2KrLEZNB04- > *:not(:last-child) {\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n._7-uM-6dFidA- {\n position: relative;\n}\n\n._4tvG9ksH3oM- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n height: 100%;\n margin: 0 calc(16px / 2);\n margin: 0 var(--space-small);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.ah2Ak5EObRo- {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n}\n\n.ah2Ak5EObRo-::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgb(1, 27, 37);\n background-color: var(--color-blue--dark);\n opacity: 0.3;\n mix-blend-mode: multiply;\n}\n";
28
25
  var styles = {"inputAvatar":"a2KrLEZNB04-","preview":"_7-uM-6dFidA-","centered":"_4tvG9ksH3oM-","overlay":"ah2Ak5EObRo-"};
29
- styleInject_es.styleInject(css_248z);
30
26
 
31
27
  function InputAvatar(_a) {
32
28
  var { getUploadParams, onUploadComplete, onChange } = _a, avatarProps = tslib_es6.__rest(_a, ["getUploadParams", "onUploadComplete", "onChange"]);
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CommonFormFieldProps, FormFieldProps } from "../FormField";
3
- interface InputDateProps extends CommonFormFieldProps, Pick<FormFieldProps, "readonly" | "disabled" | "onEnter" | "onFocus" | "inputRef" | "validations" | "placeholder" | "onChange" | "onBlur"> {
3
+ interface InputDateProps extends Omit<CommonFormFieldProps, "clearable">, Pick<FormFieldProps, "readonly" | "disabled" | "onEnter" | "onFocus" | "inputRef" | "validations" | "placeholder" | "onChange" | "onBlur"> {
4
4
  /**
5
5
  * A Date object value
6
6
  * (e.g., `new Date("11/11/2011")`)
@@ -4,22 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var omit = require('lodash/omit');
6
6
  var React = require('react');
7
- var FormField = require('../FormField-dfc061ca.js');
8
- var DatePicker = require('../DatePicker-c18f1739.js');
9
- require('../tslib.es6-5b8768b7.js');
10
- require('uuid');
7
+ var FormField = require('../FormField-18eda132.js');
8
+ var DatePicker = require('../DatePicker-9399cc69.js');
9
+ require('../tslib.es6-a575af05.js');
11
10
  require('react-hook-form');
12
- require('../style-inject.es-9d2f5f4e.js');
13
11
  require('classnames');
14
- require('../Button-163a0641.js');
12
+ require('@jobber/hooks/useShowClear');
13
+ require('../Button-8bde6560.js');
15
14
  require('react-router-dom');
16
- require('../Icon-405a216c.js');
15
+ require('../Icon-361343e0.js');
17
16
  require('@jobber/design');
18
- require('../Typography-973b122e.js');
19
- require('../Text-4a2bc89f.js');
20
- require('../InputValidation-179f0926.js');
17
+ require('../Typography-75f58b60.js');
18
+ require('../Text-9f261dde.js');
19
+ require('../InputValidation-fdc891af.js');
21
20
  require('framer-motion');
22
- require('../Spinner-9d8fc7ff.js');
21
+ require('../Spinner-cac356ee.js');
23
22
  require('react-datepicker');
24
23
  require('@jobber/hooks/useRefocusOnActivator');
25
24
 
@@ -3,21 +3,20 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-dfc061ca.js');
7
- require('../tslib.es6-5b8768b7.js');
8
- require('uuid');
6
+ var FormField = require('../FormField-18eda132.js');
7
+ require('../tslib.es6-a575af05.js');
9
8
  require('react-hook-form');
10
- require('../style-inject.es-9d2f5f4e.js');
11
9
  require('classnames');
12
- require('../Button-163a0641.js');
10
+ require('@jobber/hooks/useShowClear');
11
+ require('../Button-8bde6560.js');
13
12
  require('react-router-dom');
14
- require('../Icon-405a216c.js');
13
+ require('../Icon-361343e0.js');
15
14
  require('@jobber/design');
16
- require('../Typography-973b122e.js');
17
- require('../Text-4a2bc89f.js');
18
- require('../InputValidation-179f0926.js');
15
+ require('../Typography-75f58b60.js');
16
+ require('../Text-9f261dde.js');
17
+ require('../InputValidation-fdc891af.js');
19
18
  require('framer-motion');
20
- require('../Spinner-9d8fc7ff.js');
19
+ require('../Spinner-cac356ee.js');
21
20
 
22
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
22
 
@@ -67,6 +67,10 @@ interface InputFileProps {
67
67
  * @default "dropzone"
68
68
  */
69
69
  readonly variation?: "dropzone" | "button";
70
+ /**
71
+ * Name of the InputFile
72
+ */
73
+ readonly name?: string;
70
74
  /**
71
75
  * Size of the InputFile
72
76
  * @default "base"
@@ -113,7 +117,7 @@ interface InputFileProps {
113
117
  */
114
118
  onUploadComplete?(file: FileUpload): void;
115
119
  }
116
- export declare function InputFile({ variation, size, buttonLabel: providedButtonLabel, allowMultiple, allowedTypes, getUploadParams, onUploadStart, onUploadProgress, onUploadComplete, }: InputFileProps): JSX.Element;
120
+ export declare function InputFile({ variation, size, buttonLabel: providedButtonLabel, allowMultiple, allowedTypes, getUploadParams, name, onUploadStart, onUploadProgress, onUploadComplete, }: InputFileProps): JSX.Element;
117
121
  /**
118
122
  * Upsert a given `FileUpload` into an array of `FileUpload`s.
119
123
  * `key` is used to uniquely identify files.
@@ -2,20 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InputFile = require('../InputFile-540c1657.js');
6
- require('../tslib.es6-5b8768b7.js');
5
+ var InputFile = require('../InputFile-5c44f0b4.js');
6
+ require('../tslib.es6-a575af05.js');
7
7
  require('react');
8
8
  require('classnames');
9
9
  require('react-dropzone');
10
10
  require('axios');
11
- require('uuid');
12
- require('../style-inject.es-9d2f5f4e.js');
13
- require('../Button-163a0641.js');
11
+ require('../Button-8bde6560.js');
14
12
  require('react-router-dom');
15
- require('../Icon-405a216c.js');
13
+ require('../Icon-361343e0.js');
16
14
  require('@jobber/design');
17
- require('../Typography-973b122e.js');
18
- require('../Content-2ca1ffe1.js');
15
+ require('../Typography-75f58b60.js');
16
+ require('../Content-80486307.js');
19
17
 
20
18
 
21
19