@faststore/components 3.98.0-dev.3 → 3.98.0
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/cjs/atoms/Link/Link.d.ts +1 -1
- package/dist/cjs/atoms/Link/Link.d.ts.map +1 -1
- package/dist/cjs/atoms/Link/Link.js.map +1 -1
- package/dist/cjs/atoms/List/List.d.ts.map +1 -1
- package/dist/cjs/atoms/List/List.js.map +1 -1
- package/dist/cjs/hooks/index.d.ts +7 -3
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.js +12 -6
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useCSVParser.d.ts +43 -0
- package/dist/cjs/hooks/useCSVParser.d.ts.map +1 -0
- package/dist/cjs/hooks/useCSVParser.js +264 -0
- package/dist/cjs/hooks/useCSVParser.js.map +1 -0
- package/dist/cjs/hooks/useFileUpload.d.ts +26 -0
- package/dist/cjs/hooks/useFileUpload.d.ts.map +1 -0
- package/dist/cjs/hooks/useFileUpload.js +68 -0
- package/dist/cjs/hooks/useFileUpload.js.map +1 -0
- package/dist/cjs/index.d.ts +58 -50
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +47 -32
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/molecules/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/cjs/molecules/Accordion/AccordionItem.js.map +1 -1
- package/dist/cjs/molecules/Dropzone/Dropzone.d.ts +87 -0
- package/dist/cjs/molecules/Dropzone/Dropzone.d.ts.map +1 -0
- package/dist/cjs/molecules/Dropzone/Dropzone.js +85 -0
- package/dist/cjs/molecules/Dropzone/Dropzone.js.map +1 -0
- package/dist/cjs/molecules/Dropzone/index.d.ts +3 -0
- package/dist/cjs/molecules/Dropzone/index.d.ts.map +1 -0
- package/dist/cjs/molecules/Dropzone/index.js +9 -0
- package/dist/cjs/molecules/Dropzone/index.js.map +1 -0
- package/dist/cjs/molecules/FileUploadCard/FileUploadCard.d.ts +113 -0
- package/dist/cjs/molecules/FileUploadCard/FileUploadCard.d.ts.map +1 -0
- package/dist/cjs/molecules/FileUploadCard/FileUploadCard.js +169 -0
- package/dist/cjs/molecules/FileUploadCard/FileUploadCard.js.map +1 -0
- package/dist/cjs/molecules/FileUploadCard/index.d.ts +3 -0
- package/dist/cjs/molecules/FileUploadCard/index.d.ts.map +1 -0
- package/dist/cjs/molecules/FileUploadCard/index.js +9 -0
- package/dist/cjs/molecules/FileUploadCard/index.js.map +1 -0
- package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.d.ts +93 -0
- package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.d.ts.map +1 -0
- package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.js +77 -0
- package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.js.map +1 -0
- package/dist/cjs/molecules/FileUploadStatus/index.d.ts +3 -0
- package/dist/cjs/molecules/FileUploadStatus/index.d.ts.map +1 -0
- package/dist/cjs/molecules/FileUploadStatus/index.js +11 -0
- package/dist/cjs/molecules/FileUploadStatus/index.js.map +1 -0
- package/dist/cjs/molecules/SearchInputField/SearchInputField.d.ts +23 -1
- package/dist/cjs/molecules/SearchInputField/SearchInputField.d.ts.map +1 -1
- package/dist/cjs/molecules/SearchInputField/SearchInputField.js +9 -4
- package/dist/cjs/molecules/SearchInputField/SearchInputField.js.map +1 -1
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts +24 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.js +14 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.js.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts +16 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js +37 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts +9 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js +24 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts +35 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js +91 -0
- package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/index.d.ts +11 -0
- package/dist/cjs/organisms/QuickOrderDrawer/index.d.ts.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/index.js +18 -0
- package/dist/cjs/organisms/QuickOrderDrawer/index.js.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts +61 -0
- package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts.map +1 -0
- package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js +86 -0
- package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js.map +1 -0
- package/dist/esm/atoms/Link/Link.d.ts +1 -1
- package/dist/esm/atoms/Link/Link.d.ts.map +1 -1
- package/dist/esm/atoms/Link/Link.js.map +1 -1
- package/dist/esm/atoms/List/List.d.ts.map +1 -1
- package/dist/esm/atoms/List/List.js.map +1 -1
- package/dist/esm/hooks/index.d.ts +7 -3
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.js +6 -3
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useCSVParser.d.ts +43 -0
- package/dist/esm/hooks/useCSVParser.d.ts.map +1 -0
- package/dist/esm/hooks/useCSVParser.js +259 -0
- package/dist/esm/hooks/useCSVParser.js.map +1 -0
- package/dist/esm/hooks/useFileUpload.d.ts +26 -0
- package/dist/esm/hooks/useFileUpload.d.ts.map +1 -0
- package/dist/esm/hooks/useFileUpload.js +64 -0
- package/dist/esm/hooks/useFileUpload.js.map +1 -0
- package/dist/esm/index.d.ts +58 -50
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +24 -20
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/molecules/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/esm/molecules/Accordion/AccordionItem.js.map +1 -1
- package/dist/esm/molecules/Dropzone/Dropzone.d.ts +87 -0
- package/dist/esm/molecules/Dropzone/Dropzone.d.ts.map +1 -0
- package/dist/esm/molecules/Dropzone/Dropzone.js +82 -0
- package/dist/esm/molecules/Dropzone/Dropzone.js.map +1 -0
- package/dist/esm/molecules/Dropzone/index.d.ts +3 -0
- package/dist/esm/molecules/Dropzone/index.d.ts.map +1 -0
- package/dist/esm/molecules/Dropzone/index.js +2 -0
- package/dist/esm/molecules/Dropzone/index.js.map +1 -0
- package/dist/esm/molecules/FileUploadCard/FileUploadCard.d.ts +113 -0
- package/dist/esm/molecules/FileUploadCard/FileUploadCard.d.ts.map +1 -0
- package/dist/esm/molecules/FileUploadCard/FileUploadCard.js +166 -0
- package/dist/esm/molecules/FileUploadCard/FileUploadCard.js.map +1 -0
- package/dist/esm/molecules/FileUploadCard/index.d.ts +3 -0
- package/dist/esm/molecules/FileUploadCard/index.d.ts.map +1 -0
- package/dist/esm/molecules/FileUploadCard/index.js +2 -0
- package/dist/esm/molecules/FileUploadCard/index.js.map +1 -0
- package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.d.ts +93 -0
- package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.d.ts.map +1 -0
- package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.js +73 -0
- package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.js.map +1 -0
- package/dist/esm/molecules/FileUploadStatus/index.d.ts +3 -0
- package/dist/esm/molecules/FileUploadStatus/index.d.ts.map +1 -0
- package/dist/esm/molecules/FileUploadStatus/index.js +2 -0
- package/dist/esm/molecules/FileUploadStatus/index.js.map +1 -0
- package/dist/esm/molecules/SearchInputField/SearchInputField.d.ts +23 -1
- package/dist/esm/molecules/SearchInputField/SearchInputField.d.ts.map +1 -1
- package/dist/esm/molecules/SearchInputField/SearchInputField.js +9 -4
- package/dist/esm/molecules/SearchInputField/SearchInputField.js.map +1 -1
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts +24 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.js +11 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.js.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts +16 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js +34 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts +9 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js +21 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts +35 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js +88 -0
- package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/index.d.ts +11 -0
- package/dist/esm/organisms/QuickOrderDrawer/index.d.ts.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/index.js +6 -0
- package/dist/esm/organisms/QuickOrderDrawer/index.js.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts +61 -0
- package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts.map +1 -0
- package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js +80 -0
- package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js.map +1 -0
- package/package.json +5 -2
- package/src/atoms/Link/Link.tsx +4 -1
- package/src/atoms/List/List.tsx +18 -16
- package/src/hooks/index.ts +11 -3
- package/src/hooks/useCSVParser.ts +367 -0
- package/src/hooks/useFileUpload.ts +88 -0
- package/src/index.ts +97 -66
- package/src/molecules/Accordion/AccordionItem.tsx +4 -3
- package/src/molecules/Dropzone/Dropzone.tsx +248 -0
- package/src/molecules/Dropzone/index.ts +2 -0
- package/src/molecules/FileUploadCard/FileUploadCard.tsx +406 -0
- package/src/molecules/FileUploadCard/index.tsx +2 -0
- package/src/molecules/FileUploadStatus/FileUploadStatus.tsx +258 -0
- package/src/molecules/FileUploadStatus/index.tsx +6 -0
- package/src/molecules/SearchInputField/SearchInputField.tsx +72 -23
- package/src/organisms/QuickOrderDrawer/QuickOrderDrawer.tsx +58 -0
- package/src/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.tsx +72 -0
- package/src/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.tsx +43 -0
- package/src/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.tsx +323 -0
- package/src/organisms/QuickOrderDrawer/index.ts +19 -0
- package/src/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.tsx +205 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileUploadErrorType = exports.FileUploadState = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
+
const __1 = require("../..");
|
|
7
|
+
var FileUploadState;
|
|
8
|
+
(function (FileUploadState) {
|
|
9
|
+
FileUploadState["Uploading"] = "uploading";
|
|
10
|
+
FileUploadState["Completed"] = "completed";
|
|
11
|
+
FileUploadState["Error"] = "error";
|
|
12
|
+
})(FileUploadState || (exports.FileUploadState = FileUploadState = {}));
|
|
13
|
+
var FileUploadErrorType;
|
|
14
|
+
(function (FileUploadErrorType) {
|
|
15
|
+
FileUploadErrorType["Unexpected"] = "unexpected";
|
|
16
|
+
FileUploadErrorType["Unsupported"] = "unsupported";
|
|
17
|
+
FileUploadErrorType["Unreadable"] = "unreadable";
|
|
18
|
+
FileUploadErrorType["InvalidStructure"] = "invalid-structure";
|
|
19
|
+
FileUploadErrorType["Empty"] = "empty";
|
|
20
|
+
FileUploadErrorType["TooLarge"] = "too-large";
|
|
21
|
+
FileUploadErrorType["NoProductsFound"] = "no-products-found";
|
|
22
|
+
})(FileUploadErrorType || (exports.FileUploadErrorType = FileUploadErrorType = {}));
|
|
23
|
+
const FileUploadStatus = ({ testId = 'fs-file-upload-status', file, state = FileUploadState.Uploading, errorType, errorMessage, onRemove, onSearch, onDownloadTemplate, onSelectFile, removeButtonAriaLabel, searchButtonLabel, downloadTemplateButtonLabel, selectFileButtonLabel, errorMessages, uploadingStatusText, completedStatusText, fileName, ...otherProps }) => {
|
|
24
|
+
const getErrorMessage = () => {
|
|
25
|
+
if (errorMessage) {
|
|
26
|
+
return { title: errorMessage, description: '' };
|
|
27
|
+
}
|
|
28
|
+
if (errorType && errorMessages?.[errorType]) {
|
|
29
|
+
return errorMessages[errorType];
|
|
30
|
+
}
|
|
31
|
+
return (errorMessages?.[FileUploadErrorType.Unexpected] ?? {
|
|
32
|
+
title: '',
|
|
33
|
+
description: '',
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const getStatusText = () => {
|
|
37
|
+
switch (state) {
|
|
38
|
+
case FileUploadState.Uploading:
|
|
39
|
+
return uploadingStatusText;
|
|
40
|
+
case FileUploadState.Completed:
|
|
41
|
+
return completedStatusText;
|
|
42
|
+
default:
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const getIcon = () => {
|
|
47
|
+
switch (state) {
|
|
48
|
+
case FileUploadState.Uploading:
|
|
49
|
+
return (react_1.default.createElement("div", { "data-fs-file-upload-status-icon-loading": true },
|
|
50
|
+
react_1.default.createElement(__1.Icon, { name: "CircleNotch", width: 24, height: 24, strokeWidth: 5 })));
|
|
51
|
+
case FileUploadState.Completed:
|
|
52
|
+
return (react_1.default.createElement("div", { "data-fs-file-upload-status-icon-completed": true },
|
|
53
|
+
react_1.default.createElement(__1.Icon, { name: "Table", width: 24, height: 24, strokeWidth: 5 })));
|
|
54
|
+
case FileUploadState.Error:
|
|
55
|
+
return (react_1.default.createElement("div", { "data-fs-file-upload-status-icon-error": true },
|
|
56
|
+
react_1.default.createElement(__1.Icon, { name: "WarningOctagon", width: 24, height: 24, strokeWidth: 5 })));
|
|
57
|
+
default:
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
return (react_1.default.createElement("div", { "data-fs-file-upload-status": true, "data-fs-file-upload-status-state": state, "data-testid": testId, ...otherProps },
|
|
62
|
+
react_1.default.createElement("div", { "data-fs-file-upload-status-file-info": true, "data-fs-file-upload-state": state },
|
|
63
|
+
react_1.default.createElement("div", { "data-fs-file-upload-status-icon": true }, getIcon()),
|
|
64
|
+
react_1.default.createElement("div", { "data-fs-file-upload-status-details": true }, state === FileUploadState.Error ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
65
|
+
react_1.default.createElement("p", { "data-fs-file-upload-status-text-error": true }, getErrorMessage().title),
|
|
66
|
+
react_1.default.createElement("p", { "data-fs-file-upload-status-text-error": true }, getErrorMessage().description))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
67
|
+
react_1.default.createElement("p", { "data-fs-file-upload-status-filename": true }, fileName ?? file.name),
|
|
68
|
+
react_1.default.createElement("p", { "data-fs-file-upload-status-text": true }, getStatusText())))),
|
|
69
|
+
onRemove && (react_1.default.createElement(__1.Button, { type: "button", onClick: onRemove, "data-fs-file-upload-status-remove": true, "aria-label": removeButtonAriaLabel },
|
|
70
|
+
react_1.default.createElement(__1.Icon, { name: "X", width: 16, height: 16 })))),
|
|
71
|
+
state === FileUploadState.Completed && onSearch && (react_1.default.createElement(__1.Button, { type: "button", variant: "primary", size: "regular", onClick: onSearch, "data-fs-file-upload-status-search-button": true }, searchButtonLabel)),
|
|
72
|
+
state === FileUploadState.Error && (react_1.default.createElement("div", { "data-fs-file-upload-status-error-actions": true },
|
|
73
|
+
onDownloadTemplate && (react_1.default.createElement(__1.Button, { type: "button", variant: "secondary", size: "regular", onClick: onDownloadTemplate, "data-fs-file-upload-status-download-button": true }, downloadTemplateButtonLabel)),
|
|
74
|
+
onSelectFile && (react_1.default.createElement(__1.Button, { type: "button", variant: "primary", size: "regular", onClick: onSelectFile, "data-fs-file-upload-status-select-button": true }, selectFileButtonLabel))))));
|
|
75
|
+
};
|
|
76
|
+
exports.default = FileUploadStatus;
|
|
77
|
+
//# sourceMappingURL=FileUploadStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUploadStatus.js","sourceRoot":"","sources":["../../../../src/molecules/FileUploadStatus/FileUploadStatus.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecules/FileUploadStatus/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FileUploadErrorType = exports.FileUploadState = exports.default = void 0;
|
|
7
|
+
var FileUploadStatus_1 = require("./FileUploadStatus");
|
|
8
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(FileUploadStatus_1).default; } });
|
|
9
|
+
Object.defineProperty(exports, "FileUploadState", { enumerable: true, get: function () { return FileUploadStatus_1.FileUploadState; } });
|
|
10
|
+
Object.defineProperty(exports, "FileUploadErrorType", { enumerable: true, get: function () { return FileUploadStatus_1.FileUploadErrorType; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/molecules/FileUploadStatus/index.tsx"],"names":[],"mappings":";;;;;;AAAA,uDAI2B;AAHzB,4HAAA,OAAO,OAAA;AACP,mHAAA,eAAe,OAAA;AACf,uHAAA,mBAAmB,OAAA"}
|
|
@@ -20,7 +20,29 @@ export interface SearchInputFieldProps extends InputProps {
|
|
|
20
20
|
*/
|
|
21
21
|
buttonIcon?: ReactNode;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Whether to show the attachment button.
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
showAttachmentButton?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Props for the paperclip button inside the input.
|
|
29
|
+
*/
|
|
30
|
+
attachmentButtonProps?: ButtonProps;
|
|
31
|
+
/**
|
|
32
|
+
* Aria-label for the attachment button (e.g. from CMS).
|
|
33
|
+
*/
|
|
34
|
+
attachmentButtonAriaLabel?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Aria-label for the submit button (e.g. from CMS).
|
|
37
|
+
*/
|
|
38
|
+
submitButtonAriaLabel?: string;
|
|
39
|
+
/**
|
|
40
|
+
* A React component that will be rendered as an icon (attachment button).
|
|
41
|
+
* @default <Icon name="Paperclip" />
|
|
42
|
+
*/
|
|
43
|
+
attachmentButtonIcon?: ReactNode;
|
|
44
|
+
/**
|
|
45
|
+
* Aria-label for the search input (e.g. from CMS).
|
|
24
46
|
*/
|
|
25
47
|
'aria-label'?: AriaAttributes['aria-label'];
|
|
26
48
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchInputField.d.ts","sourceRoot":"","sources":["../../../../src/molecules/SearchInputField/SearchInputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,mBAAmB,EACnB,SAAS,EACV,MAAM,OAAO,CAAA;AACd,OAAO,KAAkD,MAAM,OAAO,CAAA;AAItE,KAAK,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAA;AAEzE,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;
|
|
1
|
+
{"version":3,"file":"SearchInputField.d.ts","sourceRoot":"","sources":["../../../../src/molecules/SearchInputField/SearchInputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAEd,mBAAmB,EACnB,SAAS,EACV,MAAM,OAAO,CAAA;AACd,OAAO,KAAkD,MAAM,OAAO,CAAA;AAItE,KAAK,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAA;AAEzE,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;OAEG;IACH,qBAAqB,CAAC,EAAE,WAAW,CAAA;IACnC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,SAAS,CAAA;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,CAAA;IAC3C;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACjC;AAED,QAAA,MAAM,gBAAgB,0GA+EpB,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
5
|
const __1 = require("../..");
|
|
6
|
-
const SearchInputField = (0, react_1.forwardRef)(function SearchInputField({ onSubmit, buttonIcon, 'aria-label': ariaLabel
|
|
6
|
+
const SearchInputField = (0, react_1.forwardRef)(function SearchInputField({ onSubmit, buttonIcon, showAttachmentButton = false, attachmentButtonAriaLabel, attachmentButtonIcon, attachmentButtonProps, submitButtonAriaLabel, 'aria-label': ariaLabel, testId = 'fs-search-input', buttonProps, ...otherProps }, ref) {
|
|
7
7
|
const inputRef = (0, react_1.useRef)(null);
|
|
8
8
|
const formRef = (0, react_1.useRef)(null);
|
|
9
9
|
const handleSubmit = (event) => {
|
|
@@ -16,9 +16,14 @@ const SearchInputField = (0, react_1.forwardRef)(function SearchInputField({ onS
|
|
|
16
16
|
inputRef: inputRef.current,
|
|
17
17
|
formRef: formRef.current,
|
|
18
18
|
}));
|
|
19
|
-
return (react_1.default.createElement("
|
|
20
|
-
react_1.default.createElement(
|
|
21
|
-
|
|
19
|
+
return (react_1.default.createElement("div", { "data-fs-search-input-field-wrapper": true },
|
|
20
|
+
react_1.default.createElement("form", { ref: formRef, "data-fs-search-input-field": true, "data-testid": testId, onSubmit: handleSubmit, role: "search" },
|
|
21
|
+
react_1.default.createElement(__1.Input, { ref: inputRef, "aria-label": ariaLabel, "data-fs-search-input-field-input": true, ...otherProps }),
|
|
22
|
+
react_1.default.createElement("div", { "data-fs-search-input-field-actions": true },
|
|
23
|
+
showAttachmentButton && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
24
|
+
react_1.default.createElement(__1.IconButton, { type: "button", "aria-label": attachmentButtonAriaLabel, icon: attachmentButtonIcon ?? react_1.default.createElement(__1.Icon, { name: "Paperclip" }), size: "small", "data-fs-search-input-field-attachment-button": true, ...attachmentButtonProps }),
|
|
25
|
+
react_1.default.createElement("span", { "data-fs-search-input-field-separator": true }))),
|
|
26
|
+
react_1.default.createElement(__1.IconButton, { type: "submit", "aria-label": submitButtonAriaLabel, icon: buttonIcon ?? react_1.default.createElement(__1.Icon, { name: "MagnifyingGlass" }), size: "small", "data-fs-search-input-field-submit-button": true, ...buttonProps })))));
|
|
22
27
|
});
|
|
23
28
|
exports.default = SearchInputField;
|
|
24
29
|
//# sourceMappingURL=SearchInputField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchInputField.js","sourceRoot":"","sources":["../../../../src/molecules/SearchInputField/SearchInputField.tsx"],"names":[],"mappings":";;;AAMA,uDAAsE;AAEtE,6BAA+C;
|
|
1
|
+
{"version":3,"file":"SearchInputField.js","sourceRoot":"","sources":["../../../../src/molecules/SearchInputField/SearchInputField.tsx"],"names":[],"mappings":";;;AAMA,uDAAsE;AAEtE,6BAA+C;AA4D/C,MAAM,gBAAgB,GAAG,IAAA,kBAAU,EAGjC,SAAS,gBAAgB,CACzB,EACE,QAAQ,EACR,UAAU,EACV,oBAAoB,GAAG,KAAK,EAC5B,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EAAE,SAAS,EACvB,MAAM,GAAG,iBAAiB,EAC1B,WAAW,EACX,GAAG,UAAU,EACd,EACD,GAAG;IAEH,MAAM,QAAQ,GAAG,IAAA,cAAM,EAAmB,IAAI,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,IAAA,cAAM,EAAkB,IAAI,CAAC,CAAA;IAE7C,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAE,EAAE;QACxC,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,EAAE,CAAC;YACnC,QAAQ,CAAC,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAA;IAED,IAAA,2BAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC,CAAA;IAEH,OAAO,CACL;QACE,wCACE,GAAG,EAAE,OAAO,qDAEC,MAAM,EACnB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAC,QAAQ;YAEb,8BAAC,SAAK,IACJ,GAAG,EAAE,QAAQ,gBACD,SAAS,+CAEjB,UAAU,GACd;YAEF;gBACG,oBAAoB,IAAI,CACvB;oBACE,8BAAC,cAAU,IACT,IAAI,EAAC,QAAQ,gBACD,yBAAyB,EACrC,IAAI,EAAE,oBAAoB,IAAI,8BAAC,QAAI,IAAC,IAAI,EAAC,WAAW,GAAG,EACvD,IAAI,EAAC,OAAO,2DAER,qBAAqB,GACzB;oBAEF,uFAA6C,CAC5C,CACJ;gBAED,8BAAC,cAAU,IACT,IAAI,EAAC,QAAQ,gBACD,qBAAqB,EACjC,IAAI,EAAE,UAAU,IAAI,8BAAC,QAAI,IAAC,IAAI,EAAC,iBAAiB,GAAG,EACnD,IAAI,EAAC,OAAO,uDAER,WAAW,GACf,CACE,CACD,CACH,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,kBAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react';
|
|
2
|
+
import type { OverlayProps } from '../../atoms/Overlay';
|
|
3
|
+
import { type QuickOrderDrawerProviderProps } from './provider/QuickOrderDrawerProvider';
|
|
4
|
+
export type QuickOrderDrawerProps = {
|
|
5
|
+
/**
|
|
6
|
+
* ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
|
|
7
|
+
*/
|
|
8
|
+
testId?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Controls the state
|
|
11
|
+
*/
|
|
12
|
+
isOpen: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Props forwarded to the `Overlay` component.
|
|
15
|
+
*/
|
|
16
|
+
overlayProps?: OverlayProps;
|
|
17
|
+
/**
|
|
18
|
+
* Props forwarded to the `QuickOrderDrawerProvider` component.
|
|
19
|
+
*/
|
|
20
|
+
providerProps?: Omit<QuickOrderDrawerProviderProps, 'children'>;
|
|
21
|
+
};
|
|
22
|
+
declare const QuickOrderDrawer: ({ testId, isOpen, overlayProps, providerProps, children, }: PropsWithChildren<QuickOrderDrawerProps>) => React.JSX.Element;
|
|
23
|
+
export default QuickOrderDrawer;
|
|
24
|
+
//# sourceMappingURL=QuickOrderDrawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawer.d.ts","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAIvD,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,qCAAqC,CAAA;AAE5C,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;IAE3B;;OAEG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAA;CAChE,CAAA;AAED,QAAA,MAAM,gBAAgB,+DAMnB,kBAAkB,qBAAqB,CAAC,sBAiB1C,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
const hooks_1 = require("../../hooks");
|
|
6
|
+
const SlideOver_1 = tslib_1.__importDefault(require("../SlideOver/SlideOver"));
|
|
7
|
+
const QuickOrderDrawerProvider_1 = require("./provider/QuickOrderDrawerProvider");
|
|
8
|
+
const QuickOrderDrawer = ({ testId = 'fs-quick-order-drawer', isOpen, overlayProps, providerProps, children, }) => {
|
|
9
|
+
const { fade } = (0, hooks_1.useFadeEffect)();
|
|
10
|
+
return (react_1.default.createElement(QuickOrderDrawerProvider_1.QuickOrderDrawerProvider, { ...providerProps },
|
|
11
|
+
react_1.default.createElement(SlideOver_1.default, { testId: testId, fade: fade, isOpen: isOpen, size: "partial", direction: "rightSide", overlayProps: overlayProps, "data-fs-quick-order-drawer": true }, children)));
|
|
12
|
+
};
|
|
13
|
+
exports.default = QuickOrderDrawer;
|
|
14
|
+
//# sourceMappingURL=QuickOrderDrawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawer.js","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawer.tsx"],"names":[],"mappings":";;;AAAA,0DAAqD;AAErD,uCAA2C;AAC3C,+EAA8C;AAE9C,kFAG4C;AAwB5C,MAAM,gBAAgB,GAAG,CAAC,EACxB,MAAM,GAAG,uBAAuB,EAChC,MAAM,EACN,YAAY,EACZ,aAAa,EACb,QAAQ,GACiC,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,qBAAa,GAAE,CAAA;IAChC,OAAO,CACL,8BAAC,mDAAwB,OAAK,aAAa;QACzC,8BAAC,mBAAS,IACR,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,IAAI,EAAC,SAAS,EACd,SAAS,EAAC,WAAW,EACrB,YAAY,EAAE,YAAY,wCAGzB,QAAQ,CACC,CACa,CAC5B,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type PriceFormatter } from '../../atoms/Price';
|
|
3
|
+
export type QuickOrderDrawerFooterProps = {
|
|
4
|
+
formatter?: PriceFormatter;
|
|
5
|
+
/**
|
|
6
|
+
* Text labels for CMS configuration
|
|
7
|
+
*/
|
|
8
|
+
labels?: {
|
|
9
|
+
itemsLabel?: string;
|
|
10
|
+
addToCartLabel?: string;
|
|
11
|
+
addToCartAriaLabel?: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
declare const QuickOrderDrawerFooter: ({ formatter, labels, }: QuickOrderDrawerFooterProps) => React.JSX.Element;
|
|
15
|
+
export default QuickOrderDrawerFooter;
|
|
16
|
+
//# sourceMappingURL=QuickOrderDrawerFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawerFooter.d.ts","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAGvC,OAAc,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAG9D,MAAM,MAAM,2BAA2B,GAAG;IACxC,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;CACF,CAAA;AAED,QAAA,MAAM,sBAAsB,2BAGzB,2BAA2B,sBAgD7B,CAAA;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
+
const Button_1 = tslib_1.__importDefault(require("../../atoms/Button"));
|
|
6
|
+
const Icon_1 = tslib_1.__importDefault(require("../../atoms/Icon"));
|
|
7
|
+
const Price_1 = tslib_1.__importDefault(require("../../atoms/Price"));
|
|
8
|
+
const QuickOrderDrawerProvider_1 = require("./provider/QuickOrderDrawerProvider");
|
|
9
|
+
const QuickOrderDrawerFooter = ({ formatter, labels, }) => {
|
|
10
|
+
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
11
|
+
const { itemsCount, totalPrice, onAddToCart, formatter: contextFormatter, } = (0, QuickOrderDrawerProvider_1.useQuickOrderDrawer)();
|
|
12
|
+
const priceFormatter = formatter || contextFormatter;
|
|
13
|
+
const { itemsLabel, addToCartLabel, addToCartAriaLabel } = labels || {};
|
|
14
|
+
const handleAddToCart = async () => {
|
|
15
|
+
if (itemsCount === 0)
|
|
16
|
+
return;
|
|
17
|
+
setLoading(true);
|
|
18
|
+
try {
|
|
19
|
+
onAddToCart();
|
|
20
|
+
}
|
|
21
|
+
finally {
|
|
22
|
+
setLoading(false);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
return (react_1.default.createElement("div", { "data-fs-quick-order-drawer-footer": true },
|
|
26
|
+
react_1.default.createElement("div", { "data-fs-quick-order-drawer-footer-items": true },
|
|
27
|
+
react_1.default.createElement(Icon_1.default, { name: "Inventory", width: 24, height: 24 }),
|
|
28
|
+
react_1.default.createElement("span", null,
|
|
29
|
+
itemsCount,
|
|
30
|
+
" ",
|
|
31
|
+
itemsLabel || '')),
|
|
32
|
+
react_1.default.createElement("div", { "data-fs-quick-order-drawer-footer-actions": true },
|
|
33
|
+
react_1.default.createElement(Price_1.default, { value: totalPrice, variant: "selling", formatter: priceFormatter }),
|
|
34
|
+
react_1.default.createElement(Button_1.default, { "data-fs-quick-order-drawer-add-to-cart-btn": true, variant: "primary", disabled: itemsCount === 0, loading: loading, onClick: handleAddToCart, "aria-label": addToCartAriaLabel }, addToCartLabel))));
|
|
35
|
+
};
|
|
36
|
+
exports.default = QuickOrderDrawerFooter;
|
|
37
|
+
//# sourceMappingURL=QuickOrderDrawerFooter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawerFooter.js","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.tsx"],"names":[],"mappings":";;;AAAA,uDAAuC;AACvC,wEAAuC;AACvC,oEAAmC;AACnC,sEAA8D;AAC9D,kFAAyE;AAczE,MAAM,sBAAsB,GAAG,CAAC,EAC9B,SAAS,EACT,MAAM,GACsB,EAAE,EAAE;IAChC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,EACJ,UAAU,EACV,UAAU,EACV,WAAW,EACX,SAAS,EAAE,gBAAgB,GAC5B,GAAG,IAAA,8CAAmB,GAAE,CAAA;IACzB,MAAM,cAAc,GAAG,SAAS,IAAI,gBAAgB,CAAA;IACpD,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAI,EAAE,CAAA;IAEvE,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;QACjC,IAAI,UAAU,KAAK,CAAC;YAAE,OAAM;QAC5B,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,IAAI,CAAC;YACH,WAAW,EAAE,CAAA;QACf,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL;QACE;YACE,8BAAC,cAAI,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI;YAChD;gBACG,UAAU;;gBAAG,UAAU,IAAI,EAAE,CACzB,CACH;QACN;YACE,8BAAC,eAAK,IACJ,KAAK,EAAE,UAAU,EACjB,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,cAAc,GACzB;YACF,8BAAC,gBAAM,wDAEL,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,UAAU,KAAK,CAAC,EAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,eAAe,gBACZ,kBAAkB,IAE7B,cAAc,CACR,CACL,CACF,CACP,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type QuickOrderDrawerHeaderProps = {
|
|
3
|
+
title: string;
|
|
4
|
+
titleCharLimit?: number;
|
|
5
|
+
onCloseDrawer?: () => void;
|
|
6
|
+
};
|
|
7
|
+
declare const QuickOrderDrawerHeader: ({ onCloseDrawer, title, titleCharLimit, }: QuickOrderDrawerHeaderProps) => React.JSX.Element;
|
|
8
|
+
export default QuickOrderDrawerHeader;
|
|
9
|
+
//# sourceMappingURL=QuickOrderDrawerHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawerHeader.d.ts","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,QAAA,MAAM,sBAAsB,8CAIzB,2BAA2B,sBA0B7B,CAAA;AAED,eAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
const Icon_1 = tslib_1.__importDefault(require("../../atoms/Icon"));
|
|
6
|
+
const SlideOver_1 = require("../SlideOver");
|
|
7
|
+
const QuickOrderDrawerHeader = ({ onCloseDrawer, title, titleCharLimit = 30, }) => {
|
|
8
|
+
const leftOffset = Math.floor(titleCharLimit / 2) - 3;
|
|
9
|
+
const rightOffset = Math.floor(titleCharLimit / 2);
|
|
10
|
+
const titleFormatted = title.length > titleCharLimit
|
|
11
|
+
? `${title.slice(0, leftOffset)}...${title.slice(-rightOffset)}`
|
|
12
|
+
: title;
|
|
13
|
+
return (react_1.default.createElement(SlideOver_1.SlideOverHeader, { "data-fs-quick-order-drawer-header": true, closeBtnProps: {
|
|
14
|
+
variant: 'tertiary',
|
|
15
|
+
color: 'black',
|
|
16
|
+
'aria-label': 'Close quick order drawer',
|
|
17
|
+
}, onClose: () => onCloseDrawer?.() },
|
|
18
|
+
react_1.default.createElement("div", { "data-fs-quick-order-drawer-title-container": true },
|
|
19
|
+
react_1.default.createElement("div", { "data-fs-quick-order-drawer-icon": true },
|
|
20
|
+
react_1.default.createElement(Icon_1.default, { name: "Table", weight: "bold", width: 32, height: 32 })),
|
|
21
|
+
react_1.default.createElement("div", { "data-fs-quick-order-drawer-title": true }, titleFormatted))));
|
|
22
|
+
};
|
|
23
|
+
exports.default = QuickOrderDrawerHeader;
|
|
24
|
+
//# sourceMappingURL=QuickOrderDrawerHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawerHeader.js","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.tsx"],"names":[],"mappings":";;;AAAA,0DAAyB;AACzB,oEAAmC;AACnC,4CAA8C;AAQ9C,MAAM,sBAAsB,GAAG,CAAC,EAC9B,aAAa,EACb,KAAK,EACL,cAAc,GAAG,EAAE,GACS,EAAE,EAAE;IAChC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAA;IAClD,MAAM,cAAc,GAClB,KAAK,CAAC,MAAM,GAAG,cAAc;QAC3B,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE;QAChE,CAAC,CAAC,KAAK,CAAA;IAEX,OAAO,CACL,8BAAC,2BAAe,+CAEd,aAAa,EAAE;YACb,OAAO,EAAE,UAAU;YACnB,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,0BAA0B;SACzC,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,EAAE;QAEhC;YACE;gBACE,8BAAC,cAAI,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CACtD;YACN,mFAAuC,cAAc,CAAO,CACxD,CACU,CACnB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React, { type FunctionComponent } from 'react';
|
|
2
|
+
import type { PriceFormatter } from '../../atoms/Price';
|
|
3
|
+
import { type VariationProductColumn } from './provider/QuickOrderDrawerProvider';
|
|
4
|
+
type ImageComponentType = FunctionComponent<{
|
|
5
|
+
src: string;
|
|
6
|
+
alt: string;
|
|
7
|
+
width?: number;
|
|
8
|
+
height?: number;
|
|
9
|
+
loading?: 'eager' | 'lazy';
|
|
10
|
+
}>;
|
|
11
|
+
export type QuickOrderDrawerProductsProps = {
|
|
12
|
+
columns: VariationProductColumn;
|
|
13
|
+
formatter?: PriceFormatter;
|
|
14
|
+
ImageComponent?: ImageComponentType;
|
|
15
|
+
/**
|
|
16
|
+
* Messages for CMS configuration
|
|
17
|
+
*/
|
|
18
|
+
messages?: {
|
|
19
|
+
alertAriaLabel?: string;
|
|
20
|
+
tableAriaLabel?: string;
|
|
21
|
+
quantityUpdatedTooltip?: string;
|
|
22
|
+
quantityUpdatedAriaLabel?: string;
|
|
23
|
+
outOfStockLabel?: string;
|
|
24
|
+
availableLabel?: string;
|
|
25
|
+
selectQuantityAriaLabel?: string;
|
|
26
|
+
removeProductAriaLabel?: string;
|
|
27
|
+
invalidQuantityTitle?: string;
|
|
28
|
+
invalidQuantityMessage?: (min: number, max: number, quantity: number) => string;
|
|
29
|
+
emptyStateTitle?: string;
|
|
30
|
+
emptyStateMessage?: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
declare const QuickOrderDrawerProducts: ({ columns, formatter, ImageComponent, messages, }: QuickOrderDrawerProductsProps) => React.JSX.Element;
|
|
34
|
+
export default QuickOrderDrawerProducts;
|
|
35
|
+
//# sourceMappingURL=QuickOrderDrawerProducts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawerProducts.d.ts","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAarD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAMvD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qCAAqC,CAAA;AAE5C,KAAK,kBAAkB,GAAG,iBAAiB,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAC3B,CAAC,CAAA;AAYF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,sBAAsB,CAAA;IAC/B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,cAAc,CAAC,EAAE,kBAAkB,CAAA;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,sBAAsB,CAAC,EAAE,MAAM,CAAA;QAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAA;QACjC,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,uBAAuB,CAAC,EAAE,MAAM,CAAA;QAChC,sBAAsB,CAAC,EAAE,MAAM,CAAA;QAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAC7B,sBAAsB,CAAC,EAAE,CACvB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,KACb,MAAM,CAAA;QACX,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC3B,CAAA;CACF,CAAA;AAED,QAAA,MAAM,wBAAwB,sDAK3B,6BAA6B,sBAsP/B,CAAA;AAED,eAAe,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
const Icon_1 = tslib_1.__importDefault(require("../../atoms/Icon"));
|
|
6
|
+
const IconButton_1 = tslib_1.__importDefault(require("../../molecules/IconButton"));
|
|
7
|
+
const QuantitySelector_1 = tslib_1.__importDefault(require("../../molecules/QuantitySelector"));
|
|
8
|
+
const Table_1 = require("../../molecules/Table");
|
|
9
|
+
const Badge_1 = tslib_1.__importDefault(require("../../atoms/Badge"));
|
|
10
|
+
const Price_1 = tslib_1.__importDefault(require("../../atoms/Price"));
|
|
11
|
+
const Skeleton_1 = tslib_1.__importDefault(require("../../atoms/Skeleton"));
|
|
12
|
+
const hooks_1 = require("../../hooks");
|
|
13
|
+
const Alert_1 = tslib_1.__importDefault(require("../../molecules/Alert"));
|
|
14
|
+
const Tooltip_1 = tslib_1.__importDefault(require("../../molecules/Tooltip"));
|
|
15
|
+
const QuickOrderDrawerProvider_1 = require("./provider/QuickOrderDrawerProvider");
|
|
16
|
+
// TODO: Replace with faststore Image component in final implementation
|
|
17
|
+
// This is a temporary reference component for storybook preview
|
|
18
|
+
const DefaultImageComponent = ({ src, alt, width, height, ...otherProps }) => react_1.default.createElement("img", { src: src, alt: alt, width: width, height: height, ...otherProps });
|
|
19
|
+
const QuickOrderDrawerProducts = ({ columns, formatter, ImageComponent = DefaultImageComponent, messages, }) => {
|
|
20
|
+
const { pushToast } = (0, hooks_1.useUI)();
|
|
21
|
+
const { products, onChangeQuantityItem, onDelete, isLoading, alertMessage, setAlertMessage, formatter: contextFormatter, } = (0, QuickOrderDrawerProvider_1.useQuickOrderDrawer)();
|
|
22
|
+
const priceFormatter = formatter || contextFormatter;
|
|
23
|
+
const showSkeleton = isLoading;
|
|
24
|
+
return (react_1.default.createElement("div", { "data-fs-quick-order-drawer-content": true },
|
|
25
|
+
react_1.default.createElement(react_1.default.Fragment, null,
|
|
26
|
+
!isLoading && alertMessage && (react_1.default.createElement(Alert_1.default, { icon: react_1.default.createElement(Icon_1.default, { name: "AlertFilled", weight: "bold" }), dismissible: true, onClick: () => setAlertMessage(''), "aria-label": messages?.alertAriaLabel }, alertMessage)),
|
|
27
|
+
react_1.default.createElement(Table_1.Table, { "data-fs-quick-order-drawer-table": true, variant: "bordered", "aria-label": messages?.tableAriaLabel },
|
|
28
|
+
react_1.default.createElement(Table_1.TableHead, null,
|
|
29
|
+
react_1.default.createElement(Table_1.TableRow, null,
|
|
30
|
+
react_1.default.createElement(Table_1.TableCell, { "data-fs-quick-order-drawer-product-header": true, align: "left", variant: "header", scope: "col" }, columns.name),
|
|
31
|
+
react_1.default.createElement(Table_1.TableCell, { align: "left", variant: "header", scope: "col" }, columns.availability.label),
|
|
32
|
+
react_1.default.createElement(Table_1.TableCell, { align: "center", variant: "header", scope: "col" }, columns.price),
|
|
33
|
+
react_1.default.createElement(Table_1.TableCell, { align: "left", variant: "header", scope: "col" }, columns.quantity),
|
|
34
|
+
react_1.default.createElement(Table_1.TableCell, { align: "right", variant: "header", scope: "col" }))),
|
|
35
|
+
react_1.default.createElement(Table_1.TableBody, null, showSkeleton ? (react_1.default.createElement(react_1.default.Fragment, null, Array.from({ length: 5 }).map((_, index) => {
|
|
36
|
+
return (react_1.default.createElement(Table_1.TableRow, { key: `table-row-skeleton-${index}` }, Array.from({
|
|
37
|
+
length: 5,
|
|
38
|
+
}).map((_, cellIndex) => {
|
|
39
|
+
return (react_1.default.createElement(Table_1.TableCell, { key: `table-cell-skeleton-${cellIndex}` },
|
|
40
|
+
react_1.default.createElement(Skeleton_1.default, { size: { width: '96%', height: '30px' } })));
|
|
41
|
+
})));
|
|
42
|
+
}))) : products.length > 0 ? (react_1.default.createElement(react_1.default.Fragment, null, products.map((variantProduct) => (react_1.default.createElement(Table_1.TableRow, { key: `${variantProduct.name}-${variantProduct.id}`, "data-fs-quick-order-table-row": variantProduct.availability },
|
|
43
|
+
react_1.default.createElement(Table_1.TableCell, { "data-fs-quick-order-cell": "product", align: "left" },
|
|
44
|
+
react_1.default.createElement("div", { "data-fs-quick-order-table-cell-img-container": true },
|
|
45
|
+
react_1.default.createElement(ImageComponent, { height: 48, src: variantProduct.image.url, alt: variantProduct.image.alternateName ||
|
|
46
|
+
variantProduct.name })),
|
|
47
|
+
react_1.default.createElement("div", { "data-fs-quick-order-table-cell-name-container": true },
|
|
48
|
+
react_1.default.createElement("div", { "data-fs-quick-order-text": 'primary' }, variantProduct.name),
|
|
49
|
+
react_1.default.createElement("span", { "data-fs-quick-order-text": 'secondary' }, variantProduct.id)),
|
|
50
|
+
variantProduct.availability === 'available' &&
|
|
51
|
+
variantProduct.quantityUpdated && (react_1.default.createElement(Tooltip_1.default, { content: messages?.quantityUpdatedTooltip, placement: "left-center" },
|
|
52
|
+
react_1.default.createElement(IconButton_1.default, { "aria-label": messages?.quantityUpdatedAriaLabel, icon: react_1.default.createElement(Icon_1.default, { name: "CircleWarning", weight: "bold" }) })))),
|
|
53
|
+
react_1.default.createElement(Table_1.TableCell, { align: "left" },
|
|
54
|
+
columns.availability.stockDisplaySettings ===
|
|
55
|
+
'showAvailability' && (react_1.default.createElement(Badge_1.default, { variant: variantProduct.availability === 'outOfStock'
|
|
56
|
+
? 'warning'
|
|
57
|
+
: 'success' }, variantProduct.availability === 'outOfStock'
|
|
58
|
+
? messages?.outOfStockLabel
|
|
59
|
+
: messages?.availableLabel)),
|
|
60
|
+
columns.availability.stockDisplaySettings ===
|
|
61
|
+
'showStockQuantity' && variantProduct.inventory),
|
|
62
|
+
react_1.default.createElement(Table_1.TableCell, { "data-fs-quick-order-cell": "price", align: "right" },
|
|
63
|
+
react_1.default.createElement(Price_1.default, { value: variantProduct.price, variant: "spot", formatter: priceFormatter, "data-fs-quick-order-table-price": variantProduct.availability })),
|
|
64
|
+
react_1.default.createElement(Table_1.TableCell, { align: "right", "data-fs-quick-order-cell": "quantity-selector" },
|
|
65
|
+
react_1.default.createElement("div", { "data-fs-quick-order-table-action": true },
|
|
66
|
+
react_1.default.createElement(QuantitySelector_1.default, { min: 0, max: variantProduct.inventory, disabled: !variantProduct.inventory ||
|
|
67
|
+
variantProduct.availability === 'outOfStock', initial: variantProduct.selectedCount, onChange: (value) => onChangeQuantityItem(variantProduct.id, value), "aria-label": messages?.selectQuantityAriaLabel?.replace('{productName}', variantProduct.name), onValidateBlur: (min, maxValue, quantity) => {
|
|
68
|
+
const title = messages?.invalidQuantityTitle;
|
|
69
|
+
const message = messages?.invalidQuantityMessage
|
|
70
|
+
? messages.invalidQuantityMessage(min, maxValue, quantity)
|
|
71
|
+
: '';
|
|
72
|
+
pushToast({
|
|
73
|
+
title,
|
|
74
|
+
message,
|
|
75
|
+
status: 'INFO',
|
|
76
|
+
icon: (react_1.default.createElement(Icon_1.default, { name: "CircleWavyWarning", width: 30, height: 30 })),
|
|
77
|
+
});
|
|
78
|
+
} }))),
|
|
79
|
+
react_1.default.createElement(Table_1.TableCell, { align: "right", "data-fs-quick-order-delete-cell": true },
|
|
80
|
+
react_1.default.createElement(IconButton_1.default, { onClick: () => onDelete(variantProduct.id), icon: react_1.default.createElement(Icon_1.default, { name: "Thrash", color: "#1F1F1F" }), "aria-label": messages?.removeProductAriaLabel?.replace('{productName}', variantProduct.name) }))))))) : (react_1.default.createElement(Table_1.TableRow, null,
|
|
81
|
+
react_1.default.createElement(Table_1.TableCell, { align: "center", "data-fs-quick-order-empty-state": true, ...{
|
|
82
|
+
colSpan: 5,
|
|
83
|
+
} },
|
|
84
|
+
react_1.default.createElement("div", { "data-fs-quick-order-empty-state-container": true },
|
|
85
|
+
react_1.default.createElement(Icon_1.default, { name: "MagnifyingGlass", width: 48, height: 48, weight: "thin", "data-fs-quick-order-empty-state-icon": true }),
|
|
86
|
+
react_1.default.createElement("div", { "data-fs-quick-order-empty-state-content": true },
|
|
87
|
+
react_1.default.createElement("p", { "data-fs-quick-order-empty-state-title": true }, messages?.emptyStateTitle),
|
|
88
|
+
react_1.default.createElement("p", { "data-fs-quick-order-empty-state-message": true }, messages?.emptyStateMessage)))))))))));
|
|
89
|
+
};
|
|
90
|
+
exports.default = QuickOrderDrawerProducts;
|
|
91
|
+
//# sourceMappingURL=QuickOrderDrawerProducts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuickOrderDrawerProducts.js","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { default as QuickOrderDrawer, default } from './QuickOrderDrawer';
|
|
2
|
+
export type { QuickOrderDrawerProps } from './QuickOrderDrawer';
|
|
3
|
+
export { default as QuickOrderDrawerHeader } from './QuickOrderDrawerHeader';
|
|
4
|
+
export type { QuickOrderDrawerHeaderProps } from './QuickOrderDrawerHeader';
|
|
5
|
+
export { default as QuickOrderDrawerProducts } from './QuickOrderDrawerProducts';
|
|
6
|
+
export type { QuickOrderDrawerProductsProps } from './QuickOrderDrawerProducts';
|
|
7
|
+
export { default as QuickOrderDrawerFooter } from './QuickOrderDrawerFooter';
|
|
8
|
+
export type { QuickOrderDrawerFooterProps } from './QuickOrderDrawerFooter';
|
|
9
|
+
export { useQuickOrderDrawer } from './provider/QuickOrderDrawerProvider';
|
|
10
|
+
export type { AlertMessages, Product, QuickOrderDrawerProviderProps, VariationProductColumn, } from './provider/QuickOrderDrawerProvider';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE/D,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAE3E,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAChF,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AAE/E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,YAAY,EACV,aAAa,EACb,OAAO,EACP,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,qCAAqC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.useQuickOrderDrawer = exports.QuickOrderDrawerFooter = exports.QuickOrderDrawerProducts = exports.QuickOrderDrawerHeader = exports.default = exports.QuickOrderDrawer = void 0;
|
|
7
|
+
var QuickOrderDrawer_1 = require("./QuickOrderDrawer");
|
|
8
|
+
Object.defineProperty(exports, "QuickOrderDrawer", { enumerable: true, get: function () { return __importDefault(QuickOrderDrawer_1).default; } });
|
|
9
|
+
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(QuickOrderDrawer_1).default; } });
|
|
10
|
+
var QuickOrderDrawerHeader_1 = require("./QuickOrderDrawerHeader");
|
|
11
|
+
Object.defineProperty(exports, "QuickOrderDrawerHeader", { enumerable: true, get: function () { return __importDefault(QuickOrderDrawerHeader_1).default; } });
|
|
12
|
+
var QuickOrderDrawerProducts_1 = require("./QuickOrderDrawerProducts");
|
|
13
|
+
Object.defineProperty(exports, "QuickOrderDrawerProducts", { enumerable: true, get: function () { return __importDefault(QuickOrderDrawerProducts_1).default; } });
|
|
14
|
+
var QuickOrderDrawerFooter_1 = require("./QuickOrderDrawerFooter");
|
|
15
|
+
Object.defineProperty(exports, "QuickOrderDrawerFooter", { enumerable: true, get: function () { return __importDefault(QuickOrderDrawerFooter_1).default; } });
|
|
16
|
+
var QuickOrderDrawerProvider_1 = require("./provider/QuickOrderDrawerProvider");
|
|
17
|
+
Object.defineProperty(exports, "useQuickOrderDrawer", { enumerable: true, get: function () { return QuickOrderDrawerProvider_1.useQuickOrderDrawer; } });
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/organisms/QuickOrderDrawer/index.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAyE;AAAhE,qIAAA,OAAO,OAAoB;AAAE,4HAAA,OAAO,OAAA;AAG7C,mEAA4E;AAAnE,iJAAA,OAAO,OAA0B;AAG1C,uEAAgF;AAAvE,qJAAA,OAAO,OAA4B;AAG5C,mEAA4E;AAAnE,iJAAA,OAAO,OAA0B;AAG1C,gFAAyE;AAAhE,+HAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
|
+
import type { PriceFormatter } from '../../../atoms/Price';
|
|
3
|
+
export interface Product {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
price: number;
|
|
7
|
+
quantityUpdated: boolean;
|
|
8
|
+
image: {
|
|
9
|
+
url: string;
|
|
10
|
+
alternateName: string;
|
|
11
|
+
};
|
|
12
|
+
inventory: number;
|
|
13
|
+
availability: 'available' | 'outOfStock';
|
|
14
|
+
selectedCount: number;
|
|
15
|
+
}
|
|
16
|
+
export interface VariationProductColumn {
|
|
17
|
+
name: string;
|
|
18
|
+
availability: {
|
|
19
|
+
label: string;
|
|
20
|
+
stockDisplaySettings: 'showStockQuantity' | 'showAvailability';
|
|
21
|
+
};
|
|
22
|
+
price: string;
|
|
23
|
+
quantity: string;
|
|
24
|
+
}
|
|
25
|
+
interface QuickOrderDrawerContextValue {
|
|
26
|
+
products: Product[];
|
|
27
|
+
totalPrice: number;
|
|
28
|
+
itemsCount: number;
|
|
29
|
+
alertMessage: string;
|
|
30
|
+
isLoading: boolean;
|
|
31
|
+
setAlertMessage: (message: string) => void;
|
|
32
|
+
onChangeQuantityItem: (id: string, value: number) => void;
|
|
33
|
+
onDelete: (id: string) => void;
|
|
34
|
+
onAddToCart: () => void;
|
|
35
|
+
formatter?: PriceFormatter;
|
|
36
|
+
}
|
|
37
|
+
export interface AlertMessages {
|
|
38
|
+
notFoundAndOutOfStock?: string;
|
|
39
|
+
notFound?: string;
|
|
40
|
+
outOfStock?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface QuickOrderDrawerProviderProps {
|
|
43
|
+
children: ReactNode;
|
|
44
|
+
initialProducts?: Product[];
|
|
45
|
+
isLoading?: boolean;
|
|
46
|
+
totalRequestedSkus?: number;
|
|
47
|
+
onAddToCart?: (products: Product[], totalPrice: number, itemsCount: number) => void;
|
|
48
|
+
formatter?: PriceFormatter;
|
|
49
|
+
/**
|
|
50
|
+
* Initial alert message for CMS configuration
|
|
51
|
+
*/
|
|
52
|
+
initialAlertMessage?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Alert messages from CMS for different scenarios.
|
|
55
|
+
*/
|
|
56
|
+
alertMessages?: AlertMessages;
|
|
57
|
+
}
|
|
58
|
+
export declare const QuickOrderDrawerProvider: ({ children, initialProducts, isLoading, totalRequestedSkus, onAddToCart: onAddToCartCallback, formatter, initialAlertMessage, alertMessages, }: QuickOrderDrawerProviderProps) => React.JSX.Element;
|
|
59
|
+
export declare const useQuickOrderDrawer: () => QuickOrderDrawerContextValue;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=QuickOrderDrawerProvider.d.ts.map
|