@jobber/components 6.26.0 → 6.26.2
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.
- package/dist/AnimatedPresence-es.js +4 -4
- package/dist/AnimatedSwitcher-es.js +4 -4
- package/dist/AtlantisThemeContext-es.js +6 -6
- package/dist/Autocomplete-es.js +27 -27
- package/dist/Avatar-es.js +4 -4
- package/dist/Banner-es.js +13 -13
- package/dist/BannerIcon-es.js +3 -3
- package/dist/Body-es.js +12 -12
- package/dist/Box-es.js +2 -2
- package/dist/Button-es.js +13 -13
- package/dist/ButtonDismiss-es.js +2 -2
- package/dist/Card-es.js +15 -15
- package/dist/Checkbox/index.mjs +24 -24
- package/dist/Chip-es.js +17 -17
- package/dist/ChipDismissible-es.js +7 -7
- package/dist/Chips/index.mjs +3 -3
- package/dist/Chips-es.js +13 -13
- package/dist/Combobox/components/ComboboxContent/index.cjs +0 -2
- package/dist/Combobox/components/ComboboxContent/index.mjs +0 -2
- package/dist/Combobox/hooks/useComboboxAccessibility.d.ts +3 -8
- package/dist/Combobox/index.cjs +1 -2
- package/dist/Combobox/index.mjs +1 -2
- package/dist/Combobox-es.js +6 -6
- package/dist/ComboboxAction-es.js +4 -4
- package/dist/ComboboxActivator-es.js +3 -3
- package/dist/ComboboxContent-cjs.js +3745 -39
- package/dist/ComboboxContent-es.js +3715 -27
- package/dist/ComboboxContentHeader-es.js +4 -4
- package/dist/ComboboxContentList-es.js +13 -13
- package/dist/ComboboxContentSearch-es.js +5 -5
- package/dist/ComboboxLoadMore-es.js +2 -2
- package/dist/ComboboxOption-es.js +6 -6
- package/dist/ComboboxProvider-es.js +3 -3
- package/dist/ComboboxTrigger-es.js +4 -4
- package/dist/ConfirmationModal-es.js +4 -4
- package/dist/Countdown-es.js +3 -3
- package/dist/DataDump-es.js +7 -7
- package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +1 -2
- package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +1 -2
- package/dist/DataList/components/DataListFilters/index.cjs +2 -2
- package/dist/DataList/components/DataListFilters/index.mjs +2 -2
- package/dist/DataList-es.js +21 -21
- package/dist/DataList.utils-es.js +7 -7
- package/dist/DataListAction-es.js +9 -9
- package/dist/DataListActions-es.js +6 -6
- package/dist/DataListActionsMenu-es.js +4 -4
- package/dist/DataListBulkActions-es.js +3 -3
- package/dist/DataListContext-es.js +6 -6
- package/dist/DataListEmptyState-es.js +3 -3
- package/dist/DataListFilters-es.js +3 -3
- package/dist/DataListHeader-es.js +12 -12
- package/dist/DataListHeaderTile-es.js +9 -9
- package/dist/DataListItem-es.js +10 -10
- package/dist/DataListItemActions-es.js +3 -3
- package/dist/DataListItemActionsOverflow-es.js +5 -5
- package/dist/DataListItemClickable-es.js +8 -8
- package/dist/DataListItems-es.js +3 -3
- package/dist/DataListLayout-es.js +2 -2
- package/dist/DataListLayoutActions-es.js +6 -6
- package/dist/DataListLoadMore-es.js +8 -8
- package/dist/DataListLoadingState-es.js +4 -4
- package/dist/DataListOverflowFade-es.js +6 -6
- package/dist/DataListSearch-es.js +6 -6
- package/dist/DataListSort-es.js +6 -6
- package/dist/DataListSortingOptions-es.js +3 -3
- package/dist/DataListStatusBar-es.js +2 -2
- package/dist/DataListStickyHeader-es.js +2 -2
- package/dist/DataListTags-es.js +7 -7
- package/dist/DataListTotalCount-es.js +6 -6
- package/dist/DataTable-es.js +45 -45
- package/dist/DatePicker-es.js +12 -12
- package/dist/DayOfMonthSelect-es.js +18 -18
- package/dist/DescriptionList-es.js +4 -4
- package/dist/Disclosure-es.js +10 -10
- package/dist/Divider-es.js +2 -2
- package/dist/DrawerGrid-es.js +11 -11
- package/dist/Emphasis-es.js +2 -2
- package/dist/FeatureSwitch-es.js +17 -17
- package/dist/Flex-es.js +2 -2
- package/dist/Form-es.js +3 -3
- package/dist/FormField/FormFieldTypes.d.ts +6 -0
- package/dist/FormField/hooks/useAtlantisFormField.d.ts +2 -2
- package/dist/FormField-cjs.js +12 -4
- package/dist/FormField-es.js +50 -42
- package/dist/FormatDate-es.js +2 -2
- package/dist/FormatEmail-es.js +2 -2
- package/dist/FormatFile-es.js +23 -23
- package/dist/FormatRelativeDateTime-es.js +6 -6
- package/dist/FormatTime-es.js +2 -2
- package/dist/Gallery-es.js +8 -8
- package/dist/Glimmer-es.js +11 -11
- package/dist/Grid-es.js +2 -2
- package/dist/GridCell-es.js +2 -2
- package/dist/Heading-es.js +2 -2
- package/dist/Icon-es.js +9 -9
- package/dist/InlineLabel-es.js +3 -3
- package/dist/InputAvatar-es.js +11 -11
- package/dist/InputDate/index.cjs +1 -1
- package/dist/InputDate/index.mjs +10 -10
- package/dist/InputEmail-cjs.js +1 -1
- package/dist/InputEmail-es.js +3 -3
- package/dist/InputFile-es.js +20 -20
- package/dist/InputGroup-es.js +4 -4
- package/dist/InputNumber-cjs.js +1 -1
- package/dist/InputNumber-es.js +3 -3
- package/dist/InputPassword-cjs.js +1 -1
- package/dist/InputPassword-es.js +3 -3
- package/dist/InputPhoneNumber-cjs.js +2 -2
- package/dist/InputPhoneNumber-es.js +7 -7
- package/dist/InputText/index.cjs +1 -1
- package/dist/InputText/index.mjs +13 -13
- package/dist/InputTime-cjs.js +1 -1
- package/dist/InputTime-es.js +3 -3
- package/dist/InputValidation-es.js +5 -5
- package/dist/InternalChipDismissible-es.js +19 -19
- package/dist/LightBox-es.js +31 -31
- package/dist/Link-es.js +2 -2
- package/dist/List-es.js +29 -29
- package/dist/Markdown-es.js +15 -15
- package/dist/Menu-es.js +21 -21
- package/dist/Modal-es.js +18 -18
- package/dist/MultiSelect-es.js +9 -9
- package/dist/Option-cjs.js +1 -1
- package/dist/Option-es.js +4 -4
- package/dist/Page-es.js +23 -23
- package/dist/Popover-es.js +7 -7
- package/dist/ProgressBar-es.js +5 -5
- package/dist/RadioGroup-es.js +9 -9
- package/dist/RecurringSelect-es.js +19 -19
- package/dist/SegmentedControl-es.js +9 -9
- package/dist/Select/Select.d.ts +1 -1
- package/dist/SideDrawer-es.js +22 -22
- package/dist/Spinner-es.js +2 -2
- package/dist/StatusIndicator-es.js +2 -2
- package/dist/StatusLabel-es.js +5 -5
- package/dist/Switch-es.js +10 -10
- package/dist/Tabs-es.js +14 -14
- package/dist/Text-es.js +2 -2
- package/dist/Tooltip-es.js +9 -9
- package/dist/Typography-es.js +2 -2
- package/dist/showToast-es.js +11 -11
- package/dist/styles.css +5 -2
- package/dist/useChildComponent-es.js +2 -2
- package/dist/useFocusTrap-es.js +2 -2
- package/dist/useInView-es.js +2 -2
- package/dist/useIsMounted-es.js +2 -2
- package/dist/useOnKeyDown-es.js +2 -2
- package/dist/useRefocusOnActivator-es.js +2 -2
- package/dist/useResizeObserver-es.js +3 -3
- package/dist/useSafeLayoutEffect-es.js +2 -2
- package/dist/useScrollToActive-es.js +3 -3
- package/package.json +3 -2
package/dist/FormatFile-es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default, { useState, useEffect } from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import getHumanReadableFileSize from 'filesize';
|
|
4
4
|
import { B as Button } from './Button-es.js';
|
|
@@ -14,9 +14,9 @@ var styles$2 = {"formatFile":"y9T1gWK9SHY-","expanded":"_6qcLC0nLki0-","compact"
|
|
|
14
14
|
function FormatFileDeleteButton({ size, onDelete }) {
|
|
15
15
|
const buttonSize = size === "base" ? "small" : "base";
|
|
16
16
|
const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false);
|
|
17
|
-
return (
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
return (React__default.createElement("div", { className: styles$2.deleteButton },
|
|
18
|
+
React__default.createElement(Button, { onClick: () => setDeleteConfirmationOpen(true), variation: "destructive", type: "tertiary", icon: "trash", ariaLabel: "Delete File", size: buttonSize }),
|
|
19
|
+
React__default.createElement(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) })));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
var styles$1 = {"content":"GlvUe-y47J8-","hasName":"zxlhNVPlPfU-","large":"PLxm6a4dUeE-","fileName":"-HUnao9DHy4-","base":"HJGVBmS64DY-","spinning":"Svf9Lca4cus-"};
|
|
@@ -30,9 +30,9 @@ function InternalThumbnailImage({ file }) {
|
|
|
30
30
|
useEffect(() => {
|
|
31
31
|
src().then(url => setImageSource(url));
|
|
32
32
|
}, []);
|
|
33
|
-
return (
|
|
34
|
-
!imageLoaded &&
|
|
35
|
-
|
|
33
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
34
|
+
!imageLoaded && React__default.createElement(Glimmer, { size: "auto" }),
|
|
35
|
+
React__default.createElement("img", { src: imageSource, onError: file.onImageLoadError, onLoad: handleImageLoad, alt: name, "data-testid": "internalThumbnailImage", className: classnames(styles.image, { [styles.hidden]: !imageLoaded }) })));
|
|
36
36
|
function handleImageLoad() {
|
|
37
37
|
setImageLoaded(true);
|
|
38
38
|
}
|
|
@@ -82,14 +82,14 @@ function InternalThumbnail({ compact = false, size, file, }) {
|
|
|
82
82
|
const iconName = getIconNameFromType(type);
|
|
83
83
|
const hasName = Boolean(name) && compact;
|
|
84
84
|
if (type.startsWith("image/") && isSupportedImageType(file)) {
|
|
85
|
-
return
|
|
85
|
+
return React__default.createElement(InternalThumbnailImage, { file: file });
|
|
86
86
|
}
|
|
87
|
-
return (
|
|
87
|
+
return (React__default.createElement("div", { className: classnames(styles$1.content, styles$1[size], {
|
|
88
88
|
[styles$1.hasName]: hasName,
|
|
89
89
|
}) },
|
|
90
|
-
|
|
91
|
-
hasName && (
|
|
92
|
-
|
|
90
|
+
React__default.createElement(Icon, { name: iconName, color: "greyBlue", size: size }),
|
|
91
|
+
hasName && (React__default.createElement("div", { className: styles$1.fileName },
|
|
92
|
+
React__default.createElement(Typography, { element: "span", textColor: "text", numberOfLines: 1 }, name)))));
|
|
93
93
|
}
|
|
94
94
|
function getIconNameFromType(mimeType) {
|
|
95
95
|
if (mimeType.startsWith("image/"))
|
|
@@ -126,17 +126,17 @@ function FormatFile({ file, display = "expanded", displaySize = "base", onDelete
|
|
|
126
126
|
[styles$2.deleteable]: display === "compact",
|
|
127
127
|
});
|
|
128
128
|
const thumbnailContainerClassNames = classnames(styles$2.thumbnail, styles$2[displaySize]);
|
|
129
|
-
return (
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
!isComplete && (
|
|
134
|
-
|
|
135
|
-
display === "expanded" && (
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
isComplete && onDelete && (
|
|
139
|
-
|
|
129
|
+
return (React__default.createElement("div", { className: wrapperClassNames },
|
|
130
|
+
React__default.createElement(DetailsContainer, { type: "button", className: detailsClassNames, onClick: isComplete ? onClick : undefined, tabIndex: 0, "aria-busy": !isComplete },
|
|
131
|
+
React__default.createElement("div", { className: thumbnailContainerClassNames },
|
|
132
|
+
React__default.createElement(InternalThumbnail, { key: file.key, compact: display === "compact", file: file, size: displaySize }),
|
|
133
|
+
!isComplete && (React__default.createElement("div", { className: styles$2.progress },
|
|
134
|
+
React__default.createElement(ProgressBar, { size: "small", currentStep: file.progress * 100, totalSteps: 100 })))),
|
|
135
|
+
display === "expanded" && (React__default.createElement("div", { className: styles$2.contentBlock },
|
|
136
|
+
React__default.createElement(Text, { size: "base" }, file.name),
|
|
137
|
+
React__default.createElement(Text, { size: "small" }, fileSize)))),
|
|
138
|
+
isComplete && onDelete && (React__default.createElement("div", { className: styles$2.deleteButton },
|
|
139
|
+
React__default.createElement(FormatFileDeleteButton, { size: display === "expanded" ? "large" : displaySize, onDelete: onDelete })))));
|
|
140
140
|
}
|
|
141
141
|
function isHoverable({ display, isComplete, onClick, onDelete, }) {
|
|
142
142
|
if (display === "compact") {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
function FormatRelativeDateTime({ date: inputDate, }) {
|
|
4
4
|
let dateObject;
|
|
@@ -13,18 +13,18 @@ function FormatRelativeDateTime({ date: inputDate, }) {
|
|
|
13
13
|
const delta = now - date.getTime() / 1000; //seconds;
|
|
14
14
|
switch (relativeTimeRange(delta)) {
|
|
15
15
|
case "less than an hour":
|
|
16
|
-
return
|
|
16
|
+
return React__default.createElement(React__default.Fragment, null, showMinutes(Math.round(delta / 60)));
|
|
17
17
|
case "less then a day":
|
|
18
|
-
return (
|
|
18
|
+
return (React__default.createElement(React__default.Fragment, null, date.toLocaleTimeString(undefined, {
|
|
19
19
|
hour: "numeric",
|
|
20
20
|
minute: "numeric",
|
|
21
21
|
})));
|
|
22
22
|
case "less than a week":
|
|
23
|
-
return
|
|
23
|
+
return React__default.createElement(React__default.Fragment, null, strFormatDate(date, { weekday: "short" }));
|
|
24
24
|
case "less than a year":
|
|
25
|
-
return
|
|
25
|
+
return React__default.createElement(React__default.Fragment, null, strFormatDate(date, { month: "short", day: "numeric" }));
|
|
26
26
|
default:
|
|
27
|
-
return (
|
|
27
|
+
return (React__default.createElement(React__default.Fragment, null, strFormatDate(date, {
|
|
28
28
|
month: "short",
|
|
29
29
|
day: "numeric",
|
|
30
30
|
year: "numeric",
|
package/dist/FormatTime-es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
function FormatTime({ time: inputTime, use24HourClock, }) {
|
|
4
4
|
let dateObject;
|
|
@@ -8,7 +8,7 @@ function FormatTime({ time: inputTime, use24HourClock, }) {
|
|
|
8
8
|
else {
|
|
9
9
|
dateObject = new Date(inputTime);
|
|
10
10
|
}
|
|
11
|
-
return
|
|
11
|
+
return React__default.createElement(React__default.Fragment, null, dateToLocaleTimeString(dateObject, use24HourClock));
|
|
12
12
|
}
|
|
13
13
|
function dateToLocaleTimeString(date, use24HourClock) {
|
|
14
14
|
const language = (globalThis === null || globalThis === void 0 ? void 0 : globalThis.navigator) ? navigator.language : "en";
|
package/dist/Gallery-es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as __awaiter } from './tslib.es6-es.js';
|
|
2
|
-
import
|
|
2
|
+
import React__default, { useState } from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { L as LightBox } from './LightBox-es.js';
|
|
5
5
|
import { F as FormatFile, i as isSafari } from './FormatFile-es.js';
|
|
@@ -10,7 +10,7 @@ var styles = {"gallery":"_6UhvrmKZdns-","galleryLarge":"f0hnJ8v-iHE-","showMoreB
|
|
|
10
10
|
function Gallery({ files, size = "base", max, onDelete }) {
|
|
11
11
|
const [images, setImages] = useState([]);
|
|
12
12
|
const [filesToImageIndex, setFilesToImageIndex] = useState([]);
|
|
13
|
-
|
|
13
|
+
React__default.useEffect(() => {
|
|
14
14
|
generateImagesArray(files).then(result => {
|
|
15
15
|
setImages(result.images);
|
|
16
16
|
setFilesToImageIndex(result.filesToImageIndex);
|
|
@@ -20,18 +20,18 @@ function Gallery({ files, size = "base", max, onDelete }) {
|
|
|
20
20
|
const [lightboxIndex, setLightboxIndex] = useState(0);
|
|
21
21
|
const [displayPastMax, setDisplayPastMax] = useState(max ? false : true);
|
|
22
22
|
const visibleFiles = displayPastMax ? files : files.slice(0, max);
|
|
23
|
-
return (
|
|
24
|
-
|
|
23
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
24
|
+
React__default.createElement("div", { className: size === "large" ? styles.galleryLarge : styles.gallery },
|
|
25
25
|
visibleFiles.map((file, index) => {
|
|
26
|
-
return (
|
|
26
|
+
return (React__default.createElement(FormatFile, { key: file.key, file: Object.assign(Object.assign({}, file), { src: () => Promise.resolve(file.thumbnailSrc || getFileSrc(file)) }), display: "compact", displaySize: size, onClick: () => {
|
|
27
27
|
handleThumbnailClicked(index);
|
|
28
28
|
}, onDelete: onDelete ? () => onDelete === null || onDelete === void 0 ? void 0 : onDelete(file) : undefined }));
|
|
29
29
|
}),
|
|
30
|
-
max && files.length > max && !displayPastMax && (
|
|
31
|
-
|
|
30
|
+
max && files.length > max && !displayPastMax && (React__default.createElement("div", { className: classnames(styles.showMoreButton, styles[`${size}ShowMoreButton`]) },
|
|
31
|
+
React__default.createElement(Button, { type: "tertiary", size: size, label: `+ ${files.length - max}`, fullWidth: true, onClick: () => {
|
|
32
32
|
setDisplayPastMax(true);
|
|
33
33
|
} })))),
|
|
34
|
-
|
|
34
|
+
React__default.createElement(LightBox, { open: lightboxOpen, images: images, imageIndex: lightboxIndex, onRequestClose: handleLightboxClose })));
|
|
35
35
|
function handleThumbnailClicked(index) {
|
|
36
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
37
|
if (files[index].type.startsWith("image/") &&
|
package/dist/Glimmer-es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as __rest } from './tslib.es6-es.js';
|
|
2
|
-
import
|
|
2
|
+
import React__default from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { C as Content } from './Content-es.js';
|
|
5
5
|
|
|
@@ -17,7 +17,7 @@ const GLIMMER_TEXT_TEST_ID = "ATL-GlimmerText";
|
|
|
17
17
|
const GLIMMER_BUTTON_TEST_ID = "ATL-GlimmerButton";
|
|
18
18
|
function Glimmer({ size = "base", shape = "rectangle", timing = "base", reverseTheme = false, width, }) {
|
|
19
19
|
const className = classnames(styles.glimmer, sizes[size], shapes[shape], timings[timing], { [styles.reverseTheme]: reverseTheme });
|
|
20
|
-
return (
|
|
20
|
+
return (React__default.createElement("div", { "aria-busy": "true", role: "status", className: className, "data-testid": GLIMMER_TEST_ID, style: { width } }));
|
|
21
21
|
}
|
|
22
22
|
Glimmer.Header = function GlimmerHeader(_a) {
|
|
23
23
|
var { level = 3 } = _a, props = __rest(_a, ["level"]);
|
|
@@ -28,26 +28,26 @@ Glimmer.Header = function GlimmerHeader(_a) {
|
|
|
28
28
|
4: "base",
|
|
29
29
|
5: "small",
|
|
30
30
|
};
|
|
31
|
-
return (
|
|
32
|
-
|
|
31
|
+
return (React__default.createElement("div", { className: styles.header, "data-testid": GLIMMER_HEADER_TEST_ID },
|
|
32
|
+
React__default.createElement(Glimmer, Object.assign({ size: headerSize[level] }, props))));
|
|
33
33
|
};
|
|
34
34
|
Glimmer.Text = function GlimmerText(_a) {
|
|
35
35
|
var { width, lines = 3 } = _a, props = __rest(_a, ["width", "lines"]);
|
|
36
36
|
const children = [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
React__default.createElement(Glimmer, Object.assign({ key: "1", size: "small", shape: "rectangleShort" }, props)),
|
|
38
|
+
React__default.createElement(Glimmer, Object.assign({ key: "2", size: "small" }, props)),
|
|
39
|
+
React__default.createElement(Glimmer, Object.assign({ key: "3", size: "small", shape: "rectangleShorter" }, props)),
|
|
40
40
|
].slice(0, lines);
|
|
41
|
-
return (
|
|
42
|
-
|
|
41
|
+
return (React__default.createElement("div", { style: { width }, "data-testid": GLIMMER_TEXT_TEST_ID },
|
|
42
|
+
React__default.createElement(Content, { spacing: "small" }, children)));
|
|
43
43
|
};
|
|
44
44
|
Glimmer.Button = function GlimmerButton(_a) {
|
|
45
45
|
var { fullWidth = false } = _a, props = __rest(_a, ["fullWidth"]);
|
|
46
46
|
const buttonClassNames = classnames(styles.button, {
|
|
47
47
|
[styles.buttonFill]: fullWidth,
|
|
48
48
|
});
|
|
49
|
-
return (
|
|
50
|
-
|
|
49
|
+
return (React__default.createElement("div", { className: buttonClassNames, "data-testid": GLIMMER_BUTTON_TEST_ID },
|
|
50
|
+
React__default.createElement(Glimmer, Object.assign({}, props, { size: "auto" }))));
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
export { Glimmer as G, GLIMMER_TEST_ID as a };
|
package/dist/Grid-es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { a as GridCell } from './GridCell-es.js';
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ function Grid({ alignItems = "start", gap = true, children, }) {
|
|
|
11
11
|
const classnames$1 = classnames(styles.grid, alignments[alignItems], {
|
|
12
12
|
[styles.gap]: gap,
|
|
13
13
|
});
|
|
14
|
-
return (
|
|
14
|
+
return (React__default.createElement("div", { "data-testid": GRID_TEST_ID, className: classnames$1 }, children));
|
|
15
15
|
}
|
|
16
16
|
Grid.Cell = GridCell;
|
|
17
17
|
|
package/dist/GridCell-es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
|
|
3
3
|
var styles = {"gridCell":"U0IgyTjmtnU-","spinning":"KceqkKMGwzE-"};
|
|
4
4
|
|
|
@@ -14,7 +14,7 @@ function GridCell({ size, children }) {
|
|
|
14
14
|
* the column
|
|
15
15
|
*/
|
|
16
16
|
const cssSizeVariables = breakpoints.reduce(getSizeCSSVariables(size), {});
|
|
17
|
-
return (
|
|
17
|
+
return (React__default.createElement("div", { "data-testid": GRID_CELL_TEST_ID, className: styles.gridCell, style: cssSizeVariables }, children));
|
|
18
18
|
}
|
|
19
19
|
function getSizeCSSVariables(size) {
|
|
20
20
|
return (breakpointsObj, currentSize) => {
|
package/dist/Heading-es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { T as Typography } from './Typography-es.js';
|
|
3
3
|
|
|
4
4
|
function Heading({ level = 5, children, element }) {
|
|
@@ -41,7 +41,7 @@ function Heading({ level = 5, children, element }) {
|
|
|
41
41
|
textColor: "heading",
|
|
42
42
|
},
|
|
43
43
|
};
|
|
44
|
-
return (
|
|
44
|
+
return (React__default.createElement(Typography, Object.assign({}, levelMap[level], { element: element || levelMap[level].element }), children));
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export { Heading as H };
|
package/dist/Icon-es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { getIcon } from '@jobber/design';
|
|
3
3
|
|
|
4
4
|
function Icon({ name, color, customColor, size = "base", testID, UNSAFE_className, UNSAFE_style, }) {
|
|
@@ -13,9 +13,9 @@ function Icon({ name, color, customColor, size = "base", testID, UNSAFE_classNam
|
|
|
13
13
|
icon = getTruck(pathStyle, customColor);
|
|
14
14
|
}
|
|
15
15
|
else {
|
|
16
|
-
icon = paths.map((path) => (
|
|
16
|
+
icon = paths.map((path) => (React__default.createElement("path", { key: path, style: Object.assign(Object.assign({}, pathStyle), UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.path), className: UNSAFE_className === null || UNSAFE_className === void 0 ? void 0 : UNSAFE_className.path, d: path, fill: customColor })));
|
|
17
17
|
}
|
|
18
|
-
return (
|
|
18
|
+
return (React__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: viewBox, style: Object.assign(Object.assign({}, svgStyle), UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.svg), className: UNSAFE_className === null || UNSAFE_className === void 0 ? void 0 : UNSAFE_className.svg, "data-testid": testID || name }, icon));
|
|
19
19
|
}
|
|
20
20
|
function getIconColor(name, color) {
|
|
21
21
|
if (name === "truck") {
|
|
@@ -24,12 +24,12 @@ function getIconColor(name, color) {
|
|
|
24
24
|
return color;
|
|
25
25
|
}
|
|
26
26
|
function getTruck(pathStyle, customColor) {
|
|
27
|
-
return (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
return (React__default.createElement("g", { transform: "translate(233.000000, 0.000000)", style: Object.assign({}, pathStyle) },
|
|
28
|
+
React__default.createElement("path", { d: "M31.030303,124.121212 C31.030303,106.983796 44.9231903,93.0909091 62.0606061,93.0909091 L93.0909091,93.0909091 L93.0909091,279.272727 L62.0606061,279.272727 C44.9231903,279.272727 31.030303,265.37984 31.030303,248.242424 L31.030303,124.121212 Z M31.030303,744.727273 C31.030303,727.589236 44.9231903,713.69697 62.0606061,713.69697 L93.0909091,713.69697 L93.0909091,899.878788 L62.0606061,899.878788 C44.9231903,899.878788 31.030303,885.986521 31.030303,868.848485 L31.030303,744.727273 Z M62.0606061,961.939394 L496.484848,961.939394 L496.484848,992.969697 C496.484848,1010.10773 482.592582,1024 465.454545,1024 L93.0909091,1024 C75.9534933,1024 62.0606061,1010.10773 62.0606061,992.969697 L62.0606061,961.939394 Z M494.858861,713.715588 L463.834764,714.258618 L467.083636,900.412509 L498.107733,899.869479 C515.242667,899.571588 528.889794,885.437285 528.591903,868.302352 L526.425988,744.199758 C526.128097,727.064824 511.993794,713.417697 494.858861,713.715588 Z M496.484848,93.0909091 L465.454545,93.0909091 L465.454545,279.272727 L496.484848,279.272727 C513.622885,279.272727 527.515152,265.37984 527.515152,248.242424 L527.515152,124.121212 C527.515152,106.983796 513.622885,93.0909091 496.484848,93.0909091 Z", id: "Shape", fill: "#2B2B2B" }),
|
|
29
|
+
React__default.createElement("path", { d: "M124.121212,0 C89.8460703,0 62.0606061,27.7854642 62.0606061,62.0606061 L62.0606061,310.30303 L31.030303,310.30303 C13.8927321,310.30303 0,324.195297 0,341.333333 L62.0606061,341.333333 L62.0606061,992.969697 L496.484848,992.969697 L496.484848,341.333333 L558.545455,341.333333 C558.545455,324.195297 544.653188,310.30303 527.515152,310.30303 L496.484848,310.30303 L496.484848,62.0606061 C496.484848,27.7854642 468.700315,0 434.424242,0 L124.121212,0 Z", id: "Path", fill: customColor }),
|
|
30
|
+
React__default.createElement("path", { d: "M465.454545,589.575758 L93.0909091,589.575758 L93.0909091,713.69697 L124.121212,713.69697 C141.258628,713.69697 155.151515,727.589236 155.151515,744.727273 L155.151515,868.848485 C155.151515,885.986521 141.258628,899.878788 124.121212,899.878788 L93.0909091,899.878788 L93.0909091,961.939394 L465.454545,961.939394 L465.454545,899.878788 L434.424242,899.878788 C417.286206,899.878788 403.393939,885.986521 403.393939,868.848485 L403.393939,744.727273 C403.393939,727.589236 417.286206,713.69697 434.424242,713.69697 L465.454545,713.69697 L465.454545,589.575758 Z", id: "Path", fillOpacity: "0.35", fill: "#000000" }),
|
|
31
|
+
React__default.createElement("path", { d: "M93.0909091,62.0606061 C93.0909091,44.9231903 106.983796,31.030303 124.121212,31.030303 L434.424242,31.030303 C451.562279,31.030303 465.454545,44.9231903 465.454545,62.0606061 L465.454545,589.575758 L93.0909091,589.575758 L93.0909091,62.0606061 Z M93.0909091,713.69697 L124.121212,713.69697 C141.258628,713.69697 155.151515,727.589236 155.151515,744.727273 L155.151515,868.848485 C155.151515,885.986521 141.258628,899.878788 124.121212,899.878788 L93.0909091,899.878788 L93.0909091,713.69697 Z M434.424242,713.69697 C417.286206,713.69697 403.393939,727.589236 403.393939,744.727273 L403.393939,868.848485 C403.393939,885.986521 417.286206,899.878788 434.424242,899.878788 L465.454545,899.878788 L465.454545,713.69697 L434.424242,713.69697 Z", id: "Shape", fill: "#FFFFFF", opacity: "0.5" }),
|
|
32
|
+
React__default.createElement("path", { d: "M93.0909091,279.272727 C113.777881,268.929396 192.387879,248.242424 279.272727,248.242424 C366.157576,248.242424 444.766642,268.929396 465.454545,279.272727 L403.393939,372.363636 C393.051539,362.021236 341.333333,341.333333 279.272727,341.333333 C217.212121,341.333333 165.494846,362.021236 155.151515,372.363636 L93.0909091,279.272727 Z M155.151515,512 L155.151515,403.393939 L93.0909091,310.30303 L93.0909091,512 L155.151515,512 Z M403.393939,512 L403.393939,403.393939 L465.454545,310.30303 L465.454545,512 L403.393939,512 Z", id: "Shape", fill: "#2A2A2A" })));
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export { Icon as I };
|
package/dist/InlineLabel-es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { T as Typography } from './Typography-es.js';
|
|
4
4
|
|
|
@@ -11,8 +11,8 @@ function InlineLabel({ size = "base", color = "greyBlue", children, }) {
|
|
|
11
11
|
large: "large",
|
|
12
12
|
larger: "large",
|
|
13
13
|
};
|
|
14
|
-
return (
|
|
15
|
-
|
|
14
|
+
return (React__default.createElement("span", { className: className },
|
|
15
|
+
React__default.createElement(Typography, { element: "span", size: sizeMapper[size] }, children)));
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
export { InlineLabel as I };
|
package/dist/InputAvatar-es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { _ as __rest, a as __awaiter } from './tslib.es6-es.js';
|
|
2
|
-
import
|
|
2
|
+
import React__default, { useState } from 'react';
|
|
3
3
|
import { A as Avatar } from './Avatar-es.js';
|
|
4
4
|
import { I as InputFile } from './InputFile-es.js';
|
|
5
5
|
import { P as ProgressBar } from './ProgressBar-es.js';
|
|
@@ -11,14 +11,14 @@ var styles = {"inputAvatar":"CMahTsC0SPE-","preview":"VOVr4KEFeVk-","centered":"
|
|
|
11
11
|
function InputAvatar(_a) {
|
|
12
12
|
var { getUploadParams, onUploadComplete, onChange } = _a, avatarProps = __rest(_a, ["getUploadParams", "onUploadComplete", "onChange"]);
|
|
13
13
|
const [progress, setProgress] = useState(1);
|
|
14
|
-
return (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
progress < 1 && (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
avatarProps.imageUrl != undefined && progress === 1 && (
|
|
14
|
+
return (React__default.createElement("div", { className: styles.inputAvatar },
|
|
15
|
+
React__default.createElement("div", { className: styles.preview },
|
|
16
|
+
React__default.createElement(Avatar, Object.assign({ size: "large" }, avatarProps)),
|
|
17
|
+
progress < 1 && (React__default.createElement(Overlay, null,
|
|
18
|
+
React__default.createElement(Centered, null,
|
|
19
|
+
React__default.createElement(ProgressBar, { size: "small", currentStep: progress * 100, totalSteps: 100 }))))),
|
|
20
|
+
React__default.createElement(InputFile, { variation: "button", buttonLabel: avatarProps.imageUrl ? "Change Image" : undefined, size: "small", allowedTypes: "images", getUploadParams: getUploadParams, onUploadStart: handleChange, onUploadProgress: handleUpload, onUploadComplete: handleUploadComplete }),
|
|
21
|
+
avatarProps.imageUrl != undefined && progress === 1 && (React__default.createElement(Button, { label: "Remove", size: "small", type: "secondary", variation: "destructive", onClick: clearAvatar }))));
|
|
22
22
|
function handleChange(newFile) {
|
|
23
23
|
onChange && onChange(newFile);
|
|
24
24
|
handleUpload(newFile);
|
|
@@ -38,11 +38,11 @@ function InputAvatar(_a) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
function Overlay({ children }) {
|
|
41
|
-
return
|
|
41
|
+
return React__default.createElement("div", { className: styles.overlay }, children);
|
|
42
42
|
}
|
|
43
43
|
function Centered({ children }) {
|
|
44
44
|
// Note: this HIGHLY experimental Centered component is applying margin.
|
|
45
|
-
return
|
|
45
|
+
return React__default.createElement("div", { className: styles.centered }, children);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
export { InputAvatar as I };
|
package/dist/InputDate/index.cjs
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var omit = require('../omit-cjs.js');
|
|
5
5
|
var FormField = require('../FormField-cjs.js');
|
|
6
|
+
require('classnames');
|
|
6
7
|
require('../tslib.es6-cjs.js');
|
|
7
8
|
require('react-hook-form');
|
|
8
9
|
require('framer-motion');
|
|
9
10
|
require('@jobber/design');
|
|
10
|
-
require('classnames');
|
|
11
11
|
require('../Button-cjs.js');
|
|
12
12
|
var DatePicker = require('../DatePicker-cjs.js');
|
|
13
13
|
var InputText_index = require('../InputText/index.cjs');
|
package/dist/InputDate/index.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default, { useRef, useState, useEffect, forwardRef } from 'react';
|
|
2
2
|
import { o as omit } from '../omit-es.js';
|
|
3
3
|
import { k as FormField } from '../FormField-es.js';
|
|
4
|
+
import 'classnames';
|
|
4
5
|
import '../tslib.es6-es.js';
|
|
5
6
|
import 'react-hook-form';
|
|
6
7
|
import 'framer-motion';
|
|
7
8
|
import '@jobber/design';
|
|
8
|
-
import 'classnames';
|
|
9
9
|
import '../Button-es.js';
|
|
10
10
|
import { D as DatePicker } from '../DatePicker-es.js';
|
|
11
11
|
import { InputText } from '../InputText/index.mjs';
|
|
@@ -36,7 +36,7 @@ import '../useSafeLayoutEffect-es.js';
|
|
|
36
36
|
|
|
37
37
|
function InputDate$1(inputProps) {
|
|
38
38
|
const formFieldActionsRef = useRef(null);
|
|
39
|
-
return (
|
|
39
|
+
return (React__default.createElement(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 => {
|
|
40
40
|
const { onChange, onClick, value } = activatorProps;
|
|
41
41
|
const newActivatorProps = omit(activatorProps, ["activator"]);
|
|
42
42
|
const [isFocused, setIsFocused] = useState(false);
|
|
@@ -56,8 +56,8 @@ function InputDate$1(inputProps) {
|
|
|
56
56
|
const showEmptyValueLabel = !value && !isFocused;
|
|
57
57
|
return (
|
|
58
58
|
// We prevent the picker from opening on focus for keyboard navigation, so to maintain a good UX for mouse users we want to open the picker on click
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
React__default.createElement("div", { onClick: onClick },
|
|
60
|
+
React__default.createElement(FormField, Object.assign({}, newActivatorProps, inputProps, { value: showEmptyValueLabel ? inputProps.emptyValueLabel || "" : value, placeholder: inputProps.placeholder, onChange: (_, event) => {
|
|
61
61
|
onChange && onChange(event);
|
|
62
62
|
}, onBlur: () => {
|
|
63
63
|
inputProps.onBlur && inputProps.onBlur();
|
|
@@ -104,7 +104,7 @@ function useInputDateActivatorActions({ onChange, onBlur, onFocus, }) {
|
|
|
104
104
|
|
|
105
105
|
const InputDateRebuilt = forwardRef(function InputDateInternal(props, inputRefs) {
|
|
106
106
|
const { onChange } = props;
|
|
107
|
-
return (
|
|
107
|
+
return (React__default.createElement(DatePicker, { selected: props.value, onChange: newValue => {
|
|
108
108
|
onChange(newValue);
|
|
109
109
|
}, disabled: props.disabled, readonly: props.readOnly, fullWidth: !props.inline, minDate: props.minDate, maxDate: props.maxDate, smartAutofocus: false, activator: InputDateActivator }));
|
|
110
110
|
function InputDateActivator(activatorProps) {
|
|
@@ -133,8 +133,8 @@ const InputDateRebuilt = forwardRef(function InputDateInternal(props, inputRefs)
|
|
|
133
133
|
const showEmptyValueLabel = !value && !isFocused;
|
|
134
134
|
return (
|
|
135
135
|
// We prevent the picker from opening on focus for keyboard navigation, so to maintain a good UX for mouse users we want to open the picker on click
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
React__default.createElement("div", { onClick: onClick },
|
|
137
|
+
React__default.createElement(InputText, Object.assign({}, newActivatorProps, props, { version: 2, value: showEmptyValueLabel ? props.emptyValueLabel || "" : value || "", ref: inputRefs, suffix: suffix, onFocus: handleFocus, onBlur: handleBlur, onKeyDown: event => {
|
|
138
138
|
var _a, _b;
|
|
139
139
|
if (props.showIcon === false && event.key === "ArrowDown") {
|
|
140
140
|
(_a = activatorProps.onClick) === null || _a === void 0 ? void 0 : _a.call(activatorProps);
|
|
@@ -149,10 +149,10 @@ function isNewInputDateProps(props) {
|
|
|
149
149
|
}
|
|
150
150
|
const InputDate = forwardRef(function InputDateShim(props, ref) {
|
|
151
151
|
if (isNewInputDateProps(props)) {
|
|
152
|
-
return
|
|
152
|
+
return React__default.createElement(InputDateRebuilt, Object.assign({}, props, { ref: ref }));
|
|
153
153
|
}
|
|
154
154
|
else {
|
|
155
|
-
return
|
|
155
|
+
return React__default.createElement(InputDate$1, Object.assign({}, props));
|
|
156
156
|
}
|
|
157
157
|
});
|
|
158
158
|
|
package/dist/InputEmail-cjs.js
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var FormField = require('./FormField-cjs.js');
|
|
5
|
+
require('classnames');
|
|
5
6
|
require('./tslib.es6-cjs.js');
|
|
6
7
|
require('react-hook-form');
|
|
7
8
|
require('framer-motion');
|
|
8
9
|
require('@jobber/design');
|
|
9
|
-
require('classnames');
|
|
10
10
|
require('./Button-cjs.js');
|
|
11
11
|
|
|
12
12
|
const validationMessage = "Please enter a valid email";
|
package/dist/InputEmail-es.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import { k as FormField } from './FormField-es.js';
|
|
3
|
+
import 'classnames';
|
|
3
4
|
import './tslib.es6-es.js';
|
|
4
5
|
import 'react-hook-form';
|
|
5
6
|
import 'framer-motion';
|
|
6
7
|
import '@jobber/design';
|
|
7
|
-
import 'classnames';
|
|
8
8
|
import './Button-es.js';
|
|
9
9
|
|
|
10
10
|
const validationMessage = "Please enter a valid email";
|
|
11
11
|
function InputEmail(props) {
|
|
12
12
|
const { validations } = props;
|
|
13
|
-
return (
|
|
13
|
+
return (React__default.createElement(FormField, Object.assign({}, props, { type: "email", validations: Object.assign(Object.assign({}, validations), { validate: checkForValidEmail }) })));
|
|
14
14
|
function checkForValidEmail(value) {
|
|
15
15
|
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,}))$/;
|
|
16
16
|
if (!value) {
|
package/dist/InputFile-es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as __awaiter, b as __generator, c as __spread, _ as __rest } from './tslib.es6-es.js';
|
|
2
|
-
import
|
|
2
|
+
import React__default, { forwardRef, useImperativeHandle, Fragment, useMemo, useRef, useReducer, useEffect, useCallback, createContext, useContext } from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { P as PropTypes } from './index-es.js';
|
|
5
5
|
import axios from 'axios';
|
|
@@ -604,7 +604,7 @@ var Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
604
604
|
};
|
|
605
605
|
}, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element
|
|
606
606
|
|
|
607
|
-
return /*#__PURE__*/
|
|
607
|
+
return /*#__PURE__*/React__default.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {
|
|
608
608
|
open: open
|
|
609
609
|
})));
|
|
610
610
|
});
|
|
@@ -1501,7 +1501,7 @@ function getDefaultHintText(fileType, multiple) {
|
|
|
1501
1501
|
function InputFileHintText(_a) {
|
|
1502
1502
|
var { size = "small", children } = _a, textProps = __rest(_a, ["size", "children"]);
|
|
1503
1503
|
const { hintText } = useInputFileContentContext();
|
|
1504
|
-
return (
|
|
1504
|
+
return (React__default.createElement(Text, Object.assign({}, textProps, { size: size }), children || hintText));
|
|
1505
1505
|
}
|
|
1506
1506
|
|
|
1507
1507
|
function InputFileDescription(_a) {
|
|
@@ -1510,24 +1510,24 @@ function InputFileDescription(_a) {
|
|
|
1510
1510
|
if (!children && !description) {
|
|
1511
1511
|
return null;
|
|
1512
1512
|
}
|
|
1513
|
-
return (
|
|
1513
|
+
return (React__default.createElement(Text, Object.assign({ size: size, variation: variation }, textProps), children || description));
|
|
1514
1514
|
}
|
|
1515
1515
|
|
|
1516
1516
|
function InputFileButton(_a) {
|
|
1517
1517
|
var { label, size, fullWidth = false } = _a, buttonProps = __rest(_a, ["label", "size", "fullWidth"]);
|
|
1518
1518
|
const { buttonLabel: contextLabel, size: contextSize } = useInputFileContentContext();
|
|
1519
|
-
return (
|
|
1519
|
+
return (React__default.createElement(Button, Object.assign({}, buttonProps, { label: label || contextLabel, size: size !== null && size !== void 0 ? size : contextSize, type: "secondary", fullWidth: fullWidth })));
|
|
1520
1520
|
}
|
|
1521
1521
|
|
|
1522
1522
|
function InputFileDropzoneWrapper({ children, }) {
|
|
1523
|
-
return
|
|
1523
|
+
return React__default.createElement("div", { className: styles.dropzoneContent }, children);
|
|
1524
1524
|
}
|
|
1525
1525
|
|
|
1526
1526
|
function InputFileValidationErrors({ validationErrors, }) {
|
|
1527
1527
|
if (validationErrors.length === 0) {
|
|
1528
1528
|
return null;
|
|
1529
1529
|
}
|
|
1530
|
-
return (
|
|
1530
|
+
return (React__default.createElement("div", { className: styles.validationErrors }, validationErrors.map(error => (React__default.createElement(InputValidation, { message: error.message, key: error.code })))));
|
|
1531
1531
|
}
|
|
1532
1532
|
|
|
1533
1533
|
/* eslint-disable max-statements */
|
|
@@ -1618,19 +1618,19 @@ function InputFile({ variation = "dropzone", size = "base", buttonLabel: provide
|
|
|
1618
1618
|
buttonLabel: providedButtonLabel || "",
|
|
1619
1619
|
size,
|
|
1620
1620
|
};
|
|
1621
|
-
const defaultContent = (
|
|
1622
|
-
variation === "dropzone" && (
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
size === "base" && (
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
variation === "button" &&
|
|
1629
|
-
return (
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1621
|
+
const defaultContent = (React__default.createElement(React__default.Fragment, null,
|
|
1622
|
+
variation === "dropzone" && (React__default.createElement(InputFile.DropzoneWrapper, null,
|
|
1623
|
+
React__default.createElement(Content, { spacing: "small" },
|
|
1624
|
+
React__default.createElement(InputFile.Button, { size: "small", fullWidth: false }),
|
|
1625
|
+
size === "base" && (React__default.createElement(React__default.Fragment, null,
|
|
1626
|
+
React__default.createElement(InputFile.HintText, null),
|
|
1627
|
+
React__default.createElement(InputFile.Description, null)))))),
|
|
1628
|
+
variation === "button" && React__default.createElement(InputFile.Button, { fullWidth: true })));
|
|
1629
|
+
return (React__default.createElement(React__default.Fragment, null,
|
|
1630
|
+
React__default.createElement("div", Object.assign({}, getRootProps({ className: dropZone }), { tabIndex: variation === "button" ? -1 : 0 }),
|
|
1631
|
+
React__default.createElement("input", Object.assign({}, getInputProps(), { "data-testid": "input-file-input" })),
|
|
1632
|
+
React__default.createElement(InputFileContentContext.Provider, { value: contentContext }, children || defaultContent)),
|
|
1633
|
+
React__default.createElement(InputFileValidationErrors, { validationErrors: validationErrors })));
|
|
1634
1634
|
function handleDrop(acceptedFiles) {
|
|
1635
1635
|
acceptedFiles.forEach(file => {
|
|
1636
1636
|
uploadFile(file);
|
package/dist/InputGroup-es.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React__default from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
|
|
4
4
|
var styles = {"vertical":"RwhScbXCXw0-","horizontal":"xxMbKnv30VQ-","inputGroup":"l87dJm2JnlA-","spinning":"XZBCtuO467Y-"};
|
|
5
5
|
|
|
6
6
|
function InputGroup({ children, flowDirection = "vertical", }) {
|
|
7
7
|
if (isInvalidGroupNesting(children))
|
|
8
|
-
return
|
|
8
|
+
return React__default.createElement(React__default.Fragment, null);
|
|
9
9
|
const className = classnames(styles.inputGroup, styles[flowDirection]);
|
|
10
|
-
return
|
|
10
|
+
return React__default.createElement("div", { className: className }, children);
|
|
11
11
|
}
|
|
12
12
|
function isInvalidGroupNesting(childs) {
|
|
13
|
-
return
|
|
13
|
+
return React__default.Children.toArray(childs).some(child => {
|
|
14
14
|
if (child.type === InputGroup &&
|
|
15
15
|
child.props.flowDirection != "horizontal") {
|
|
16
16
|
console.error(`ERROR: InputGroup not rendered: nesting 'flowDirection="vertical"' columns not supported.`, `https://atlantis.getjobber.com/?path=/story/components-forms-and-inputs-inputgroup-web--nested`);
|