@chem-po/react-native 0.0.25 → 0.0.27

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 (63) hide show
  1. package/lib/commonjs/components/form/UploadProgress/index.js +8 -17
  2. package/lib/commonjs/components/form/UploadProgress/index.js.map +1 -1
  3. package/lib/commonjs/components/form/input/file/index.js +74 -9
  4. package/lib/commonjs/components/form/input/file/index.js.map +1 -1
  5. package/lib/commonjs/components/image/ImageViewModal.js +52 -2
  6. package/lib/commonjs/components/image/ImageViewModal.js.map +1 -1
  7. package/lib/commonjs/components/loading/LoadingImage.js +8 -2
  8. package/lib/commonjs/components/loading/LoadingImage.js.map +1 -1
  9. package/lib/commonjs/components/loading/ProgressBar.js +78 -0
  10. package/lib/commonjs/components/loading/ProgressBar.js.map +1 -0
  11. package/lib/commonjs/components/loading/index.js +11 -0
  12. package/lib/commonjs/components/loading/index.js.map +1 -1
  13. package/lib/commonjs/utils/downloadFile.js +43 -0
  14. package/lib/commonjs/utils/downloadFile.js.map +1 -0
  15. package/lib/module/components/form/UploadProgress/index.js +6 -15
  16. package/lib/module/components/form/UploadProgress/index.js.map +1 -1
  17. package/lib/module/components/form/input/file/index.js +75 -10
  18. package/lib/module/components/form/input/file/index.js.map +1 -1
  19. package/lib/module/components/image/ImageViewModal.js +53 -3
  20. package/lib/module/components/image/ImageViewModal.js.map +1 -1
  21. package/lib/module/components/loading/LoadingImage.js +8 -2
  22. package/lib/module/components/loading/LoadingImage.js.map +1 -1
  23. package/lib/module/components/loading/ProgressBar.js +70 -0
  24. package/lib/module/components/loading/ProgressBar.js.map +1 -0
  25. package/lib/module/components/loading/index.js +1 -0
  26. package/lib/module/components/loading/index.js.map +1 -1
  27. package/lib/module/utils/downloadFile.js +35 -0
  28. package/lib/module/utils/downloadFile.js.map +1 -0
  29. package/lib/typescript/components/form/UploadProgress/index.d.ts.map +1 -1
  30. package/lib/typescript/components/form/input/file/index.d.ts +6 -3
  31. package/lib/typescript/components/form/input/file/index.d.ts.map +1 -1
  32. package/lib/typescript/components/image/ImageViewModal.d.ts +3 -0
  33. package/lib/typescript/components/image/ImageViewModal.d.ts.map +1 -1
  34. package/lib/typescript/components/loading/LoadingImage.d.ts +4 -1
  35. package/lib/typescript/components/loading/LoadingImage.d.ts.map +1 -1
  36. package/lib/typescript/components/loading/ProgressBar.d.ts +7 -0
  37. package/lib/typescript/components/loading/ProgressBar.d.ts.map +1 -0
  38. package/lib/typescript/components/loading/index.d.ts +1 -0
  39. package/lib/typescript/components/loading/index.d.ts.map +1 -1
  40. package/lib/typescript/utils/downloadFile.d.ts +4 -0
  41. package/lib/typescript/utils/downloadFile.d.ts.map +1 -0
  42. package/package.json +4 -3
  43. package/src/components/form/UploadProgress/index.tsx +3 -17
  44. package/src/components/form/input/file/index.tsx +77 -8
  45. package/src/components/image/ImageViewModal.tsx +57 -2
  46. package/src/components/loading/LoadingImage.tsx +16 -1
  47. package/src/components/loading/ProgressBar.tsx +75 -0
  48. package/src/components/loading/index.ts +1 -0
  49. package/src/utils/downloadFile.ts +36 -0
  50. package/lib/commonjs/components/image/ImageViewModal.backup.js +0 -285
  51. package/lib/commonjs/components/image/ImageViewModal.backup.js.map +0 -1
  52. package/lib/commonjs/components/image/ImageViewModal.old.js +0 -285
  53. package/lib/commonjs/components/image/ImageViewModal.old.js.map +0 -1
  54. package/lib/module/components/image/ImageViewModal.backup.js +0 -277
  55. package/lib/module/components/image/ImageViewModal.backup.js.map +0 -1
  56. package/lib/module/components/image/ImageViewModal.old.js +0 -277
  57. package/lib/module/components/image/ImageViewModal.old.js.map +0 -1
  58. package/lib/typescript/components/image/ImageViewModal.backup.d.ts +0 -9
  59. package/lib/typescript/components/image/ImageViewModal.backup.d.ts.map +0 -1
  60. package/lib/typescript/components/image/ImageViewModal.old.d.ts +0 -9
  61. package/lib/typescript/components/image/ImageViewModal.old.d.ts.map +0 -1
  62. package/src/components/image/ImageViewModal.backup.tsx +0 -261
  63. package/src/components/image/ImageViewModal.old.tsx +0 -261
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.downloadFile = void 0;
7
+ var FileSystem = _interopRequireWildcard(require("expo-file-system"));
8
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
+ const downloadFile = async (uri, filename, fileType) => {
10
+ const permissions = await FileSystem.StorageAccessFramework.requestDirectoryPermissionsAsync();
11
+ if (!permissions.granted) {
12
+ return;
13
+ }
14
+
15
+ // Download to temporary location first
16
+ const tempFileUri = `${FileSystem.cacheDirectory}${filename}`;
17
+
18
+ // Download the file to temporary location
19
+ await FileSystem.downloadAsync(uri, tempFileUri);
20
+
21
+ // Read the temporary file as base64
22
+ const base64Content = await FileSystem.readAsStringAsync(tempFileUri, {
23
+ encoding: FileSystem.EncodingType.Base64
24
+ });
25
+
26
+ // Create a file within the selected directory using SAF
27
+ const fileUri = await FileSystem.StorageAccessFramework.createFileAsync(permissions.directoryUri, filename, fileType);
28
+
29
+ // Write the content to the SAF file
30
+ await FileSystem.StorageAccessFramework.writeAsStringAsync(fileUri, base64Content, {
31
+ encoding: FileSystem.EncodingType.Base64
32
+ });
33
+
34
+ // Clean up temporary file
35
+ await FileSystem.deleteAsync(tempFileUri, {
36
+ idempotent: true
37
+ });
38
+ return {
39
+ uri: fileUri
40
+ };
41
+ };
42
+ exports.downloadFile = downloadFile;
43
+ //# sourceMappingURL=downloadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FileSystem","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","downloadFile","uri","filename","fileType","permissions","StorageAccessFramework","requestDirectoryPermissionsAsync","granted","tempFileUri","cacheDirectory","downloadAsync","base64Content","readAsStringAsync","encoding","EncodingType","Base64","fileUri","createFileAsync","directoryUri","writeAsStringAsync","deleteAsync","idempotent","exports"],"sourceRoot":"..\\..\\..\\src","sources":["utils/downloadFile.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA8C,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEvC,MAAMkB,YAAY,GAAG,MAAAA,CAAOC,GAAW,EAAEC,QAAgB,EAAEC,QAAgB,KAAK;EACrF,MAAMC,WAAW,GAAG,MAAM1B,UAAU,CAAC2B,sBAAsB,CAACC,gCAAgC,CAAC,CAAC;EAC9F,IAAI,CAACF,WAAW,CAACG,OAAO,EAAE;IACxB;EACF;;EAEA;EACA,MAAMC,WAAW,GAAG,GAAG9B,UAAU,CAAC+B,cAAc,GAAGP,QAAQ,EAAE;;EAE7D;EACA,MAAMxB,UAAU,CAACgC,aAAa,CAACT,GAAG,EAAEO,WAAW,CAAC;;EAEhD;EACA,MAAMG,aAAa,GAAG,MAAMjC,UAAU,CAACkC,iBAAiB,CAACJ,WAAW,EAAE;IACpEK,QAAQ,EAAEnC,UAAU,CAACoC,YAAY,CAACC;EACpC,CAAC,CAAC;;EAEF;EACA,MAAMC,OAAO,GAAG,MAAMtC,UAAU,CAAC2B,sBAAsB,CAACY,eAAe,CACrEb,WAAW,CAACc,YAAY,EACxBhB,QAAQ,EACRC,QACF,CAAC;;EAED;EACA,MAAMzB,UAAU,CAAC2B,sBAAsB,CAACc,kBAAkB,CAACH,OAAO,EAAEL,aAAa,EAAE;IACjFE,QAAQ,EAAEnC,UAAU,CAACoC,YAAY,CAACC;EACpC,CAAC,CAAC;;EAEF;EACA,MAAMrC,UAAU,CAAC0C,WAAW,CAACZ,WAAW,EAAE;IAAEa,UAAU,EAAE;EAAK,CAAC,CAAC;EAE/D,OAAO;IAAEpB,GAAG,EAAEe;EAAQ,CAAC;AACzB,CAAC;AAAAM,OAAA,CAAAtB,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import { useThemeValue } from '@chem-po/react';
2
1
  import React, { useMemo } from 'react';
3
- import { Animated, StyleSheet, Text, View } from 'react-native';
2
+ import { StyleSheet, View } from 'react-native';
3
+ import { ProgressBar } from '../../loading/ProgressBar';
4
4
  const styles = StyleSheet.create({
5
5
  container: {
6
6
  width: '100%',
@@ -41,21 +41,12 @@ export const UploadProgress = ({
41
41
  uploads
42
42
  }) => {
43
43
  const asArr = useMemo(() => Object.values(uploads), [uploads]);
44
- const accentColor = useThemeValue('colors.accent.300');
45
44
  return /*#__PURE__*/React.createElement(View, {
46
45
  style: styles.container
47
- }, asArr.map(upload => /*#__PURE__*/React.createElement(Animated.View, {
46
+ }, asArr.map(upload => /*#__PURE__*/React.createElement(ProgressBar, {
48
47
  key: upload.label,
49
- style: styles.progressContainer
50
- }, /*#__PURE__*/React.createElement(View, {
51
- style: styles.progressBar
52
- }, /*#__PURE__*/React.createElement(Animated.View, {
53
- style: [styles.progressFill, {
54
- width: `${upload.percent * 100}%`,
55
- backgroundColor: accentColor
56
- }]
57
- })), /*#__PURE__*/React.createElement(Text, {
58
- style: styles.label
59
- }, upload.label))));
48
+ progress: upload.percent,
49
+ label: upload.label
50
+ })));
60
51
  };
61
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useThemeValue","React","useMemo","Animated","StyleSheet","Text","View","styles","create","container","width","flexDirection","progressContainer","paddingHorizontal","height","justifyContent","alignItems","progressBar","borderRadius","backgroundColor","overflow","progressFill","label","position","color","fontSize","fontWeight","textTransform","textShadowColor","textShadowOffset","textShadowRadius","UploadProgress","uploads","asArr","Object","values","accentColor","createElement","style","map","upload","key","percent"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/form/UploadProgress/index.tsx"],"mappings":"AACA,SAASA,aAAa,QAAQ,gBAAgB;AAC9C,OAAOC,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAE/D,MAAMC,MAAM,GAAGH,UAAU,CAACI,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE;EACjB,CAAC;EACDC,iBAAiB,EAAE;IACjBC,iBAAiB,EAAE,CAAC;IACpBC,MAAM,EAAE,EAAE;IACVJ,KAAK,EAAE,MAAM;IACbK,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDC,WAAW,EAAE;IACXH,MAAM,EAAE,MAAM;IACdJ,KAAK,EAAE,MAAM;IACbQ,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,oBAAoB;IACrCC,QAAQ,EAAE;EACZ,CAAC;EACDC,YAAY,EAAE;IACZP,MAAM,EAAE;EACV,CAAC;EACDQ,KAAK,EAAE;IACLC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,OAAO;IACdC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE,WAAW;IAC1BC,eAAe,EAAE,qBAAqB;IACtCC,gBAAgB,EAAE;MAAEnB,KAAK,EAAE,CAAC;MAAEI,MAAM,EAAE;IAAE,CAAC;IACzCgB,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAAmC,CAAC,KAAK;EACxE,MAAMC,KAAK,GAAG/B,OAAO,CAAC,MAAMgC,MAAM,CAACC,MAAM,CAACH,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAE9D,MAAMI,WAAW,GAAGpC,aAAa,CAAC,mBAAmB,CAAC;EACtD,oBACEC,KAAA,CAAAoC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAE/B,MAAM,CAACE;EAAU,GAC3BwB,KAAK,CAACM,GAAG,CAACC,MAAM,iBACfvC,KAAA,CAAAoC,aAAA,CAAClC,QAAQ,CAACG,IAAI;IAACmC,GAAG,EAAED,MAAM,CAAClB,KAAM;IAACgB,KAAK,EAAE/B,MAAM,CAACK;EAAkB,gBAChEX,KAAA,CAAAoC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAE/B,MAAM,CAACU;EAAY,gBAC9BhB,KAAA,CAAAoC,aAAA,CAAClC,QAAQ,CAACG,IAAI;IACZgC,KAAK,EAAE,CACL/B,MAAM,CAACc,YAAY,EACnB;MACEX,KAAK,EAAE,GAAG8B,MAAM,CAACE,OAAO,GAAG,GAAG,GAAG;MACjCvB,eAAe,EAAEiB;IACnB,CAAC;EACD,CACH,CACG,CAAC,eACPnC,KAAA,CAAAoC,aAAA,CAAChC,IAAI;IAACiC,KAAK,EAAE/B,MAAM,CAACe;EAAM,GAAEkB,MAAM,CAAClB,KAAY,CAClC,CAChB,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","StyleSheet","View","ProgressBar","styles","create","container","width","flexDirection","progressContainer","paddingHorizontal","height","justifyContent","alignItems","progressBar","borderRadius","backgroundColor","overflow","progressFill","label","position","color","fontSize","fontWeight","textTransform","textShadowColor","textShadowOffset","textShadowRadius","UploadProgress","uploads","asArr","Object","values","createElement","style","map","upload","key","progress","percent"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/form/UploadProgress/index.tsx"],"mappings":"AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,WAAW,QAAQ,2BAA2B;AAEvD,MAAMC,MAAM,GAAGH,UAAU,CAACI,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE;EACjB,CAAC;EACDC,iBAAiB,EAAE;IACjBC,iBAAiB,EAAE,CAAC;IACpBC,MAAM,EAAE,EAAE;IACVJ,KAAK,EAAE,MAAM;IACbK,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDC,WAAW,EAAE;IACXH,MAAM,EAAE,MAAM;IACdJ,KAAK,EAAE,MAAM;IACbQ,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,oBAAoB;IACrCC,QAAQ,EAAE;EACZ,CAAC;EACDC,YAAY,EAAE;IACZP,MAAM,EAAE;EACV,CAAC;EACDQ,KAAK,EAAE;IACLC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,OAAO;IACdC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE,WAAW;IAC1BC,eAAe,EAAE,qBAAqB;IACtCC,gBAAgB,EAAE;MAAEnB,KAAK,EAAE,CAAC;MAAEI,MAAM,EAAE;IAAE,CAAC;IACzCgB,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,cAAc,GAAGA,CAAC;EAAEC;AAAmC,CAAC,KAAK;EACxE,MAAMC,KAAK,GAAG9B,OAAO,CAAC,MAAM+B,MAAM,CAACC,MAAM,CAACH,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAE9D,oBACE9B,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAE9B,MAAM,CAACE;EAAU,GAC3BwB,KAAK,CAACK,GAAG,CAACC,MAAM,iBACfrC,KAAA,CAAAkC,aAAA,CAAC9B,WAAW;IAACkC,GAAG,EAAED,MAAM,CAACjB,KAAM;IAACmB,QAAQ,EAAEF,MAAM,CAACG,OAAQ;IAACpB,KAAK,EAAEiB,MAAM,CAACjB;EAAM,CAAE,CACjF,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -1,9 +1,10 @@
1
- import { useBorderColor, useIconColor, useObjectUrl, usePlaceholderColor, useTextColor } from '@chem-po/react';
1
+ import { useBackgroundColor, useBorderColor, useIconColor, useObjectUrl, usePlaceholderColor, useTextColor, useToast } from '@chem-po/react';
2
2
  import { Ionicons } from '@expo/vector-icons';
3
3
  import * as DocumentPicker from 'expo-document-picker';
4
4
  import * as ImagePicker from 'expo-image-picker';
5
5
  import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react';
6
6
  import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
7
+ import { downloadFile } from '../../../../utils/downloadFile';
7
8
  import { LoadingImage } from '../../../loading/LoadingImage';
8
9
  const fallbackAccept = 'image/jpg,image/jpeg,image/png,image/svg,image/gif,application/pdf,audio/mp3,audio/wav,audio/x-wav,audio/webm,audio/ogg';
9
10
  const generateAccept = field => {
@@ -42,7 +43,9 @@ export const FileView = ({
42
43
  value,
43
44
  hasUpload,
44
45
  imageOptions,
45
- withFullView
46
+ withFullView,
47
+ nonImageContainerStyle,
48
+ withDownload
46
49
  }) => {
47
50
  var _value$type;
48
51
  const {
@@ -54,9 +57,42 @@ export const FileView = ({
54
57
  url,
55
58
  loading
56
59
  } = useObjectUrl(value);
60
+ const {
61
+ showError,
62
+ showSuccess
63
+ } = useToast();
57
64
  const iconColor = useIconColor();
58
65
  const fileNameColor = useTextColor();
59
66
  const borderColor = useBorderColor();
67
+ const backgroundColor = useBackgroundColor(100);
68
+ const handleDownload = useCallback(async () => {
69
+ var _value$filename;
70
+ if (!url) {
71
+ showError('File URL is not available');
72
+ return;
73
+ }
74
+ const filename = value === null || value === void 0 || (_value$filename = value.filename) === null || _value$filename === void 0 || (_value$filename = _value$filename.split('/').pop()) === null || _value$filename === void 0 ? void 0 : _value$filename.replace(/\s+/g, '_');
75
+ if (!filename) {
76
+ showError('Filename is not available');
77
+ return;
78
+ }
79
+ const fileType = value === null || value === void 0 ? void 0 : value.type;
80
+ if (!fileType) {
81
+ showError('File type is not available');
82
+ return;
83
+ }
84
+ try {
85
+ await downloadFile(url, filename, fileType);
86
+ showSuccess('File downloaded successfully');
87
+ } catch (error) {
88
+ if (error instanceof Error) {
89
+ console.error('Error downloading file:', error.message);
90
+ } else {
91
+ console.error('Error downloading file:', String(error));
92
+ }
93
+ showError('Failed to download file');
94
+ }
95
+ }, [url, value, showError, showSuccess]);
60
96
  if (!value || missingFile) {
61
97
  return /*#__PURE__*/React.createElement(NoFileView, {
62
98
  hasUpload: hasUpload
@@ -64,7 +100,10 @@ export const FileView = ({
64
100
  }
65
101
  if ((_value$type = value.type) !== null && _value$type !== void 0 && _value$type.startsWith('image/')) {
66
102
  return /*#__PURE__*/React.createElement(LoadingImage, {
103
+ withDownload: withDownload,
104
+ filename: value.filename,
67
105
  src: url,
106
+ fileType: value.type,
68
107
  loadingOverride: loading,
69
108
  width: (imageOptions === null || imageOptions === void 0 ? void 0 : imageOptions.width) ?? 120,
70
109
  height: (imageOptions === null || imageOptions === void 0 ? void 0 : imageOptions.height) ?? 120,
@@ -74,17 +113,31 @@ export const FileView = ({
74
113
  }
75
114
  return /*#__PURE__*/React.createElement(View, {
76
115
  style: [styles.fileContainer, {
77
- borderColor
78
- }]
116
+ borderColor,
117
+ backgroundColor
118
+ }, nonImageContainerStyle]
119
+ }, /*#__PURE__*/React.createElement(View, {
120
+ style: styles.iconContainer
79
121
  }, /*#__PURE__*/React.createElement(Ionicons, {
80
122
  name: "document",
81
123
  size: 24,
82
124
  color: iconColor
83
- }), /*#__PURE__*/React.createElement(Text, {
125
+ })), /*#__PURE__*/React.createElement(View, {
126
+ style: styles.filenameContainer
127
+ }, /*#__PURE__*/React.createElement(Text, {
128
+ numberOfLines: 1,
84
129
  style: [styles.filename, {
85
130
  color: fileNameColor
86
131
  }]
87
- }, value.filename));
132
+ }, value.filename)), withDownload && /*#__PURE__*/React.createElement(TouchableOpacity, {
133
+ style: styles.downloadButton,
134
+ onPress: () => void handleDownload(),
135
+ disabled: loading
136
+ }, /*#__PURE__*/React.createElement(Ionicons, {
137
+ name: "download",
138
+ size: 20,
139
+ color: iconColor
140
+ })));
88
141
  };
89
142
  export const FileComponent = /*#__PURE__*/forwardRef(({
90
143
  input: {
@@ -212,13 +265,25 @@ const styles = StyleSheet.create({
212
265
  fileContainer: {
213
266
  flexDirection: 'row',
214
267
  alignItems: 'center',
215
- padding: 8,
216
268
  borderWidth: 1,
217
- borderRadius: 4
269
+ borderRadius: 4,
270
+ maxWidth: '100%',
271
+ overflow: 'hidden'
272
+ },
273
+ filenameContainer: {
274
+ flex: 1,
275
+ paddingRight: 4,
276
+ justifyContent: 'center'
218
277
  },
219
278
  filename: {
220
- fontSize: 14,
221
- marginLeft: 8
279
+ fontSize: 14
280
+ },
281
+ iconContainer: {
282
+ padding: 4
283
+ },
284
+ downloadButton: {
285
+ padding: 8,
286
+ marginLeft: 4
222
287
  },
223
288
  image: {
224
289
  borderRadius: 4,
@@ -1 +1 @@
1
- {"version":3,"names":["useBorderColor","useIconColor","useObjectUrl","usePlaceholderColor","useTextColor","Ionicons","DocumentPicker","ImagePicker","React","forwardRef","useCallback","useImperativeHandle","useMemo","useState","StyleSheet","Text","TouchableOpacity","View","LoadingImage","fallbackAccept","generateAccept","field","accept","includes","push","join","NoFileView","hasUpload","textColor","iconColor","borderColor","createElement","style","styles","noFileContainer","noFileText","color","name","size","FileView","value","imageOptions","withFullView","_value$type","storagePath","dataUrl","missingFile","url","loading","fileNameColor","type","startsWith","src","loadingOverride","width","height","image","fileContainer","filename","FileComponent","input","onChange","ref","setLoading","handlePickFile","_field$accept","result","launchImageLibraryAsync","mediaTypes","allowsEditing","quality","base64","canceled","assets","asset","fileExtension","uri","split","pop","fileName","mimeType","getDocumentAsync","error","Error","console","message","focus","blur","isImageField","length","imgOptions","_value$type2","undefined","placeholderColor","container","placeholder","contentContainer","onPress","disabled","displayName","create","alignItems","justifyContent","fontSize","opacity","marginBottom","position","padding","overflow","flexDirection","borderWidth","borderRadius","borderStyle","textAlign","marginRight","marginLeft"],"sourceRoot":"..\\..\\..\\..\\..\\..\\src","sources":["components/form/input/file/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useBackgroundColor","useBorderColor","useIconColor","useObjectUrl","usePlaceholderColor","useTextColor","useToast","Ionicons","DocumentPicker","ImagePicker","React","forwardRef","useCallback","useImperativeHandle","useMemo","useState","StyleSheet","Text","TouchableOpacity","View","downloadFile","LoadingImage","fallbackAccept","generateAccept","field","accept","includes","push","join","NoFileView","hasUpload","textColor","iconColor","borderColor","createElement","style","styles","noFileContainer","noFileText","color","name","size","FileView","value","imageOptions","withFullView","nonImageContainerStyle","withDownload","_value$type","storagePath","dataUrl","missingFile","url","loading","showError","showSuccess","fileNameColor","backgroundColor","handleDownload","_value$filename","filename","split","pop","replace","fileType","type","error","Error","console","message","String","startsWith","src","loadingOverride","width","height","image","fileContainer","iconContainer","filenameContainer","numberOfLines","downloadButton","onPress","disabled","FileComponent","input","onChange","ref","setLoading","handlePickFile","_field$accept","result","launchImageLibraryAsync","mediaTypes","allowsEditing","quality","base64","canceled","assets","asset","fileExtension","uri","fileName","mimeType","getDocumentAsync","focus","blur","isImageField","length","imgOptions","_value$type2","undefined","placeholderColor","container","placeholder","contentContainer","displayName","create","alignItems","justifyContent","fontSize","opacity","marginBottom","position","padding","overflow","flexDirection","borderWidth","borderRadius","borderStyle","textAlign","marginRight","maxWidth","flex","paddingRight","marginLeft"],"sourceRoot":"..\\..\\..\\..\\..\\..\\src","sources":["components/form/input/file/index.tsx"],"mappings":"AACA,SAEEA,kBAAkB,EAClBC,cAAc,EACdC,YAAY,EACZC,YAAY,EACZC,mBAAmB,EACnBC,YAAY,EACZC,QAAQ,QACH,gBAAgB;AACvB,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AACtD,OAAO,KAAKC,WAAW,MAAM,mBAAmB;AAChD,OAAOC,KAAK,IAAIC,UAAU,EAAEC,WAAW,EAAEC,mBAAmB,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAC9F,SAAoBC,UAAU,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAmB,cAAc;AAC7F,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,YAAY,QAAQ,+BAA+B;AAG5D,MAAMC,cAAc,GAClB,yHAAyH;AAC3H,MAAMC,cAAc,GAAIC,KAAgB,IAAK;EAC3C,IAAI,CAACA,KAAK,CAACC,MAAM,EAAE,OAAOH,cAAc;EACxC,MAAMG,MAAgB,GAAG,EAAE;EAC3B,IAAID,KAAK,CAACC,MAAM,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;IAClCD,MAAM,CAACE,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;EAC/E;EACA,IAAIH,KAAK,CAACC,MAAM,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAED,MAAM,CAACE,IAAI,CAAC,iBAAiB,CAAC;EAChE,IAAIH,KAAK,CAACC,MAAM,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;IAClCD,MAAM,CAACE,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,CAAC;EACjF;EACA,OAAOF,MAAM,CAACG,IAAI,CAAC,GAAG,CAAC;AACzB,CAAC;AAED,MAAMC,UAAU,GAAGA,CAAC;EAAEC;AAAmC,CAAC,KAAK;EAC7D,MAAMC,SAAS,GAAG1B,YAAY,CAAC,CAAC;EAChC,MAAM2B,SAAS,GAAG9B,YAAY,CAAC,CAAC;EAChC,MAAM+B,WAAW,GAAGhC,cAAc,CAAC,CAAC;EACpC,oBACES,KAAA,CAAAwB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAE,CAACC,MAAM,CAACC,eAAe,EAAE;MAAEJ;IAAY,CAAC;EAAE,gBACrDvB,KAAA,CAAAwB,aAAA,CAACjB,IAAI;IAACkB,KAAK,EAAE,CAACC,MAAM,CAACE,UAAU,EAAE;MAAEC,KAAK,EAAER;IAAU,CAAC;EAAE,GACpDD,SAAS,GAAG,oBAAoB,GAAG,kBAChC,CAAC,eACPpB,KAAA,CAAAwB,aAAA,CAAC3B,QAAQ;IAACiC,IAAI,EAAC,cAAc;IAACC,IAAI,EAAE,EAAG;IAACF,KAAK,EAAEP;EAAU,CAAE,CACvD,CAAC;AAEX,CAAC;AAED,OAAO,MAAMU,QAAQ,GAAGA,CAAC;EACvBC,KAAK;EACLb,SAAS;EACTc,YAAY;EACZC,YAAY;EACZC,sBAAsB;EACtBC;AAQF,CAAC,KAAK;EAAA,IAAAC,WAAA;EACJ,MAAM;IAAEC,WAAW;IAAEC;EAAQ,CAAC,GAAGP,KAAK,IAAI,CAAC,CAAC;EAC5C,MAAMQ,WAAW,GAAG,CAACD,OAAO,IAAI,CAACD,WAAW;EAE5C,MAAM;IAAEG,GAAG;IAAEC;EAAQ,CAAC,GAAGlD,YAAY,CAACwC,KAAK,CAAC;EAC5C,MAAM;IAAEW,SAAS;IAAEC;EAAY,CAAC,GAAGjD,QAAQ,CAAC,CAAC;EAE7C,MAAM0B,SAAS,GAAG9B,YAAY,CAAC,CAAC;EAChC,MAAMsD,aAAa,GAAGnD,YAAY,CAAC,CAAC;EACpC,MAAM4B,WAAW,GAAGhC,cAAc,CAAC,CAAC;EACpC,MAAMwD,eAAe,GAAGzD,kBAAkB,CAAC,GAAG,CAAC;EAE/C,MAAM0D,cAAc,GAAG9C,WAAW,CAAC,YAAY;IAAA,IAAA+C,eAAA;IAC7C,IAAI,CAACP,GAAG,EAAE;MACRE,SAAS,CAAC,2BAA2B,CAAC;MACtC;IACF;IAEA,MAAMM,QAAQ,GAAGjB,KAAK,aAALA,KAAK,gBAAAgB,eAAA,GAALhB,KAAK,CAAEiB,QAAQ,cAAAD,eAAA,gBAAAA,eAAA,GAAfA,eAAA,CAAiBE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,cAAAH,eAAA,uBAAjCA,eAAA,CAAmCI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;IACxE,IAAI,CAACH,QAAQ,EAAE;MACbN,SAAS,CAAC,2BAA2B,CAAC;MACtC;IACF;IAEA,MAAMU,QAAQ,GAAGrB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,IAAI;IAC5B,IAAI,CAACD,QAAQ,EAAE;MACbV,SAAS,CAAC,4BAA4B,CAAC;MACvC;IACF;IAEA,IAAI;MACF,MAAMlC,YAAY,CAACgC,GAAG,EAAEQ,QAAQ,EAAEI,QAAQ,CAAC;MAC3CT,WAAW,CAAC,8BAA8B,CAAC;IAC7C,CAAC,CAAC,OAAOW,KAAc,EAAE;MACvB,IAAIA,KAAK,YAAYC,KAAK,EAAE;QAC1BC,OAAO,CAACF,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAACG,OAAO,CAAC;MACzD,CAAC,MAAM;QACLD,OAAO,CAACF,KAAK,CAAC,yBAAyB,EAAEI,MAAM,CAACJ,KAAK,CAAC,CAAC;MACzD;MACAZ,SAAS,CAAC,yBAAyB,CAAC;IACtC;EACF,CAAC,EAAE,CAACF,GAAG,EAAET,KAAK,EAAEW,SAAS,EAAEC,WAAW,CAAC,CAAC;EACxC,IAAI,CAACZ,KAAK,IAAIQ,WAAW,EAAE;IACzB,oBAAOzC,KAAA,CAAAwB,aAAA,CAACL,UAAU;MAACC,SAAS,EAAEA;IAAU,CAAE,CAAC;EAC7C;EAEA,KAAAkB,WAAA,GAAIL,KAAK,CAACsB,IAAI,cAAAjB,WAAA,eAAVA,WAAA,CAAYuB,UAAU,CAAC,QAAQ,CAAC,EAAE;IACpC,oBACE7D,KAAA,CAAAwB,aAAA,CAACb,YAAY;MACX0B,YAAY,EAAEA,YAAa;MAC3Ba,QAAQ,EAAEjB,KAAK,CAACiB,QAAS;MACzBY,GAAG,EAAEpB,GAAI;MACTY,QAAQ,EAAErB,KAAK,CAACsB,IAAK;MACrBQ,eAAe,EAAEpB,OAAQ;MACzBqB,KAAK,EAAE,CAAA9B,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE8B,KAAK,KAAI,GAAI;MAClCC,MAAM,EAAE,CAAA/B,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE+B,MAAM,KAAI,GAAI;MACpC9B,YAAY,EAAEA,YAAa;MAC3BV,KAAK,EAAEC,MAAM,CAACwC;IAAM,CACrB,CAAC;EAEN;EAEA,oBACElE,KAAA,CAAAwB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAE,CAACC,MAAM,CAACyC,aAAa,EAAE;MAAE5C,WAAW;MAAEwB;IAAgB,CAAC,EAAEX,sBAAsB;EAAE,gBAC5FpC,KAAA,CAAAwB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAEC,MAAM,CAAC0C;EAAc,gBAChCpE,KAAA,CAAAwB,aAAA,CAAC3B,QAAQ;IAACiC,IAAI,EAAC,UAAU;IAACC,IAAI,EAAE,EAAG;IAACF,KAAK,EAAEP;EAAU,CAAE,CACnD,CAAC,eACPtB,KAAA,CAAAwB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAEC,MAAM,CAAC2C;EAAkB,gBACpCrE,KAAA,CAAAwB,aAAA,CAACjB,IAAI;IAAC+D,aAAa,EAAE,CAAE;IAAC7C,KAAK,EAAE,CAACC,MAAM,CAACwB,QAAQ,EAAE;MAAErB,KAAK,EAAEiB;IAAc,CAAC;EAAE,GACxEb,KAAK,CAACiB,QACH,CACF,CAAC,EACNb,YAAY,iBACXrC,KAAA,CAAAwB,aAAA,CAAChB,gBAAgB;IACfiB,KAAK,EAAEC,MAAM,CAAC6C,cAAe;IAC7BC,OAAO,EAAEA,CAAA,KAAM,KAAKxB,cAAc,CAAC,CAAE;IACrCyB,QAAQ,EAAE9B;EAAQ,gBAClB3C,KAAA,CAAAwB,aAAA,CAAC3B,QAAQ;IAACiC,IAAI,EAAC,UAAU;IAACC,IAAI,EAAE,EAAG;IAACF,KAAK,EAAEP;EAAU,CAAE,CACvC,CAEhB,CAAC;AAEX,CAAC;AAED,OAAO,MAAMoD,aAAa,gBAAGzE,UAAU,CACrC,CAAC;EAAE0E,KAAK,EAAE;IAAE1C,KAAK;IAAE2C;EAAS,CAAC;EAAE9D;AAAM,CAAC,EAAE+D,GAAG,KAAK;EAC9C,MAAM,CAAClC,OAAO,EAAEmC,UAAU,CAAC,GAAGzE,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM;IAAE6B;EAAa,CAAC,GAAGpB,KAAK,IAAI,CAAC,CAAC;EAEpC,MAAMiE,cAAc,GAAG7E,WAAW,CAAC,YAAY;IAC7C,IAAI;MAAA,IAAA8E,aAAA;MACFF,UAAU,CAAC,IAAI,CAAC;MAChB,IAAIG,MAA2E;MAE/E,KAAAD,aAAA,GAAIlE,KAAK,CAACC,MAAM,cAAAiE,aAAA,eAAZA,aAAA,CAAchE,QAAQ,CAAC,OAAO,CAAC,EAAE;QACnCiE,MAAM,GAAG,MAAMlF,WAAW,CAACmF,uBAAuB,CAAC;UACjDC,UAAU,EAAE,CAAC,QAAQ,CAAC;UACtBC,aAAa,EAAE,IAAI;UACnBC,OAAO,EAAE,CAAC;UACVC,MAAM,EAAE;QACV,CAAC,CAAC;QAEF,IAAI,CAACL,MAAM,CAACM,QAAQ,IAAIN,MAAM,CAACO,MAAM,CAAC,CAAC,CAAC,EAAE;UACxC,MAAMC,KAAK,GAAGR,MAAM,CAACO,MAAM,CAAC,CAAC,CAAC;UAE9B,MAAME,aAAa,GAAGD,KAAK,CAACE,GAAG,CAACxC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAI,MAAM;UAC1D,MAAMwC,QAAQ,GAAGH,KAAK,CAACE,GAAG,CAACxC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,IAAI,OAAO;UAEtDwB,QAAQ,CAAC;YACPpC,OAAO,EAAEiD,KAAK,CAACE,GAAG;YAClBpC,IAAI,EAAEkC,KAAK,CAACI,QAAQ,IAAI,SAASH,aAAa,EAAE;YAChDxC,QAAQ,EAAE0C;UACZ,CAAmB,CAAC;QACtB;MACF,CAAC,MAAM;QACLX,MAAM,GAAG,MAAMnF,cAAc,CAACgG,gBAAgB,CAAC;UAC7CvC,IAAI,EAAE1C,cAAc,CAACC,KAAK;QAC5B,CAAC,CAAC;QAEF,IAAI,CAACmE,MAAM,CAACM,QAAQ,EAAE;UACpBX,QAAQ,CAAC;YACP,GAAG3C,KAAK;YACRO,OAAO,EAAEyC,MAAM,CAACO,MAAM,CAAC,CAAC,CAAC,CAACG,GAAG;YAC7BpC,IAAI,EAAE0B,MAAM,CAACO,MAAM,CAAC,CAAC,CAAC,CAACK,QAAQ;YAC/B3C,QAAQ,EAAE+B,MAAM,CAACO,MAAM,CAAC,CAAC,CAAC,CAAC1D;UAC7B,CAAC,CAAC;QACJ;MACF;IACF,CAAC,CAAC,OAAO0B,KAAc,EAAE;MACvB,IAAIA,KAAK,YAAYC,KAAK,EAAE;QAC1BC,OAAO,CAACF,KAAK,CAAC,qBAAqB,EAAEA,KAAK,CAACG,OAAO,CAAC;MACrD;IACF,CAAC,SAAS;MACRmB,UAAU,CAAC,KAAK,CAAC;IACnB;EACF,CAAC,EAAE,CAAChE,KAAK,EAAE8D,QAAQ,EAAE3C,KAAK,CAAC,CAAC;EAE5B9B,mBAAmB,CAAC0E,GAAG,EAAE,OAAO;IAC9BkB,KAAK,EAAEA,CAAA,KAAM;MACX,KAAKhB,cAAc,CAAC,CAAC;IACvB,CAAC;IACDiB,IAAI,EAAEA,CAAA,KAAM,CAAC;EACf,CAAC,CAAC,CAAC;EAEH,MAAMC,YAAY,GAAG7F,OAAO,CAC1B,MAAMU,KAAK,CAACC,MAAM,IAAID,KAAK,CAACC,MAAM,CAACmF,MAAM,KAAK,CAAC,IAAIpF,KAAK,CAACC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,EAC9E,CAACD,KAAK,CACR,CAAC;EAED,MAAMqF,UAAU,GAAG/F,OAAO,CACxB;IAAA,IAAAgG,YAAA;IAAA,OACEH,YAAY,IAAIhE,KAAK,aAALA,KAAK,gBAAAmE,YAAA,GAALnE,KAAK,CAAEsB,IAAI,cAAA6C,YAAA,eAAXA,YAAA,CAAavC,UAAU,CAAC,QAAQ,CAAC,GAC7C;MACEI,MAAM,EAAE,GAAG;MACX,GAAG/B;IACL,CAAC,GACDmE,SAAS;EAAA,GACf,CAACnE,YAAY,EAAE+D,YAAY,EAAEhE,KAAK,CACpC,CAAC;EAED,MAAMqE,gBAAgB,GAAG5G,mBAAmB,CAAC,CAAC;EAC9C,MAAM6B,WAAW,GAAGhC,cAAc,CAAC,CAAC;EAEpC,oBACES,KAAA,CAAAwB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAE,CAACC,MAAM,CAAC6E,SAAS,EAAE;MAAEhF;IAAY,CAAC;EAAE,gBAC/CvB,KAAA,CAAAwB,aAAA,CAACjB,IAAI;IAACkB,KAAK,EAAE,CAACC,MAAM,CAAC8E,WAAW,EAAE;MAAE3E,KAAK,EAAEyE;IAAiB,CAAC;EAAE,GAAExF,KAAK,CAAC0F,WAAkB,CAAC,eAC1FxG,KAAA,CAAAwB,aAAA,CAAChB,gBAAgB;IACfiB,KAAK,EAAEC,MAAM,CAAC+E,gBAAiB;IAC/BjC,OAAO,EAAEA,CAAA,KAAM,KAAKO,cAAc,CAAC,CAAE;IACrCN,QAAQ,EAAE9B;EAAQ,gBAClB3C,KAAA,CAAAwB,aAAA,CAACQ,QAAQ;IAACZ,SAAS;IAACc,YAAY,EAAEiE,UAAW;IAAClE,KAAK,EAAEA;EAAM,CAAE,CAC7C,CACd,CAAC;AAEX,CACF,CAAC;AAEDyC,aAAa,CAACgC,WAAW,GAAG,eAAe;AAE3C,MAAMhF,MAAM,GAAGpB,UAAU,CAACqG,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTvC,KAAK,EAAE,MAAM;IACb4C,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDL,WAAW,EAAE;IACXM,QAAQ,EAAE,EAAE;IACZC,OAAO,EAAE,GAAG;IACZC,YAAY,EAAE;EAChB,CAAC;EACDP,gBAAgB,EAAE;IAChBzC,KAAK,EAAE,MAAM;IACbiD,QAAQ,EAAE,UAAU;IACpBL,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBK,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE;EACZ,CAAC;EACDxF,eAAe,EAAE;IACfyF,aAAa,EAAE,KAAK;IACpBR,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBK,OAAO,EAAE,EAAE;IACXG,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE;EACf,CAAC;EACD3F,UAAU,EAAE;IACVkF,QAAQ,EAAE,EAAE;IACZU,SAAS,EAAE,QAAQ;IACnBT,OAAO,EAAE,GAAG;IACZU,WAAW,EAAE;EACf,CAAC;EACDtD,aAAa,EAAE;IACbiD,aAAa,EAAE,KAAK;IACpBR,UAAU,EAAE,QAAQ;IACpBS,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,CAAC;IACfI,QAAQ,EAAE,MAAM;IAChBP,QAAQ,EAAE;EACZ,CAAC;EACD9C,iBAAiB,EAAE;IACjBsD,IAAI,EAAE,CAAC;IACPC,YAAY,EAAE,CAAC;IACff,cAAc,EAAE;EAClB,CAAC;EACD3D,QAAQ,EAAE;IACR4D,QAAQ,EAAE;EACZ,CAAC;EACD1C,aAAa,EAAE;IACb8C,OAAO,EAAE;EACX,CAAC;EACD3C,cAAc,EAAE;IACd2C,OAAO,EAAE,CAAC;IACVW,UAAU,EAAE;EACd,CAAC;EACD3D,KAAK,EAAE;IACLoD,YAAY,EAAE,CAAC;IACfH,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,14 +1,18 @@
1
- import { useScreen } from '@chem-po/react';
1
+ import { useScreen, useToast } from '@chem-po/react';
2
2
  import { Ionicons } from '@expo/vector-icons';
3
3
  import React, { useCallback, useEffect, useMemo, useState } from 'react';
4
4
  import { Image, Modal, StyleSheet, TouchableOpacity, View } from 'react-native';
5
5
  import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
6
6
  import Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
7
+ import { downloadFile } from '../../utils/downloadFile';
7
8
  import { LoadingLogo } from '../loading/Loading';
8
9
  export const ImageViewModal = ({
9
10
  isOpen,
10
11
  onClose,
11
- src
12
+ src,
13
+ filename,
14
+ fileType,
15
+ withDownload
12
16
  }) => {
13
17
  const [loading, setLoading] = useState(true);
14
18
  const screenWidth = useScreen(s => s.width);
@@ -17,6 +21,10 @@ export const ImageViewModal = ({
17
21
  width: screenWidth / 2,
18
22
  height: screenHeight / 2
19
23
  });
24
+ const {
25
+ showError,
26
+ showSuccess
27
+ } = useToast();
20
28
 
21
29
  // Shared values for zoom and pan (reanimated)
22
30
  const scale = useSharedValue(1);
@@ -74,6 +82,30 @@ export const ImageViewModal = ({
74
82
  }
75
83
  }, [isOpen, src, resetTransform]);
76
84
 
85
+ // Download functionality
86
+ const handleDownload = useCallback(async () => {
87
+ if (!src) {
88
+ showError('Image URL is not available');
89
+ return;
90
+ }
91
+ if (!fileType) {
92
+ showError('File type is not available');
93
+ return;
94
+ }
95
+ try {
96
+ const usedName = filename ?? `image_${Date.now()}.jpg`;
97
+ await downloadFile(src, usedName, fileType);
98
+ showSuccess('Image downloaded successfully');
99
+ } catch (error) {
100
+ if (error instanceof Error) {
101
+ console.error('Error downloading image:', error.message);
102
+ } else {
103
+ console.error('Error downloading image:', String(error));
104
+ }
105
+ showError('Failed to download image');
106
+ }
107
+ }, [src, showError, showSuccess, filename, fileType]);
108
+
77
109
  // Pan gesture with worklet
78
110
  const panGesture = Gesture.Pan().onUpdate(event => {
79
111
  'worklet';
@@ -198,7 +230,14 @@ export const ImageViewModal = ({
198
230
  onLoadStart: onLoadStart,
199
231
  onLoad: onLoad,
200
232
  resizeMode: "contain"
201
- }))), /*#__PURE__*/React.createElement(TouchableOpacity, {
233
+ }))), withDownload && /*#__PURE__*/React.createElement(TouchableOpacity, {
234
+ style: styles.downloadButton,
235
+ onPress: () => void handleDownload()
236
+ }, /*#__PURE__*/React.createElement(Ionicons, {
237
+ name: "download",
238
+ size: 24,
239
+ color: "white"
240
+ })), /*#__PURE__*/React.createElement(TouchableOpacity, {
202
241
  style: styles.closeButton,
203
242
  onPress: onClose
204
243
  }, /*#__PURE__*/React.createElement(Ionicons, {
@@ -237,6 +276,17 @@ const styles = StyleSheet.create({
237
276
  width: '100%',
238
277
  height: '100%'
239
278
  },
279
+ downloadButton: {
280
+ position: 'absolute',
281
+ top: 16,
282
+ right: 64,
283
+ width: 40,
284
+ height: 40,
285
+ borderRadius: 20,
286
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
287
+ justifyContent: 'center',
288
+ alignItems: 'center'
289
+ },
240
290
  closeButton: {
241
291
  position: 'absolute',
242
292
  top: 16,
@@ -1 +1 @@
1
- {"version":3,"names":["useScreen","Ionicons","React","useCallback","useEffect","useMemo","useState","Image","Modal","StyleSheet","TouchableOpacity","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","useAnimatedStyle","useSharedValue","withSpring","LoadingLogo","ImageViewModal","isOpen","onClose","src","loading","setLoading","screenWidth","s","width","screenHeight","height","imageSize","setImageSize","scale","translateX","translateY","savedScale","savedTranslateX","savedTranslateY","ratio","h","Math","min","w","onLoadStart","onLoad","e","naturalWidth","naturalHeight","nativeEvent","source","resetTransform","value","panGesture","Pan","onUpdate","event","newTranslateX","translationX","newTranslateY","translationY","maxTranslateX","maxTranslateY","boundedTranslateX","max","boundedTranslateY","onEnd","pinchGesture","Pinch","newScale","boundedScale","doubleTapGesture","Tap","numberOfTaps","combinedGestures","Race","Simultaneous","animatedStyle","transform","createElement","visible","transparent","animationType","onRequestClose","style","styles","gestureRoot","modalOverlay","backgroundTouchable","activeOpacity","onPress","contentContainer","gesture","imageContainer","opacity","uri","undefined","image","resizeMode","closeButton","name","size","color","loadingContainer","isLoading","create","flex","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","overflow","borderRadius","position","top","right"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/image/ImageViewModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useScreen","useToast","Ionicons","React","useCallback","useEffect","useMemo","useState","Image","Modal","StyleSheet","TouchableOpacity","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","useAnimatedStyle","useSharedValue","withSpring","downloadFile","LoadingLogo","ImageViewModal","isOpen","onClose","src","filename","fileType","withDownload","loading","setLoading","screenWidth","s","width","screenHeight","height","imageSize","setImageSize","showError","showSuccess","scale","translateX","translateY","savedScale","savedTranslateX","savedTranslateY","ratio","h","Math","min","w","onLoadStart","onLoad","e","naturalWidth","naturalHeight","nativeEvent","source","resetTransform","value","handleDownload","usedName","Date","now","error","Error","console","message","String","panGesture","Pan","onUpdate","event","newTranslateX","translationX","newTranslateY","translationY","maxTranslateX","maxTranslateY","boundedTranslateX","max","boundedTranslateY","onEnd","pinchGesture","Pinch","newScale","boundedScale","doubleTapGesture","Tap","numberOfTaps","combinedGestures","Race","Simultaneous","animatedStyle","transform","createElement","visible","transparent","animationType","onRequestClose","style","styles","gestureRoot","modalOverlay","backgroundTouchable","activeOpacity","onPress","contentContainer","gesture","imageContainer","opacity","uri","undefined","image","resizeMode","downloadButton","name","size","color","closeButton","loadingContainer","isLoading","create","flex","backgroundColor","absoluteFillObject","justifyContent","alignItems","padding","overflow","borderRadius","position","top","right"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/image/ImageViewModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -9,10 +9,13 @@ export const LoadingImage = ({
9
9
  src,
10
10
  loadingOverride,
11
11
  onLoad,
12
+ filename,
13
+ fileType,
12
14
  width,
13
15
  height,
14
16
  withFullView,
15
17
  buttonFullView,
18
+ withDownload,
16
19
  style
17
20
  }) => {
18
21
  const [imageLoading, setImageLoading] = useState(!!src);
@@ -71,11 +74,14 @@ export const LoadingImage = ({
71
74
  }, /*#__PURE__*/React.createElement(LoadingLogo, {
72
75
  isLoading: loading,
73
76
  size: 10
74
- })), viewing && /*#__PURE__*/React.createElement(ImageViewModal, {
77
+ })), viewing ? /*#__PURE__*/React.createElement(ImageViewModal, {
78
+ withDownload: withDownload,
79
+ filename: filename,
80
+ fileType: fileType,
75
81
  isOpen: true,
76
82
  src: src ?? emptyPng,
77
83
  onClose: () => setViewing(false)
78
- }));
84
+ }) : null);
79
85
  };
80
86
  const styles = StyleSheet.create({
81
87
  container: {
@@ -1 +1 @@
1
- {"version":3,"names":["useMounted","Ionicons","React","useCallback","useEffect","useMemo","useRef","useState","Image","StyleSheet","TouchableOpacity","View","ImageViewModal","LoadingLogo","emptyPng","LoadingImage","src","loadingOverride","onLoad","width","height","withFullView","buttonFullView","style","imageLoading","setImageLoading","imageRef","viewing","setViewing","mounted","handleImageLoad","e","prevSrc","setPrevSrc","loading","ImageComponent","createElement","ref","source","uri","styles","image","opacity","onLoadEnd","resizeMode","container","activeOpacity","onPress","undefined","fullViewButton","name","size","color","fullViewIcon","loadingContainer","pointerEvents","isLoading","isOpen","onClose","create","overflow","position","imageContainer","absoluteFillObject","justifyContent","alignItems","top","right","borderRadius","backgroundColor"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/loading/LoadingImage.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMounted","Ionicons","React","useCallback","useEffect","useMemo","useRef","useState","Image","StyleSheet","TouchableOpacity","View","ImageViewModal","LoadingLogo","emptyPng","LoadingImage","src","loadingOverride","onLoad","filename","fileType","width","height","withFullView","buttonFullView","withDownload","style","imageLoading","setImageLoading","imageRef","viewing","setViewing","mounted","handleImageLoad","e","prevSrc","setPrevSrc","loading","ImageComponent","createElement","ref","source","uri","styles","image","opacity","onLoadEnd","resizeMode","container","activeOpacity","onPress","undefined","fullViewButton","name","size","color","fullViewIcon","loadingContainer","pointerEvents","isLoading","isOpen","onClose","create","overflow","position","imageContainer","absoluteFillObject","justifyContent","alignItems","top","right","borderRadius","backgroundColor"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/loading/LoadingImage.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ import { useColorModeValue, useThemeValue } from '@chem-po/react';
2
+ import React, { useEffect, useRef } from 'react';
3
+ import { Animated, StyleSheet, Text, View } from 'react-native';
4
+ export const ProgressBar = ({
5
+ progress,
6
+ label,
7
+ height = 26
8
+ }) => {
9
+ const accentColor = useThemeValue('colors.accent.300');
10
+ const animatedWidth = useRef(new Animated.Value(0)).current;
11
+ const backgroundColor = useColorModeValue('rgba(0, 0, 0, 0.1)', 'rgba(255, 255, 255, 0.2)');
12
+ useEffect(() => {
13
+ Animated.timing(animatedWidth, {
14
+ toValue: progress,
15
+ duration: 300,
16
+ useNativeDriver: false // width animations require layout driver
17
+ }).start();
18
+ }, [progress, animatedWidth]);
19
+ return /*#__PURE__*/React.createElement(View, {
20
+ style: [styles.progressContainer, {
21
+ height,
22
+ backgroundColor
23
+ }]
24
+ }, /*#__PURE__*/React.createElement(View, {
25
+ style: styles.progressBar
26
+ }, /*#__PURE__*/React.createElement(Animated.View, {
27
+ style: [styles.progressFill, {
28
+ width: animatedWidth.interpolate({
29
+ inputRange: [0, 1],
30
+ outputRange: ['0%', '100%'],
31
+ extrapolate: 'clamp'
32
+ }),
33
+ backgroundColor: accentColor
34
+ }]
35
+ })), /*#__PURE__*/React.createElement(Text, {
36
+ style: styles.label
37
+ }, label));
38
+ };
39
+ const styles = StyleSheet.create({
40
+ progressContainer: {
41
+ width: '100%',
42
+ justifyContent: 'center',
43
+ alignItems: 'center',
44
+ borderRadius: 20,
45
+ padding: 3
46
+ },
47
+ progressBar: {
48
+ height: '100%',
49
+ width: '100%',
50
+ borderRadius: 20,
51
+ overflow: 'hidden'
52
+ },
53
+ progressFill: {
54
+ height: '100%'
55
+ },
56
+ label: {
57
+ position: 'absolute',
58
+ color: 'white',
59
+ fontSize: 12,
60
+ fontWeight: '500',
61
+ textTransform: 'uppercase',
62
+ textShadowColor: 'rgba(0, 0, 0, 0.67)',
63
+ textShadowOffset: {
64
+ width: 1,
65
+ height: 1
66
+ },
67
+ textShadowRadius: 3
68
+ }
69
+ });
70
+ //# sourceMappingURL=ProgressBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useColorModeValue","useThemeValue","React","useEffect","useRef","Animated","StyleSheet","Text","View","ProgressBar","progress","label","height","accentColor","animatedWidth","Value","current","backgroundColor","timing","toValue","duration","useNativeDriver","start","createElement","style","styles","progressContainer","progressBar","progressFill","width","interpolate","inputRange","outputRange","extrapolate","create","justifyContent","alignItems","borderRadius","padding","overflow","position","color","fontSize","fontWeight","textTransform","textShadowColor","textShadowOffset","textShadowRadius"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/loading/ProgressBar.tsx"],"mappings":"AAAA,SAASA,iBAAiB,EAAEC,aAAa,QAAQ,gBAAgB;AACjE,OAAOC,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAE/D,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAC1BC,QAAQ;EACRC,KAAK;EACLC,MAAM,GAAG;AAKX,CAAC,KAAK;EACJ,MAAMC,WAAW,GAAGZ,aAAa,CAAC,mBAAmB,CAAC;EACtD,MAAMa,aAAa,GAAGV,MAAM,CAAC,IAAIC,QAAQ,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAC3D,MAAMC,eAAe,GAAGjB,iBAAiB,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;EAE3FG,SAAS,CAAC,MAAM;IACdE,QAAQ,CAACa,MAAM,CAACJ,aAAa,EAAE;MAC7BK,OAAO,EAAET,QAAQ;MACjBU,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE,KAAK,CAAE;IAC1B,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACZ,QAAQ,EAAEI,aAAa,CAAC,CAAC;EAE7B,oBACEZ,KAAA,CAAAqB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAE,CAACC,MAAM,CAACC,iBAAiB,EAAE;MAAEd,MAAM;MAAEK;IAAgB,CAAC;EAAE,gBACnEf,KAAA,CAAAqB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAEC,MAAM,CAACE;EAAY,gBAC9BzB,KAAA,CAAAqB,aAAA,CAAClB,QAAQ,CAACG,IAAI;IACZgB,KAAK,EAAE,CACLC,MAAM,CAACG,YAAY,EACnB;MACEC,KAAK,EAAEf,aAAa,CAACgB,WAAW,CAAC;QAC/BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClBC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3BC,WAAW,EAAE;MACf,CAAC,CAAC;MACFhB,eAAe,EAAEJ;IACnB,CAAC;EACD,CACH,CACG,CAAC,eACPX,KAAA,CAAAqB,aAAA,CAAChB,IAAI;IAACiB,KAAK,EAAEC,MAAM,CAACd;EAAM,GAAEA,KAAY,CACpC,CAAC;AAEX,CAAC;AAED,MAAMc,MAAM,GAAGnB,UAAU,CAAC4B,MAAM,CAAC;EAC/BR,iBAAiB,EAAE;IACjBG,KAAK,EAAE,MAAM;IACbM,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,YAAY,EAAE,EAAE;IAChBC,OAAO,EAAE;EACX,CAAC;EACDX,WAAW,EAAE;IACXf,MAAM,EAAE,MAAM;IACdiB,KAAK,EAAE,MAAM;IACbQ,YAAY,EAAE,EAAE;IAChBE,QAAQ,EAAE;EACZ,CAAC;EACDX,YAAY,EAAE;IACZhB,MAAM,EAAE;EACV,CAAC;EACDD,KAAK,EAAE;IACL6B,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE,OAAO;IACdC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE,WAAW;IAC1BC,eAAe,EAAE,qBAAqB;IACtCC,gBAAgB,EAAE;MAAEjB,KAAK,EAAE,CAAC;MAAEjB,MAAM,EAAE;IAAE,CAAC;IACzCmC,gBAAgB,EAAE;EACpB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -3,4 +3,5 @@ export * from './Loading';
3
3
  export * from './LoadingImage';
4
4
  export * from './LoadingOverlay';
5
5
  export * from './LoadingSwitch';
6
+ export * from './ProgressBar';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/loading/index.ts"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/loading/index.ts"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,WAAW;AACzB,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAC/B,cAAc,eAAe","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ import * as FileSystem from 'expo-file-system';
2
+ export const downloadFile = async (uri, filename, fileType) => {
3
+ const permissions = await FileSystem.StorageAccessFramework.requestDirectoryPermissionsAsync();
4
+ if (!permissions.granted) {
5
+ return;
6
+ }
7
+
8
+ // Download to temporary location first
9
+ const tempFileUri = `${FileSystem.cacheDirectory}${filename}`;
10
+
11
+ // Download the file to temporary location
12
+ await FileSystem.downloadAsync(uri, tempFileUri);
13
+
14
+ // Read the temporary file as base64
15
+ const base64Content = await FileSystem.readAsStringAsync(tempFileUri, {
16
+ encoding: FileSystem.EncodingType.Base64
17
+ });
18
+
19
+ // Create a file within the selected directory using SAF
20
+ const fileUri = await FileSystem.StorageAccessFramework.createFileAsync(permissions.directoryUri, filename, fileType);
21
+
22
+ // Write the content to the SAF file
23
+ await FileSystem.StorageAccessFramework.writeAsStringAsync(fileUri, base64Content, {
24
+ encoding: FileSystem.EncodingType.Base64
25
+ });
26
+
27
+ // Clean up temporary file
28
+ await FileSystem.deleteAsync(tempFileUri, {
29
+ idempotent: true
30
+ });
31
+ return {
32
+ uri: fileUri
33
+ };
34
+ };
35
+ //# sourceMappingURL=downloadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FileSystem","downloadFile","uri","filename","fileType","permissions","StorageAccessFramework","requestDirectoryPermissionsAsync","granted","tempFileUri","cacheDirectory","downloadAsync","base64Content","readAsStringAsync","encoding","EncodingType","Base64","fileUri","createFileAsync","directoryUri","writeAsStringAsync","deleteAsync","idempotent"],"sourceRoot":"..\\..\\..\\src","sources":["utils/downloadFile.ts"],"mappings":"AAAA,OAAO,KAAKA,UAAU,MAAM,kBAAkB;AAE9C,OAAO,MAAMC,YAAY,GAAG,MAAAA,CAAOC,GAAW,EAAEC,QAAgB,EAAEC,QAAgB,KAAK;EACrF,MAAMC,WAAW,GAAG,MAAML,UAAU,CAACM,sBAAsB,CAACC,gCAAgC,CAAC,CAAC;EAC9F,IAAI,CAACF,WAAW,CAACG,OAAO,EAAE;IACxB;EACF;;EAEA;EACA,MAAMC,WAAW,GAAG,GAAGT,UAAU,CAACU,cAAc,GAAGP,QAAQ,EAAE;;EAE7D;EACA,MAAMH,UAAU,CAACW,aAAa,CAACT,GAAG,EAAEO,WAAW,CAAC;;EAEhD;EACA,MAAMG,aAAa,GAAG,MAAMZ,UAAU,CAACa,iBAAiB,CAACJ,WAAW,EAAE;IACpEK,QAAQ,EAAEd,UAAU,CAACe,YAAY,CAACC;EACpC,CAAC,CAAC;;EAEF;EACA,MAAMC,OAAO,GAAG,MAAMjB,UAAU,CAACM,sBAAsB,CAACY,eAAe,CACrEb,WAAW,CAACc,YAAY,EACxBhB,QAAQ,EACRC,QACF,CAAC;;EAED;EACA,MAAMJ,UAAU,CAACM,sBAAsB,CAACc,kBAAkB,CAACH,OAAO,EAAEL,aAAa,EAAE;IACjFE,QAAQ,EAAEd,UAAU,CAACe,YAAY,CAACC;EACpC,CAAC,CAAC;;EAEF;EACA,MAAMhB,UAAU,CAACqB,WAAW,CAACZ,WAAW,EAAE;IAAEa,UAAU,EAAE;EAAK,CAAC,CAAC;EAE/D,OAAO;IAAEpB,GAAG,EAAEe;EAAQ,CAAC;AACzB,CAAC","ignoreList":[]}