@faststore/components 3.98.0-dev.1 → 3.98.0-dev.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/cjs/atoms/Link/Link.d.ts +1 -1
  2. package/dist/cjs/atoms/Link/Link.d.ts.map +1 -1
  3. package/dist/cjs/atoms/Link/Link.js.map +1 -1
  4. package/dist/cjs/atoms/List/List.d.ts.map +1 -1
  5. package/dist/cjs/atoms/List/List.js.map +1 -1
  6. package/dist/cjs/hooks/index.d.ts +7 -3
  7. package/dist/cjs/hooks/index.d.ts.map +1 -1
  8. package/dist/cjs/hooks/index.js +12 -6
  9. package/dist/cjs/hooks/index.js.map +1 -1
  10. package/dist/cjs/hooks/useCSVParser.d.ts +43 -0
  11. package/dist/cjs/hooks/useCSVParser.d.ts.map +1 -0
  12. package/dist/cjs/hooks/useCSVParser.js +264 -0
  13. package/dist/cjs/hooks/useCSVParser.js.map +1 -0
  14. package/dist/cjs/hooks/useFileUpload.d.ts +26 -0
  15. package/dist/cjs/hooks/useFileUpload.d.ts.map +1 -0
  16. package/dist/cjs/hooks/useFileUpload.js +68 -0
  17. package/dist/cjs/hooks/useFileUpload.js.map +1 -0
  18. package/dist/cjs/index.d.ts +58 -50
  19. package/dist/cjs/index.d.ts.map +1 -1
  20. package/dist/cjs/index.js +47 -32
  21. package/dist/cjs/index.js.map +1 -1
  22. package/dist/cjs/molecules/Accordion/AccordionItem.d.ts.map +1 -1
  23. package/dist/cjs/molecules/Accordion/AccordionItem.js.map +1 -1
  24. package/dist/cjs/molecules/Dropzone/Dropzone.d.ts +87 -0
  25. package/dist/cjs/molecules/Dropzone/Dropzone.d.ts.map +1 -0
  26. package/dist/cjs/molecules/Dropzone/Dropzone.js +85 -0
  27. package/dist/cjs/molecules/Dropzone/Dropzone.js.map +1 -0
  28. package/dist/cjs/molecules/Dropzone/index.d.ts +3 -0
  29. package/dist/cjs/molecules/Dropzone/index.d.ts.map +1 -0
  30. package/dist/cjs/molecules/Dropzone/index.js +9 -0
  31. package/dist/cjs/molecules/Dropzone/index.js.map +1 -0
  32. package/dist/cjs/molecules/FileUploadCard/FileUploadCard.d.ts +113 -0
  33. package/dist/cjs/molecules/FileUploadCard/FileUploadCard.d.ts.map +1 -0
  34. package/dist/cjs/molecules/FileUploadCard/FileUploadCard.js +169 -0
  35. package/dist/cjs/molecules/FileUploadCard/FileUploadCard.js.map +1 -0
  36. package/dist/cjs/molecules/FileUploadCard/index.d.ts +3 -0
  37. package/dist/cjs/molecules/FileUploadCard/index.d.ts.map +1 -0
  38. package/dist/cjs/molecules/FileUploadCard/index.js +9 -0
  39. package/dist/cjs/molecules/FileUploadCard/index.js.map +1 -0
  40. package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.d.ts +93 -0
  41. package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.d.ts.map +1 -0
  42. package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.js +77 -0
  43. package/dist/cjs/molecules/FileUploadStatus/FileUploadStatus.js.map +1 -0
  44. package/dist/cjs/molecules/FileUploadStatus/index.d.ts +3 -0
  45. package/dist/cjs/molecules/FileUploadStatus/index.d.ts.map +1 -0
  46. package/dist/cjs/molecules/FileUploadStatus/index.js +11 -0
  47. package/dist/cjs/molecules/FileUploadStatus/index.js.map +1 -0
  48. package/dist/cjs/molecules/SearchInputField/SearchInputField.d.ts +23 -1
  49. package/dist/cjs/molecules/SearchInputField/SearchInputField.d.ts.map +1 -1
  50. package/dist/cjs/molecules/SearchInputField/SearchInputField.js +9 -4
  51. package/dist/cjs/molecules/SearchInputField/SearchInputField.js.map +1 -1
  52. package/dist/cjs/molecules/SearchProducts/SearchProductItem.d.ts +1 -1
  53. package/dist/cjs/molecules/SearchProducts/SearchProductItem.d.ts.map +1 -1
  54. package/dist/cjs/molecules/SearchProducts/SearchProductItem.js +2 -2
  55. package/dist/cjs/molecules/SearchProducts/SearchProductItem.js.map +1 -1
  56. package/dist/cjs/molecules/SearchProvider/SearchProvider.d.ts +5 -1
  57. package/dist/cjs/molecules/SearchProvider/SearchProvider.d.ts.map +1 -1
  58. package/dist/cjs/molecules/SearchProvider/SearchProvider.js +2 -2
  59. package/dist/cjs/molecules/SearchProvider/SearchProvider.js.map +1 -1
  60. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts +24 -0
  61. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts.map +1 -0
  62. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.js +14 -0
  63. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawer.js.map +1 -0
  64. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts +16 -0
  65. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts.map +1 -0
  66. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js +37 -0
  67. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js.map +1 -0
  68. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts +9 -0
  69. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts.map +1 -0
  70. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js +24 -0
  71. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js.map +1 -0
  72. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts +35 -0
  73. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts.map +1 -0
  74. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js +91 -0
  75. package/dist/cjs/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js.map +1 -0
  76. package/dist/cjs/organisms/QuickOrderDrawer/index.d.ts +11 -0
  77. package/dist/cjs/organisms/QuickOrderDrawer/index.d.ts.map +1 -0
  78. package/dist/cjs/organisms/QuickOrderDrawer/index.js +18 -0
  79. package/dist/cjs/organisms/QuickOrderDrawer/index.js.map +1 -0
  80. package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts +61 -0
  81. package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts.map +1 -0
  82. package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js +86 -0
  83. package/dist/cjs/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js.map +1 -0
  84. package/dist/cjs/organisms/SearchInput/SearchInput.d.ts +8 -0
  85. package/dist/cjs/organisms/SearchInput/SearchInput.d.ts.map +1 -1
  86. package/dist/cjs/organisms/SearchInput/SearchInput.js +2 -2
  87. package/dist/cjs/organisms/SearchInput/SearchInput.js.map +1 -1
  88. package/dist/esm/atoms/Link/Link.d.ts +1 -1
  89. package/dist/esm/atoms/Link/Link.d.ts.map +1 -1
  90. package/dist/esm/atoms/Link/Link.js.map +1 -1
  91. package/dist/esm/atoms/List/List.d.ts.map +1 -1
  92. package/dist/esm/atoms/List/List.js.map +1 -1
  93. package/dist/esm/hooks/index.d.ts +7 -3
  94. package/dist/esm/hooks/index.d.ts.map +1 -1
  95. package/dist/esm/hooks/index.js +6 -3
  96. package/dist/esm/hooks/index.js.map +1 -1
  97. package/dist/esm/hooks/useCSVParser.d.ts +43 -0
  98. package/dist/esm/hooks/useCSVParser.d.ts.map +1 -0
  99. package/dist/esm/hooks/useCSVParser.js +259 -0
  100. package/dist/esm/hooks/useCSVParser.js.map +1 -0
  101. package/dist/esm/hooks/useFileUpload.d.ts +26 -0
  102. package/dist/esm/hooks/useFileUpload.d.ts.map +1 -0
  103. package/dist/esm/hooks/useFileUpload.js +64 -0
  104. package/dist/esm/hooks/useFileUpload.js.map +1 -0
  105. package/dist/esm/index.d.ts +58 -50
  106. package/dist/esm/index.d.ts.map +1 -1
  107. package/dist/esm/index.js +24 -20
  108. package/dist/esm/index.js.map +1 -1
  109. package/dist/esm/molecules/Accordion/AccordionItem.d.ts.map +1 -1
  110. package/dist/esm/molecules/Accordion/AccordionItem.js.map +1 -1
  111. package/dist/esm/molecules/Dropzone/Dropzone.d.ts +87 -0
  112. package/dist/esm/molecules/Dropzone/Dropzone.d.ts.map +1 -0
  113. package/dist/esm/molecules/Dropzone/Dropzone.js +82 -0
  114. package/dist/esm/molecules/Dropzone/Dropzone.js.map +1 -0
  115. package/dist/esm/molecules/Dropzone/index.d.ts +3 -0
  116. package/dist/esm/molecules/Dropzone/index.d.ts.map +1 -0
  117. package/dist/esm/molecules/Dropzone/index.js +2 -0
  118. package/dist/esm/molecules/Dropzone/index.js.map +1 -0
  119. package/dist/esm/molecules/FileUploadCard/FileUploadCard.d.ts +113 -0
  120. package/dist/esm/molecules/FileUploadCard/FileUploadCard.d.ts.map +1 -0
  121. package/dist/esm/molecules/FileUploadCard/FileUploadCard.js +166 -0
  122. package/dist/esm/molecules/FileUploadCard/FileUploadCard.js.map +1 -0
  123. package/dist/esm/molecules/FileUploadCard/index.d.ts +3 -0
  124. package/dist/esm/molecules/FileUploadCard/index.d.ts.map +1 -0
  125. package/dist/esm/molecules/FileUploadCard/index.js +2 -0
  126. package/dist/esm/molecules/FileUploadCard/index.js.map +1 -0
  127. package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.d.ts +93 -0
  128. package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.d.ts.map +1 -0
  129. package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.js +73 -0
  130. package/dist/esm/molecules/FileUploadStatus/FileUploadStatus.js.map +1 -0
  131. package/dist/esm/molecules/FileUploadStatus/index.d.ts +3 -0
  132. package/dist/esm/molecules/FileUploadStatus/index.d.ts.map +1 -0
  133. package/dist/esm/molecules/FileUploadStatus/index.js +2 -0
  134. package/dist/esm/molecules/FileUploadStatus/index.js.map +1 -0
  135. package/dist/esm/molecules/SearchInputField/SearchInputField.d.ts +23 -1
  136. package/dist/esm/molecules/SearchInputField/SearchInputField.d.ts.map +1 -1
  137. package/dist/esm/molecules/SearchInputField/SearchInputField.js +9 -4
  138. package/dist/esm/molecules/SearchInputField/SearchInputField.js.map +1 -1
  139. package/dist/esm/molecules/SearchProducts/SearchProductItem.d.ts +1 -1
  140. package/dist/esm/molecules/SearchProducts/SearchProductItem.d.ts.map +1 -1
  141. package/dist/esm/molecules/SearchProducts/SearchProductItem.js +2 -2
  142. package/dist/esm/molecules/SearchProducts/SearchProductItem.js.map +1 -1
  143. package/dist/esm/molecules/SearchProvider/SearchProvider.d.ts +5 -1
  144. package/dist/esm/molecules/SearchProvider/SearchProvider.d.ts.map +1 -1
  145. package/dist/esm/molecules/SearchProvider/SearchProvider.js +2 -2
  146. package/dist/esm/molecules/SearchProvider/SearchProvider.js.map +1 -1
  147. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts +24 -0
  148. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.d.ts.map +1 -0
  149. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.js +11 -0
  150. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawer.js.map +1 -0
  151. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts +16 -0
  152. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.d.ts.map +1 -0
  153. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js +34 -0
  154. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.js.map +1 -0
  155. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts +9 -0
  156. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.d.ts.map +1 -0
  157. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js +21 -0
  158. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.js.map +1 -0
  159. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts +35 -0
  160. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.d.ts.map +1 -0
  161. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js +88 -0
  162. package/dist/esm/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.js.map +1 -0
  163. package/dist/esm/organisms/QuickOrderDrawer/index.d.ts +11 -0
  164. package/dist/esm/organisms/QuickOrderDrawer/index.d.ts.map +1 -0
  165. package/dist/esm/organisms/QuickOrderDrawer/index.js +6 -0
  166. package/dist/esm/organisms/QuickOrderDrawer/index.js.map +1 -0
  167. package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts +61 -0
  168. package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.d.ts.map +1 -0
  169. package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js +80 -0
  170. package/dist/esm/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.js.map +1 -0
  171. package/dist/esm/organisms/SearchInput/SearchInput.d.ts +8 -0
  172. package/dist/esm/organisms/SearchInput/SearchInput.d.ts.map +1 -1
  173. package/dist/esm/organisms/SearchInput/SearchInput.js +2 -2
  174. package/dist/esm/organisms/SearchInput/SearchInput.js.map +1 -1
  175. package/package.json +5 -2
  176. package/src/atoms/Link/Link.tsx +4 -1
  177. package/src/atoms/List/List.tsx +18 -16
  178. package/src/hooks/index.ts +11 -3
  179. package/src/hooks/useCSVParser.ts +367 -0
  180. package/src/hooks/useFileUpload.ts +88 -0
  181. package/src/index.ts +97 -66
  182. package/src/molecules/Accordion/AccordionItem.tsx +4 -3
  183. package/src/molecules/Dropzone/Dropzone.tsx +248 -0
  184. package/src/molecules/Dropzone/index.ts +2 -0
  185. package/src/molecules/FileUploadCard/FileUploadCard.tsx +406 -0
  186. package/src/molecules/FileUploadCard/index.tsx +2 -0
  187. package/src/molecules/FileUploadStatus/FileUploadStatus.tsx +258 -0
  188. package/src/molecules/FileUploadStatus/index.tsx +6 -0
  189. package/src/molecules/SearchInputField/SearchInputField.tsx +72 -23
  190. package/src/molecules/SearchProducts/SearchProductItem.tsx +8 -3
  191. package/src/molecules/SearchProvider/SearchProvider.tsx +6 -1
  192. package/src/organisms/QuickOrderDrawer/QuickOrderDrawer.tsx +58 -0
  193. package/src/organisms/QuickOrderDrawer/QuickOrderDrawerFooter.tsx +72 -0
  194. package/src/organisms/QuickOrderDrawer/QuickOrderDrawerHeader.tsx +43 -0
  195. package/src/organisms/QuickOrderDrawer/QuickOrderDrawerProducts.tsx +323 -0
  196. package/src/organisms/QuickOrderDrawer/index.ts +19 -0
  197. package/src/organisms/QuickOrderDrawer/provider/QuickOrderDrawerProvider.tsx +205 -0
  198. package/src/organisms/SearchInput/SearchInput.tsx +6 -0
@@ -0,0 +1,87 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ import React from 'react';
3
+ import { type Accept, type FileRejection } from 'react-dropzone';
4
+ export interface DropzoneProps extends HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: cypress,
7
+ * testing-library, and jest).
8
+ */
9
+ testId?: string;
10
+ /**
11
+ * A React component that will be rendered as an icon.
12
+ */
13
+ icon?: ReactNode;
14
+ /**
15
+ * Callback function called when files are accepted.
16
+ */
17
+ onFilesAccepted?: (files: File[]) => void;
18
+ /**
19
+ * Callback function called when files are rejected.
20
+ */
21
+ onFilesRejected?: (fileRejections: FileRejection[]) => void;
22
+ /**
23
+ * Maximum number of files that can be selected.
24
+ */
25
+ maxFiles?: number;
26
+ /**
27
+ * Maximum file size in bytes.
28
+ */
29
+ maxSize?: number;
30
+ /**
31
+ * Minimum file size in bytes.
32
+ */
33
+ minSize?: number;
34
+ /**
35
+ * Accepted file types.
36
+ */
37
+ accept?: Accept;
38
+ /**
39
+ * Whether multiple files can be selected.
40
+ */
41
+ multiple?: boolean;
42
+ /**
43
+ * Whether the dropzone is disabled.
44
+ */
45
+ disabled?: boolean;
46
+ /**
47
+ * Custom text to display when dragging files over the dropzone.
48
+ */
49
+ dragActiveText?: string;
50
+ /**
51
+ * Custom text to display in the dropzone.
52
+ */
53
+ text?: string;
54
+ /**
55
+ * Whether to disable opening the file dialog on click.
56
+ */
57
+ noClick?: boolean;
58
+ /**
59
+ * Whether to disable opening the file dialog via keyboard.
60
+ */
61
+ noKeyboard?: boolean;
62
+ /**
63
+ * Whether to disable drag-and-drop on the drop zone.
64
+ */
65
+ noDrag?: boolean;
66
+ /**
67
+ * Custom content for the select files button.
68
+ */
69
+ selectFilesButton?: ReactNode;
70
+ /**
71
+ * Accessible label for the dropzone root element.
72
+ * When disabled, `aria-disabled` is also set so assistive tech
73
+ * can still identify the dropzone and its state.
74
+ */
75
+ ariaLabel?: string;
76
+ }
77
+ export interface DropzoneState {
78
+ acceptedFiles: File[];
79
+ fileRejections: FileRejection[];
80
+ }
81
+ export interface DropzoneState {
82
+ acceptedFiles: File[];
83
+ fileRejections: FileRejection[];
84
+ }
85
+ declare const Dropzone: React.ForwardRefExoticComponent<DropzoneProps & React.RefAttributes<HTMLDivElement>>;
86
+ export default Dropzone;
87
+ //# sourceMappingURL=Dropzone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropzone.d.ts","sourceRoot":"","sources":["../../../../src/molecules/Dropzone/Dropzone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,KAAkC,MAAM,OAAO,CAAA;AACtD,OAAO,EAAe,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAmB7E,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACzC;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,EAAE,KAAK,IAAI,CAAA;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAA;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,IAAI,EAAE,CAAA;IACrB,cAAc,EAAE,aAAa,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,IAAI,EAAE,CAAA;IACrB,cAAc,EAAE,aAAa,EAAE,CAAA;CAChC;AAED,QAAA,MAAM,QAAQ,sFA4IZ,CAAA;AAEF,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,82 @@
1
+ import React, { forwardRef, useCallback } from 'react';
2
+ import { useDropzone } from 'react-dropzone';
3
+ /**
4
+ * Merges multiple refs (object refs and callback refs) into a single callback ref.
5
+ */
6
+ function mergeRefs(...refs) {
7
+ return (instance) => {
8
+ for (const ref of refs) {
9
+ if (typeof ref === 'function') {
10
+ ref(instance);
11
+ }
12
+ else if (ref && typeof ref === 'object') {
13
+ ;
14
+ ref.current = instance;
15
+ }
16
+ }
17
+ };
18
+ }
19
+ const Dropzone = forwardRef(function Dropzone({ icon, testId = 'fs-dropzone', children, onFilesAccepted, onFilesRejected, maxFiles = 0, maxSize, minSize, accept, multiple = true, disabled = false, dragActiveText, text, noClick = false, noKeyboard = false, noDrag = false, selectFilesButton = null, ariaLabel, ...otherProps }, ref) {
20
+ const onDrop = useCallback((acceptedFiles) => {
21
+ if (onFilesAccepted && acceptedFiles.length > 0) {
22
+ onFilesAccepted(acceptedFiles);
23
+ }
24
+ }, [onFilesAccepted]);
25
+ const onDropRejected = useCallback((fileRejections) => {
26
+ if (onFilesRejected && fileRejections.length > 0) {
27
+ onFilesRejected(fileRejections);
28
+ }
29
+ }, [onFilesRejected]);
30
+ const { getRootProps, getInputProps, isDragActive, isDragAccept, isDragReject, acceptedFiles, fileRejections, } = useDropzone({
31
+ onDrop,
32
+ onDropRejected,
33
+ accept,
34
+ maxFiles,
35
+ maxSize,
36
+ minSize,
37
+ multiple,
38
+ disabled,
39
+ noClick,
40
+ noKeyboard,
41
+ noDrag,
42
+ });
43
+ const rootProps = getRootProps();
44
+ const mergedRef = mergeRefs(ref, rootProps.ref);
45
+ const accessibilityProps = ariaLabel
46
+ ? disabled
47
+ ? {
48
+ role: 'button',
49
+ 'aria-label': ariaLabel,
50
+ 'aria-disabled': true,
51
+ }
52
+ : {
53
+ role: 'button',
54
+ 'aria-label': ariaLabel,
55
+ }
56
+ : {};
57
+ return (React.createElement("div", { "data-fs-dropzone": true, "data-fs-dropzone-drag-active": isDragActive, "data-fs-dropzone-drag-accept": isDragAccept, "data-fs-dropzone-drag-reject": isDragReject, "data-fs-dropzone-disabled": disabled, "data-testid": testId, ...rootProps, ...accessibilityProps, ...otherProps, ref: mergedRef },
58
+ React.createElement("input", { ...getInputProps() }),
59
+ icon && React.createElement("div", { "data-fs-dropzone-icon": true }, icon),
60
+ React.createElement("div", { "data-fs-dropzone-content": true },
61
+ isDragActive ? (React.createElement("p", { "data-fs-dropzone-text": true }, dragActiveText)) : (React.createElement(React.Fragment, null, children || React.createElement("p", { "data-fs-dropzone-text": true }, text))),
62
+ selectFilesButton && !noClick && !disabled && selectFilesButton),
63
+ acceptedFiles.length > 0 && (React.createElement("div", { "data-fs-dropzone-files": true },
64
+ React.createElement("ul", null, acceptedFiles.map((file, index) => (React.createElement("li", { key: index, "data-fs-dropzone-file": true },
65
+ file.name,
66
+ " - ",
67
+ file.size,
68
+ " bytes")))))),
69
+ fileRejections.length > 0 && (React.createElement("div", { "data-fs-dropzone-errors": true },
70
+ React.createElement("ul", null, fileRejections.map((fileRejection, index) => {
71
+ const { file, errors } = fileRejection;
72
+ return (React.createElement("li", { key: index, "data-fs-dropzone-error": true },
73
+ file.name,
74
+ " -",
75
+ ' ',
76
+ errors
77
+ .map((e) => e.message)
78
+ .join(', ')));
79
+ }))))));
80
+ });
81
+ export default Dropzone;
82
+ //# sourceMappingURL=Dropzone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropzone.js","sourceRoot":"","sources":["../../../../src/molecules/Dropzone/Dropzone.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { default } from './Dropzone';
2
+ export type { DropzoneProps, DropzoneState } from './Dropzone';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecules/Dropzone/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './Dropzone';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/molecules/Dropzone/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,113 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ import React from 'react';
3
+ import { FileUploadErrorType } from '../FileUploadStatus/FileUploadStatus';
4
+ export interface FileUploadCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onDrop'> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
7
+ */
8
+ testId?: string;
9
+ /**
10
+ * Controls whether the component is visible.
11
+ */
12
+ isOpen: boolean;
13
+ /**
14
+ * Callback function when the component should be closed.
15
+ */
16
+ onDismiss?: () => void;
17
+ /**
18
+ * Callback function when a file is selected.
19
+ */
20
+ onFileSelect?: (files: File[]) => void;
21
+ /**
22
+ * Callback function when download template is clicked.
23
+ */
24
+ onDownloadTemplate?: () => void;
25
+ /**
26
+ * Callback function when search button is clicked after file upload.
27
+ */
28
+ onSearch?: (file: File) => void;
29
+ /**
30
+ * Accepted file types.
31
+ * @default '.csv'
32
+ */
33
+ accept?: string;
34
+ /**
35
+ * Allow multiple file selection.
36
+ * @default false
37
+ */
38
+ multiple?: boolean;
39
+ /**
40
+ * Card title (e.g. from CMS).
41
+ */
42
+ title: string;
43
+ /**
44
+ * Aria-label for the file input (e.g. from CMS).
45
+ */
46
+ fileInputAriaLabel: string;
47
+ /**
48
+ * Aria-label for the dropzone region (e.g. from CMS).
49
+ */
50
+ dropzoneAriaLabel: string;
51
+ /**
52
+ * Dropzone title text (e.g. from CMS).
53
+ */
54
+ dropzoneTitle: string;
55
+ /**
56
+ * Label for the select file button (e.g. from CMS).
57
+ */
58
+ selectFileButtonLabel: string;
59
+ /**
60
+ * Label for the download template button (e.g. from CMS).
61
+ */
62
+ downloadTemplateButtonLabel: string;
63
+ /**
64
+ * Aria-label for the remove button in FileUploadStatus (e.g. from CMS).
65
+ */
66
+ removeButtonAriaLabel: string;
67
+ /**
68
+ * Label for the search button in FileUploadStatus (e.g. from CMS).
69
+ */
70
+ searchButtonLabel: string;
71
+ /**
72
+ * Status text when uploading in FileUploadStatus (e.g. from CMS).
73
+ */
74
+ uploadingStatusText: string;
75
+ /**
76
+ * Status text when completed in FileUploadStatus (e.g. from CMS). Receives file size in bytes.
77
+ */
78
+ getCompletedStatusText: (fileSize: number) => string;
79
+ /**
80
+ * Error messages per error type for FileUploadStatus (e.g. from CMS).
81
+ */
82
+ errorMessages: Partial<Record<FileUploadErrorType, {
83
+ title: string;
84
+ description: string;
85
+ }>>;
86
+ /**
87
+ * Formatter for file size display.
88
+ */
89
+ formatterFileSize?: (size: number) => string;
90
+ /**
91
+ * Formatter for file name display.
92
+ */
93
+ formatterFileName?: (name: string) => string;
94
+ /**
95
+ * Indicates if the file is being uploaded.
96
+ */
97
+ isUploading?: boolean;
98
+ /**
99
+ * Indicates if there was an error during file upload.
100
+ */
101
+ hasError?: boolean;
102
+ /**
103
+ * Type of error when hasError is true.
104
+ */
105
+ errorType?: FileUploadErrorType;
106
+ /**
107
+ * Custom error message to display when hasError is true.
108
+ */
109
+ errorMessage?: string;
110
+ }
111
+ declare const FileUploadCard: ({ testId, isOpen, onDismiss, onFileSelect, onDownloadTemplate, onSearch, accept, multiple, title, fileInputAriaLabel, dropzoneAriaLabel, dropzoneTitle, selectFileButtonLabel, downloadTemplateButtonLabel, removeButtonAriaLabel, searchButtonLabel, uploadingStatusText, getCompletedStatusText, errorMessages, formatterFileSize, formatterFileName, isUploading, hasError, errorType: errorTypeProp, errorMessage, ...otherProps }: FileUploadCardProps) => React.JSX.Element;
112
+ export default FileUploadCard;
113
+ //# sourceMappingURL=FileUploadCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadCard.d.ts","sourceRoot":"","sources":["../../../../src/molecules/FileUploadCard/FileUploadCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA0B,cAAc,EAAE,MAAM,OAAO,CAAA;AACnE,OAAO,KAAsC,MAAM,OAAO,CAAA;AAI1D,OAAyB,EACvB,mBAAmB,EAEpB,MAAM,sCAAsC,CAAA;AAE7C,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC;IACtD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IACtC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,2BAA2B,EAAE,MAAM,CAAA;IACnC;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;OAEG;IACH,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IACpD;;OAEG;IACH,aAAa,EAAE,OAAO,CACpB,MAAM,CAAC,mBAAmB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CACpE,CAAA;IACD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC5C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,QAAA,MAAM,cAAc,2aA2BjB,mBAAmB,sBAkQrB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,166 @@
1
+ import React, { useEffect, useRef, useState } from 'react';
2
+ import { Button, Card, Icon, Input } from '../..';
3
+ import { useOnClickOutside } from '../../hooks';
4
+ import FileUploadStatus, { FileUploadErrorType, FileUploadState, } from '../FileUploadStatus/FileUploadStatus';
5
+ const FileUploadCard = ({ testId = 'fs-file-upload-card', isOpen, onDismiss, onFileSelect, onDownloadTemplate, onSearch, accept = '.csv', multiple = false, title, fileInputAriaLabel, dropzoneAriaLabel, dropzoneTitle, selectFileButtonLabel, downloadTemplateButtonLabel, removeButtonAriaLabel, searchButtonLabel, uploadingStatusText, getCompletedStatusText, errorMessages, formatterFileSize, formatterFileName, isUploading = false, hasError = false, errorType: errorTypeProp, errorMessage, ...otherProps }) => {
6
+ const fileInputRef = useRef(null);
7
+ const containerRef = useRef(null);
8
+ const [dragActive, setDragActive] = useState(false);
9
+ const [selectedFile, setSelectedFile] = useState(null);
10
+ const [uploadState, setUploadState] = useState(FileUploadState.Uploading);
11
+ const [errorType, setErrorType] = useState(undefined);
12
+ useOnClickOutside(isOpen ? containerRef : undefined, () => {
13
+ if (isOpen) {
14
+ onDismiss?.();
15
+ }
16
+ });
17
+ useEffect(() => {
18
+ const handleEscape = (e) => {
19
+ if (e.key === 'Escape' && isOpen) {
20
+ onDismiss?.();
21
+ }
22
+ };
23
+ window.addEventListener('keydown', handleEscape);
24
+ return () => window.removeEventListener('keydown', handleEscape);
25
+ }, [isOpen, onDismiss]);
26
+ useEffect(() => {
27
+ if (!selectedFile)
28
+ return;
29
+ if (hasError) {
30
+ setUploadState(FileUploadState.Error);
31
+ setErrorType(errorTypeProp ?? FileUploadErrorType.InvalidStructure);
32
+ return;
33
+ }
34
+ if (isUploading) {
35
+ setUploadState(FileUploadState.Uploading);
36
+ setErrorType(undefined);
37
+ return;
38
+ }
39
+ setUploadState(FileUploadState.Completed);
40
+ setErrorType(undefined);
41
+ }, [hasError, selectedFile, isUploading, errorTypeProp]);
42
+ const isValidFileType = (file) => {
43
+ const fileName = file.name.toLowerCase();
44
+ const acceptedTypes = accept
45
+ .split(',')
46
+ .map((value) => value.trim().toLowerCase())
47
+ .filter(Boolean);
48
+ if (acceptedTypes.length === 0) {
49
+ return fileName.endsWith('.csv');
50
+ }
51
+ return acceptedTypes.some((value) => value.startsWith('.')
52
+ ? fileName.endsWith(value)
53
+ : file.type.toLowerCase() === value);
54
+ };
55
+ const handleFileChange = (e) => {
56
+ const files = Array.from(e.target.files || []);
57
+ if (files.length > 0) {
58
+ const file = files[0];
59
+ setSelectedFile(file);
60
+ if (!isValidFileType(file)) {
61
+ setUploadState(FileUploadState.Error);
62
+ setErrorType(FileUploadErrorType.Unsupported);
63
+ return;
64
+ }
65
+ setErrorType(undefined);
66
+ if (isUploading) {
67
+ setUploadState(FileUploadState.Uploading);
68
+ }
69
+ else {
70
+ setUploadState(FileUploadState.Completed);
71
+ }
72
+ if (onFileSelect) {
73
+ onFileSelect(files);
74
+ }
75
+ }
76
+ };
77
+ const handleDrag = (e) => {
78
+ if (!isOpen)
79
+ return;
80
+ e.preventDefault();
81
+ e.stopPropagation();
82
+ if (e.type === 'dragenter' || e.type === 'dragover') {
83
+ setDragActive(true);
84
+ }
85
+ else if (e.type === 'dragleave') {
86
+ setDragActive(false);
87
+ }
88
+ };
89
+ const handleDrop = (e) => {
90
+ if (!isOpen)
91
+ return;
92
+ e.preventDefault();
93
+ e.stopPropagation();
94
+ setDragActive(false);
95
+ if (e.dataTransfer.files && e.dataTransfer.files[0]) {
96
+ const files = Array.from(e.dataTransfer.files);
97
+ const file = files[0];
98
+ setSelectedFile(file);
99
+ if (!isValidFileType(file)) {
100
+ setUploadState(FileUploadState.Error);
101
+ setErrorType(FileUploadErrorType.Unsupported);
102
+ return;
103
+ }
104
+ setErrorType(undefined);
105
+ if (isUploading) {
106
+ setUploadState(FileUploadState.Uploading);
107
+ }
108
+ else {
109
+ setUploadState(FileUploadState.Completed);
110
+ }
111
+ if (onFileSelect) {
112
+ onFileSelect(files);
113
+ }
114
+ }
115
+ };
116
+ const triggerFileInput = () => {
117
+ if (fileInputRef.current) {
118
+ fileInputRef.current.value = '';
119
+ }
120
+ fileInputRef.current?.click();
121
+ };
122
+ const handleDownloadTemplate = () => {
123
+ if (onDownloadTemplate) {
124
+ onDownloadTemplate();
125
+ }
126
+ else {
127
+ const csvContent = 'SKU,Quantity\nAB001,2\nAB100,5\nAB999,49';
128
+ const blob = new Blob([csvContent], { type: 'text/csv' });
129
+ const url = window.URL.createObjectURL(blob);
130
+ const a = document.createElement('a');
131
+ a.href = url;
132
+ a.download = 'template.csv';
133
+ a.click();
134
+ window.URL.revokeObjectURL(url);
135
+ }
136
+ };
137
+ const handleRemoveFile = () => {
138
+ setSelectedFile(null);
139
+ setUploadState(FileUploadState.Uploading);
140
+ setErrorType(undefined);
141
+ if (fileInputRef.current) {
142
+ fileInputRef.current.value = '';
143
+ }
144
+ };
145
+ const handleSearch = () => {
146
+ if (selectedFile && onSearch) {
147
+ onSearch(selectedFile);
148
+ }
149
+ };
150
+ return (React.createElement(Card, { ref: containerRef, title: title, "data-fs-file-upload-card": true, "data-fs-file-upload-card-open": isOpen, "data-fs-file-upload-card-has-file": selectedFile !== null, testId: testId, "aria-hidden": !isOpen, ...otherProps },
151
+ React.createElement(Input, { ref: fileInputRef, type: "file", onChange: handleFileChange, accept: accept, multiple: multiple, style: { display: 'none' }, "aria-label": fileInputAriaLabel }),
152
+ selectedFile ? (React.createElement(FileUploadStatus, { file: selectedFile, state: uploadState, errorType: errorTypeProp ?? errorType, errorMessages: errorMessages, errorMessage: errorMessage, onRemove: handleRemoveFile, onSearch: handleSearch, onDownloadTemplate: handleDownloadTemplate, onSelectFile: triggerFileInput, removeButtonAriaLabel: removeButtonAriaLabel, searchButtonLabel: searchButtonLabel, downloadTemplateButtonLabel: downloadTemplateButtonLabel, selectFileButtonLabel: selectFileButtonLabel, uploadingStatusText: uploadingStatusText, completedStatusText: getCompletedStatusText(selectedFile.size), fileName: formatterFileName
153
+ ? formatterFileName(selectedFile.name)
154
+ : selectedFile.name })) : (React.createElement("div", { "data-fs-file-upload-card-dropzone": true, "data-fs-file-upload-card-dragging": dragActive, onDragEnter: handleDrag, onDragLeave: handleDrag, onDragOver: handleDrag, onDrop: handleDrop, role: "region", "aria-label": dropzoneAriaLabel },
155
+ React.createElement("div", { "data-fs-file-upload-card-icon": true },
156
+ React.createElement("div", { "data-fs-file-upload-card-icon-shadow": true }),
157
+ React.createElement("div", { "data-fs-file-upload-card-icon-wrapper": true },
158
+ React.createElement(Icon, { name: "Paperclip", width: 24, height: 32 })),
159
+ React.createElement("div", { "data-fs-file-upload-card-icon-badge": true },
160
+ React.createElement(Icon, { name: "Plus", width: 16, height: 16 }))),
161
+ React.createElement("p", { "data-fs-file-upload-card-title": true }, dropzoneTitle),
162
+ React.createElement(Button, { variant: "secondary", size: "regular", onClick: triggerFileInput, "data-fs-file-upload-card-select-button": true }, selectFileButtonLabel),
163
+ React.createElement(Button, { type: "button", onClick: handleDownloadTemplate, "data-fs-file-upload-card-template-link": true }, downloadTemplateButtonLabel)))));
164
+ };
165
+ export default FileUploadCard;
166
+ //# sourceMappingURL=FileUploadCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadCard.js","sourceRoot":"","sources":["../../../../src/molecules/FileUploadCard/FileUploadCard.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE1D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,gBAAgB,EAAE,EACvB,mBAAmB,EACnB,eAAe,GAChB,MAAM,sCAAsC,CAAA;AA8G7C,MAAM,cAAc,GAAG,CAAC,EACtB,MAAM,GAAG,qBAAqB,EAC9B,MAAM,EACN,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,QAAQ,EACR,MAAM,GAAG,MAAM,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,KAAK,EAChB,SAAS,EAAE,aAAa,EACxB,YAAY,EACZ,GAAG,UAAU,EACO,EAAE,EAAE;IACxB,MAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC,CAAA;IACnE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,eAAe,CAAC,SAAS,CAC1B,CAAA;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CACxC,SAAS,CACV,CAAA;IAED,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;QACxD,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,EAAE,EAAE,CAAA;QACf,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,CAAC,CAAgB,EAAE,EAAE;YACxC,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;gBACjC,SAAS,EAAE,EAAE,CAAA;YACf,CAAC;QACH,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAChD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAClE,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;IAEvB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,YAAY;YAAE,OAAM;QAEzB,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;YACrC,YAAY,CAAC,aAAa,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;YACnE,OAAM;QACR,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YACzC,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;QAED,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QACzC,YAAY,CAAC,SAAS,CAAC,CAAA;IACzB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAA;IAExD,MAAM,eAAe,GAAG,CAAC,IAAU,EAAW,EAAE;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACxC,MAAM,aAAa,GAAG,MAAM;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAC1C,MAAM,CAAC,OAAO,CAAC,CAAA;QAElB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YACnB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CACtC,CAAA;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,CAAgC,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;QAC9C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,eAAe,CAAC,IAAI,CAAC,CAAA;YAErB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;gBACrC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;gBAC7C,OAAM;YACR,CAAC;YAED,YAAY,CAAC,SAAS,CAAC,CAAA;YAEvB,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC3C,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,CAA4B,EAAE,EAAE;QAClD,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACpD,aAAa,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAClC,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,CAAC,CAA4B,EAAE,EAAE;QAClD,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,aAAa,CAAC,KAAK,CAAC,CAAA;QAEpB,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACrB,eAAe,CAAC,IAAI,CAAC,CAAA;YAErB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;gBACrC,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAA;gBAC7C,OAAM;YACR,CAAC;YAED,YAAY,CAAC,SAAS,CAAC,CAAA;YAEvB,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC3C,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;YAC3C,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;QACjC,CAAC;QACD,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;IAC/B,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAClC,IAAI,kBAAkB,EAAE,CAAC;YACvB,kBAAkB,EAAE,CAAA;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,0CAA0C,CAAA;YAC7D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;YACzD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YAC5C,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YACrC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAA;YACZ,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAA;YAC3B,CAAC,CAAC,KAAK,EAAE,CAAA;YACT,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;QACzC,YAAY,CAAC,SAAS,CAAC,CAAA;QACvB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAA;QACjC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC7B,QAAQ,CAAC,YAAY,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,IAAI,IACH,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,KAAK,qEAEmB,MAAM,uCACF,YAAY,KAAK,IAAI,EACxD,MAAM,EAAE,MAAM,iBACD,CAAC,MAAM,KAChB,UAAU;QAEd,oBAAC,KAAK,IACJ,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,gBACd,kBAAkB,GAC9B;QAED,YAAY,CAAC,CAAC,CAAC,CACd,oBAAC,gBAAgB,IACf,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,aAAa,IAAI,SAAS,EACrC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,YAAY,EACtB,kBAAkB,EAAE,sBAAsB,EAC1C,YAAY,EAAE,gBAAgB,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,iBAAiB,EAAE,iBAAiB,EACpC,2BAA2B,EAAE,2BAA2B,EACxD,qBAAqB,EAAE,qBAAqB,EAC5C,mBAAmB,EAAE,mBAAmB,EACxC,mBAAmB,EAAE,sBAAsB,CAAC,YAAY,CAAC,IAAI,CAAC,EAC9D,QAAQ,EACN,iBAAiB;gBACf,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC;gBACtC,CAAC,CAAC,YAAY,CAAC,IAAI,GAEvB,CACH,CAAC,CAAC,CAAC,CACF,6GAEqC,UAAU,EAC7C,WAAW,EAAE,UAAU,EACvB,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAC,QAAQ,gBACD,iBAAiB;YAE7B;gBACE,4EAA4C;gBAC5C;oBACE,oBAAC,IAAI,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CAC5C;gBACN;oBACE,oBAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CACvC,CACF;YAEN,qEAAmC,aAAa,CAAK;YAErD,oBAAC,MAAM,IACL,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,SAAS,EACd,OAAO,EAAE,gBAAgB,oDAGxB,qBAAqB,CACf;YAET,oBAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,sBAAsB,oDAG9B,2BAA2B,CACrB,CACL,CACP,CACI,CACR,CAAA;AACH,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { default } from './FileUploadCard';
2
+ export type { FileUploadCardProps } from './FileUploadCard';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecules/FileUploadCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './FileUploadCard';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/molecules/FileUploadCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,93 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ import React from 'react';
3
+ export declare enum FileUploadState {
4
+ Uploading = "uploading",
5
+ Completed = "completed",
6
+ Error = "error"
7
+ }
8
+ export declare enum FileUploadErrorType {
9
+ Unexpected = "unexpected",
10
+ Unsupported = "unsupported",
11
+ Unreadable = "unreadable",
12
+ InvalidStructure = "invalid-structure",
13
+ Empty = "empty",
14
+ TooLarge = "too-large",
15
+ NoProductsFound = "no-products-found"
16
+ }
17
+ export interface FileUploadStatusProps extends HTMLAttributes<HTMLDivElement> {
18
+ /**
19
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
20
+ */
21
+ testId?: string;
22
+ /**
23
+ * The file being uploaded.
24
+ */
25
+ file: File;
26
+ /**
27
+ * Current upload state.
28
+ * @default 'uploading'
29
+ */
30
+ state?: FileUploadState;
31
+ /**
32
+ * Type of error when state is 'error'.
33
+ */
34
+ errorType?: FileUploadErrorType;
35
+ /**
36
+ * Custom error message. If provided, overrides the default error message for the errorType.
37
+ */
38
+ errorMessage?: string;
39
+ /**
40
+ * Callback when the remove/cancel button is clicked.
41
+ */
42
+ onRemove?: () => void;
43
+ /**
44
+ * Callback when the search button is clicked (only shown when state is 'completed').
45
+ */
46
+ onSearch?: () => void;
47
+ /**
48
+ * Callback when download template is clicked (only shown when state is 'error').
49
+ */
50
+ onDownloadTemplate?: () => void;
51
+ /**
52
+ * Callback when select file is clicked (only shown when state is 'error').
53
+ */
54
+ onSelectFile?: () => void;
55
+ /**
56
+ * Aria-label for the remove button (e.g. from CMS).
57
+ */
58
+ removeButtonAriaLabel: string;
59
+ /**
60
+ * Label for the search button when state is 'completed' (e.g. from CMS).
61
+ */
62
+ searchButtonLabel: string;
63
+ /**
64
+ * Label for the download template button (e.g. from CMS).
65
+ */
66
+ downloadTemplateButtonLabel: string;
67
+ /**
68
+ * Label for the select file button (e.g. from CMS).
69
+ */
70
+ selectFileButtonLabel: string;
71
+ /**
72
+ * Error messages per error type (e.g. from CMS). Required when state is Error to show messages.
73
+ */
74
+ errorMessages: Partial<Record<FileUploadErrorType, {
75
+ title: string;
76
+ description: string;
77
+ }>>;
78
+ /**
79
+ * Status text when state is Uploading (e.g. from CMS).
80
+ */
81
+ uploadingStatusText: string;
82
+ /**
83
+ * Status text when state is Completed (e.g. from CMS). May include file size.
84
+ */
85
+ completedStatusText: string;
86
+ /**
87
+ * Custom file name display (optional).
88
+ */
89
+ fileName?: string;
90
+ }
91
+ declare const FileUploadStatus: ({ testId, file, state, errorType, errorMessage, onRemove, onSearch, onDownloadTemplate, onSelectFile, removeButtonAriaLabel, searchButtonLabel, downloadTemplateButtonLabel, selectFileButtonLabel, errorMessages, uploadingStatusText, completedStatusText, fileName, ...otherProps }: FileUploadStatusProps) => React.JSX.Element;
92
+ export default FileUploadStatus;
93
+ //# sourceMappingURL=FileUploadStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadStatus.d.ts","sourceRoot":"","sources":["../../../../src/molecules/FileUploadStatus/FileUploadStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB;AAED,oBAAY,mBAAmB;IAC7B,UAAU,eAAe;IACzB,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,gBAAgB,sBAAsB;IACtC,KAAK,UAAU;IACf,QAAQ,cAAc;IACtB,eAAe,sBAAsB;CACtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC3E;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IACV;;;OAGG;IACH,KAAK,CAAC,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAA;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,2BAA2B,EAAE,MAAM,CAAA;IACnC;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B;;OAEG;IACH,aAAa,EAAE,OAAO,CACpB,MAAM,CAAC,mBAAmB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CACpE,CAAA;IACD;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,QAAA,MAAM,gBAAgB,2RAmBnB,qBAAqB,sBA6IvB,CAAA;AAED,eAAe,gBAAgB,CAAA"}