@veeqo/ui 12.4.0-beta-3 → 12.4.0-beta-4

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 (147) hide show
  1. package/dist/components/SelectDropdown/SelectDropdown.cjs +8 -9
  2. package/dist/components/SelectDropdown/SelectDropdown.cjs.map +1 -1
  3. package/dist/components/SelectDropdown/SelectDropdown.d.ts +1 -1
  4. package/dist/components/SelectDropdown/SelectDropdown.js +8 -9
  5. package/dist/components/SelectDropdown/SelectDropdown.js.map +1 -1
  6. package/dist/components/SelectDropdown/SelectDropdown.module.scss.cjs +2 -2
  7. package/dist/components/SelectDropdown/SelectDropdown.module.scss.cjs.map +1 -1
  8. package/dist/components/SelectDropdown/SelectDropdown.module.scss.js +2 -2
  9. package/dist/components/SelectDropdown/SelectDropdown.module.scss.js.map +1 -1
  10. package/dist/components/SelectDropdown/components/ListItem/ListItem.js +2 -2
  11. package/dist/components/SelectDropdown/components/ListItem/ListItem.js.map +1 -1
  12. package/dist/components/SelectDropdown/components/SelectDropdownState.cjs +3 -11
  13. package/dist/components/SelectDropdown/components/SelectDropdownState.cjs.map +1 -1
  14. package/dist/components/SelectDropdown/components/SelectDropdownState.js +3 -11
  15. package/dist/components/SelectDropdown/components/SelectDropdownState.js.map +1 -1
  16. package/dist/components/SelectDropdown/components/item.module.scss.cjs +3 -3
  17. package/dist/components/SelectDropdown/components/item.module.scss.cjs.map +1 -1
  18. package/dist/components/SelectDropdown/components/item.module.scss.js +3 -3
  19. package/dist/components/SelectDropdown/components/item.module.scss.js.map +1 -1
  20. package/dist/components/SelectDropdown/types.d.ts +1 -3
  21. package/dist/components/UploadFile/UploadFile.cjs +63 -82
  22. package/dist/components/UploadFile/UploadFile.cjs.map +1 -1
  23. package/dist/components/UploadFile/UploadFile.js +66 -85
  24. package/dist/components/UploadFile/UploadFile.js.map +1 -1
  25. package/dist/components/UploadFile/components/DropCopy/DropCopy.cjs +28 -0
  26. package/dist/components/UploadFile/components/DropCopy/DropCopy.cjs.map +1 -0
  27. package/dist/components/UploadFile/components/DropCopy/DropCopy.d.ts +2 -0
  28. package/dist/components/UploadFile/components/DropCopy/DropCopy.js +22 -0
  29. package/dist/components/UploadFile/components/DropCopy/DropCopy.js.map +1 -0
  30. package/dist/components/UploadFile/components/UploadCopy/UploadCopy.cjs +6 -6
  31. package/dist/components/UploadFile/components/UploadCopy/UploadCopy.cjs.map +1 -1
  32. package/dist/components/UploadFile/components/UploadCopy/UploadCopy.js +6 -6
  33. package/dist/components/UploadFile/components/UploadCopy/UploadCopy.js.map +1 -1
  34. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.cjs +52 -5
  35. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.cjs.map +1 -1
  36. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.d.ts +7 -3
  37. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.js +52 -5
  38. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.js.map +1 -1
  39. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.module.scss.cjs +9 -0
  40. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.module.scss.cjs.map +1 -0
  41. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.module.scss.js +7 -0
  42. package/dist/components/UploadFile/components/UploadedFile/UploadedFile.module.scss.js.map +1 -0
  43. package/dist/components/UploadFile/constants.cjs +64 -8
  44. package/dist/components/UploadFile/constants.cjs.map +1 -1
  45. package/dist/components/UploadFile/constants.d.ts +52 -5
  46. package/dist/components/UploadFile/constants.js +63 -9
  47. package/dist/components/UploadFile/constants.js.map +1 -1
  48. package/dist/components/UploadFile/hooks/useFileErrorMessages/index.d.ts +1 -0
  49. package/dist/components/UploadFile/hooks/useFileErrorMessages/useFileErrorMessages.cjs +39 -0
  50. package/dist/components/UploadFile/hooks/useFileErrorMessages/useFileErrorMessages.cjs.map +1 -0
  51. package/dist/components/UploadFile/hooks/useFileErrorMessages/useFileErrorMessages.d.ts +13 -0
  52. package/dist/components/UploadFile/hooks/useFileErrorMessages/useFileErrorMessages.js +37 -0
  53. package/dist/components/UploadFile/hooks/useFileErrorMessages/useFileErrorMessages.js.map +1 -0
  54. package/dist/components/UploadFile/hooks/usePreviewImage/index.d.ts +1 -0
  55. package/dist/components/UploadFile/hooks/usePreviewImage/usePreviewImage.cjs +36 -0
  56. package/dist/components/UploadFile/hooks/usePreviewImage/usePreviewImage.cjs.map +1 -0
  57. package/dist/components/UploadFile/hooks/usePreviewImage/usePreviewImage.d.ts +8 -0
  58. package/dist/components/UploadFile/hooks/usePreviewImage/usePreviewImage.js +34 -0
  59. package/dist/components/UploadFile/hooks/usePreviewImage/usePreviewImage.js.map +1 -0
  60. package/dist/components/UploadFile/hooks/useUploadFile/index.d.ts +1 -0
  61. package/dist/components/UploadFile/hooks/useUploadFile/useUploadFile.cjs +65 -0
  62. package/dist/components/UploadFile/hooks/useUploadFile/useUploadFile.cjs.map +1 -0
  63. package/dist/components/UploadFile/hooks/useUploadFile/useUploadFile.d.ts +9 -0
  64. package/dist/components/UploadFile/hooks/useUploadFile/useUploadFile.js +63 -0
  65. package/dist/components/UploadFile/hooks/useUploadFile/useUploadFile.js.map +1 -0
  66. package/dist/components/UploadFile/hooks/useValidateInput/index.d.ts +1 -0
  67. package/dist/components/UploadFile/hooks/useValidateInput/useValidateInput.cjs +69 -0
  68. package/dist/components/UploadFile/hooks/useValidateInput/useValidateInput.cjs.map +1 -0
  69. package/dist/components/UploadFile/hooks/useValidateInput/useValidateInput.d.ts +10 -0
  70. package/dist/components/UploadFile/hooks/useValidateInput/useValidateInput.js +67 -0
  71. package/dist/components/UploadFile/hooks/useValidateInput/useValidateInput.js.map +1 -0
  72. package/dist/components/UploadFile/mocks/files.d.ts +2 -0
  73. package/dist/components/UploadFile/mocks/mockUseUploadFile.d.ts +14 -0
  74. package/dist/components/UploadFile/mocks/utils.d.ts +1 -2
  75. package/dist/components/UploadFile/styled.cjs +41 -1
  76. package/dist/components/UploadFile/styled.cjs.map +1 -1
  77. package/dist/components/UploadFile/styled.d.ts +5 -1
  78. package/dist/components/UploadFile/styled.js +41 -1
  79. package/dist/components/UploadFile/styled.js.map +1 -1
  80. package/dist/components/UploadFile/types.d.ts +15 -1
  81. package/dist/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileExtension.d.ts +1 -0
  82. package/dist/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileType.cjs +17 -0
  83. package/dist/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileType.cjs.map +1 -0
  84. package/dist/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileType.d.ts +1 -0
  85. package/dist/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileType.js +15 -0
  86. package/dist/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileType.js.map +1 -0
  87. package/dist/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/index.d.ts +1 -0
  88. package/dist/components/UploadFile/utils/getFileSizeString/getFileSizeString.cjs +14 -11
  89. package/dist/components/UploadFile/utils/getFileSizeString/getFileSizeString.cjs.map +1 -1
  90. package/dist/components/UploadFile/utils/getFileSizeString/getFileSizeString.d.ts +10 -7
  91. package/dist/components/UploadFile/utils/getFileSizeString/getFileSizeString.js +14 -11
  92. package/dist/components/UploadFile/utils/getFileSizeString/getFileSizeString.js.map +1 -1
  93. package/dist/components/UploadFile/utils/getValidTypesString/getValidTypesString.cjs +16 -30
  94. package/dist/components/UploadFile/utils/getValidTypesString/getValidTypesString.cjs.map +1 -1
  95. package/dist/components/UploadFile/utils/getValidTypesString/getValidTypesString.js +16 -30
  96. package/dist/components/UploadFile/utils/getValidTypesString/getValidTypesString.js.map +1 -1
  97. package/dist/components/UploadFile/utils/index.d.ts +0 -1
  98. package/dist/components/UploadFile/utils/isImageType/index.d.ts +1 -0
  99. package/dist/components/UploadFile/utils/isImageType/isImageType.cjs +14 -0
  100. package/dist/components/UploadFile/utils/isImageType/isImageType.cjs.map +1 -0
  101. package/dist/components/UploadFile/utils/isImageType/isImageType.d.ts +1 -0
  102. package/dist/components/UploadFile/utils/isImageType/isImageType.js +12 -0
  103. package/dist/components/UploadFile/utils/isImageType/isImageType.js.map +1 -0
  104. package/package.json +1 -1
  105. package/dist/components/SelectDropdown/components/GridItem/GridItem.cjs +0 -37
  106. package/dist/components/SelectDropdown/components/GridItem/GridItem.cjs.map +0 -1
  107. package/dist/components/SelectDropdown/components/GridItem/GridItem.js +0 -31
  108. package/dist/components/SelectDropdown/components/GridItem/GridItem.js.map +0 -1
  109. package/dist/components/SelectDropdown/components/GridItem/GridItem.module.scss.cjs +0 -9
  110. package/dist/components/SelectDropdown/components/GridItem/GridItem.module.scss.cjs.map +0 -1
  111. package/dist/components/SelectDropdown/components/GridItem/GridItem.module.scss.js +0 -7
  112. package/dist/components/SelectDropdown/components/GridItem/GridItem.module.scss.js.map +0 -1
  113. package/dist/components/SelectDropdown/components/OptionsContainers/GridList.cjs +0 -18
  114. package/dist/components/SelectDropdown/components/OptionsContainers/GridList.cjs.map +0 -1
  115. package/dist/components/SelectDropdown/components/OptionsContainers/GridList.d.ts +0 -3
  116. package/dist/components/SelectDropdown/components/OptionsContainers/GridList.js +0 -12
  117. package/dist/components/SelectDropdown/components/OptionsContainers/GridList.js.map +0 -1
  118. package/dist/components/SelectDropdown/components/OptionsContainers/ListBox.cjs +0 -19
  119. package/dist/components/SelectDropdown/components/OptionsContainers/ListBox.cjs.map +0 -1
  120. package/dist/components/SelectDropdown/components/OptionsContainers/ListBox.d.ts +0 -3
  121. package/dist/components/SelectDropdown/components/OptionsContainers/ListBox.js +0 -13
  122. package/dist/components/SelectDropdown/components/OptionsContainers/ListBox.js.map +0 -1
  123. package/dist/components/SelectDropdown/components/OptionsContainers/OptionsContainer.module.scss.cjs +0 -9
  124. package/dist/components/SelectDropdown/components/OptionsContainers/OptionsContainer.module.scss.cjs.map +0 -1
  125. package/dist/components/SelectDropdown/components/OptionsContainers/OptionsContainer.module.scss.js +0 -7
  126. package/dist/components/SelectDropdown/components/OptionsContainers/OptionsContainer.module.scss.js.map +0 -1
  127. package/dist/components/SelectDropdown/components/OptionsContainers/types.d.ts +0 -25
  128. package/dist/components/UploadFile/UploadGraphic.cjs +0 -14
  129. package/dist/components/UploadFile/UploadGraphic.cjs.map +0 -1
  130. package/dist/components/UploadFile/UploadGraphic.d.ts +0 -2
  131. package/dist/components/UploadFile/UploadGraphic.js +0 -8
  132. package/dist/components/UploadFile/UploadGraphic.js.map +0 -1
  133. package/dist/components/UploadFile/components/UploadFileErrors/UploadFileErrors.cjs +0 -31
  134. package/dist/components/UploadFile/components/UploadFileErrors/UploadFileErrors.cjs.map +0 -1
  135. package/dist/components/UploadFile/components/UploadFileErrors/UploadFileErrors.d.ts +0 -7
  136. package/dist/components/UploadFile/components/UploadFileErrors/UploadFileErrors.js +0 -25
  137. package/dist/components/UploadFile/components/UploadFileErrors/UploadFileErrors.js.map +0 -1
  138. package/dist/components/UploadFile/components/UploadedFile/styled.cjs +0 -20
  139. package/dist/components/UploadFile/components/UploadedFile/styled.cjs.map +0 -1
  140. package/dist/components/UploadFile/components/UploadedFile/styled.d.ts +0 -2
  141. package/dist/components/UploadFile/components/UploadedFile/styled.js +0 -13
  142. package/dist/components/UploadFile/components/UploadedFile/styled.js.map +0 -1
  143. package/dist/components/UploadFile/utils/setInputElFile/setInputElFile.cjs +0 -18
  144. package/dist/components/UploadFile/utils/setInputElFile/setInputElFile.cjs.map +0 -1
  145. package/dist/components/UploadFile/utils/setInputElFile/setInputElFile.d.ts +0 -13
  146. package/dist/components/UploadFile/utils/setInputElFile/setInputElFile.js +0 -16
  147. package/dist/components/UploadFile/utils/setInputElFile/setInputElFile.js.map +0 -1
@@ -9,7 +9,47 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
11
11
 
12
- const DropZoneContainer = styled__default.default.div.withConfig({ displayName: "vui--DropZoneContainer", componentId: "vui--17v0v3c" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.sizes.md};border-radius:${radius.radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.colors.neutral.ink.lightest};background-color:${colors.colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.colors.secondary.blue.base};background-color:${colors.colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.colors.secondary.blue.light};background-color:${colors.colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.colors.secondary.blue.light};background-color:${colors.colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.colors.secondary.red.base};:hover{border:2px dashed ${colors.colors.secondary.red.base};background-color:${colors.colors.secondary.red.lightest};}:active{border:2px dashed ${colors.colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.colors.secondary.red.light};background-color:${colors.colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.colors.secondary.red.light};background-color:${colors.colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.colors.neutral.grey.light};border-color:${colors.colors.neutral.ink.lightest};color:${colors.colors.neutral.ink.light};}`;
12
+ const DropZoneContainer = styled__default.default.div.withConfig({ displayName: "vui--DropZoneContainer", componentId: "vui--17v0v3c" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.sizes.base};border-radius:${radius.radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.colors.neutral.ink.lightest};background-color:${colors.colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.colors.secondary.blue.base};background-color:${colors.colors.secondary.blue.lightest};svg{color:${colors.colors.secondary.blue.base};}}:active,:focus-within{border:2px dashed ${colors.colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.colors.secondary.blue.light};background-color:${colors.colors.secondary.blue.lightest};svg{color:${colors.colors.secondary.blue.base};}}${({ isDragOver }) => isDragOver &&
13
+ `
14
+ border: 2px dashed ${colors.colors.secondary.blue.base};
15
+ box-shadow: 0 0 0 4px ${colors.colors.secondary.blue.light};
16
+ background-color: ${colors.colors.secondary.blue.lightest};
17
+
18
+ svg {
19
+ color: ${colors.colors.secondary.blue.base};
20
+ }
21
+ `} ${({ hasUserProvidedNoFiles, isDragOver, isDirty }) => hasUserProvidedNoFiles &&
22
+ isDirty &&
23
+ `
24
+ border: 2px dashed ${colors.colors.secondary.red.base};
25
+
26
+ :hover {
27
+ border: 2px dashed ${colors.colors.secondary.red.base};
28
+ background-color: ${colors.colors.secondary.red.lightest};
29
+
30
+ svg {
31
+ color: ${colors.colors.secondary.red.base};
32
+ }
33
+ }
34
+
35
+ :active, :focus-within {
36
+ border: 2px dashed ${colors.colors.secondary.red.base};
37
+ box-shadow: 0 0 0 4px ${colors.colors.secondary.red.light};
38
+ background-color: ${colors.colors.secondary.red.lightest};
39
+
40
+ svg {
41
+ color: ${colors.colors.secondary.red.base};
42
+ }
43
+ }
44
+
45
+ ${isDragOver
46
+ ? `
47
+ border: 2px dashed ${colors.colors.secondary.red.base};
48
+ box-shadow: 0 0 0 4px ${colors.colors.secondary.red.light};
49
+ background-color: ${colors.colors.secondary.red.lightest};
50
+ `
51
+ : ''}
52
+ `} &:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.colors.neutral.grey.light};border-color:${colors.colors.neutral.ink.lightest};color:${colors.colors.neutral.ink.light};svg{color:${colors.colors.neutral.ink.lightest};}}`;
13
53
 
14
54
  exports.DropZoneContainer = DropZoneContainer;
15
55
  //# sourceMappingURL=styled.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"styled.cjs","sources":["../../../src/components/UploadFile/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\n\nexport const DropZoneContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n\n padding: ${sizes.md};\n border-radius: ${radius.base};\n\n input[type='file'] {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n cursor: pointer;\n }\n\n cursor: pointer;\n\n border: 2px dashed ${colors.neutral.ink.lightest};\n background-color: ${colors.neutral.grey.lightest};\n\n :hover {\n border: 2px dashed ${colors.secondary.blue.base};\n background-color: ${colors.secondary.blue.lightest};\n }\n :active {\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n }\n :focus-within {\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n }\n\n &:has(input:invalid) {\n border: 2px dashed ${colors.secondary.red.base};\n :hover {\n border: 2px dashed ${colors.secondary.red.base};\n background-color: ${colors.secondary.red.lightest};\n }\n\n :active {\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n }\n\n :focus-within {\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n }\n }\n\n &:has(input:disabled) {\n cursor: not-allowed;\n box-shadow: none;\n background-color: ${colors.neutral.grey.light};\n border-color: ${colors.neutral.ink.lightest};\n color: ${colors.neutral.ink.light};\n }\n`;\n"],"names":["styled","sizes","radius","colors"],"mappings":";;;;;;;;;;;MAKa,iBAAiB,GAAGA,uBAAM,CAAC,GAAG,sJAK9BC,WAAK,CAAC,EAAE,CACF,eAAA,EAAAC,aAAM,CAAC,IAAI,CAAA,sHAAA,EAYPC,aAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAC5B,kBAAA,EAAAA,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,6BAGzBA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,kBAAA,EAC3BA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,+BAG7BA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,sBAAA,EACvBA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAC/B,kBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,qCAG7BA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,sBAAA,EACvBA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAC/B,kBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAA,yCAAA,EAI7BA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAEvB,0BAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,qBAC1BA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA,4BAAA,EAI5BA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CACtB,sBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,qBAC9BA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAI5B,kCAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,yBACtBA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAA,kBAAA,EAC9BA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAO/B,6EAAA,EAAAA,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,iBAC7BA,aAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA,OAAA,EAClCA,aAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"styled.cjs","sources":["../../../src/components/UploadFile/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\n\nexport const DropZoneContainer = styled.div<{\n hasUserProvidedNoFiles: boolean;\n isDirty: boolean;\n isDragOver?: boolean;\n}>`\n display: flex;\n align-items: center;\n justify-content: center;\n\n padding: ${sizes.base};\n border-radius: ${radius.base};\n\n input[type='file'] {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n cursor: pointer;\n }\n\n cursor: pointer;\n\n border: 2px dashed ${colors.neutral.ink.lightest};\n background-color: ${colors.neutral.grey.lightest};\n\n :hover {\n border: 2px dashed ${colors.secondary.blue.base};\n background-color: ${colors.secondary.blue.lightest};\n\n svg {\n color: ${colors.secondary.blue.base};\n }\n }\n :active,\n :focus-within {\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n\n svg {\n color: ${colors.secondary.blue.base};\n }\n }\n\n ${({ isDragOver }) =>\n isDragOver &&\n `\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n\n svg {\n color: ${colors.secondary.blue.base};\n }\n `}\n\n ${({ hasUserProvidedNoFiles, isDragOver, isDirty }) =>\n hasUserProvidedNoFiles &&\n isDirty &&\n `\n border: 2px dashed ${colors.secondary.red.base};\n\n :hover {\n border: 2px dashed ${colors.secondary.red.base};\n background-color: ${colors.secondary.red.lightest};\n\n svg {\n color: ${colors.secondary.red.base};\n }\n }\n\n :active, :focus-within {\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n\n svg {\n color: ${colors.secondary.red.base};\n }\n }\n\n ${\n isDragOver\n ? `\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n `\n : ''\n }\n `}\n\n\n &:has(input:disabled) {\n cursor: not-allowed;\n box-shadow: none;\n background-color: ${colors.neutral.grey.light};\n border-color: ${colors.neutral.ink.lightest};\n color: ${colors.neutral.ink.light};\n\n svg {\n color: ${colors.neutral.ink.lightest};\n }\n }\n`;\n"],"names":["styled","sizes","radius","colors"],"mappings":";;;;;;;;;;;MAKa,iBAAiB,GAAGA,uBAAM,CAAC,GAAG,sJAS9BC,WAAK,CAAC,IAAI,CACJ,eAAA,EAAAC,aAAM,CAAC,IAAI,CAAA,sHAAA,EAYPC,aAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAC5B,kBAAA,EAAAA,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,6BAGzBA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,kBAAA,EAC3BA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,cAGvCA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,2CAAA,EAKhBA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CACvB,sBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAA,kBAAA,EAC/BA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAGvC,WAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAIrC,CAAC,EAAE,UAAU,EAAE,KACf,UAAU;AACV,IAAA;AACqB,uBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA;AACvB,0BAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAA;AAC/B,sBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAA;;;AAGvC,aAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA;;GAEtC,CAEC,CAAA,EAAA,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,EAAE,KAChD,sBAAsB;IACtB,OAAO;AACP,IAAA;AACqB,uBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;;;AAGvB,yBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;AAC1B,wBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA;;;AAGtC,eAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;;;;;AAKf,yBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;AACtB,4BAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAA;AAC9B,wBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA;;;AAGtC,eAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;;;;MAKpC;AACE,UAAE;AACe,uBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;AACtB,0BAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAA;AAC9B,sBAAA,EAAAA,aAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA;AAClD,EAAA;AACK,UAAE,EACN;AACD,EAAA,CAAA,CAAA,2EAAA,EAMqBA,aAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAC7B,cAAA,EAAAA,aAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA,OAAA,EAClCA,aAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAGtB,WAAA,EAAAA,aAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ;;;;"}
@@ -1 +1,5 @@
1
- export declare const DropZoneContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
1
+ export declare const DropZoneContainer: import("styled-components").StyledComponent<"div", any, {
2
+ hasUserProvidedNoFiles: boolean;
3
+ isDirty: boolean;
4
+ isDragOver?: boolean | undefined;
5
+ }, never>;
@@ -3,7 +3,47 @@ import { colors } from '../../theme/modules/colors.js';
3
3
  import { radius } from '../../theme/modules/radius.js';
4
4
  import { sizes } from '../../theme/modules/sizes.js';
5
5
 
6
- const DropZoneContainer = styled.div.withConfig({ displayName: "vui--DropZoneContainer", componentId: "vui--17v0v3c" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.md};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};}:active{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};}&:has(input:invalid){border:2px dashed ${colors.secondary.red.base};:hover{border:2px dashed ${colors.secondary.red.base};background-color:${colors.secondary.red.lightest};}:active{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}:focus-within{border:2px dashed ${colors.secondary.red.base};box-shadow:0 0 0 4px ${colors.secondary.red.light};background-color:${colors.secondary.red.lightest};}}&:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};}`;
6
+ const DropZoneContainer = styled.div.withConfig({ displayName: "vui--DropZoneContainer", componentId: "vui--17v0v3c" }) `display:flex;align-items:center;justify-content:center;padding:${sizes.base};border-radius:${radius.base};input[type='file']{position:absolute;opacity:0;width:1px;height:1px;cursor:pointer;}cursor:pointer;border:2px dashed ${colors.neutral.ink.lightest};background-color:${colors.neutral.grey.lightest};:hover{border:2px dashed ${colors.secondary.blue.base};background-color:${colors.secondary.blue.lightest};svg{color:${colors.secondary.blue.base};}}:active,:focus-within{border:2px dashed ${colors.secondary.blue.base};box-shadow:0 0 0 4px ${colors.secondary.blue.light};background-color:${colors.secondary.blue.lightest};svg{color:${colors.secondary.blue.base};}}${({ isDragOver }) => isDragOver &&
7
+ `
8
+ border: 2px dashed ${colors.secondary.blue.base};
9
+ box-shadow: 0 0 0 4px ${colors.secondary.blue.light};
10
+ background-color: ${colors.secondary.blue.lightest};
11
+
12
+ svg {
13
+ color: ${colors.secondary.blue.base};
14
+ }
15
+ `} ${({ hasUserProvidedNoFiles, isDragOver, isDirty }) => hasUserProvidedNoFiles &&
16
+ isDirty &&
17
+ `
18
+ border: 2px dashed ${colors.secondary.red.base};
19
+
20
+ :hover {
21
+ border: 2px dashed ${colors.secondary.red.base};
22
+ background-color: ${colors.secondary.red.lightest};
23
+
24
+ svg {
25
+ color: ${colors.secondary.red.base};
26
+ }
27
+ }
28
+
29
+ :active, :focus-within {
30
+ border: 2px dashed ${colors.secondary.red.base};
31
+ box-shadow: 0 0 0 4px ${colors.secondary.red.light};
32
+ background-color: ${colors.secondary.red.lightest};
33
+
34
+ svg {
35
+ color: ${colors.secondary.red.base};
36
+ }
37
+ }
38
+
39
+ ${isDragOver
40
+ ? `
41
+ border: 2px dashed ${colors.secondary.red.base};
42
+ box-shadow: 0 0 0 4px ${colors.secondary.red.light};
43
+ background-color: ${colors.secondary.red.lightest};
44
+ `
45
+ : ''}
46
+ `} &:has(input:disabled){cursor:not-allowed;box-shadow:none;background-color:${colors.neutral.grey.light};border-color:${colors.neutral.ink.lightest};color:${colors.neutral.ink.light};svg{color:${colors.neutral.ink.lightest};}}`;
7
47
 
8
48
  export { DropZoneContainer };
9
49
  //# sourceMappingURL=styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../src/components/UploadFile/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\n\nexport const DropZoneContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n\n padding: ${sizes.md};\n border-radius: ${radius.base};\n\n input[type='file'] {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n cursor: pointer;\n }\n\n cursor: pointer;\n\n border: 2px dashed ${colors.neutral.ink.lightest};\n background-color: ${colors.neutral.grey.lightest};\n\n :hover {\n border: 2px dashed ${colors.secondary.blue.base};\n background-color: ${colors.secondary.blue.lightest};\n }\n :active {\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n }\n :focus-within {\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n }\n\n &:has(input:invalid) {\n border: 2px dashed ${colors.secondary.red.base};\n :hover {\n border: 2px dashed ${colors.secondary.red.base};\n background-color: ${colors.secondary.red.lightest};\n }\n\n :active {\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n }\n\n :focus-within {\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n }\n }\n\n &:has(input:disabled) {\n cursor: not-allowed;\n box-shadow: none;\n background-color: ${colors.neutral.grey.light};\n border-color: ${colors.neutral.ink.lightest};\n color: ${colors.neutral.ink.light};\n }\n`;\n"],"names":[],"mappings":";;;;;MAKa,iBAAiB,GAAG,MAAM,CAAC,GAAG,sJAK9B,KAAK,CAAC,EAAE,CACF,eAAA,EAAA,MAAM,CAAC,IAAI,CAAA,sHAAA,EAYP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAC5B,kBAAA,EAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,6BAGzB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,kBAAA,EAC3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,+BAG7B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,sBAAA,EACvB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAC/B,kBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,qCAG7B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,sBAAA,EACvB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAC/B,kBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAA,yCAAA,EAI7B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAEvB,0BAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,qBAC1B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA,4BAAA,EAI5B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CACtB,sBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,qBAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAI5B,kCAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,yBACtB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAA,kBAAA,EAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAO/B,6EAAA,EAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,iBAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA,OAAA,EAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAA,EAAA;;;;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../src/components/UploadFile/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { colors } from '../../theme/modules/colors';\nimport { radius } from '../../theme/modules/radius';\nimport { sizes } from '../../theme/modules/sizes';\n\nexport const DropZoneContainer = styled.div<{\n hasUserProvidedNoFiles: boolean;\n isDirty: boolean;\n isDragOver?: boolean;\n}>`\n display: flex;\n align-items: center;\n justify-content: center;\n\n padding: ${sizes.base};\n border-radius: ${radius.base};\n\n input[type='file'] {\n position: absolute;\n opacity: 0;\n width: 1px;\n height: 1px;\n cursor: pointer;\n }\n\n cursor: pointer;\n\n border: 2px dashed ${colors.neutral.ink.lightest};\n background-color: ${colors.neutral.grey.lightest};\n\n :hover {\n border: 2px dashed ${colors.secondary.blue.base};\n background-color: ${colors.secondary.blue.lightest};\n\n svg {\n color: ${colors.secondary.blue.base};\n }\n }\n :active,\n :focus-within {\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n\n svg {\n color: ${colors.secondary.blue.base};\n }\n }\n\n ${({ isDragOver }) =>\n isDragOver &&\n `\n border: 2px dashed ${colors.secondary.blue.base};\n box-shadow: 0 0 0 4px ${colors.secondary.blue.light};\n background-color: ${colors.secondary.blue.lightest};\n\n svg {\n color: ${colors.secondary.blue.base};\n }\n `}\n\n ${({ hasUserProvidedNoFiles, isDragOver, isDirty }) =>\n hasUserProvidedNoFiles &&\n isDirty &&\n `\n border: 2px dashed ${colors.secondary.red.base};\n\n :hover {\n border: 2px dashed ${colors.secondary.red.base};\n background-color: ${colors.secondary.red.lightest};\n\n svg {\n color: ${colors.secondary.red.base};\n }\n }\n\n :active, :focus-within {\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n\n svg {\n color: ${colors.secondary.red.base};\n }\n }\n\n ${\n isDragOver\n ? `\n border: 2px dashed ${colors.secondary.red.base};\n box-shadow: 0 0 0 4px ${colors.secondary.red.light};\n background-color: ${colors.secondary.red.lightest};\n `\n : ''\n }\n `}\n\n\n &:has(input:disabled) {\n cursor: not-allowed;\n box-shadow: none;\n background-color: ${colors.neutral.grey.light};\n border-color: ${colors.neutral.ink.lightest};\n color: ${colors.neutral.ink.light};\n\n svg {\n color: ${colors.neutral.ink.lightest};\n }\n }\n`;\n"],"names":[],"mappings":";;;;;MAKa,iBAAiB,GAAG,MAAM,CAAC,GAAG,sJAS9B,KAAK,CAAC,IAAI,CACJ,eAAA,EAAA,MAAM,CAAC,IAAI,CAAA,sHAAA,EAYP,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAC5B,kBAAA,EAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,6BAGzB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,kBAAA,EAC3B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,cAGvC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA,2CAAA,EAKhB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CACvB,sBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAA,kBAAA,EAC/B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAGvC,WAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAIrC,CAAC,EAAE,UAAU,EAAE,KACf,UAAU;AACV,IAAA;AACqB,uBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA;AACvB,0BAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAA;AAC/B,sBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAA;;;AAGvC,aAAA,EAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAA;;GAEtC,CAEC,CAAA,EAAA,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,EAAE,KAChD,sBAAsB;IACtB,OAAO;AACP,IAAA;AACqB,uBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;;;AAGvB,yBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;AAC1B,wBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA;;;AAGtC,eAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;;;;;AAKf,yBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;AACtB,4BAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAA;AAC9B,wBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA;;;AAGtC,eAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;;;;MAKpC;AACE,UAAE;AACe,uBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAA;AACtB,0BAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAA;AAC9B,sBAAA,EAAA,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAA;AAClD,EAAA;AACK,UAAE,EACN;AACD,EAAA,CAAA,CAAA,2EAAA,EAMqB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAC7B,cAAA,EAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA,OAAA,EAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAGtB,WAAA,EAAA,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ;;;;"}
@@ -1,9 +1,23 @@
1
1
  /// <reference types="react" />
2
- import { AcceptedFileTypes, FileSizeUnit } from './constants';
2
+ import { AcceptedFileTypes, ErrorType, FileSizeUnit } from './constants';
3
3
  export interface UploadFileProps extends React.InputHTMLAttributes<HTMLInputElement> {
4
4
  id: string;
5
5
  fileTypes: Array<AcceptedFileTypes>;
6
6
  label?: string;
7
7
  format?: FileSizeUnit;
8
8
  maxBytes?: number;
9
+ errorMessage?: string;
10
+ hideUploadedFiles?: boolean;
11
+ onMaxFilesExceeded?: () => void;
12
+ maxFiles?: number;
13
+ disabledMessage?: string;
14
+ isDirty?: boolean;
9
15
  }
16
+ export type UploadFileErrors = {
17
+ criticalErrors: Array<UploadFileError>;
18
+ };
19
+ type UploadFileError = {
20
+ errorType: ErrorType;
21
+ errorMessage: string;
22
+ };
23
+ export {};
@@ -0,0 +1 @@
1
+ export declare const convertFileTypeToAcceptedFileExtension: (fileType: string) => string;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ const convertFileTypeToAcceptedFileExtension = (fileType) => {
4
+ if (typeof fileType !== 'string' || !fileType.includes('/')) {
5
+ throw new Error('Invalid MIME type');
6
+ }
7
+ // Remove any MIME parameter (e.g., ";charset=UTF-8")
8
+ const [typePart] = fileType.split(';');
9
+ const [group, type] = typePart.trim().split('/');
10
+ if (!group || !type) {
11
+ throw new Error('Invalid MIME type');
12
+ }
13
+ return `.${type}`;
14
+ };
15
+
16
+ exports.convertFileTypeToAcceptedFileExtension = convertFileTypeToAcceptedFileExtension;
17
+ //# sourceMappingURL=convertFileTypeToAcceptedFileType.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertFileTypeToAcceptedFileType.cjs","sources":["../../../../../src/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileType.ts"],"sourcesContent":["export const convertFileTypeToAcceptedFileExtension = (fileType: string) => {\n if (typeof fileType !== 'string' || !fileType.includes('/')) {\n throw new Error('Invalid MIME type');\n }\n // Remove any MIME parameter (e.g., \";charset=UTF-8\")\n const [typePart] = fileType.split(';');\n const [group, type] = typePart.trim().split('/');\n if (!group || !type) {\n throw new Error('Invalid MIME type');\n }\n return `.${type}`;\n};\n"],"names":[],"mappings":";;AAAa,MAAA,sCAAsC,GAAG,CAAC,QAAgB,KAAI;AACzE,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC3D,QAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;AACrC;;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACtC,IAAA,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;AACnB,QAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;AACrC;IACD,OAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;AACnB;;;;"}
@@ -0,0 +1 @@
1
+ export declare const convertFileTypeToAcceptedFileExtension: (fileType: string) => string;
@@ -0,0 +1,15 @@
1
+ const convertFileTypeToAcceptedFileExtension = (fileType) => {
2
+ if (typeof fileType !== 'string' || !fileType.includes('/')) {
3
+ throw new Error('Invalid MIME type');
4
+ }
5
+ // Remove any MIME parameter (e.g., ";charset=UTF-8")
6
+ const [typePart] = fileType.split(';');
7
+ const [group, type] = typePart.trim().split('/');
8
+ if (!group || !type) {
9
+ throw new Error('Invalid MIME type');
10
+ }
11
+ return `.${type}`;
12
+ };
13
+
14
+ export { convertFileTypeToAcceptedFileExtension };
15
+ //# sourceMappingURL=convertFileTypeToAcceptedFileType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertFileTypeToAcceptedFileType.js","sources":["../../../../../src/components/UploadFile/utils/convertFileTypeToAcceptedFileExtension/convertFileTypeToAcceptedFileType.ts"],"sourcesContent":["export const convertFileTypeToAcceptedFileExtension = (fileType: string) => {\n if (typeof fileType !== 'string' || !fileType.includes('/')) {\n throw new Error('Invalid MIME type');\n }\n // Remove any MIME parameter (e.g., \";charset=UTF-8\")\n const [typePart] = fileType.split(';');\n const [group, type] = typePart.trim().split('/');\n if (!group || !type) {\n throw new Error('Invalid MIME type');\n }\n return `.${type}`;\n};\n"],"names":[],"mappings":"AAAa,MAAA,sCAAsC,GAAG,CAAC,QAAgB,KAAI;AACzE,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC3D,QAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;AACrC;;IAED,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACtC,IAAA,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE;AACnB,QAAA,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC;AACrC;IACD,OAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE;AACnB;;;;"}
@@ -0,0 +1 @@
1
+ export { convertFileTypeToAcceptedFileExtension } from './convertFileTypeToAcceptedFileType';
@@ -3,30 +3,33 @@
3
3
  var constants = require('../../constants.cjs');
4
4
 
5
5
  /**
6
- * Constructs a string intended to be consumed by an <input> element of type "file". This string
7
- * should go inside the accept property
6
+ * Converts a file size in bytes to a human-readable string with the specified format unit.
8
7
  *
9
8
  * E.g.
10
9
  *
11
10
  * const maxSizeCopy = getFileSizeString({
12
- * maxBytes: 10000,
11
+ * maxBytes: 10000000,
13
12
  * format: FileSizeUnit.MB
14
13
  * });
15
14
  *
16
- * Where @constant maxSizeCopy would equal "Max size: 1 MB"
15
+ * Where @constant maxSizeCopy would equal "Maximum file size: 10 MB"
17
16
  *
18
- * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes
19
- * the returned string
17
+ * @param maxBytes - The file size in bytes to convert
18
+ * @param format - The unit format to display (KB or MB)
19
+ * @param baseString - Optional prefix string, defaults to "Maximum file size: "
20
+ * @param digits - Number of decimal places to show, defaults to 2 (strips any leading zeros)
21
+ * @returns A formatted string representing the file size
20
22
  */
21
- const getFileSizeString = ({ maxBytes, format, baseString }) => {
22
- const base = baseString == null ? 'Max size: ' : baseString;
23
+ const getFileSizeString = ({ maxBytes, format, baseString, digits = 2, }) => {
24
+ const base = baseString !== null && baseString !== undefined ? baseString : 'Maximum file size: ';
25
+ const getValue = (divisor) => parseFloat((maxBytes / divisor).toFixed(digits));
23
26
  switch (format) {
24
27
  case constants.FileSizeUnit.KB:
25
- return `${base}${Number(maxBytes) / 1000} KB`;
28
+ return `${base}${getValue(1000)} KB`;
26
29
  case constants.FileSizeUnit.MB:
27
- return `${base}${Number(maxBytes) / 1000000} MB`;
30
+ return `${base}${getValue(1000000)} MB`;
28
31
  default:
29
- return `${base}${Number(maxBytes) / 1000} KB`;
32
+ return `${base}${getValue(1000)} KB`;
30
33
  }
31
34
  };
32
35
 
@@ -1 +1 @@
1
- {"version":3,"file":"getFileSizeString.cjs","sources":["../../../../../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts"],"sourcesContent":["import { FileSizeUnit } from '../../constants';\n\ntype GetFileSizeStringProps = {\n maxBytes: number;\n format: FileSizeUnit;\n baseString?: string;\n};\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property \n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }: GetFileSizeStringProps) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n"],"names":["FileSizeUnit"],"mappings":";;;;AAOA;;;;;;;;;;;;;;;AAeG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAA0B,KAAI;AAC5F,IAAA,MAAM,IAAI,GAAG,UAAU,IAAI,IAAI,GAAG,YAAY,GAAG,UAAU;AAC3D,IAAA,QAAQ,MAAM;QACZ,KAAKA,sBAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA,GAAA,CAAK;QAC/C,KAAKA,sBAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAA,GAAA,CAAK;AAClD,QAAA;YACE,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA,GAAA,CAAK;AAChD;AACH;;;;"}
1
+ {"version":3,"file":"getFileSizeString.cjs","sources":["../../../../../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts"],"sourcesContent":["import { FileSizeUnit } from '../../constants';\n\ntype GetFileSizeStringProps = {\n maxBytes: number;\n format: FileSizeUnit;\n baseString?: string;\n digits?: number;\n};\n/**\n * Converts a file size in bytes to a human-readable string with the specified format unit.\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Maximum file size: 10 MB\"\n *\n * @param maxBytes - The file size in bytes to convert\n * @param format - The unit format to display (KB or MB)\n * @param baseString - Optional prefix string, defaults to \"Maximum file size: \"\n * @param digits - Number of decimal places to show, defaults to 2 (strips any leading zeros)\n * @returns A formatted string representing the file size\n */\nexport const getFileSizeString = ({\n maxBytes,\n format,\n baseString,\n digits = 2,\n}: GetFileSizeStringProps) => {\n const base = baseString ?? 'Maximum file size: ';\n const getValue = (divisor: number) => parseFloat((maxBytes / divisor).toFixed(digits));\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${getValue(1000)} KB`;\n case FileSizeUnit.MB:\n return `${base}${getValue(1000000)} MB`;\n default:\n return `${base}${getValue(1000)} KB`;\n }\n};\n"],"names":["FileSizeUnit"],"mappings":";;;;AAQA;;;;;;;;;;;;;;;;;AAiBG;AACU,MAAA,iBAAiB,GAAG,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,UAAU,EACV,MAAM,GAAG,CAAC,GACa,KAAI;IAC3B,MAAM,IAAI,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,SAAA,GAAA,UAAU,GAAI,qBAAqB;IAChD,MAAM,QAAQ,GAAG,CAAC,OAAe,KAAK,UAAU,CAAC,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACtF,IAAA,QAAQ,MAAM;QACZ,KAAKA,sBAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAG,EAAA,QAAQ,CAAC,IAAI,CAAC,KAAK;QACtC,KAAKA,sBAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAG,EAAA,QAAQ,CAAC,OAAO,CAAC,KAAK;AACzC,QAAA;YACE,OAAO,CAAA,EAAG,IAAI,CAAG,EAAA,QAAQ,CAAC,IAAI,CAAC,KAAK;AACvC;AACH;;;;"}
@@ -3,22 +3,25 @@ type GetFileSizeStringProps = {
3
3
  maxBytes: number;
4
4
  format: FileSizeUnit;
5
5
  baseString?: string;
6
+ digits?: number;
6
7
  };
7
8
  /**
8
- * Constructs a string intended to be consumed by an <input> element of type "file". This string
9
- * should go inside the accept property
9
+ * Converts a file size in bytes to a human-readable string with the specified format unit.
10
10
  *
11
11
  * E.g.
12
12
  *
13
13
  * const maxSizeCopy = getFileSizeString({
14
- * maxBytes: 10000,
14
+ * maxBytes: 10000000,
15
15
  * format: FileSizeUnit.MB
16
16
  * });
17
17
  *
18
- * Where @constant maxSizeCopy would equal "Max size: 1 MB"
18
+ * Where @constant maxSizeCopy would equal "Maximum file size: 10 MB"
19
19
  *
20
- * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes
21
- * the returned string
20
+ * @param maxBytes - The file size in bytes to convert
21
+ * @param format - The unit format to display (KB or MB)
22
+ * @param baseString - Optional prefix string, defaults to "Maximum file size: "
23
+ * @param digits - Number of decimal places to show, defaults to 2 (strips any leading zeros)
24
+ * @returns A formatted string representing the file size
22
25
  */
23
- export declare const getFileSizeString: ({ maxBytes, format, baseString }: GetFileSizeStringProps) => string;
26
+ export declare const getFileSizeString: ({ maxBytes, format, baseString, digits, }: GetFileSizeStringProps) => string;
24
27
  export {};
@@ -1,30 +1,33 @@
1
1
  import { FileSizeUnit } from '../../constants.js';
2
2
 
3
3
  /**
4
- * Constructs a string intended to be consumed by an <input> element of type "file". This string
5
- * should go inside the accept property
4
+ * Converts a file size in bytes to a human-readable string with the specified format unit.
6
5
  *
7
6
  * E.g.
8
7
  *
9
8
  * const maxSizeCopy = getFileSizeString({
10
- * maxBytes: 10000,
9
+ * maxBytes: 10000000,
11
10
  * format: FileSizeUnit.MB
12
11
  * });
13
12
  *
14
- * Where @constant maxSizeCopy would equal "Max size: 1 MB"
13
+ * Where @constant maxSizeCopy would equal "Maximum file size: 10 MB"
15
14
  *
16
- * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes
17
- * the returned string
15
+ * @param maxBytes - The file size in bytes to convert
16
+ * @param format - The unit format to display (KB or MB)
17
+ * @param baseString - Optional prefix string, defaults to "Maximum file size: "
18
+ * @param digits - Number of decimal places to show, defaults to 2 (strips any leading zeros)
19
+ * @returns A formatted string representing the file size
18
20
  */
19
- const getFileSizeString = ({ maxBytes, format, baseString }) => {
20
- const base = baseString == null ? 'Max size: ' : baseString;
21
+ const getFileSizeString = ({ maxBytes, format, baseString, digits = 2, }) => {
22
+ const base = baseString !== null && baseString !== undefined ? baseString : 'Maximum file size: ';
23
+ const getValue = (divisor) => parseFloat((maxBytes / divisor).toFixed(digits));
21
24
  switch (format) {
22
25
  case FileSizeUnit.KB:
23
- return `${base}${Number(maxBytes) / 1000} KB`;
26
+ return `${base}${getValue(1000)} KB`;
24
27
  case FileSizeUnit.MB:
25
- return `${base}${Number(maxBytes) / 1000000} MB`;
28
+ return `${base}${getValue(1000000)} MB`;
26
29
  default:
27
- return `${base}${Number(maxBytes) / 1000} KB`;
30
+ return `${base}${getValue(1000)} KB`;
28
31
  }
29
32
  };
30
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"getFileSizeString.js","sources":["../../../../../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts"],"sourcesContent":["import { FileSizeUnit } from '../../constants';\n\ntype GetFileSizeStringProps = {\n maxBytes: number;\n format: FileSizeUnit;\n baseString?: string;\n};\n/**\n * Constructs a string intended to be consumed by an <input> element of type \"file\". This string\n * should go inside the accept property \n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Max size: 1 MB\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * the returned string\n */\nexport const getFileSizeString = ({ maxBytes, format, baseString }: GetFileSizeStringProps) => {\n const base = baseString == null ? 'Max size: ' : baseString;\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${Number(maxBytes) / 1000} KB`;\n case FileSizeUnit.MB:\n return `${base}${Number(maxBytes) / 1000000} MB`;\n default:\n return `${base}${Number(maxBytes) / 1000} KB`;\n }\n};\n"],"names":[],"mappings":";;AAOA;;;;;;;;;;;;;;;AAeG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAA0B,KAAI;AAC5F,IAAA,MAAM,IAAI,GAAG,UAAU,IAAI,IAAI,GAAG,YAAY,GAAG,UAAU;AAC3D,IAAA,QAAQ,MAAM;QACZ,KAAK,YAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA,GAAA,CAAK;QAC/C,KAAK,YAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAA,GAAA,CAAK;AAClD,QAAA;YACE,OAAO,CAAA,EAAG,IAAI,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA,GAAA,CAAK;AAChD;AACH;;;;"}
1
+ {"version":3,"file":"getFileSizeString.js","sources":["../../../../../src/components/UploadFile/utils/getFileSizeString/getFileSizeString.ts"],"sourcesContent":["import { FileSizeUnit } from '../../constants';\n\ntype GetFileSizeStringProps = {\n maxBytes: number;\n format: FileSizeUnit;\n baseString?: string;\n digits?: number;\n};\n/**\n * Converts a file size in bytes to a human-readable string with the specified format unit.\n *\n * E.g.\n *\n * const maxSizeCopy = getFileSizeString({\n * maxBytes: 10000000,\n * format: FileSizeUnit.MB\n * });\n *\n * Where @constant maxSizeCopy would equal \"Maximum file size: 10 MB\"\n *\n * @param maxBytes - The file size in bytes to convert\n * @param format - The unit format to display (KB or MB)\n * @param baseString - Optional prefix string, defaults to \"Maximum file size: \"\n * @param digits - Number of decimal places to show, defaults to 2 (strips any leading zeros)\n * @returns A formatted string representing the file size\n */\nexport const getFileSizeString = ({\n maxBytes,\n format,\n baseString,\n digits = 2,\n}: GetFileSizeStringProps) => {\n const base = baseString ?? 'Maximum file size: ';\n const getValue = (divisor: number) => parseFloat((maxBytes / divisor).toFixed(digits));\n switch (format) {\n case FileSizeUnit.KB:\n return `${base}${getValue(1000)} KB`;\n case FileSizeUnit.MB:\n return `${base}${getValue(1000000)} MB`;\n default:\n return `${base}${getValue(1000)} KB`;\n }\n};\n"],"names":[],"mappings":";;AAQA;;;;;;;;;;;;;;;;;AAiBG;AACU,MAAA,iBAAiB,GAAG,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,UAAU,EACV,MAAM,GAAG,CAAC,GACa,KAAI;IAC3B,MAAM,IAAI,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,SAAA,GAAA,UAAU,GAAI,qBAAqB;IAChD,MAAM,QAAQ,GAAG,CAAC,OAAe,KAAK,UAAU,CAAC,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AACtF,IAAA,QAAQ,MAAM;QACZ,KAAK,YAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAG,EAAA,QAAQ,CAAC,IAAI,CAAC,KAAK;QACtC,KAAK,YAAY,CAAC,EAAE;YAClB,OAAO,CAAA,EAAG,IAAI,CAAG,EAAA,QAAQ,CAAC,OAAO,CAAC,KAAK;AACzC,QAAA;YACE,OAAO,CAAA,EAAG,IAAI,CAAG,EAAA,QAAQ,CAAC,IAAI,CAAC,KAAK;AACvC;AACH;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('../../constants.cjs');
4
-
5
3
  /**
6
4
  * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the
7
5
  * fileTypes list passed as parameter.
@@ -21,34 +19,22 @@ var constants = require('../../constants.cjs');
21
19
  * the returned string
22
20
  */
23
21
  const getValidTypesString = ({ fileTypes, baseString }) => {
24
- let base = baseString == null ? 'Valid types: ' : baseString;
25
- fileTypes.forEach((fileType, index, list) => {
26
- const iterable = list.length > 1;
27
- const isLast = index === list.length - 1 && iterable;
28
- const isPenultimate = index === list.length - 2 && iterable;
29
- if (isLast)
30
- base += ' and ';
31
- switch (fileType) {
32
- case constants.AcceptedFileTypes.CSV:
33
- base += 'CSV';
34
- break;
35
- case constants.AcceptedFileTypes.GIF:
36
- base += 'GIF';
37
- break;
38
- case constants.AcceptedFileTypes.JPEG:
39
- base += 'JPEG';
40
- break;
41
- case constants.AcceptedFileTypes.JPG:
42
- base += 'JPG';
43
- break;
44
- case constants.AcceptedFileTypes.PNG:
45
- base += 'PNG';
46
- break;
47
- }
48
- if (!isPenultimate && !isLast && list.length > 2)
49
- base += ', ';
50
- });
51
- return base;
22
+ // Remove leading dot and uppercase for display
23
+ const getDisplayType = (fileType) => fileType.replace(/^\./, '').toUpperCase();
24
+ if (!fileTypes.length)
25
+ return baseString !== null && baseString !== undefined ? baseString : '';
26
+ const displayTypes = fileTypes.map(getDisplayType);
27
+ let result = baseString == null ? 'Valid file types: ' : baseString;
28
+ if (displayTypes.length === 1) {
29
+ result += displayTypes[0];
30
+ }
31
+ else if (displayTypes.length === 2) {
32
+ result += `${displayTypes[0]} and ${displayTypes[1]}`;
33
+ }
34
+ else {
35
+ result += `${displayTypes.slice(0, -1).join(', ')} and ${displayTypes[displayTypes.length - 1]}`;
36
+ }
37
+ return result;
52
38
  };
53
39
 
54
40
  exports.getValidTypesString = getValidTypesString;
@@ -1 +1 @@
1
- {"version":3,"file":"getValidTypesString.cjs","sources":["../../../../../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts"],"sourcesContent":["import { AcceptedFileTypes } from '../../constants';\n\ntype GetValidTypesStringProps = {\n fileTypes: Array<AcceptedFileTypes>;\n baseString?: string;\n};\n\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }: GetValidTypesStringProps) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n\n if (isLast) base += ' and ';\n\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n\n if (!isPenultimate && !isLast && list.length > 2) base += ', ';\n });\n return base;\n};\n"],"names":["AcceptedFileTypes"],"mappings":";;;;AAOA;;;;;;;;;;;;;;;;;AAiBG;AACU,MAAA,mBAAmB,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAA4B,KAAI;AACzF,IAAA,IAAI,IAAI,GAAG,UAAU,IAAI,IAAI,GAAG,eAAe,GAAG,UAAU;IAC5D,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,KAAI;AAC1C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ;QACpD,MAAM,aAAa,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ;AAE3D,QAAA,IAAI,MAAM;YAAE,IAAI,IAAI,OAAO;AAE3B,QAAA,QAAQ,QAAQ;YACd,KAAKA,2BAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;YACF,KAAKA,2BAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;YACF,KAAKA,2BAAiB,CAAC,IAAI;gBACzB,IAAI,IAAI,MAAM;gBACd;YACF,KAAKA,2BAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;YACF,KAAKA,2BAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;AAGH;QAED,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,IAAI,IAAI;AAChE,KAAC,CAAC;AACF,IAAA,OAAO,IAAI;AACb;;;;"}
1
+ {"version":3,"file":"getValidTypesString.cjs","sources":["../../../../../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts"],"sourcesContent":["import { AcceptedFileTypes } from '../../constants';\n\ntype GetValidTypesStringProps = {\n fileTypes: Array<AcceptedFileTypes>;\n baseString?: string;\n};\n\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }: GetValidTypesStringProps) => {\n // Remove leading dot and uppercase for display\n const getDisplayType = (fileType: AcceptedFileTypes) => fileType.replace(/^\\./, '').toUpperCase();\n\n if (!fileTypes.length) return baseString ?? '';\n\n const displayTypes = fileTypes.map(getDisplayType);\n\n let result = baseString == null ? 'Valid file types: ' : baseString;\n\n if (displayTypes.length === 1) {\n result += displayTypes[0];\n } else if (displayTypes.length === 2) {\n result += `${displayTypes[0]} and ${displayTypes[1]}`;\n } else {\n result += `${displayTypes.slice(0, -1).join(', ')} and ${displayTypes[displayTypes.length - 1]}`;\n }\n\n return result;\n};\n"],"names":[],"mappings":";;AAOA;;;;;;;;;;;;;;;;;AAiBG;AACU,MAAA,mBAAmB,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAA4B,KAAI;;AAEzF,IAAA,MAAM,cAAc,GAAG,CAAC,QAA2B,KAAK,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;IAEjG,IAAI,CAAC,SAAS,CAAC,MAAM;AAAE,QAAA,OAAO,UAAU,KAAV,IAAA,IAAA,UAAU,iBAAV,UAAU,GAAI,EAAE;IAE9C,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AAElD,IAAA,IAAI,MAAM,GAAG,UAAU,IAAI,IAAI,GAAG,oBAAoB,GAAG,UAAU;AAEnE,IAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,QAAA,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC;AAC1B;AAAM,SAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,QAAA,MAAM,IAAI,CAAA,EAAG,YAAY,CAAC,CAAC,CAAC,CAAQ,KAAA,EAAA,YAAY,CAAC,CAAC,CAAC,CAAA,CAAE;AACtD;AAAM,SAAA;QACL,MAAM,IAAI,CAAG,EAAA,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAQ,KAAA,EAAA,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,CAAE;AACjG;AAED,IAAA,OAAO,MAAM;AACf;;;;"}
@@ -1,5 +1,3 @@
1
- import { AcceptedFileTypes } from '../../constants.js';
2
-
3
1
  /**
4
2
  * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the
5
3
  * fileTypes list passed as parameter.
@@ -19,34 +17,22 @@ import { AcceptedFileTypes } from '../../constants.js';
19
17
  * the returned string
20
18
  */
21
19
  const getValidTypesString = ({ fileTypes, baseString }) => {
22
- let base = baseString == null ? 'Valid types: ' : baseString;
23
- fileTypes.forEach((fileType, index, list) => {
24
- const iterable = list.length > 1;
25
- const isLast = index === list.length - 1 && iterable;
26
- const isPenultimate = index === list.length - 2 && iterable;
27
- if (isLast)
28
- base += ' and ';
29
- switch (fileType) {
30
- case AcceptedFileTypes.CSV:
31
- base += 'CSV';
32
- break;
33
- case AcceptedFileTypes.GIF:
34
- base += 'GIF';
35
- break;
36
- case AcceptedFileTypes.JPEG:
37
- base += 'JPEG';
38
- break;
39
- case AcceptedFileTypes.JPG:
40
- base += 'JPG';
41
- break;
42
- case AcceptedFileTypes.PNG:
43
- base += 'PNG';
44
- break;
45
- }
46
- if (!isPenultimate && !isLast && list.length > 2)
47
- base += ', ';
48
- });
49
- return base;
20
+ // Remove leading dot and uppercase for display
21
+ const getDisplayType = (fileType) => fileType.replace(/^\./, '').toUpperCase();
22
+ if (!fileTypes.length)
23
+ return baseString !== null && baseString !== undefined ? baseString : '';
24
+ const displayTypes = fileTypes.map(getDisplayType);
25
+ let result = baseString == null ? 'Valid file types: ' : baseString;
26
+ if (displayTypes.length === 1) {
27
+ result += displayTypes[0];
28
+ }
29
+ else if (displayTypes.length === 2) {
30
+ result += `${displayTypes[0]} and ${displayTypes[1]}`;
31
+ }
32
+ else {
33
+ result += `${displayTypes.slice(0, -1).join(', ')} and ${displayTypes[displayTypes.length - 1]}`;
34
+ }
35
+ return result;
50
36
  };
51
37
 
52
38
  export { getValidTypesString };
@@ -1 +1 @@
1
- {"version":3,"file":"getValidTypesString.js","sources":["../../../../../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts"],"sourcesContent":["import { AcceptedFileTypes } from '../../constants';\n\ntype GetValidTypesStringProps = {\n fileTypes: Array<AcceptedFileTypes>;\n baseString?: string;\n};\n\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }: GetValidTypesStringProps) => {\n let base = baseString == null ? 'Valid types: ' : baseString;\n fileTypes.forEach((fileType, index, list) => {\n const iterable = list.length > 1;\n const isLast = index === list.length - 1 && iterable;\n const isPenultimate = index === list.length - 2 && iterable;\n\n if (isLast) base += ' and ';\n\n switch (fileType) {\n case AcceptedFileTypes.CSV:\n base += 'CSV';\n break;\n case AcceptedFileTypes.GIF:\n base += 'GIF';\n break;\n case AcceptedFileTypes.JPEG:\n base += 'JPEG';\n break;\n case AcceptedFileTypes.JPG:\n base += 'JPG';\n break;\n case AcceptedFileTypes.PNG:\n base += 'PNG';\n break;\n default:\n break;\n }\n\n if (!isPenultimate && !isLast && list.length > 2) base += ', ';\n });\n return base;\n};\n"],"names":[],"mappings":";;AAOA;;;;;;;;;;;;;;;;;AAiBG;AACU,MAAA,mBAAmB,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAA4B,KAAI;AACzF,IAAA,IAAI,IAAI,GAAG,UAAU,IAAI,IAAI,GAAG,eAAe,GAAG,UAAU;IAC5D,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,KAAI;AAC1C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ;QACpD,MAAM,aAAa,GAAG,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ;AAE3D,QAAA,IAAI,MAAM;YAAE,IAAI,IAAI,OAAO;AAE3B,QAAA,QAAQ,QAAQ;YACd,KAAK,iBAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;YACF,KAAK,iBAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;YACF,KAAK,iBAAiB,CAAC,IAAI;gBACzB,IAAI,IAAI,MAAM;gBACd;YACF,KAAK,iBAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;YACF,KAAK,iBAAiB,CAAC,GAAG;gBACxB,IAAI,IAAI,KAAK;gBACb;AAGH;QAED,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,IAAI,IAAI;AAChE,KAAC,CAAC;AACF,IAAA,OAAO,IAAI;AACb;;;;"}
1
+ {"version":3,"file":"getValidTypesString.js","sources":["../../../../../src/components/UploadFile/utils/getValidTypesString/getValidTypesString.ts"],"sourcesContent":["import { AcceptedFileTypes } from '../../constants';\n\ntype GetValidTypesStringProps = {\n fileTypes: Array<AcceptedFileTypes>;\n baseString?: string;\n};\n\n/**\n * Constructs a user-friendly string of accepted types valid for the UploadFile component based on the\n * fileTypes list passed as parameter.\n *\n * E.g.\n *\n * const validTypesCopy = getValidTypesString({\n * fileTypes: [\n * AcceptedFileTypes.CSV,\n * ]\n * });\n *\n * Where @constant validTypesCopy would equal \"Valid types: CSV\"\n *\n * @param fileTypes - A list of file types, each value being of @type AcceptedFileTypes\n * @param baseString - An optional string to override the default value of 'Valid types: ' prefixed to\n * the returned string\n */\nexport const getValidTypesString = ({ fileTypes, baseString }: GetValidTypesStringProps) => {\n // Remove leading dot and uppercase for display\n const getDisplayType = (fileType: AcceptedFileTypes) => fileType.replace(/^\\./, '').toUpperCase();\n\n if (!fileTypes.length) return baseString ?? '';\n\n const displayTypes = fileTypes.map(getDisplayType);\n\n let result = baseString == null ? 'Valid file types: ' : baseString;\n\n if (displayTypes.length === 1) {\n result += displayTypes[0];\n } else if (displayTypes.length === 2) {\n result += `${displayTypes[0]} and ${displayTypes[1]}`;\n } else {\n result += `${displayTypes.slice(0, -1).join(', ')} and ${displayTypes[displayTypes.length - 1]}`;\n }\n\n return result;\n};\n"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;AAiBG;AACU,MAAA,mBAAmB,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAA4B,KAAI;;AAEzF,IAAA,MAAM,cAAc,GAAG,CAAC,QAA2B,KAAK,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;IAEjG,IAAI,CAAC,SAAS,CAAC,MAAM;AAAE,QAAA,OAAO,UAAU,KAAV,IAAA,IAAA,UAAU,iBAAV,UAAU,GAAI,EAAE;IAE9C,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AAElD,IAAA,IAAI,MAAM,GAAG,UAAU,IAAI,IAAI,GAAG,oBAAoB,GAAG,UAAU;AAEnE,IAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC7B,QAAA,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC;AAC1B;AAAM,SAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,QAAA,MAAM,IAAI,CAAA,EAAG,YAAY,CAAC,CAAC,CAAC,CAAQ,KAAA,EAAA,YAAY,CAAC,CAAC,CAAC,CAAA,CAAE;AACtD;AAAM,SAAA;QACL,MAAM,IAAI,CAAG,EAAA,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAQ,KAAA,EAAA,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA,CAAE;AACjG;AAED,IAAA,OAAO,MAAM;AACf;;;;"}
@@ -1,4 +1,3 @@
1
1
  export { getValidTypesString } from './getValidTypesString/getValidTypesString';
2
2
  export { getFileSizeString } from './getFileSizeString/getFileSizeString';
3
3
  export { getTypePropForInputEl } from './getTypePropForInputEl/getTypePropForInputEl';
4
- export { setInputElFile } from './setInputElFile/setInputElFile';
@@ -0,0 +1 @@
1
+ export { isImageType } from './isImageType';
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ const isImageType = (file) => {
4
+ if (!file)
5
+ return false;
6
+ const fileType = file.type.split('/');
7
+ if (fileType[0] === 'image') {
8
+ return true;
9
+ }
10
+ return false;
11
+ };
12
+
13
+ exports.isImageType = isImageType;
14
+ //# sourceMappingURL=isImageType.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isImageType.cjs","sources":["../../../../../src/components/UploadFile/utils/isImageType/isImageType.ts"],"sourcesContent":["export const isImageType = (file?: File | null) => {\n if (!file) return false;\n\n const fileType = file.type.split('/');\n\n if (fileType[0] === 'image') {\n return true;\n }\n\n return false;\n};\n"],"names":[],"mappings":";;AAAa,MAAA,WAAW,GAAG,CAAC,IAAkB,KAAI;AAChD,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,KAAK;IAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAErC,IAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;AAC3B,QAAA,OAAO,IAAI;AACZ;AAED,IAAA,OAAO,KAAK;AACd;;;;"}
@@ -0,0 +1 @@
1
+ export declare const isImageType: (file?: File | null) => boolean;