@grupalia/rn-ui-kit 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/lib/commonjs/assets/illustrations/camera.svg +87 -0
  2. package/lib/commonjs/components/CameraImageInput.js +478 -0
  3. package/lib/commonjs/components/CameraImageInput.js.map +1 -0
  4. package/lib/commonjs/components/CameraWrapperModal.js +255 -0
  5. package/lib/commonjs/components/CameraWrapperModal.js.map +1 -0
  6. package/lib/commonjs/components/FormikCameraImageInput.js +37 -0
  7. package/lib/commonjs/components/FormikCameraImageInput.js.map +1 -0
  8. package/lib/commonjs/components/ImagePickerBottomSheet.js +100 -0
  9. package/lib/commonjs/components/ImagePickerBottomSheet.js.map +1 -0
  10. package/lib/commonjs/components/PhotoPickerModal.js +98 -0
  11. package/lib/commonjs/components/PhotoPickerModal.js.map +1 -0
  12. package/lib/commonjs/components/Toasts.js +188 -0
  13. package/lib/commonjs/components/Toasts.js.map +1 -0
  14. package/lib/commonjs/components/index.js +66 -0
  15. package/lib/commonjs/components/index.js.map +1 -1
  16. package/lib/commonjs/components/svgs/Camera.js +17 -0
  17. package/lib/commonjs/components/svgs/Camera.js.map +1 -0
  18. package/lib/commonjs/hooks/index.js +41 -0
  19. package/lib/commonjs/hooks/index.js.map +1 -0
  20. package/lib/commonjs/hooks/useInternetConnectionStatus.js +182 -0
  21. package/lib/commonjs/hooks/useInternetConnectionStatus.js.map +1 -0
  22. package/lib/commonjs/types/svg.d.js +2 -0
  23. package/lib/commonjs/types/svg.d.js.map +1 -0
  24. package/lib/commonjs/utils/fileDirectoryUtils.js +19 -0
  25. package/lib/commonjs/utils/fileDirectoryUtils.js.map +1 -0
  26. package/lib/commonjs/utils/index.js +22 -0
  27. package/lib/commonjs/utils/index.js.map +1 -1
  28. package/lib/commonjs/utils/timeConstants.js +15 -0
  29. package/lib/commonjs/utils/timeConstants.js.map +1 -0
  30. package/lib/module/assets/illustrations/camera.svg +87 -0
  31. package/lib/module/components/CameraImageInput.js +471 -0
  32. package/lib/module/components/CameraImageInput.js.map +1 -0
  33. package/lib/module/components/CameraWrapperModal.js +250 -0
  34. package/lib/module/components/CameraWrapperModal.js.map +1 -0
  35. package/lib/module/components/FormikCameraImageInput.js +32 -0
  36. package/lib/module/components/FormikCameraImageInput.js.map +1 -0
  37. package/lib/module/components/ImagePickerBottomSheet.js +95 -0
  38. package/lib/module/components/ImagePickerBottomSheet.js.map +1 -0
  39. package/lib/module/components/PhotoPickerModal.js +93 -0
  40. package/lib/module/components/PhotoPickerModal.js.map +1 -0
  41. package/lib/module/components/Toasts.js +182 -0
  42. package/lib/module/components/Toasts.js.map +1 -0
  43. package/lib/module/components/index.js +6 -0
  44. package/lib/module/components/index.js.map +1 -1
  45. package/lib/module/components/svgs/Camera.js +12 -0
  46. package/lib/module/components/svgs/Camera.js.map +1 -0
  47. package/lib/module/hooks/index.js +6 -0
  48. package/lib/module/hooks/index.js.map +1 -0
  49. package/lib/module/hooks/useInternetConnectionStatus.js +177 -0
  50. package/lib/module/hooks/useInternetConnectionStatus.js.map +1 -0
  51. package/lib/module/types/svg.d.js +2 -0
  52. package/lib/module/types/svg.d.js.map +1 -0
  53. package/lib/module/utils/fileDirectoryUtils.js +14 -0
  54. package/lib/module/utils/fileDirectoryUtils.js.map +1 -0
  55. package/lib/module/utils/index.js +2 -0
  56. package/lib/module/utils/index.js.map +1 -1
  57. package/lib/module/utils/timeConstants.js +12 -0
  58. package/lib/module/utils/timeConstants.js.map +1 -0
  59. package/lib/typescript/commonjs/components/CameraImageInput.d.ts +41 -0
  60. package/lib/typescript/commonjs/components/CameraImageInput.d.ts.map +1 -0
  61. package/lib/typescript/commonjs/components/CameraWrapperModal.d.ts +18 -0
  62. package/lib/typescript/commonjs/components/CameraWrapperModal.d.ts.map +1 -0
  63. package/lib/typescript/commonjs/components/FormikCameraImageInput.d.ts +14 -0
  64. package/lib/typescript/commonjs/components/FormikCameraImageInput.d.ts.map +1 -0
  65. package/lib/typescript/commonjs/components/ImagePickerBottomSheet.d.ts +15 -0
  66. package/lib/typescript/commonjs/components/ImagePickerBottomSheet.d.ts.map +1 -0
  67. package/lib/typescript/commonjs/components/PhotoPickerModal.d.ts +19 -0
  68. package/lib/typescript/commonjs/components/PhotoPickerModal.d.ts.map +1 -0
  69. package/lib/typescript/commonjs/components/Toasts.d.ts +3 -0
  70. package/lib/typescript/commonjs/components/Toasts.d.ts.map +1 -0
  71. package/lib/typescript/commonjs/components/index.d.ts +6 -0
  72. package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/components/svgs/Camera.d.ts +9 -0
  74. package/lib/typescript/commonjs/components/svgs/Camera.d.ts.map +1 -0
  75. package/lib/typescript/commonjs/hooks/index.d.ts +4 -0
  76. package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -0
  77. package/lib/typescript/commonjs/hooks/useInternetConnectionStatus.d.ts +20 -0
  78. package/lib/typescript/commonjs/hooks/useInternetConnectionStatus.d.ts.map +1 -0
  79. package/lib/typescript/commonjs/utils/fileDirectoryUtils.d.ts +3 -0
  80. package/lib/typescript/commonjs/utils/fileDirectoryUtils.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/utils/index.d.ts +2 -0
  82. package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/utils/timeConstants.d.ts +10 -0
  84. package/lib/typescript/commonjs/utils/timeConstants.d.ts.map +1 -0
  85. package/lib/typescript/module/components/CameraImageInput.d.ts +41 -0
  86. package/lib/typescript/module/components/CameraImageInput.d.ts.map +1 -0
  87. package/lib/typescript/module/components/CameraWrapperModal.d.ts +18 -0
  88. package/lib/typescript/module/components/CameraWrapperModal.d.ts.map +1 -0
  89. package/lib/typescript/module/components/FormikCameraImageInput.d.ts +14 -0
  90. package/lib/typescript/module/components/FormikCameraImageInput.d.ts.map +1 -0
  91. package/lib/typescript/module/components/ImagePickerBottomSheet.d.ts +15 -0
  92. package/lib/typescript/module/components/ImagePickerBottomSheet.d.ts.map +1 -0
  93. package/lib/typescript/module/components/PhotoPickerModal.d.ts +19 -0
  94. package/lib/typescript/module/components/PhotoPickerModal.d.ts.map +1 -0
  95. package/lib/typescript/module/components/Toasts.d.ts +3 -0
  96. package/lib/typescript/module/components/Toasts.d.ts.map +1 -0
  97. package/lib/typescript/module/components/index.d.ts +6 -0
  98. package/lib/typescript/module/components/index.d.ts.map +1 -1
  99. package/lib/typescript/module/components/svgs/Camera.d.ts +9 -0
  100. package/lib/typescript/module/components/svgs/Camera.d.ts.map +1 -0
  101. package/lib/typescript/module/hooks/index.d.ts +4 -0
  102. package/lib/typescript/module/hooks/index.d.ts.map +1 -0
  103. package/lib/typescript/module/hooks/useInternetConnectionStatus.d.ts +20 -0
  104. package/lib/typescript/module/hooks/useInternetConnectionStatus.d.ts.map +1 -0
  105. package/lib/typescript/module/utils/fileDirectoryUtils.d.ts +3 -0
  106. package/lib/typescript/module/utils/fileDirectoryUtils.d.ts.map +1 -0
  107. package/lib/typescript/module/utils/index.d.ts +2 -0
  108. package/lib/typescript/module/utils/index.d.ts.map +1 -1
  109. package/lib/typescript/module/utils/timeConstants.d.ts +10 -0
  110. package/lib/typescript/module/utils/timeConstants.d.ts.map +1 -0
  111. package/package.json +27 -2
  112. package/src/components/CameraImageInput.tsx +610 -0
  113. package/src/components/CameraWrapperModal.tsx +309 -0
  114. package/src/components/FormikCameraImageInput.tsx +39 -0
  115. package/src/components/ImagePickerBottomSheet.tsx +109 -0
  116. package/src/components/PhotoPickerModal.tsx +116 -0
  117. package/src/components/Toasts.tsx +200 -0
  118. package/src/components/index.ts +6 -0
  119. package/src/components/svgs/Camera.tsx +14 -0
  120. package/src/hooks/index.ts +3 -0
  121. package/src/hooks/useBreakpoints.ts +20 -0
  122. package/src/hooks/useInternetConnectionStatus.ts +221 -0
  123. package/src/hooks/useIsAboveBreakpoint.ts +8 -0
  124. package/src/utils/fileDirectoryUtils.ts +12 -0
  125. package/src/utils/index.ts +2 -0
  126. package/src/utils/timeConstants.ts +19 -0
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _hooks = require("@react-native-community/hooks");
8
+ var _native = require("@react-navigation/native");
9
+ var _reactNative = require("@sentry/react-native");
10
+ var _reactQuery = require("@tanstack/react-query");
11
+ var _clsx = _interopRequireDefault(require("clsx"));
12
+ var _nativewind = require("nativewind");
13
+ var _react = require("react");
14
+ var _headless = _interopRequireDefault(require("react-hot-toast/headless"));
15
+ var _reactNative2 = require("react-native");
16
+ var _outline = require("react-native-heroicons/outline");
17
+ var _reactNativeVisionCamera = require("react-native-vision-camera");
18
+ var _hocComponents = require("../hoc-components");
19
+ var _BaseButton = _interopRequireDefault(require("./BaseButton"));
20
+ var _BaseIcon = _interopRequireDefault(require("./BaseIcon"));
21
+ var _BaseText = _interopRequireDefault(require("./BaseText"));
22
+ var _PressableOpacity = _interopRequireDefault(require("./PressableOpacity"));
23
+ var _useIsAboveBreakpoint = require("../hooks/useIsAboveBreakpoint");
24
+ var _fileDirectoryUtils = require("../utils/fileDirectoryUtils");
25
+ var _Camera = _interopRequireDefault(require("./svgs/Camera"));
26
+ var _Toasts = _interopRequireDefault(require("./Toasts"));
27
+ var _jsxRuntime = require("react/jsx-runtime");
28
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
29
+ function PermissionCard({
30
+ onPermissionRequestPress
31
+ }) {
32
+ const largePhone = (0, _useIsAboveBreakpoint.useIsAboveBreakpoint)('xs');
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
34
+ className: (0, _clsx.default)('w-full flex-col items-center rounded-lg bg-white p-4', largePhone ? 'mt-10 space-y-10' : 'space-y-4'),
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
36
+ className: (0, _clsx.default)('text-center font-semibold', largePhone && 'text-xl'),
37
+ children: "Necesitamos permiso para acceder a la camara"
38
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Camera.default, {
39
+ width: "100%",
40
+ height: largePhone ? 200 : 100
41
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseButton.default, {
42
+ className: "w-full",
43
+ size: largePhone ? 'md' : 'xs',
44
+ text: "Permitir",
45
+ onPress: onPermissionRequestPress
46
+ })]
47
+ });
48
+ }
49
+ function CameraPreview({
50
+ onCapture,
51
+ previewOverlay,
52
+ filters,
53
+ isActive,
54
+ allowDeviceSwitching,
55
+ initialDevice,
56
+ pathToSave
57
+ }) {
58
+ const cameraRef = (0, _react.useRef)(null);
59
+ const [selectedDevice, setSelectedDevice] = (0, _react.useState)(initialDevice);
60
+ const device = (0, _reactNativeVisionCamera.useCameraDevice)(selectedDevice);
61
+ const format = (0, _reactNativeVisionCamera.useCameraFormat)(device, filters);
62
+ const {
63
+ mutate
64
+ } = (0, _reactQuery.useMutation)({
65
+ mutationFn: async () => {
66
+ if (cameraRef.current) {
67
+ if (pathToSave) await (0, _fileDirectoryUtils.ensureDirExists)(pathToSave);
68
+ const file = await cameraRef.current.takePhoto({
69
+ path: pathToSave?.replace('file://', '') ?? undefined
70
+ });
71
+ return file;
72
+ }
73
+ return Promise.reject(new Error('Camera ref is not defined'));
74
+ },
75
+ networkMode: 'always',
76
+ onSuccess: photoFile => onCapture({
77
+ ...photoFile,
78
+ uri: `file://${photoFile.path}`
79
+ }),
80
+ onError: error => {
81
+ (0, _reactNative.captureException)(error);
82
+ _headless.default.error('Ocurrió un error al tomar la foto');
83
+ }
84
+ });
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
86
+ className: "flex h-full w-full flex-col",
87
+ children: [device ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
88
+ className: "relative h-full w-full flex-1 overflow-hidden rounded-xl border-2",
89
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeVisionCamera.Camera, {
90
+ style: {
91
+ flex: 1,
92
+ width: '100%',
93
+ height: '100%'
94
+ },
95
+ ref: cameraRef,
96
+ device: device,
97
+ format: format,
98
+ isActive: isActive,
99
+ photo: true
100
+ }), previewOverlay, allowDeviceSwitching && /*#__PURE__*/(0, _jsxRuntime.jsx)(_PressableOpacity.default, {
101
+ onPress: () => setSelectedDevice(selectedDevice === 'back' ? 'front' : 'back'),
102
+ className: "absolute bottom-8 right-8 flex h-12 w-12 items-center justify-center rounded-full bg-secondary",
103
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseIcon.default, {
104
+ icon: _outline.ArrowPathIcon,
105
+ className: "h-full w-full",
106
+ color: "utility-gray-200"
107
+ })
108
+ })]
109
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
110
+ className: "flex h-full w-full items-center justify-center bg-utility-gray-200",
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
112
+ className: "text-secondary",
113
+ children: "No fue posible acceder a la camara"
114
+ })
115
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PressableOpacity.default, {
116
+ onPress: () => mutate(),
117
+ className: "my-10 h-20 w-20 self-center rounded-full border-4 border-white bg-black p-1",
118
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
119
+ className: "h-full w-full rounded-full bg-white"
120
+ })
121
+ })]
122
+ });
123
+ }
124
+ function PhotoFilePreview({
125
+ photoFile,
126
+ onConfirm,
127
+ onCancel
128
+ }) {
129
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
130
+ className: "flex h-full w-full flex-col items-center pb-10",
131
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
132
+ className: "w-full flex-1 overflow-hidden rounded-xl",
133
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.Image, {
134
+ style: {
135
+ width: 'auto',
136
+ height: '100%'
137
+ },
138
+ source: {
139
+ uri: photoFile.uri
140
+ },
141
+ resizeMode: "cover"
142
+ })
143
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
144
+ className: "mt-12 flex flex-row items-center space-x-16",
145
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.Pressable, {
146
+ onPress: onCancel,
147
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseIcon.default, {
148
+ icon: _outline.ArrowUturnLeftIcon,
149
+ size: 64,
150
+ color: "fg-error-primary"
151
+ })
152
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.Pressable, {
153
+ onPress: onConfirm,
154
+ className: "self-end",
155
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseIcon.default, {
156
+ icon: _outline.CheckIcon,
157
+ size: 64,
158
+ color: "fg-success-primary"
159
+ })
160
+ })]
161
+ })]
162
+ });
163
+ }
164
+ function CameraWrapperModal({
165
+ onCapture,
166
+ onClose,
167
+ filters = [{
168
+ photoResolution: {
169
+ width: 720,
170
+ height: 1280
171
+ }
172
+ }],
173
+ previewOverlay = undefined,
174
+ allowDeviceSwitching = true,
175
+ initialDevice = 'back',
176
+ pathToSave = undefined,
177
+ ...modalProps
178
+ }) {
179
+ const [photoFile, setPhotoFile] = (0, _react.useState)(null);
180
+ const [permissionRequested, setPermissionRequested] = (0, _react.useState)(false);
181
+ const isFocused = (0, _native.useIsFocused)();
182
+ const appState = (0, _hooks.useAppState)();
183
+ const isActive = isFocused && appState === 'active';
184
+ const {
185
+ hasPermission,
186
+ requestPermission
187
+ } = (0, _reactNativeVisionCamera.useCameraPermission)();
188
+ const handlePermissionRequestPress = (0, _react.useCallback)(() => {
189
+ if (!permissionRequested) {
190
+ setPermissionRequested(true);
191
+ requestPermission();
192
+ } else {
193
+ _reactNative2.Linking.openSettings();
194
+ }
195
+ }, [permissionRequested, requestPermission]);
196
+ const handleCaptureConfirm = (0, _react.useCallback)(() => {
197
+ if (photoFile) {
198
+ onCapture({
199
+ ...photoFile,
200
+ uri: `file://${photoFile.path}`
201
+ });
202
+ setPhotoFile(null);
203
+ }
204
+ }, [onCapture, photoFile]);
205
+ const removePhotoFile = (0, _react.useCallback)(() => {
206
+ setPhotoFile(null);
207
+ }, [setPhotoFile]);
208
+ let content;
209
+ if (!hasPermission) {
210
+ content = /*#__PURE__*/(0, _jsxRuntime.jsx)(PermissionCard, {
211
+ onPermissionRequestPress: handlePermissionRequestPress
212
+ });
213
+ } else if (photoFile) {
214
+ content = /*#__PURE__*/(0, _jsxRuntime.jsx)(PhotoFilePreview, {
215
+ photoFile: photoFile,
216
+ onCancel: removePhotoFile,
217
+ onConfirm: handleCaptureConfirm
218
+ });
219
+ } else {
220
+ content = /*#__PURE__*/(0, _jsxRuntime.jsx)(CameraPreview, {
221
+ isActive: isActive,
222
+ filters: filters,
223
+ onCapture: setPhotoFile,
224
+ previewOverlay: previewOverlay,
225
+ allowDeviceSwitching: allowDeviceSwitching,
226
+ initialDevice: initialDevice,
227
+ pathToSave: pathToSave
228
+ });
229
+ }
230
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.Modal, {
231
+ animationType: "slide",
232
+ statusBarTranslucent: true,
233
+ ...modalProps,
234
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Toasts.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
235
+ className: "flex h-full w-full flex-col items-center bg-black px-4 pt-12",
236
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
237
+ className: "self-start py-4",
238
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.Pressable, {
239
+ hitSlop: 10,
240
+ onPress: onClose,
241
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseIcon.default, {
242
+ icon: _outline.ArrowLongLeftIcon,
243
+ color: "fg-brand-primary",
244
+ size: 32
245
+ })
246
+ })
247
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
248
+ className: "mb-4 w-full flex-1",
249
+ children: content
250
+ })]
251
+ })]
252
+ });
253
+ }
254
+ var _default = exports.default = (0, _nativewind.styled)(CameraWrapperModal);
255
+ //# sourceMappingURL=CameraWrapperModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_hooks","require","_native","_reactNative","_reactQuery","_clsx","_interopRequireDefault","_nativewind","_react","_headless","_reactNative2","_outline","_reactNativeVisionCamera","_hocComponents","_BaseButton","_BaseIcon","_BaseText","_PressableOpacity","_useIsAboveBreakpoint","_fileDirectoryUtils","_Camera","_Toasts","_jsxRuntime","e","__esModule","default","PermissionCard","onPermissionRequestPress","largePhone","useIsAboveBreakpoint","jsxs","View","className","clsx","children","jsx","width","height","size","text","onPress","CameraPreview","onCapture","previewOverlay","filters","isActive","allowDeviceSwitching","initialDevice","pathToSave","cameraRef","useRef","selectedDevice","setSelectedDevice","useState","device","useCameraDevice","format","useCameraFormat","mutate","useMutation","mutationFn","current","ensureDirExists","file","takePhoto","path","replace","undefined","Promise","reject","Error","networkMode","onSuccess","photoFile","uri","onError","error","captureException","toast","Camera","style","flex","ref","photo","icon","ArrowPathIcon","color","PhotoFilePreview","onConfirm","onCancel","Image","source","resizeMode","Pressable","ArrowUturnLeftIcon","CheckIcon","CameraWrapperModal","onClose","photoResolution","modalProps","setPhotoFile","permissionRequested","setPermissionRequested","isFocused","useIsFocused","appState","useAppState","hasPermission","requestPermission","useCameraPermission","handlePermissionRequestPress","useCallback","Linking","openSettings","handleCaptureConfirm","removePhotoFile","content","Modal","animationType","statusBarTranslucent","hitSlop","ArrowLongLeftIcon","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/CameraWrapperModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _formik = require("formik");
8
+ var _nativewind = require("nativewind");
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _BaseText = _interopRequireDefault(require("./BaseText"));
11
+ var _CameraImageInput = _interopRequireDefault(require("./CameraImageInput"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function FormikCameraImageInput({
15
+ name,
16
+ ...props
17
+ }) {
18
+ const [field, meta, helpers] = (0, _formik.useField)(name);
19
+ const hasError = !!(meta.error && meta.touched);
20
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
21
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CameraImageInput.default, {
22
+ value: field.value,
23
+ onValueChange: helpers.setValue,
24
+ hasError: hasError,
25
+ showImages: true,
26
+ ...props
27
+ }), hasError && /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.ErrorMessage, {
28
+ name: name,
29
+ children: msg => /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
30
+ className: "mt-1 text-sm text-error-primary",
31
+ children: msg
32
+ })
33
+ })]
34
+ });
35
+ }
36
+ var _default = exports.default = (0, _nativewind.styled)(FormikCameraImageInput);
37
+ //# sourceMappingURL=FormikCameraImageInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_formik","require","_nativewind","_react","_interopRequireDefault","_BaseText","_CameraImageInput","_jsxRuntime","e","__esModule","default","FormikCameraImageInput","name","props","field","meta","helpers","useField","hasError","error","touched","jsxs","Fragment","children","jsx","value","onValueChange","setValue","showImages","ErrorMessage","msg","className","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/FormikCameraImageInput.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAGA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,iBAAA,GAAAF,sBAAA,CAAAH,OAAA;AAA6E,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM7E,SAASG,sBAAsBA,CAAC;EAC9BC,IAAI;EACJ,GAAGC;AACwB,CAAC,EAAE;EAC9B,MAAM,CAACC,KAAK,EAAEC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,gBAAQ,EAACL,IAAI,CAAC;EAE7C,MAAMM,QAAQ,GAAG,CAAC,EAAEH,IAAI,CAACI,KAAK,IAAIJ,IAAI,CAACK,OAAO,CAAC;EAE/C,oBACE,IAAAb,WAAA,CAAAc,IAAA,EAAAd,WAAA,CAAAe,QAAA;IAAAC,QAAA,gBACE,IAAAhB,WAAA,CAAAiB,GAAA,EAAClB,iBAAA,CAAAI,OAAgB;MACfe,KAAK,EAAEX,KAAK,CAACW,KAAM;MACnBC,aAAa,EAAEV,OAAO,CAACW,QAAS;MAChCT,QAAQ,EAAEA,QAAS;MACnBU,UAAU;MAAA,GACNf;IAAK,CACV,CAAC,EACDK,QAAQ,iBACP,IAAAX,WAAA,CAAAiB,GAAA,EAACxB,OAAA,CAAA6B,YAAY;MAACjB,IAAI,EAAEA,IAAK;MAAAW,QAAA,EACrBO,GAAG,iBAAK,IAAAvB,WAAA,CAAAiB,GAAA,EAACnB,SAAA,CAAAK,OAAQ;QAACqB,SAAS,EAAC,iCAAiC;QAAAR,QAAA,EAAEO;MAAG,CAAW;IAAC,CACpE,CACf;EAAA,CACD,CAAC;AAEP;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAvB,OAAA,GAEc,IAAAwB,kBAAM,EAACvB,sBAAsB,CAAC","ignoreList":[]}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ImagePickerBottomSheet;
7
+ var _react = require("react");
8
+ var _BaseBottomSheetModal = _interopRequireDefault(require("./BaseBottomSheetModal"));
9
+ var _BaseText = _interopRequireDefault(require("./BaseText"));
10
+ var _CameraWrapperModal = _interopRequireDefault(require("./CameraWrapperModal"));
11
+ var _PhotoPickerModal = _interopRequireDefault(require("./PhotoPickerModal"));
12
+ var _PressableOpacity = _interopRequireDefault(require("./PressableOpacity"));
13
+ var _hocComponents = require("../hoc-components");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ function ImagePickerBottomSheet({
17
+ open,
18
+ onImagePick,
19
+ onDismiss,
20
+ galleryAllowed = true,
21
+ cameraWrapperProps = {},
22
+ ...props
23
+ }) {
24
+ const bottomSheetModalRef = (0, _react.useRef)(null);
25
+ const [isCameraModalOpen, setIsCameraModalOpen] = (0, _react.useState)(false);
26
+ const [isPhotoPickerModalOpen, setIsPhotoPickerModalOpen] = (0, _react.useState)(false);
27
+ (0, _react.useEffect)(() => {
28
+ if (open) {
29
+ if (galleryAllowed) {
30
+ bottomSheetModalRef.current?.present();
31
+ } else {
32
+ setIsCameraModalOpen(true);
33
+ }
34
+ } else {
35
+ bottomSheetModalRef.current?.dismiss();
36
+ setIsCameraModalOpen(false);
37
+ setIsPhotoPickerModalOpen(false);
38
+ }
39
+ }, [open, galleryAllowed]);
40
+ const handleClose = (0, _react.useCallback)(() => {
41
+ setIsCameraModalOpen(false);
42
+ setIsPhotoPickerModalOpen(false);
43
+ onDismiss();
44
+ }, [onDismiss]);
45
+ const onPhotoPick = (0, _react.useCallback)(image => {
46
+ onImagePick(image);
47
+ }, [onImagePick]);
48
+ const onCameraImagePick = (0, _react.useCallback)(image => {
49
+ onImagePick({
50
+ uri: `file://${image.path}`,
51
+ width: image.width,
52
+ height: image.height
53
+ });
54
+ }, [onImagePick]);
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseBottomSheetModal.default, {
57
+ enableDynamicSizing: true,
58
+ ref: bottomSheetModalRef,
59
+ onDismiss: handleClose,
60
+ ...props,
61
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
62
+ className: "flex flex-col items-center space-y-8 py-8",
63
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_PressableOpacity.default, {
64
+ className: "flex w-1/2 flex-row items-center justify-between space-x-4 p-2",
65
+ onPress: () => setIsCameraModalOpen(true),
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
67
+ className: "text-xl",
68
+ children: "Tomar foto"
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
70
+ className: "text-xl",
71
+ children: "\uD83D\uDCF8"
72
+ })]
73
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_PressableOpacity.default, {
74
+ className: "flex w-1/2 flex-row items-center justify-between space-x-4 p-2",
75
+ onPress: () => setIsPhotoPickerModalOpen(true),
76
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
77
+ className: "text-xl",
78
+ children: "Abrir galer\xEDa"
79
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
80
+ className: "text-xl",
81
+ children: "\uD83C\uDF05"
82
+ })]
83
+ })]
84
+ })
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_PhotoPickerModal.default, {
86
+ visible: isPhotoPickerModalOpen,
87
+ onImagePick: onPhotoPick,
88
+ onClose: handleClose,
89
+ onRequestClose: handleClose
90
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CameraWrapperModal.default, {
91
+ visible: isCameraModalOpen,
92
+ className: "h-full w-full",
93
+ onCapture: onCameraImagePick,
94
+ onClose: handleClose,
95
+ onRequestClose: handleClose,
96
+ ...cameraWrapperProps
97
+ })]
98
+ });
99
+ }
100
+ //# sourceMappingURL=ImagePickerBottomSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_BaseBottomSheetModal","_interopRequireDefault","_BaseText","_CameraWrapperModal","_PhotoPickerModal","_PressableOpacity","_hocComponents","_jsxRuntime","e","__esModule","default","ImagePickerBottomSheet","open","onImagePick","onDismiss","galleryAllowed","cameraWrapperProps","props","bottomSheetModalRef","useRef","isCameraModalOpen","setIsCameraModalOpen","useState","isPhotoPickerModalOpen","setIsPhotoPickerModalOpen","useEffect","current","present","dismiss","handleClose","useCallback","onPhotoPick","image","onCameraImagePick","uri","path","width","height","jsxs","Fragment","children","jsx","enableDynamicSizing","ref","View","className","onPress","visible","onClose","onRequestClose","onCapture"],"sourceRoot":"../../../src","sources":["components/ImagePickerBottomSheet.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _nativewind = require("nativewind");
8
+ var _react = require("react");
9
+ var _headless = _interopRequireDefault(require("react-hot-toast/headless"));
10
+ var _reactNativeImagePicker = require("react-native-image-picker");
11
+ var _BaseButton = _interopRequireDefault(require("./BaseButton"));
12
+ var _BaseText = _interopRequireDefault(require("./BaseText"));
13
+ var _hocComponents = require("../hoc-components");
14
+ var _PressableOpacity = _interopRequireDefault(require("./PressableOpacity"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ function MediaLibraryModal({
18
+ onImagePick,
19
+ onClose,
20
+ visible,
21
+ imageOptions = {
22
+ maxWidth: 1024,
23
+ maxHeight: 1024,
24
+ quality: 0.8,
25
+ includeBase64: false
26
+ },
27
+ ...props
28
+ }) {
29
+ const [image, setImage] = (0, _react.useState)();
30
+ (0, _react.useEffect)(() => {
31
+ const handleImageSelect = async () => {
32
+ try {
33
+ const result = await (0, _reactNativeImagePicker.launchImageLibrary)({
34
+ mediaType: 'photo',
35
+ selectionLimit: 1,
36
+ ...imageOptions
37
+ });
38
+ if (result.didCancel) {
39
+ onClose();
40
+ return;
41
+ }
42
+ if (!result.assets?.length) {
43
+ return;
44
+ }
45
+ const asset = result.assets[0];
46
+ if (!asset.uri) {
47
+ _headless.default.error('Error al seleccionar la imagen');
48
+ return;
49
+ }
50
+ setImage({
51
+ uri: asset.uri,
52
+ type: asset.type,
53
+ width: asset.width,
54
+ height: asset.height
55
+ });
56
+ } catch {
57
+ _headless.default.error('Error al seleccionar la imagen');
58
+ }
59
+ };
60
+ if (visible) {
61
+ handleImageSelect();
62
+ }
63
+ }, [visible]); // eslint-disable-line react-hooks/exhaustive-deps
64
+
65
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.Modal, {
66
+ visible: visible,
67
+ ...props,
68
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
69
+ className: "flex h-full flex-col px-4 py-8",
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_PressableOpacity.default, {
71
+ onPress: onClose,
72
+ hitSlop: 6,
73
+ className: "mb-4 self-end",
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
75
+ className: "font-medium text-gray-700",
76
+ children: "Cancelar"
77
+ })
78
+ }), image && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
79
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
80
+ className: "w-full flex-1 overflow-hidden rounded-xl",
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.Image, {
82
+ className: "h-full w-auto",
83
+ source: {
84
+ uri: image.uri
85
+ },
86
+ resizeMode: "contain"
87
+ })
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseButton.default, {
89
+ text: "Confirmar",
90
+ onPress: () => onImagePick(image),
91
+ className: "mt-4 w-full self-center"
92
+ })]
93
+ })]
94
+ })
95
+ });
96
+ }
97
+ var _default = exports.default = (0, _nativewind.styled)(MediaLibraryModal);
98
+ //# sourceMappingURL=PhotoPickerModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_nativewind","require","_react","_headless","_interopRequireDefault","_reactNativeImagePicker","_BaseButton","_BaseText","_hocComponents","_PressableOpacity","_jsxRuntime","e","__esModule","default","MediaLibraryModal","onImagePick","onClose","visible","imageOptions","maxWidth","maxHeight","quality","includeBase64","props","image","setImage","useState","useEffect","handleImageSelect","result","launchImageLibrary","mediaType","selectionLimit","didCancel","assets","length","asset","uri","toast","error","type","width","height","jsx","Modal","children","jsxs","View","className","onPress","hitSlop","Fragment","Image","source","resizeMode","text","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/PhotoPickerModal.tsx"],"mappings":"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","ignoreList":[]}