@meatech/payblend_app_ui_component 1.1.46 → 1.1.48

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 (39) hide show
  1. package/.trunk/trunk.yaml +1 -1
  2. package/components/Inputs/Input.tsx +6 -1
  3. package/components/Inputs/InputField.tsx +6 -0
  4. package/components/NotificationModal/GlobalModal.tsx +112 -0
  5. package/components/NotificationModal/index.ts +1 -0
  6. package/dist/components/IconWithLabel/IconWithLabel.js +1 -0
  7. package/dist/components/IconWithLabel/IconWithLabel.js.map +1 -1
  8. package/dist/components/Inputs/Input.d.ts +1 -0
  9. package/dist/components/Inputs/Input.d.ts.map +1 -1
  10. package/dist/components/Inputs/InputField.d.ts +3 -2
  11. package/dist/components/Inputs/InputField.d.ts.map +1 -1
  12. package/dist/components/Inputs/InputField.js +6 -2
  13. package/dist/components/Inputs/InputField.js.map +1 -1
  14. package/dist/components/Inputs/SelectField.js +1 -0
  15. package/dist/components/Inputs/SelectField.js.map +1 -1
  16. package/dist/components/NotificationModal/GlobalModal.d.ts +18 -0
  17. package/dist/components/NotificationModal/GlobalModal.d.ts.map +1 -0
  18. package/dist/components/NotificationModal/GlobalModal.js +92 -0
  19. package/dist/components/NotificationModal/GlobalModal.js.map +1 -0
  20. package/dist/components/NotificationModal/NotificationModal.js +1 -0
  21. package/dist/components/NotificationModal/NotificationModal.js.map +1 -1
  22. package/dist/components/NotificationModal/index.d.ts +1 -0
  23. package/dist/components/NotificationModal/index.d.ts.map +1 -1
  24. package/dist/components/OptionalUtilities/OptionalUtilities.js +1 -0
  25. package/dist/components/OptionalUtilities/OptionalUtilities.js.map +1 -1
  26. package/dist/components/PaymentMethodCard/PaymentMethodCard.js +1 -0
  27. package/dist/components/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  28. package/dist/components/PaymentMethodCardWithAmount/PaymentMethodCardWithAmount.js +1 -0
  29. package/dist/components/PaymentMethodCardWithAmount/PaymentMethodCardWithAmount.js.map +1 -1
  30. package/dist/components/SnapImageCarousel/CardStatusThumbnail.js +1 -0
  31. package/dist/components/SnapImageCarousel/CardStatusThumbnail.js.map +1 -1
  32. package/dist/components/TickItem/index.js +1 -0
  33. package/dist/components/TickItem/index.js.map +1 -1
  34. package/dist/components/Toasts/BaseToast.js +1 -0
  35. package/dist/components/Toasts/BaseToast.js.map +1 -1
  36. package/dist/components/index.d.ts +1 -0
  37. package/dist/components/index.js +1 -0
  38. package/dist/components/index.js.map +1 -1
  39. package/package.json +1 -1
package/.trunk/trunk.yaml CHANGED
@@ -17,7 +17,7 @@ runtimes:
17
17
  # This is the section where you manage your linters. (https://docs.trunk.io/check/configuration)
18
18
  lint:
19
19
  enabled:
20
- - checkov@3.2.493
20
+ - checkov@3.2.495
21
21
  - git-diff-check
22
22
  - osv-scanner@2.2.4
23
23
  - oxipng@9.1.5
@@ -8,6 +8,7 @@ import {
8
8
  TextStyle,
9
9
  View,
10
10
  ViewStyle,
11
+ Platform,
11
12
  } from 'react-native';
12
13
  import {FontSizes, Images, colors, metrics, ph, pw} from '@ui/themes';
13
14
  import {Icon} from '../Icons';
@@ -33,6 +34,7 @@ interface InputProps
33
34
  errorTextStyle?: StyleProp<TextStyle>;
34
35
  containerStyle?: StyleProp<ViewStyle>;
35
36
  inputContainerStyle?: StyleProp<ViewStyle>;
37
+ inputStyle?: StyleProp<TextStyle>;
36
38
  onClearValue?: () => void;
37
39
  onPressInteract?: () => void;
38
40
  }
@@ -55,6 +57,7 @@ export const Input: React.FC<InputProps> = ({
55
57
  errorText,
56
58
  errorTextStyle,
57
59
  maxLength,
60
+ inputStyle,
58
61
  onClearValue,
59
62
  onPressInteract,
60
63
  ...rest
@@ -87,7 +90,7 @@ export const Input: React.FC<InputProps> = ({
87
90
  ]}>
88
91
  <TextInput
89
92
  value={value}
90
- style={styles.input}
93
+ style={[styles.input, inputStyle]}
91
94
  placeholderTextColor={colors.neutral[60]}
92
95
  multiline={multiline}
93
96
  secureTextEntry={secureTextEntry && isSecureTextEntry}
@@ -164,6 +167,8 @@ const styles = StyleSheet.create({
164
167
  height: '100%',
165
168
  fontSize: FontSizes.fontSmall,
166
169
  color: colors.neutral[80],
170
+ ...((Platform.OS === 'web' ? {outlineStyle: 'none'} : {}) as any),
171
+ outlineWidth: 0,
167
172
  },
168
173
  inputMultiline: {
169
174
  height: ph(80),
@@ -10,6 +10,7 @@ import {
10
10
  TextStyle,
11
11
  View,
12
12
  ViewStyle,
13
+ Platform,
13
14
  } from "react-native";
14
15
  import MaskInput, { Mask } from "react-native-mask-input";
15
16
  import Text from "@ui/components/Text";
@@ -43,6 +44,7 @@ export const InputField = ({
43
44
  obfuscationCharacter,
44
45
  showObfuscatedValue = false,
45
46
  isPhoneNumber = false,
47
+ inputStyle,
46
48
  onChangeText,
47
49
  onEndEditing,
48
50
  onToggleShowPassword,
@@ -79,6 +81,7 @@ export const InputField = ({
79
81
  mask?: Mask;
80
82
  obfuscationCharacter?: string;
81
83
  showObfuscatedValue?: boolean;
84
+ inputStyle?: StyleProp<TextStyle>;
82
85
  onChangeText?: (
83
86
  text: string,
84
87
  maskedText?: string,
@@ -259,6 +262,7 @@ export const InputField = ({
259
262
  styles.inputFieldBox,
260
263
  inputHeightStyle,
261
264
  type === 'phone-number' && inputBorderStyle,
265
+ inputStyle,
262
266
  ]}
263
267
  mask={mask || undefined}
264
268
  maxLength={maxLength}
@@ -326,6 +330,8 @@ const styles = StyleSheet.create({
326
330
  paddingHorizontal: Space.medium,
327
331
  fontSize: FontSizes.fontLarge,
328
332
  borderWidth: 0,
333
+ ...((Platform.OS === 'web' ? {outlineStyle: 'none'} : {}) as any),
334
+ outlineWidth: 0,
329
335
  },
330
336
  picker: {
331
337
  width: pw(100),
@@ -0,0 +1,112 @@
1
+ import React, {createRef, useImperativeHandle, useRef, useState} from 'react';
2
+ import {
3
+ ModalRef,
4
+ NotificationModal,
5
+ Text,
6
+ } from '@ui/components';
7
+ import {StyleSheet, View} from 'react-native';
8
+ import {metrics} from '@ui/themes';
9
+
10
+ interface IOpenModalData {
11
+ title: string;
12
+ content: string;
13
+ type?: 'WARNING' | 'ERROR' | 'INFO' | 'SUCCESS';
14
+ confirmButtonText?: string;
15
+ cancelButtonText?: string;
16
+ onConfirm: () => void;
17
+ onCancel?: () => void;
18
+ }
19
+ export interface GlobalModalRef {
20
+ open: (data: IOpenModalData) => void;
21
+ close: () => void;
22
+ }
23
+
24
+ const refGlobalModal = createRef<GlobalModalRef>();
25
+
26
+ export const GlobalModal = ({
27
+ title = '',
28
+ content = '',
29
+ type = 'WARNING',
30
+ confirmButtonText = 'OK',
31
+ cancelButtonText = 'キャンセル',
32
+ onConfirm = () => {},
33
+ onCancel = undefined,
34
+ }: IOpenModalData) => {
35
+ return refGlobalModal?.current?.open?.({
36
+ title,
37
+ content,
38
+ type,
39
+ confirmButtonText,
40
+ cancelButtonText,
41
+ onConfirm,
42
+ onCancel,
43
+ });
44
+ };
45
+
46
+ export const GlobalModalComponent = () => {
47
+ const modalRef = useRef<ModalRef>(null);
48
+ const [modalData, setModalData] = useState<IOpenModalData>({
49
+ title: '',
50
+ content: '',
51
+ type: 'WARNING',
52
+ confirmButtonText: 'OK',
53
+ cancelButtonText: 'キャンセル',
54
+ onConfirm: () => {},
55
+ onCancel: undefined,
56
+ });
57
+ useImperativeHandle(
58
+ refGlobalModal,
59
+ () => ({
60
+ open: ({
61
+ title,
62
+ content,
63
+ type,
64
+ confirmButtonText,
65
+ cancelButtonText,
66
+ onConfirm,
67
+ onCancel = undefined,
68
+ }: IOpenModalData) => {
69
+ setModalData({
70
+ title,
71
+ content,
72
+ type,
73
+ confirmButtonText,
74
+ cancelButtonText,
75
+ onConfirm,
76
+ onCancel,
77
+ });
78
+ modalRef.current?.open();
79
+ },
80
+ close: () => {
81
+ modalRef.current?.close();
82
+ },
83
+ }),
84
+ [],
85
+ );
86
+ const onConfirm = () => {
87
+ modalData.onConfirm();
88
+ modalRef.current?.close();
89
+ };
90
+
91
+ return (
92
+ <NotificationModal
93
+ ref={modalRef}
94
+ title={modalData.title}
95
+ type={modalData.type}
96
+ confirmButtonText={modalData.confirmButtonText}
97
+ cancelButtonText={modalData.cancelButtonText}
98
+ onCancel={modalData.onCancel}
99
+ onConfirm={onConfirm}>
100
+ <View style={styles.modalContent}>
101
+ <Text>{modalData.content}</Text>
102
+ </View>
103
+ </NotificationModal>
104
+ );
105
+ };
106
+
107
+ const styles = StyleSheet.create({
108
+ modalContent: {
109
+ marginBottom: metrics.height.spacingBase,
110
+ gap: metrics.height.spacingSlightlySmall,
111
+ },
112
+ });
@@ -1,2 +1,3 @@
1
1
  export * from './interface';
2
2
  export * from './NotificationModal';
3
+ export * from './GlobalModal';
@@ -23,6 +23,7 @@ import '../SnapImageCarousel/consts.js';
23
23
  import 'react-native-fast-image';
24
24
  import '../SkeletonLoader/SkeletonLoader.js';
25
25
  import '../NotificationModal/NotificationModal.js';
26
+ import '../NotificationModal/GlobalModal.js';
26
27
  import '../Modal/Modal.js';
27
28
  import '../Button/styles.js';
28
29
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"IconWithLabel.js","sources":["../../../../components/IconWithLabel/IconWithLabel.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { StyleSheet, TouchableOpacity } from \"react-native\";\nimport { IconWithLabelProps } from \"./type\";\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n metrics,\n pf,\n pw,\n} from \"@ui/themes\";\nimport { Icon } from \"@ui/components\";\nimport { formatNumber } from \"@ui/utils\";\nimport Text from \"@ui/components/Text\";\n\nexport const SIZE_ICON_WITH_LABEL_DEFAULT = (deviceWidth() - 52) / 3;\n\nexport const IconWithLabel: React.FC<IconWithLabelProps> = ({\n label,\n icon,\n balance = 0,\n width = SIZE_ICON_WITH_LABEL_DEFAULT,\n height = SIZE_ICON_WITH_LABEL_DEFAULT,\n isFlex = false,\n disabled,\n style,\n labelStyle,\n isShowBalance = false,\n children,\n ...rest\n}) => {\n return (\n <TouchableOpacity\n disabled={disabled}\n style={[\n styles.container,\n style,\n isFlex ? { flex: 1 } : { width: pw(width), height: pw(height) },\n disabled && styles.disabled,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n {...rest}\n >\n {children ? children : <Icon\n name={icon}\n width={metrics.iconSemiLarge}\n height={metrics.iconSemiLarge}\n />}\n <Text\n size=\"xs\"\n color=\"tertiary\"\n style={[styles.label, labelStyle]}\n numberOfLines={2}\n >\n {label}\n </Text>\n {isShowBalance && (\n <Text\n fontWeight=\"700\"\n size=\"large\"\n color=\"tertiary\"\n style={styles.txtBalance}\n >\n ¥{formatNumber(balance.toString())}\n </Text>\n )}\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n borderWidth: metrics.borderWidthMedium,\n borderColor: colors.neutral[\"20\"],\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: metrics.width.spacingTiny,\n },\n label: {\n lineHeight: pf(18),\n textAlign: \"center\",\n },\n txtBalance: {\n lineHeight: pf(30),\n marginTop: metrics.width.spacingTiny,\n },\n disabled: {\n opacity: 0.4,\n },\n});\n"],"names":["pw","pf"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,4BAA4B,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI;AAEtD,MAAA,aAAa,GAAiC,CAAC,EAC1D,KAAK,EACL,IAAI,EACJ,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,4BAA4B,EACpC,MAAM,GAAG,4BAA4B,EACrC,MAAM,GAAG,KAAK,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACV,aAAa,GAAG,KAAK,EACrB,QAAQ,EACR,GAAG,IAAI,EACR,KAAI;IACH,QACE,oBAAC,gBAAgB,EAAA,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;AACL,YAAA,MAAM,CAAC,SAAS;YAChB,KAAK;YACL,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAEA,eAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAEA,eAAE,CAAC,MAAM,CAAC,EAAE;YAC/D,QAAQ,IAAI,MAAM,CAAC,QAAQ;AAC5B,SAAA,EACD,aAAa,EAAE,cAAc,EAAA,GACzB,IAAI,EAAA;QAEP,QAAQ,GAAG,QAAQ,GAAG,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,CAAC,aAAa,EAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,EAC7B,CAAA;QACF,KAAC,CAAA,aAAA,CAAA,IAAI,EACH,EAAA,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,EACjC,aAAa,EAAE,CAAC,EAEf,EAAA,KAAK,CACD;QACN,aAAa,KACZ,KAAC,CAAA,aAAA,CAAA,IAAI,IACH,UAAU,EAAC,KAAK,EAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,MAAM,CAAC,UAAU,EAAA;;YAEtB,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC7B,CACR,CACgB;AAEvB;AAEA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AAC/B,IAAA,SAAS,EAAE;QACT,WAAW,EAAE,OAAO,CAAC,iBAAiB;AACtC,QAAA,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;AACnC,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,UAAU,EAAEC,cAAE,CAAC,EAAE,CAAC;AAClB,QAAA,SAAS,EAAE,QAAQ;AACpB,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,UAAU,EAAEA,cAAE,CAAC,EAAE,CAAC;AAClB,QAAA,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;AACrC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,GAAG;AACb,KAAA;AACF,CAAA,CAAC;;;;"}
1
+ {"version":3,"file":"IconWithLabel.js","sources":["../../../../components/IconWithLabel/IconWithLabel.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { StyleSheet, TouchableOpacity } from \"react-native\";\nimport { IconWithLabelProps } from \"./type\";\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n metrics,\n pf,\n pw,\n} from \"@ui/themes\";\nimport { Icon } from \"@ui/components\";\nimport { formatNumber } from \"@ui/utils\";\nimport Text from \"@ui/components/Text\";\n\nexport const SIZE_ICON_WITH_LABEL_DEFAULT = (deviceWidth() - 52) / 3;\n\nexport const IconWithLabel: React.FC<IconWithLabelProps> = ({\n label,\n icon,\n balance = 0,\n width = SIZE_ICON_WITH_LABEL_DEFAULT,\n height = SIZE_ICON_WITH_LABEL_DEFAULT,\n isFlex = false,\n disabled,\n style,\n labelStyle,\n isShowBalance = false,\n children,\n ...rest\n}) => {\n return (\n <TouchableOpacity\n disabled={disabled}\n style={[\n styles.container,\n style,\n isFlex ? { flex: 1 } : { width: pw(width), height: pw(height) },\n disabled && styles.disabled,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n {...rest}\n >\n {children ? children : <Icon\n name={icon}\n width={metrics.iconSemiLarge}\n height={metrics.iconSemiLarge}\n />}\n <Text\n size=\"xs\"\n color=\"tertiary\"\n style={[styles.label, labelStyle]}\n numberOfLines={2}\n >\n {label}\n </Text>\n {isShowBalance && (\n <Text\n fontWeight=\"700\"\n size=\"large\"\n color=\"tertiary\"\n style={styles.txtBalance}\n >\n ¥{formatNumber(balance.toString())}\n </Text>\n )}\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n borderWidth: metrics.borderWidthMedium,\n borderColor: colors.neutral[\"20\"],\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: metrics.width.spacingTiny,\n },\n label: {\n lineHeight: pf(18),\n textAlign: \"center\",\n },\n txtBalance: {\n lineHeight: pf(30),\n marginTop: metrics.width.spacingTiny,\n },\n disabled: {\n opacity: 0.4,\n },\n});\n"],"names":["pw","pf"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,4BAA4B,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,IAAI;AAEtD,MAAA,aAAa,GAAiC,CAAC,EAC1D,KAAK,EACL,IAAI,EACJ,OAAO,GAAG,CAAC,EACX,KAAK,GAAG,4BAA4B,EACpC,MAAM,GAAG,4BAA4B,EACrC,MAAM,GAAG,KAAK,EACd,QAAQ,EACR,KAAK,EACL,UAAU,EACV,aAAa,GAAG,KAAK,EACrB,QAAQ,EACR,GAAG,IAAI,EACR,KAAI;IACH,QACE,oBAAC,gBAAgB,EAAA,EACf,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;AACL,YAAA,MAAM,CAAC,SAAS;YAChB,KAAK;YACL,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAEA,eAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAEA,eAAE,CAAC,MAAM,CAAC,EAAE;YAC/D,QAAQ,IAAI,MAAM,CAAC,QAAQ;AAC5B,SAAA,EACD,aAAa,EAAE,cAAc,EAAA,GACzB,IAAI,EAAA;QAEP,QAAQ,GAAG,QAAQ,GAAG,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAC1B,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,CAAC,aAAa,EAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,EAC7B,CAAA;QACF,KAAC,CAAA,aAAA,CAAA,IAAI,EACH,EAAA,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,EACjC,aAAa,EAAE,CAAC,EAEf,EAAA,KAAK,CACD;QACN,aAAa,KACZ,KAAC,CAAA,aAAA,CAAA,IAAI,IACH,UAAU,EAAC,KAAK,EAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,MAAM,CAAC,UAAU,EAAA;;YAEtB,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAC7B,CACR,CACgB;AAEvB;AAEA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AAC/B,IAAA,SAAS,EAAE;QACT,WAAW,EAAE,OAAO,CAAC,iBAAiB;AACtC,QAAA,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;AACnC,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,UAAU,EAAEC,cAAE,CAAC,EAAE,CAAC;AAClB,QAAA,SAAS,EAAE,QAAQ;AACpB,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,UAAU,EAAEA,cAAE,CAAC,EAAE,CAAC;AAClB,QAAA,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW;AACrC,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,GAAG;AACb,KAAA;AACF,CAAA,CAAC;;;;"}
@@ -17,6 +17,7 @@ interface InputProps extends Omit<TextInputProps, 'value' | 'multiline' | 'secur
17
17
  errorTextStyle?: StyleProp<TextStyle>;
18
18
  containerStyle?: StyleProp<ViewStyle>;
19
19
  inputContainerStyle?: StyleProp<ViewStyle>;
20
+ inputStyle?: StyleProp<TextStyle>;
20
21
  onClearValue?: () => void;
21
22
  onPressInteract?: () => void;
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../components/Inputs/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,SAAS,EAGT,cAAc,EACd,SAAS,EAET,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAY,MAAM,EAA0B,MAAM,YAAY,CAAC;AAItE,UAAU,UACR,SAAQ,IAAI,CACV,cAAc,EACd,OAAO,GAAG,WAAW,GAAG,iBAAiB,GAAG,OAAO,GAAG,sBAAsB,CAC7E;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,OAAO,MAAM,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAID,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA6FtC,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../components/Inputs/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,SAAS,EAGT,cAAc,EACd,SAAS,EAET,SAAS,EAEV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAY,MAAM,EAA0B,MAAM,YAAY,CAAC;AAItE,UAAU,UACR,SAAQ,IAAI,CACV,cAAc,EACd,OAAO,GAAG,WAAW,GAAG,iBAAiB,GAAG,OAAO,GAAG,sBAAsB,CAC7E;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,OAAO,MAAM,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC3C,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAID,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA8FtC,CAAC"}
@@ -1,7 +1,7 @@
1
- import { KeyboardTypeOptions } from 'react-native';
1
+ import { KeyboardTypeOptions, StyleProp, TextStyle } from 'react-native';
2
2
  import { Mask } from 'react-native-mask-input';
3
3
 
4
- declare const InputField: ({ value, label, placeholder, errMessage, size, variant, type, labelSize, isShowPassword, disabled, isHideIcon, maxLength, keyboardType, debounceTime, mask, obfuscationCharacter, showObfuscatedValue, isPhoneNumber, onChangeText, onEndEditing, onToggleShowPassword, onSearch, onDebounceChangeText, onSubmitEditing, onBlur, }: {
4
+ declare const InputField: ({ value, label, placeholder, errMessage, size, variant, type, labelSize, isShowPassword, disabled, isHideIcon, maxLength, keyboardType, debounceTime, mask, obfuscationCharacter, showObfuscatedValue, isPhoneNumber, inputStyle, onChangeText, onEndEditing, onToggleShowPassword, onSearch, onDebounceChangeText, onSubmitEditing, onBlur, }: {
5
5
  value: string;
6
6
  label?: string;
7
7
  errMessage?: string;
@@ -20,6 +20,7 @@ declare const InputField: ({ value, label, placeholder, errMessage, size, varian
20
20
  mask?: Mask;
21
21
  obfuscationCharacter?: string;
22
22
  showObfuscatedValue?: boolean;
23
+ inputStyle?: StyleProp<TextStyle>;
23
24
  onChangeText?: (text: string, maskedText?: string, obfuscatedText?: string) => void;
24
25
  onEndEditing?: (text: string) => void;
25
26
  onToggleShowPassword?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../components/Inputs/InputField.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EASpB,MAAM,cAAc,CAAC;AACtB,OAAkB,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAa1D,eAAO,MAAM,UAAU,GAAI,oUA0BxB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EACN,MAAM,GACN,KAAK,GACL,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,OAAO,GACP,IAAI,GACJ,KAAK,GACL,MAAM,GACN,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,KACpB,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,QAwMA,CAAC"}
1
+ {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../components/Inputs/InputField.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,EAGnB,SAAS,EAGT,SAAS,EAIV,MAAM,cAAc,CAAC;AACtB,OAAkB,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAa1D,eAAO,MAAM,UAAU,GAAI,gVA2BxB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EACN,MAAM,GACN,KAAK,GACL,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,OAAO,GACP,IAAI,GACJ,KAAK,GACL,MAAM,GACN,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,KACpB,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC,QAyMA,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useMemo, useState, useEffect } from 'react';
3
- import { StyleSheet, View, Pressable } from 'react-native';
3
+ import { StyleSheet, Platform, View, Pressable } from 'react-native';
4
4
  import MaskInput from 'react-native-mask-input';
5
5
  import Text from '../Text/index.js';
6
6
  import '../../themes/base/styles.js';
@@ -25,6 +25,7 @@ import '../SnapImageCarousel/consts.js';
25
25
  import 'react-native-fast-image';
26
26
  import '../SkeletonLoader/SkeletonLoader.js';
27
27
  import '../NotificationModal/NotificationModal.js';
28
+ import '../NotificationModal/GlobalModal.js';
28
29
  import '../Modal/Modal.js';
29
30
  import '../Button/styles.js';
30
31
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -37,7 +38,7 @@ import { useDebounce } from '../../hooks/useDebounce.js';
37
38
  import '../../hooks/useToast.js';
38
39
  import '../../hooks/useSlideAnimation.js';
39
40
 
40
- const InputField = ({ value, label, placeholder, errMessage, size = 'medium', variant = 'default', type = 'default', labelSize, isShowPassword = true, disabled = false, isHideIcon = false, maxLength, keyboardType, debounceTime = 0, mask, obfuscationCharacter, showObfuscatedValue = false, isPhoneNumber = false, onChangeText, onEndEditing, onToggleShowPassword, onSearch, onDebounceChangeText, onSubmitEditing, onBlur, }) => {
41
+ const InputField = ({ value, label, placeholder, errMessage, size = 'medium', variant = 'default', type = 'default', labelSize, isShowPassword = true, disabled = false, isHideIcon = false, maxLength, keyboardType, debounceTime = 0, mask, obfuscationCharacter, showObfuscatedValue = false, isPhoneNumber = false, inputStyle, onChangeText, onEndEditing, onToggleShowPassword, onSearch, onDebounceChangeText, onSubmitEditing, onBlur, }) => {
41
42
  const { height, fontSize } = useMemo(() => ({
42
43
  height: inputFieldHeight[size],
43
44
  fontSize: inputFieldFontSize[size],
@@ -151,6 +152,7 @@ const InputField = ({ value, label, placeholder, errMessage, size = 'medium', va
151
152
  styles.inputFieldBox,
152
153
  inputHeightStyle,
153
154
  type === 'phone-number' && inputBorderStyle,
155
+ inputStyle,
154
156
  ], mask: mask || undefined, maxLength: maxLength, onBlur: handleBlur, onSubmitEditing: handleSubmitEditing }),
155
157
  !isHideIcon && type === 'password' && (React.createElement(Pressable, { disabled: disabled, onPress: handleToggleShowPassword, style: [styles.rightBtn, inputBorderStyle] },
156
158
  React.createElement(Icon, { name: "ic_eye" }))),
@@ -192,6 +194,8 @@ const styles = StyleSheet.create({
192
194
  paddingHorizontal: Space.medium,
193
195
  fontSize: FontSizes.fontLarge,
194
196
  borderWidth: 0,
197
+ ...(Platform.OS === 'web' ? { outlineStyle: 'none' } : {}),
198
+ outlineWidth: 0,
195
199
  },
196
200
  picker: {
197
201
  width: responsiveWidth(100),
@@ -1 +1 @@
1
- {"version":3,"file":"InputField.js","sources":["../../../../components/Inputs/InputField.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport {\n KeyboardTypeOptions,\n NativeSyntheticEvent,\n Pressable,\n StyleProp,\n StyleSheet,\n TextInputEndEditingEventData,\n TextStyle,\n View,\n ViewStyle,\n} from \"react-native\";\nimport MaskInput, { Mask } from \"react-native-mask-input\";\nimport Text from \"@ui/components/Text\";\nimport { FontSizes, Space, colors, metrics, pw } from \"@ui/themes\";\nimport CountryCode from \"../../jsons/CountryCode.json\";\nimport { Icon, SelectField } from \"@ui/components\";\nimport { inputFieldFontSize, inputFieldHeight } from \"./styles\";\nimport { useDebounce } from \"@ui/hooks\";\n\ntype SelectItemT = {\n label: string;\n value: string;\n};\n\nexport const InputField = ({\n value,\n label,\n placeholder,\n errMessage,\n size = 'medium',\n variant = 'default',\n type = 'default',\n labelSize,\n isShowPassword = true,\n disabled = false,\n isHideIcon = false,\n maxLength,\n keyboardType,\n debounceTime = 0,\n mask,\n obfuscationCharacter,\n showObfuscatedValue = false,\n isPhoneNumber = false,\n onChangeText,\n onEndEditing,\n onToggleShowPassword,\n onSearch,\n onDebounceChangeText,\n onSubmitEditing,\n onBlur,\n}: {\n value: string;\n label?: string;\n errMessage?: string;\n placeholder?: string;\n isShowPassword?: boolean;\n disabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n isPhoneNumber?: boolean;\n labelSize?:\n | 'xxxs'\n | 'xxs'\n | 'xs'\n | 'small'\n | 'medium'\n | 'large'\n | 'xl'\n | 'xxl'\n | 'xxxl'\n | 'xxxxl';\n variant?: 'default' | 'quite' | 'none';\n type?: 'default' | 'phone-number' | 'password' | 'search';\n isHideIcon?: boolean;\n maxLength?: number;\n keyboardType?: KeyboardTypeOptions;\n debounceTime?: number;\n mask?: Mask;\n obfuscationCharacter?: string;\n showObfuscatedValue?: boolean;\n onChangeText?: (\n text: string,\n maskedText?: string,\n obfuscatedText?: string,\n ) => void;\n onEndEditing?: (text: string) => void;\n onToggleShowPassword?: () => void;\n onSearch?: () => void;\n onDebounceChangeText?: (text: string) => void;\n onSubmitEditing?: (text: string) => void;\n onBlur?: (text: string) => void;\n}) => {\n const {height, fontSize} = useMemo(\n () => ({\n height: inputFieldHeight[size],\n fontSize: inputFieldFontSize[size],\n }),\n [size],\n );\n const inputHeightStyle: StyleProp<TextStyle> = {\n backgroundColor: disabled ? colors.neutral[20] : colors.white[10],\n height: height - 2,\n fontSize,\n };\n const inputWrapperHeightStyle: StyleProp<ViewStyle> = {\n height: height,\n backgroundColor: disabled ? colors.neutral[20] : colors.white[10],\n };\n const inputWrapperBorderStyle: StyleProp<ViewStyle> = {\n borderRadius: variant === 'default' ? metrics.borderRadiusBase : 0,\n borderWidth:\n variant === 'default'\n ? metrics.borderWidthMedium\n : metrics.borderWidthNone,\n borderColor: disabled\n ? colors.neutral[20]\n : errMessage\n ? colors.red[90]\n : colors.neutral[60],\n borderBottomWidth:\n variant === 'none' ? metrics.borderWidthNone : metrics.borderWidthMedium,\n };\n\n const inputBorderStyle: StyleProp<TextStyle> = {\n borderLeftWidth: variant === 'default' ? metrics.borderWidthMedium : 0,\n borderLeftColor: disabled\n ? colors.neutral[20]\n : errMessage\n ? colors.red[90]\n : colors.neutral[60],\n };\n const countryCodeList = useMemo(\n () =>\n [].map((country: any) => ({\n label: country.dial_code,\n value: country.dial_code,\n })),\n [],\n );\n const [countryCodeValue, setCountryCodeValue] = useState<SelectItemT>(\n countryCodeList[0],\n );\n const [inputValue, setInputValue] = useState(value || '');\n const debouncedOnChangeText = useDebounce(inputValue, debounceTime);\n\n useEffect(() => {\n if (onDebounceChangeText) {\n onDebounceChangeText(debouncedOnChangeText);\n }\n }, [debouncedOnChangeText, onDebounceChangeText]);\n\n useEffect(() => {\n if (isPhoneNumber) {\n setInputValue(value || '');\n }\n }, [value, isPhoneNumber]);\n\n const handleEndEdit = (\n e: NativeSyntheticEvent<TextInputEndEditingEventData>,\n ) => {\n if (onEndEditing) {\n if (\n type === 'phone-number' &&\n countryCodeValue &&\n debouncedOnChangeText\n ) {\n onEndEditing(countryCodeValue.value + e.nativeEvent.text);\n } else {\n onEndEditing(e.nativeEvent.text);\n }\n }\n };\n const handleToggleShowPassword = () => {\n onToggleShowPassword && onToggleShowPassword();\n };\n const handleSearch = () => onSearch && onSearch();\n\n const handleSubmitEditing = () => {\n if (onSubmitEditing) {\n onSubmitEditing(inputValue);\n }\n };\n\n const handleChangeText = (\n maskedText: string,\n text: string,\n obfuscatedText?: string,\n ) => {\n setInputValue(maskedText);\n if (onChangeText) {\n if (text) {\n if (type === 'phone-number' && countryCodeValue && text) {\n onChangeText(\n countryCodeValue.value + text,\n maskedText,\n obfuscatedText,\n );\n } else {\n onChangeText(text, maskedText, obfuscatedText);\n }\n } else {\n setInputValue('');\n onChangeText('', maskedText, obfuscatedText);\n }\n }\n };\n\n const handleBlur = () => {\n if (onBlur) {\n if (type === 'phone-number' && countryCodeValue && inputValue) {\n onBlur(countryCodeValue.value + inputValue);\n } else {\n onBlur(inputValue);\n }\n }\n };\n\n return (\n <View style={styles.inputFieldContainer}>\n {label && <Text size={labelSize || size}>{label}</Text>}\n <View>\n <View\n style={[\n styles.inputFieldWrapper,\n inputWrapperHeightStyle,\n inputWrapperBorderStyle,\n ]}>\n {type === 'phone-number' && (\n <SelectField\n value={countryCodeValue}\n listData={countryCodeList}\n cusHeight={height - 2}\n disabled={disabled}\n variant=\"none\"\n size={size}\n cusWidth={pw(100)}\n onChangeValue={setCountryCodeValue}\n />\n )}\n <MaskInput\n value={inputValue}\n editable={!disabled}\n secureTextEntry={type === 'password' && isShowPassword}\n onEndEditing={handleEndEdit}\n obfuscationCharacter={obfuscationCharacter}\n showObfuscatedValue={showObfuscatedValue}\n onChangeText={(\n masked: string,\n unmasked: string,\n obfuscated: string,\n ) => {\n handleChangeText(masked, unmasked, obfuscated);\n }}\n placeholder={placeholder}\n placeholderTextColor={colors.neutral[60]}\n keyboardType={keyboardType || 'default'}\n style={[\n styles.inputFieldBox,\n inputHeightStyle,\n type === 'phone-number' && inputBorderStyle,\n ]}\n mask={mask || undefined}\n maxLength={maxLength}\n onBlur={handleBlur}\n onSubmitEditing={handleSubmitEditing}\n />\n {!isHideIcon && type === 'password' && (\n <Pressable\n disabled={disabled}\n onPress={handleToggleShowPassword}\n style={[styles.rightBtn, inputBorderStyle]}>\n <Icon name=\"ic_eye\" />\n </Pressable>\n )}\n {type === 'search' && (\n <Pressable\n disabled={disabled}\n onPress={handleSearch}\n style={[styles.rightBtn, inputBorderStyle]}>\n <Icon name=\"ic_search\" />\n </Pressable>\n )}\n </View>\n {errMessage && (\n <Text color=\"error\" size=\"xs\">\n {errMessage}\n </Text>\n )}\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n inputFieldContainer: {\n gap: Space.xs,\n width: '100%',\n },\n inputFieldWrapper: {\n flexDirection: 'row',\n width: '100%',\n overflow: 'hidden',\n },\n innerInputFieldWrapper: {\n flex: 1,\n },\n inputFieldMaskedBox: {\n flexGrow: 1,\n justifyContent: 'center',\n backgroundColor: colors.white[10],\n color: colors.neutral[80],\n paddingVertical: Space.xs,\n },\n inputFieldBoxAbsolute: {\n position: 'absolute',\n // opacity: 0,\n backgroundColor: 'transparent',\n },\n inputFieldBox: {\n flexGrow: 1,\n justifyContent: 'center',\n backgroundColor: colors.white[10],\n color: colors.neutral[80],\n paddingVertical: Space.xs,\n paddingHorizontal: Space.medium,\n fontSize: FontSizes.fontLarge,\n borderWidth: 0,\n },\n picker: {\n width: pw(100),\n },\n pickerIconContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n rightBtn: {\n width: pw(52),\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n"],"names":["pw"],"mappings":"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"}
1
+ {"version":3,"file":"InputField.js","sources":["../../../../components/Inputs/InputField.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useEffect, useMemo, useState } from \"react\";\nimport {\n KeyboardTypeOptions,\n NativeSyntheticEvent,\n Pressable,\n StyleProp,\n StyleSheet,\n TextInputEndEditingEventData,\n TextStyle,\n View,\n ViewStyle,\n Platform,\n} from \"react-native\";\nimport MaskInput, { Mask } from \"react-native-mask-input\";\nimport Text from \"@ui/components/Text\";\nimport { FontSizes, Space, colors, metrics, pw } from \"@ui/themes\";\nimport CountryCode from \"../../jsons/CountryCode.json\";\nimport { Icon, SelectField } from \"@ui/components\";\nimport { inputFieldFontSize, inputFieldHeight } from \"./styles\";\nimport { useDebounce } from \"@ui/hooks\";\n\ntype SelectItemT = {\n label: string;\n value: string;\n};\n\nexport const InputField = ({\n value,\n label,\n placeholder,\n errMessage,\n size = 'medium',\n variant = 'default',\n type = 'default',\n labelSize,\n isShowPassword = true,\n disabled = false,\n isHideIcon = false,\n maxLength,\n keyboardType,\n debounceTime = 0,\n mask,\n obfuscationCharacter,\n showObfuscatedValue = false,\n isPhoneNumber = false,\n inputStyle,\n onChangeText,\n onEndEditing,\n onToggleShowPassword,\n onSearch,\n onDebounceChangeText,\n onSubmitEditing,\n onBlur,\n}: {\n value: string;\n label?: string;\n errMessage?: string;\n placeholder?: string;\n isShowPassword?: boolean;\n disabled?: boolean;\n size?: 'small' | 'medium' | 'large';\n isPhoneNumber?: boolean;\n labelSize?:\n | 'xxxs'\n | 'xxs'\n | 'xs'\n | 'small'\n | 'medium'\n | 'large'\n | 'xl'\n | 'xxl'\n | 'xxxl'\n | 'xxxxl';\n variant?: 'default' | 'quite' | 'none';\n type?: 'default' | 'phone-number' | 'password' | 'search';\n isHideIcon?: boolean;\n maxLength?: number;\n keyboardType?: KeyboardTypeOptions;\n debounceTime?: number;\n mask?: Mask;\n obfuscationCharacter?: string;\n showObfuscatedValue?: boolean;\n inputStyle?: StyleProp<TextStyle>;\n onChangeText?: (\n text: string,\n maskedText?: string,\n obfuscatedText?: string,\n ) => void;\n onEndEditing?: (text: string) => void;\n onToggleShowPassword?: () => void;\n onSearch?: () => void;\n onDebounceChangeText?: (text: string) => void;\n onSubmitEditing?: (text: string) => void;\n onBlur?: (text: string) => void;\n}) => {\n const {height, fontSize} = useMemo(\n () => ({\n height: inputFieldHeight[size],\n fontSize: inputFieldFontSize[size],\n }),\n [size],\n );\n const inputHeightStyle: StyleProp<TextStyle> = {\n backgroundColor: disabled ? colors.neutral[20] : colors.white[10],\n height: height - 2,\n fontSize,\n };\n const inputWrapperHeightStyle: StyleProp<ViewStyle> = {\n height: height,\n backgroundColor: disabled ? colors.neutral[20] : colors.white[10],\n };\n const inputWrapperBorderStyle: StyleProp<ViewStyle> = {\n borderRadius: variant === 'default' ? metrics.borderRadiusBase : 0,\n borderWidth:\n variant === 'default'\n ? metrics.borderWidthMedium\n : metrics.borderWidthNone,\n borderColor: disabled\n ? colors.neutral[20]\n : errMessage\n ? colors.red[90]\n : colors.neutral[60],\n borderBottomWidth:\n variant === 'none' ? metrics.borderWidthNone : metrics.borderWidthMedium,\n };\n\n const inputBorderStyle: StyleProp<TextStyle> = {\n borderLeftWidth: variant === 'default' ? metrics.borderWidthMedium : 0,\n borderLeftColor: disabled\n ? colors.neutral[20]\n : errMessage\n ? colors.red[90]\n : colors.neutral[60],\n };\n const countryCodeList = useMemo(\n () =>\n [].map((country: any) => ({\n label: country.dial_code,\n value: country.dial_code,\n })),\n [],\n );\n const [countryCodeValue, setCountryCodeValue] = useState<SelectItemT>(\n countryCodeList[0],\n );\n const [inputValue, setInputValue] = useState(value || '');\n const debouncedOnChangeText = useDebounce(inputValue, debounceTime);\n\n useEffect(() => {\n if (onDebounceChangeText) {\n onDebounceChangeText(debouncedOnChangeText);\n }\n }, [debouncedOnChangeText, onDebounceChangeText]);\n\n useEffect(() => {\n if (isPhoneNumber) {\n setInputValue(value || '');\n }\n }, [value, isPhoneNumber]);\n\n const handleEndEdit = (\n e: NativeSyntheticEvent<TextInputEndEditingEventData>,\n ) => {\n if (onEndEditing) {\n if (\n type === 'phone-number' &&\n countryCodeValue &&\n debouncedOnChangeText\n ) {\n onEndEditing(countryCodeValue.value + e.nativeEvent.text);\n } else {\n onEndEditing(e.nativeEvent.text);\n }\n }\n };\n const handleToggleShowPassword = () => {\n onToggleShowPassword && onToggleShowPassword();\n };\n const handleSearch = () => onSearch && onSearch();\n\n const handleSubmitEditing = () => {\n if (onSubmitEditing) {\n onSubmitEditing(inputValue);\n }\n };\n\n const handleChangeText = (\n maskedText: string,\n text: string,\n obfuscatedText?: string,\n ) => {\n setInputValue(maskedText);\n if (onChangeText) {\n if (text) {\n if (type === 'phone-number' && countryCodeValue && text) {\n onChangeText(\n countryCodeValue.value + text,\n maskedText,\n obfuscatedText,\n );\n } else {\n onChangeText(text, maskedText, obfuscatedText);\n }\n } else {\n setInputValue('');\n onChangeText('', maskedText, obfuscatedText);\n }\n }\n };\n\n const handleBlur = () => {\n if (onBlur) {\n if (type === 'phone-number' && countryCodeValue && inputValue) {\n onBlur(countryCodeValue.value + inputValue);\n } else {\n onBlur(inputValue);\n }\n }\n };\n\n return (\n <View style={styles.inputFieldContainer}>\n {label && <Text size={labelSize || size}>{label}</Text>}\n <View>\n <View\n style={[\n styles.inputFieldWrapper,\n inputWrapperHeightStyle,\n inputWrapperBorderStyle,\n ]}>\n {type === 'phone-number' && (\n <SelectField\n value={countryCodeValue}\n listData={countryCodeList}\n cusHeight={height - 2}\n disabled={disabled}\n variant=\"none\"\n size={size}\n cusWidth={pw(100)}\n onChangeValue={setCountryCodeValue}\n />\n )}\n <MaskInput\n value={inputValue}\n editable={!disabled}\n secureTextEntry={type === 'password' && isShowPassword}\n onEndEditing={handleEndEdit}\n obfuscationCharacter={obfuscationCharacter}\n showObfuscatedValue={showObfuscatedValue}\n onChangeText={(\n masked: string,\n unmasked: string,\n obfuscated: string,\n ) => {\n handleChangeText(masked, unmasked, obfuscated);\n }}\n placeholder={placeholder}\n placeholderTextColor={colors.neutral[60]}\n keyboardType={keyboardType || 'default'}\n style={[\n styles.inputFieldBox,\n inputHeightStyle,\n type === 'phone-number' && inputBorderStyle,\n inputStyle,\n ]}\n mask={mask || undefined}\n maxLength={maxLength}\n onBlur={handleBlur}\n onSubmitEditing={handleSubmitEditing}\n />\n {!isHideIcon && type === 'password' && (\n <Pressable\n disabled={disabled}\n onPress={handleToggleShowPassword}\n style={[styles.rightBtn, inputBorderStyle]}>\n <Icon name=\"ic_eye\" />\n </Pressable>\n )}\n {type === 'search' && (\n <Pressable\n disabled={disabled}\n onPress={handleSearch}\n style={[styles.rightBtn, inputBorderStyle]}>\n <Icon name=\"ic_search\" />\n </Pressable>\n )}\n </View>\n {errMessage && (\n <Text color=\"error\" size=\"xs\">\n {errMessage}\n </Text>\n )}\n </View>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n inputFieldContainer: {\n gap: Space.xs,\n width: '100%',\n },\n inputFieldWrapper: {\n flexDirection: 'row',\n width: '100%',\n overflow: 'hidden',\n },\n innerInputFieldWrapper: {\n flex: 1,\n },\n inputFieldMaskedBox: {\n flexGrow: 1,\n justifyContent: 'center',\n backgroundColor: colors.white[10],\n color: colors.neutral[80],\n paddingVertical: Space.xs,\n },\n inputFieldBoxAbsolute: {\n position: 'absolute',\n // opacity: 0,\n backgroundColor: 'transparent',\n },\n inputFieldBox: {\n flexGrow: 1,\n justifyContent: 'center',\n backgroundColor: colors.white[10],\n color: colors.neutral[80],\n paddingVertical: Space.xs,\n paddingHorizontal: Space.medium,\n fontSize: FontSizes.fontLarge,\n borderWidth: 0,\n ...((Platform.OS === 'web' ? {outlineStyle: 'none'} : {}) as any),\n outlineWidth: 0,\n },\n picker: {\n width: pw(100),\n },\n pickerIconContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n rightBtn: {\n width: pw(52),\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n"],"names":["pw"],"mappings":"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"}
@@ -25,6 +25,7 @@ import '../SnapImageCarousel/consts.js';
25
25
  import 'react-native-fast-image';
26
26
  import '../SkeletonLoader/SkeletonLoader.js';
27
27
  import '../NotificationModal/NotificationModal.js';
28
+ import '../NotificationModal/GlobalModal.js';
28
29
  import '../Modal/Modal.js';
29
30
  import '../Button/styles.js';
30
31
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"SelectField.js","sources":["../../../../components/Inputs/SelectField.tsx"],"sourcesContent":["import * as React from 'react';\nimport {useEffect, useMemo, useState} from 'react';\nimport {\n FlatList,\n ListRenderItemInfo,\n Pressable,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport Text from '@ui/components/Text';\nimport {Space, colors, metrics, ph} from '@ui/themes';\nimport {Icon} from '@ui/components';\nimport {inputFieldFontSize, inputFieldHeight} from './styles';\n\ntype SelectItemT = {\n label: string;\n value: string;\n};\n\nexport const SelectField = ({\n value,\n label,\n labelColor = 'tertiary',\n listData,\n size = 'medium',\n variant = 'default',\n cusHeight,\n cusWidth,\n cusFontSize,\n disabled = false,\n isWhiteDisabledBackground = false,\n placeholder,\n isShowIcon = true,\n textAlign = 'left',\n onChangeValue,\n}: {\n value: SelectItemT;\n label?: string;\n labelColor?:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'disabled'\n | 'error'\n | 'success'\n | 'warning'\n | 'info'\n | 'interactive'\n | 'hover'\n | 'active'\n | 'focus'\n | 'brand'\n | 'white'\n | 'white';\n listData: Array<SelectItemT>;\n size?:\n | 'xxxs'\n | 'xxs'\n | 'xs'\n | 'small'\n | 'medium'\n | 'large'\n | 'xl'\n | 'xxl'\n | 'xxxl'\n | 'xxxxl';\n variant?: 'default' | 'quite' | 'none';\n cusHeight?: number;\n cusWidth?: number;\n cusFontSize?: number;\n disabled?: boolean;\n isWhiteDisabledBackground?: boolean;\n placeholder?: string;\n isShowIcon?: boolean;\n textAlign?: 'auto' | 'left' | 'right' | 'center' | 'justify' | undefined;\n onChangeValue?: (item: SelectItemT) => void;\n}) => {\n const {height, fontSize} = useMemo(\n () => ({\n height: inputFieldHeight[size],\n fontSize: inputFieldFontSize[size],\n }),\n [size],\n );\n const selectInputContainer: StyleProp<ViewStyle> = {\n width: cusWidth || '100%',\n };\n const selectFieldStyle: StyleProp<ViewStyle> = {\n backgroundColor: isWhiteDisabledBackground\n ? colors.white[10]\n : disabled\n ? colors.neutral[20]\n : colors.white[10],\n height: cusHeight || height,\n };\n\n const selectFieldTextStyle: StyleProp<TextStyle> = {\n fontSize: cusFontSize || fontSize,\n textAlign,\n };\n\n const selectFieldBorderStyle: StyleProp<ViewStyle> = {\n borderRadius: variant === 'default' ? metrics.borderRadiusBase : 0,\n borderWidth:\n variant === 'default'\n ? metrics.borderWidthMedium\n : metrics.borderWidthNone,\n borderBottomWidth:\n variant === 'none' ? metrics.borderWidthNone : metrics.borderWidthMedium,\n borderColor: disabled ? colors.neutral[20] : colors.neutral[60],\n };\n\n const [isVisible, setIsVisible] = useState(false);\n const [currentValue, setCurrentValue] = useState<SelectItemT | null>(\n value || null,\n );\n useEffect(() => {\n if (currentValue && onChangeValue) {\n onChangeValue(currentValue);\n }\n }, [currentValue]);\n const handleToggleModal = () => setIsVisible(!isVisible);\n const handleSelectItem = (itemSelected: SelectItemT) => {\n setIsVisible(false);\n setCurrentValue(itemSelected);\n };\n const renderSelectItem = ({item}: ListRenderItemInfo<SelectItemT>) => {\n return (\n <Pressable\n onPress={() => handleSelectItem(item)}\n style={styles.selectItemWrapper}>\n <View style={styles.textWrapper}>\n <Text>{item.label}</Text>\n </View>\n {item.value === currentValue?.value && (\n <Icon name=\"ic_checkmark_circle\" />\n )}\n </Pressable>\n );\n };\n const renderItemSeparatorComponent = () => {\n return <View style={styles.itemSeparator} />;\n };\n return (\n <View style={selectInputContainer}>\n {label && (\n <Text color={labelColor} size={size}>\n {label}\n </Text>\n )}\n <Pressable\n disabled={disabled}\n onPress={handleToggleModal}\n style={[styles.selectInput, selectFieldStyle, selectFieldBorderStyle]}>\n <View style={styles.textWrapper}>\n <Text color={currentValue.label.length > 0 ? \"tertiary\" : \"placeholder\"} style={selectFieldTextStyle}>\n {currentValue\n ? currentValue.label\n ? currentValue.label\n : placeholder\n ? placeholder\n : ''\n : ''}\n </Text>\n </View>\n {isShowIcon && <Icon name=\"ic_chevron_down\" />}\n </Pressable>\n <Modal\n isVisible={isVisible}\n animationIn=\"zoomInDown\"\n animationOut=\"zoomOutUp\"\n backdropColor={'rgba(0,0,0,0.3)'}\n onBackdropPress={handleToggleModal}\n style={styles.modal}>\n <View style={styles.modalContainer}>\n <FlatList<SelectItemT>\n data={listData}\n showsVerticalScrollIndicator={false}\n ItemSeparatorComponent={renderItemSeparatorComponent}\n removeClippedSubviews={false}\n renderItem={renderSelectItem}\n />\n </View>\n </Modal>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n selectInputContainer: {\n width: '100%',\n },\n selectInput: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n backgroundColor: colors.white[10],\n paddingHorizontal: Space.medium,\n },\n modal: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n\n modalContainer: {\n width: '90%',\n maxHeight: '90%',\n backgroundColor: colors.white[10],\n borderRadius: metrics.borderRadiusBase,\n },\n selectItemWrapper: {\n height: ph(40),\n paddingVertical: Space.xs,\n paddingHorizontal: Space.medium,\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n textWrapper: {\n flex: 1,\n },\n itemSeparator: {\n height: 1,\n backgroundColor: colors.neutral[60],\n },\n});\n"],"names":["ph"],"mappings":"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"}
1
+ {"version":3,"file":"SelectField.js","sources":["../../../../components/Inputs/SelectField.tsx"],"sourcesContent":["import * as React from 'react';\nimport {useEffect, useMemo, useState} from 'react';\nimport {\n FlatList,\n ListRenderItemInfo,\n Pressable,\n StyleProp,\n StyleSheet,\n TextStyle,\n View,\n ViewStyle,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport Text from '@ui/components/Text';\nimport {Space, colors, metrics, ph} from '@ui/themes';\nimport {Icon} from '@ui/components';\nimport {inputFieldFontSize, inputFieldHeight} from './styles';\n\ntype SelectItemT = {\n label: string;\n value: string;\n};\n\nexport const SelectField = ({\n value,\n label,\n labelColor = 'tertiary',\n listData,\n size = 'medium',\n variant = 'default',\n cusHeight,\n cusWidth,\n cusFontSize,\n disabled = false,\n isWhiteDisabledBackground = false,\n placeholder,\n isShowIcon = true,\n textAlign = 'left',\n onChangeValue,\n}: {\n value: SelectItemT;\n label?: string;\n labelColor?:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'disabled'\n | 'error'\n | 'success'\n | 'warning'\n | 'info'\n | 'interactive'\n | 'hover'\n | 'active'\n | 'focus'\n | 'brand'\n | 'white'\n | 'white';\n listData: Array<SelectItemT>;\n size?:\n | 'xxxs'\n | 'xxs'\n | 'xs'\n | 'small'\n | 'medium'\n | 'large'\n | 'xl'\n | 'xxl'\n | 'xxxl'\n | 'xxxxl';\n variant?: 'default' | 'quite' | 'none';\n cusHeight?: number;\n cusWidth?: number;\n cusFontSize?: number;\n disabled?: boolean;\n isWhiteDisabledBackground?: boolean;\n placeholder?: string;\n isShowIcon?: boolean;\n textAlign?: 'auto' | 'left' | 'right' | 'center' | 'justify' | undefined;\n onChangeValue?: (item: SelectItemT) => void;\n}) => {\n const {height, fontSize} = useMemo(\n () => ({\n height: inputFieldHeight[size],\n fontSize: inputFieldFontSize[size],\n }),\n [size],\n );\n const selectInputContainer: StyleProp<ViewStyle> = {\n width: cusWidth || '100%',\n };\n const selectFieldStyle: StyleProp<ViewStyle> = {\n backgroundColor: isWhiteDisabledBackground\n ? colors.white[10]\n : disabled\n ? colors.neutral[20]\n : colors.white[10],\n height: cusHeight || height,\n };\n\n const selectFieldTextStyle: StyleProp<TextStyle> = {\n fontSize: cusFontSize || fontSize,\n textAlign,\n };\n\n const selectFieldBorderStyle: StyleProp<ViewStyle> = {\n borderRadius: variant === 'default' ? metrics.borderRadiusBase : 0,\n borderWidth:\n variant === 'default'\n ? metrics.borderWidthMedium\n : metrics.borderWidthNone,\n borderBottomWidth:\n variant === 'none' ? metrics.borderWidthNone : metrics.borderWidthMedium,\n borderColor: disabled ? colors.neutral[20] : colors.neutral[60],\n };\n\n const [isVisible, setIsVisible] = useState(false);\n const [currentValue, setCurrentValue] = useState<SelectItemT | null>(\n value || null,\n );\n useEffect(() => {\n if (currentValue && onChangeValue) {\n onChangeValue(currentValue);\n }\n }, [currentValue]);\n const handleToggleModal = () => setIsVisible(!isVisible);\n const handleSelectItem = (itemSelected: SelectItemT) => {\n setIsVisible(false);\n setCurrentValue(itemSelected);\n };\n const renderSelectItem = ({item}: ListRenderItemInfo<SelectItemT>) => {\n return (\n <Pressable\n onPress={() => handleSelectItem(item)}\n style={styles.selectItemWrapper}>\n <View style={styles.textWrapper}>\n <Text>{item.label}</Text>\n </View>\n {item.value === currentValue?.value && (\n <Icon name=\"ic_checkmark_circle\" />\n )}\n </Pressable>\n );\n };\n const renderItemSeparatorComponent = () => {\n return <View style={styles.itemSeparator} />;\n };\n return (\n <View style={selectInputContainer}>\n {label && (\n <Text color={labelColor} size={size}>\n {label}\n </Text>\n )}\n <Pressable\n disabled={disabled}\n onPress={handleToggleModal}\n style={[styles.selectInput, selectFieldStyle, selectFieldBorderStyle]}>\n <View style={styles.textWrapper}>\n <Text color={currentValue.label.length > 0 ? \"tertiary\" : \"placeholder\"} style={selectFieldTextStyle}>\n {currentValue\n ? currentValue.label\n ? currentValue.label\n : placeholder\n ? placeholder\n : ''\n : ''}\n </Text>\n </View>\n {isShowIcon && <Icon name=\"ic_chevron_down\" />}\n </Pressable>\n <Modal\n isVisible={isVisible}\n animationIn=\"zoomInDown\"\n animationOut=\"zoomOutUp\"\n backdropColor={'rgba(0,0,0,0.3)'}\n onBackdropPress={handleToggleModal}\n style={styles.modal}>\n <View style={styles.modalContainer}>\n <FlatList<SelectItemT>\n data={listData}\n showsVerticalScrollIndicator={false}\n ItemSeparatorComponent={renderItemSeparatorComponent}\n removeClippedSubviews={false}\n renderItem={renderSelectItem}\n />\n </View>\n </Modal>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n selectInputContainer: {\n width: '100%',\n },\n selectInput: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n backgroundColor: colors.white[10],\n paddingHorizontal: Space.medium,\n },\n modal: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n\n modalContainer: {\n width: '90%',\n maxHeight: '90%',\n backgroundColor: colors.white[10],\n borderRadius: metrics.borderRadiusBase,\n },\n selectItemWrapper: {\n height: ph(40),\n paddingVertical: Space.xs,\n paddingHorizontal: Space.medium,\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n textWrapper: {\n flex: 1,\n },\n itemSeparator: {\n height: 1,\n backgroundColor: colors.neutral[60],\n },\n});\n"],"names":["ph"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ interface IOpenModalData {
2
+ title: string;
3
+ content: string;
4
+ type?: 'WARNING' | 'ERROR' | 'INFO' | 'SUCCESS';
5
+ confirmButtonText?: string;
6
+ cancelButtonText?: string;
7
+ onConfirm: () => void;
8
+ onCancel?: () => void;
9
+ }
10
+ interface GlobalModalRef {
11
+ open: (data: IOpenModalData) => void;
12
+ close: () => void;
13
+ }
14
+ declare const GlobalModal: ({ title, content, type, confirmButtonText, cancelButtonText, onConfirm, onCancel, }: IOpenModalData) => any;
15
+ declare const GlobalModalComponent: () => any;
16
+
17
+ export { GlobalModal, GlobalModalComponent };
18
+ export type { GlobalModalRef };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalModal.d.ts","sourceRoot":"","sources":["../../../components/NotificationModal/GlobalModal.tsx"],"names":[],"mappings":"AASA,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AACD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAID,eAAO,MAAM,WAAW,GAAI,qFAQzB,cAAc,QAUhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,WA2DhC,CAAC"}
@@ -0,0 +1,92 @@
1
+ import React__default, { createRef, useRef, useState, useImperativeHandle } from 'react';
2
+ import '../Toasts/Toast.js';
3
+ import { StyleSheet, View } from 'react-native';
4
+ import '../../themes/base/styles.js';
5
+ import '../../themes/images.js';
6
+ import { metrics } from '../../themes/metrics.js';
7
+ import '../../themes/stats.js';
8
+ import '../Container/Container.js';
9
+ import '../ProgressBars/CircleProgressBar.js';
10
+ import '../Inputs/InputField.js';
11
+ import '../Inputs/SelectField.js';
12
+ import 'react-native-reanimated';
13
+ import Text from '../Text/index.js';
14
+ import '../Header/styles.js';
15
+ import '../TickItem/styles.js';
16
+ import '../IconWithLabel/IconWithLabel.js';
17
+ import '../OptionalUtilities/OptionalUtilities.js';
18
+ import '../Switch/Switch.js';
19
+ import '../SnapImageCarousel/CardStatusThumbnail.js';
20
+ import '../SnapImageCarousel/SnapImageCarousel.js';
21
+ import '../SnapImageCarousel/consts.js';
22
+ import 'react-native-fast-image';
23
+ import '../SkeletonLoader/SkeletonLoader.js';
24
+ import { NotificationModal } from './NotificationModal.js';
25
+ import '../Modal/Modal.js';
26
+ import '../Button/styles.js';
27
+ import '../LoadingOverlay/LoadingOverlay.js';
28
+ import '../BalanceCard/BalanceCard.js';
29
+ import '../PaymentMethodCard/PaymentMethodCard.js';
30
+ import '../PaymentMethodCardWithAmount/PaymentMethodCardWithAmount.js';
31
+
32
+ const refGlobalModal = createRef();
33
+ const GlobalModal = ({ title = '', content = '', type = 'WARNING', confirmButtonText = 'OK', cancelButtonText = 'キャンセル', onConfirm = () => { }, onCancel = undefined, }) => {
34
+ var _a, _b;
35
+ return (_b = (_a = refGlobalModal === null || refGlobalModal === void 0 ? void 0 : refGlobalModal.current) === null || _a === void 0 ? void 0 : _a.open) === null || _b === void 0 ? void 0 : _b.call(_a, {
36
+ title,
37
+ content,
38
+ type,
39
+ confirmButtonText,
40
+ cancelButtonText,
41
+ onConfirm,
42
+ onCancel,
43
+ });
44
+ };
45
+ const GlobalModalComponent = () => {
46
+ const modalRef = useRef(null);
47
+ const [modalData, setModalData] = useState({
48
+ title: '',
49
+ content: '',
50
+ type: 'WARNING',
51
+ confirmButtonText: 'OK',
52
+ cancelButtonText: 'キャンセル',
53
+ onConfirm: () => { },
54
+ onCancel: undefined,
55
+ });
56
+ useImperativeHandle(refGlobalModal, () => ({
57
+ open: ({ title, content, type, confirmButtonText, cancelButtonText, onConfirm, onCancel = undefined, }) => {
58
+ var _a;
59
+ setModalData({
60
+ title,
61
+ content,
62
+ type,
63
+ confirmButtonText,
64
+ cancelButtonText,
65
+ onConfirm,
66
+ onCancel,
67
+ });
68
+ (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.open();
69
+ },
70
+ close: () => {
71
+ var _a;
72
+ (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();
73
+ },
74
+ }), []);
75
+ const onConfirm = () => {
76
+ var _a;
77
+ modalData.onConfirm();
78
+ (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.close();
79
+ };
80
+ return (React__default.createElement(NotificationModal, { ref: modalRef, title: modalData.title, type: modalData.type, confirmButtonText: modalData.confirmButtonText, cancelButtonText: modalData.cancelButtonText, onCancel: modalData.onCancel, onConfirm: onConfirm },
81
+ React__default.createElement(View, { style: styles.modalContent },
82
+ React__default.createElement(Text, null, modalData.content))));
83
+ };
84
+ const styles = StyleSheet.create({
85
+ modalContent: {
86
+ marginBottom: metrics.height.spacingBase,
87
+ gap: metrics.height.spacingSlightlySmall,
88
+ },
89
+ });
90
+
91
+ export { GlobalModal, GlobalModalComponent };
92
+ //# sourceMappingURL=GlobalModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlobalModal.js","sources":["../../../../components/NotificationModal/GlobalModal.tsx"],"sourcesContent":["import React, {createRef, useImperativeHandle, useRef, useState} from 'react';\nimport {\n ModalRef,\n NotificationModal,\n Text,\n} from '@ui/components';\nimport {StyleSheet, View} from 'react-native';\nimport {metrics} from '@ui/themes';\n\ninterface IOpenModalData {\n title: string;\n content: string;\n type?: 'WARNING' | 'ERROR' | 'INFO' | 'SUCCESS';\n confirmButtonText?: string;\n cancelButtonText?: string;\n onConfirm: () => void;\n onCancel?: () => void;\n}\nexport interface GlobalModalRef {\n open: (data: IOpenModalData) => void;\n close: () => void;\n}\n\nconst refGlobalModal = createRef<GlobalModalRef>();\n\nexport const GlobalModal = ({\n title = '',\n content = '',\n type = 'WARNING',\n confirmButtonText = 'OK',\n cancelButtonText = 'キャンセル',\n onConfirm = () => {},\n onCancel = undefined,\n}: IOpenModalData) => {\n return refGlobalModal?.current?.open?.({\n title,\n content,\n type,\n confirmButtonText,\n cancelButtonText,\n onConfirm,\n onCancel,\n });\n};\n\nexport const GlobalModalComponent = () => {\n const modalRef = useRef<ModalRef>(null);\n const [modalData, setModalData] = useState<IOpenModalData>({\n title: '',\n content: '',\n type: 'WARNING',\n confirmButtonText: 'OK',\n cancelButtonText: 'キャンセル',\n onConfirm: () => {},\n onCancel: undefined,\n });\n useImperativeHandle(\n refGlobalModal,\n () => ({\n open: ({\n title,\n content,\n type,\n confirmButtonText,\n cancelButtonText,\n onConfirm,\n onCancel = undefined,\n }: IOpenModalData) => {\n setModalData({\n title,\n content,\n type,\n confirmButtonText,\n cancelButtonText,\n onConfirm,\n onCancel,\n });\n modalRef.current?.open();\n },\n close: () => {\n modalRef.current?.close();\n },\n }),\n [],\n );\n const onConfirm = () => {\n modalData.onConfirm();\n modalRef.current?.close();\n };\n \n return (\n <NotificationModal\n ref={modalRef}\n title={modalData.title}\n type={modalData.type}\n confirmButtonText={modalData.confirmButtonText}\n cancelButtonText={modalData.cancelButtonText}\n onCancel={modalData.onCancel}\n onConfirm={onConfirm}>\n <View style={styles.modalContent}>\n <Text>{modalData.content}</Text>\n </View>\n </NotificationModal>\n );\n};\n\nconst styles = StyleSheet.create({\n modalContent: {\n marginBottom: metrics.height.spacingBase,\n gap: metrics.height.spacingSlightlySmall,\n },\n});\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,cAAc,GAAG,SAAS,EAAkB;AAErC,MAAA,WAAW,GAAG,CAAC,EAC1B,KAAK,GAAG,EAAE,EACV,OAAO,GAAG,EAAE,EACZ,IAAI,GAAG,SAAS,EAChB,iBAAiB,GAAG,IAAI,EACxB,gBAAgB,GAAG,OAAO,EAC1B,SAAS,GAAG,MAAK,GAAG,EACpB,QAAQ,GAAG,SAAS,GACL,KAAI;;IACnB,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,KAAd,IAAA,IAAA,cAAc,KAAd,MAAA,GAAA,MAAA,GAAA,cAAc,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,MAAG,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA;QACrC,KAAK;QACL,OAAO;QACP,IAAI;QACJ,iBAAiB;QACjB,gBAAgB;QAChB,SAAS;QACT,QAAQ;AACT,KAAA,CAAC;AACJ;AAEO,MAAM,oBAAoB,GAAG,MAAK;AACvC,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAW,IAAI,CAAC;AACvC,IAAA,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAiB;AACzD,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,iBAAiB,EAAE,IAAI;AACvB,QAAA,gBAAgB,EAAE,OAAO;AACzB,QAAA,SAAS,EAAE,MAAK,GAAG;AACnB,QAAA,QAAQ,EAAE,SAAS;AACpB,KAAA,CAAC;AACF,IAAA,mBAAmB,CACjB,cAAc,EACd,OAAO;QACL,IAAI,EAAE,CAAC,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,QAAQ,GAAG,SAAS,GACL,KAAI;;AACnB,YAAA,YAAY,CAAC;gBACX,KAAK;gBACL,OAAO;gBACP,IAAI;gBACJ,iBAAiB;gBACjB,gBAAgB;gBAChB,SAAS;gBACT,QAAQ;AACT,aAAA,CAAC;AACF,YAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAI,EAAE;SACzB;QACD,KAAK,EAAE,MAAK;;AACV,YAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,EAAE;SAC1B;KACF,CAAC,EACF,EAAE,CACH;IACD,MAAM,SAAS,GAAG,MAAK;;QACrB,SAAS,CAAC,SAAS,EAAE;AACrB,QAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,EAAE;AAC3B,KAAC;AAED,IAAA,QACEA,cAAC,CAAA,aAAA,CAAA,iBAAiB,IAChB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,EAC9C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,EAC5C,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,SAAS,EAAE,SAAS,EAAA;AACpB,QAAAA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,KAAK,EAAE,MAAM,CAAC,YAAY,EAAA;YAC9BA,cAAC,CAAA,aAAA,CAAA,IAAI,QAAE,SAAS,CAAC,OAAO,CAAQ,CAC3B,CACW;AAExB;AAEA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AAC/B,IAAA,YAAY,EAAE;AACZ,QAAA,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;AACxC,QAAA,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,oBAAoB;AACzC,KAAA;AACF,CAAA,CAAC;;;;"}
@@ -24,6 +24,7 @@ import '../SnapImageCarousel/SnapImageCarousel.js';
24
24
  import '../SnapImageCarousel/consts.js';
25
25
  import 'react-native-fast-image';
26
26
  import '../SkeletonLoader/SkeletonLoader.js';
27
+ import './GlobalModal.js';
27
28
  import { Modal } from '../Modal/Modal.js';
28
29
  import Button from '../Button/index.js';
29
30
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationModal.js","sources":["../../../../components/NotificationModal/NotificationModal.tsx"],"sourcesContent":["import * as React from 'react';\nimport {forwardRef} from 'react';\nimport {StyleSheet, View} from 'react-native';\nimport Text from '@ui/components/Text';\nimport {Icon} from '@ui/components';\nimport Button from '@ui/components/Button';\nimport {colors, metrics, pf} from '@ui/themes';\nimport {Props} from './interface';\nimport {Modal} from '@ui/components';\nimport {ModalRef} from '@ui/components/Modal/type';\n\nconst MODAL_TYPE = {\n WARNING: 'WARNING',\n ERROR: 'ERROR',\n} as const;\n\nconst BUTTON_TEXT = {\n CANCEL: 'キャンセル',\n RETURN_TO_ACCOUNT: '口座Topに戻る',\n} as const;\n\nconst DEFAULT_CONFIRM_TEXT = '確定する';\n\n/**\n * Button component for the modal actions\n */\nconst ModalButton: React.FC<{\n onPress?: () => void;\n disabled?: boolean;\n type?: 'outline' | 'fill';\n color?: 'error' | 'primary' | 'disabled';\n textSize?: 'large';\n children: React.ReactNode;\n style?: object;\n}> = ({onPress, disabled, type, color, textSize, children, style}) => (\n <Button\n disabled={disabled}\n type={type}\n color={color}\n textSize={textSize}\n onPress={onPress}\n style={style}>\n {typeof children === 'string' ? (\n <Text size=\"large\" fontWeight=\"700\" color={type === 'outline' ? 'disabled' : 'white'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </Button>\n);\n\n/**\n * Modal header component with icon and title\n */\nconst ModalHeader: React.FC<{\n isError: boolean;\n title: string;\n}> = ({isError, title}) => (\n <View style={styles.header}>\n <Icon\n name=\"ic_alert\"\n width={metrics.iconExtraLarge}\n height={metrics.iconExtraLarge}\n tintColor={isError ? colors.red['80'] : colors.secondary[100]}\n />\n <Text\n numberOfLines={2}\n fontWeight=\"700\"\n size=\"large\"\n color={isError ? 'error' : 'interactive'}\n style={styles.title}>\n {title}\n </Text>\n </View>\n);\n\n/**\n * NotificationModal component for displaying warnings and errors\n * \n * @component\n * @example\n * ```tsx\n * <NotificationModal\n * ref={modalRef}\n * type=\"WARNING\"\n * title=\"Warning Title\"\n * onConfirm={() => {}}\n * >\n * <Text>Modal content</Text>\n * </NotificationModal>\n * ```\n */\nexport const NotificationModal = forwardRef<ModalRef, Props>(\n ({\n type = MODAL_TYPE.WARNING,\n title,\n children,\n confirmButtonText = DEFAULT_CONFIRM_TEXT,\n cancelButtonText = BUTTON_TEXT.CANCEL,\n disableCancelButton,\n disableConfirmButton,\n disableErrorButton,\n onCancel,\n onConfirm,\n onError,\n }, ref) => {\n const isError = type === MODAL_TYPE.ERROR;\n\n return (\n <Modal ref={ref} type=\"Popup\" popupStyle={styles.container}>\n <ModalHeader isError={isError} title={title} />\n \n {children}\n \n <View style={styles.containerButton}>\n {onConfirm && (\n <ModalButton\n disabled={disableConfirmButton}\n textSize=\"large\"\n color={isError ? 'error' : 'secondary'}\n onPress={onConfirm}>\n {confirmButtonText}\n </ModalButton>\n )}\n \n {onCancel && (\n <ModalButton\n disabled={disableCancelButton}\n type=\"outline\"\n onPress={onCancel}\n style={styles.btnCancel}>\n {cancelButtonText}\n </ModalButton>\n )}\n \n {onError && (\n <ModalButton\n disabled={disableErrorButton}\n type=\"fill\"\n color=\"error\"\n onPress={onError}\n style={styles.btnCancel}>\n {BUTTON_TEXT.RETURN_TO_ACCOUNT}\n </ModalButton>\n )}\n </View>\n </Modal>\n );\n },\n);\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: colors.white['10'],\n padding: metrics.width.spacingLarge,\n borderRadius: metrics.borderRadiusSemiLarge,\n shadowColor: colors.neutral['100'],\n shadowOffset: {width: 0, height: metrics.height.spacingTiny},\n shadowOpacity: 0.25,\n shadowRadius: metrics.borderRadiusExtraLarge,\n elevation: 4,\n gap: metrics.height.spacingBase,\n },\n header: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: metrics.width.spacingExtraSmall,\n borderBottomWidth: metrics.borderWidthMedium,\n borderBottomColor: colors.neutral['40'],\n paddingBottom: metrics.height.spacingSlightlySmall,\n marginBottom: metrics.height.spacingBase,\n },\n title: {\n flex: 1,\n lineHeight: pf(25),\n },\n btnCancel: {\n borderColor: colors.neutral[60],\n },\n containerButton: {\n gap: metrics.height.spacingExtraSmall,\n },\n});\n"],"names":["pf"],"mappings":"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"}
1
+ {"version":3,"file":"NotificationModal.js","sources":["../../../../components/NotificationModal/NotificationModal.tsx"],"sourcesContent":["import * as React from 'react';\nimport {forwardRef} from 'react';\nimport {StyleSheet, View} from 'react-native';\nimport Text from '@ui/components/Text';\nimport {Icon} from '@ui/components';\nimport Button from '@ui/components/Button';\nimport {colors, metrics, pf} from '@ui/themes';\nimport {Props} from './interface';\nimport {Modal} from '@ui/components';\nimport {ModalRef} from '@ui/components/Modal/type';\n\nconst MODAL_TYPE = {\n WARNING: 'WARNING',\n ERROR: 'ERROR',\n} as const;\n\nconst BUTTON_TEXT = {\n CANCEL: 'キャンセル',\n RETURN_TO_ACCOUNT: '口座Topに戻る',\n} as const;\n\nconst DEFAULT_CONFIRM_TEXT = '確定する';\n\n/**\n * Button component for the modal actions\n */\nconst ModalButton: React.FC<{\n onPress?: () => void;\n disabled?: boolean;\n type?: 'outline' | 'fill';\n color?: 'error' | 'primary' | 'disabled';\n textSize?: 'large';\n children: React.ReactNode;\n style?: object;\n}> = ({onPress, disabled, type, color, textSize, children, style}) => (\n <Button\n disabled={disabled}\n type={type}\n color={color}\n textSize={textSize}\n onPress={onPress}\n style={style}>\n {typeof children === 'string' ? (\n <Text size=\"large\" fontWeight=\"700\" color={type === 'outline' ? 'disabled' : 'white'}>\n {children}\n </Text>\n ) : (\n children\n )}\n </Button>\n);\n\n/**\n * Modal header component with icon and title\n */\nconst ModalHeader: React.FC<{\n isError: boolean;\n title: string;\n}> = ({isError, title}) => (\n <View style={styles.header}>\n <Icon\n name=\"ic_alert\"\n width={metrics.iconExtraLarge}\n height={metrics.iconExtraLarge}\n tintColor={isError ? colors.red['80'] : colors.secondary[100]}\n />\n <Text\n numberOfLines={2}\n fontWeight=\"700\"\n size=\"large\"\n color={isError ? 'error' : 'interactive'}\n style={styles.title}>\n {title}\n </Text>\n </View>\n);\n\n/**\n * NotificationModal component for displaying warnings and errors\n * \n * @component\n * @example\n * ```tsx\n * <NotificationModal\n * ref={modalRef}\n * type=\"WARNING\"\n * title=\"Warning Title\"\n * onConfirm={() => {}}\n * >\n * <Text>Modal content</Text>\n * </NotificationModal>\n * ```\n */\nexport const NotificationModal = forwardRef<ModalRef, Props>(\n ({\n type = MODAL_TYPE.WARNING,\n title,\n children,\n confirmButtonText = DEFAULT_CONFIRM_TEXT,\n cancelButtonText = BUTTON_TEXT.CANCEL,\n disableCancelButton,\n disableConfirmButton,\n disableErrorButton,\n onCancel,\n onConfirm,\n onError,\n }, ref) => {\n const isError = type === MODAL_TYPE.ERROR;\n\n return (\n <Modal ref={ref} type=\"Popup\" popupStyle={styles.container}>\n <ModalHeader isError={isError} title={title} />\n \n {children}\n \n <View style={styles.containerButton}>\n {onConfirm && (\n <ModalButton\n disabled={disableConfirmButton}\n textSize=\"large\"\n color={isError ? 'error' : 'secondary'}\n onPress={onConfirm}>\n {confirmButtonText}\n </ModalButton>\n )}\n \n {onCancel && (\n <ModalButton\n disabled={disableCancelButton}\n type=\"outline\"\n onPress={onCancel}\n style={styles.btnCancel}>\n {cancelButtonText}\n </ModalButton>\n )}\n \n {onError && (\n <ModalButton\n disabled={disableErrorButton}\n type=\"fill\"\n color=\"error\"\n onPress={onError}\n style={styles.btnCancel}>\n {BUTTON_TEXT.RETURN_TO_ACCOUNT}\n </ModalButton>\n )}\n </View>\n </Modal>\n );\n },\n);\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: colors.white['10'],\n padding: metrics.width.spacingLarge,\n borderRadius: metrics.borderRadiusSemiLarge,\n shadowColor: colors.neutral['100'],\n shadowOffset: {width: 0, height: metrics.height.spacingTiny},\n shadowOpacity: 0.25,\n shadowRadius: metrics.borderRadiusExtraLarge,\n elevation: 4,\n gap: metrics.height.spacingBase,\n },\n header: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: metrics.width.spacingExtraSmall,\n borderBottomWidth: metrics.borderWidthMedium,\n borderBottomColor: colors.neutral['40'],\n paddingBottom: metrics.height.spacingSlightlySmall,\n marginBottom: metrics.height.spacingBase,\n },\n title: {\n flex: 1,\n lineHeight: pf(25),\n },\n btnCancel: {\n borderColor: colors.neutral[60],\n },\n containerButton: {\n gap: metrics.height.spacingExtraSmall,\n },\n});\n"],"names":["pf"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './interface';
2
2
  export * from './NotificationModal';
3
+ export * from './GlobalModal';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/NotificationModal/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/NotificationModal/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
@@ -23,6 +23,7 @@ import '../SnapImageCarousel/consts.js';
23
23
  import 'react-native-fast-image';
24
24
  import '../SkeletonLoader/SkeletonLoader.js';
25
25
  import '../NotificationModal/NotificationModal.js';
26
+ import '../NotificationModal/GlobalModal.js';
26
27
  import '../Modal/Modal.js';
27
28
  import '../Button/styles.js';
28
29
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"OptionalUtilities.js","sources":["../../../../components/OptionalUtilities/OptionalUtilities.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleSheet, TouchableOpacity, View } from 'react-native';\nimport { Icon, Text } from '@ui/components';\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n metrics,\n pf,\n ph,\n} from '@ui/themes';\nimport { OptionalUtilitiesI, OptionalUtilitiesProps } from './types';\n\nexport const OptionalUtilities: React.FC<OptionalUtilitiesProps> = ({\n data,\n itemStyle,\n style,\n disableAll,\n}) => {\n const renderItem = ({\n label,\n icon,\n disabled,\n showCircleBg,\n iconStyle,\n onPress,\n }: OptionalUtilitiesI) => {\n return (\n <TouchableOpacity\n disabled={disableAll || disabled}\n key={label}\n style={[\n styles.utility,\n {\n width: (deviceWidth() - metrics.width.spacingMassive) / data.length,\n },\n itemStyle,\n (disableAll || disabled) && styles.disable,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n onPress={onPress}\n >\n <View style={styles.icon}>\n <Icon\n name={icon}\n width={metrics.iconMediumPlus}\n height={metrics.iconMediumPlus}\n style={[\n (icon === 'ic_white_plus' || showCircleBg) && styles.circle,\n iconStyle,\n ]}\n />\n </View>\n <Text\n style={styles.label}\n lineHeight={pf(15)}\n color=\"tertiary\"\n numberOfLines={1}\n >\n {label}\n </Text>\n </TouchableOpacity>\n );\n };\n\n return <View style={[styles.container, style]}>{data.map(renderItem)}</View>;\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n backgroundColor: colors.white['10'],\n marginHorizontal: metrics.width.spacingBase,\n marginBottom: metrics.width.spacingBase,\n paddingHorizontal: metrics.width.spacingBase,\n paddingVertical: metrics.height.spacingTiny,\n },\n utility: {\n height: ph(60),\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n icon: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n label: {\n fontSize: pf(10),\n },\n circle: {\n width: metrics.iconSemiLarge,\n height: metrics.iconSemiLarge,\n backgroundColor: colors.neutral['90'],\n borderRadius: metrics.borderRadiusHuge,\n alignItems: 'center',\n justifyContent: 'center',\n shadowColor: colors.neutral['100'],\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.25,\n shadowRadius: 12,\n elevation: 12,\n },\n disable: {\n opacity: 0.32,\n },\n});\n"],"names":["pf","ph"],"mappings":"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"}
1
+ {"version":3,"file":"OptionalUtilities.js","sources":["../../../../components/OptionalUtilities/OptionalUtilities.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleSheet, TouchableOpacity, View } from 'react-native';\nimport { Icon, Text } from '@ui/components';\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n metrics,\n pf,\n ph,\n} from '@ui/themes';\nimport { OptionalUtilitiesI, OptionalUtilitiesProps } from './types';\n\nexport const OptionalUtilities: React.FC<OptionalUtilitiesProps> = ({\n data,\n itemStyle,\n style,\n disableAll,\n}) => {\n const renderItem = ({\n label,\n icon,\n disabled,\n showCircleBg,\n iconStyle,\n onPress,\n }: OptionalUtilitiesI) => {\n return (\n <TouchableOpacity\n disabled={disableAll || disabled}\n key={label}\n style={[\n styles.utility,\n {\n width: (deviceWidth() - metrics.width.spacingMassive) / data.length,\n },\n itemStyle,\n (disableAll || disabled) && styles.disable,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n onPress={onPress}\n >\n <View style={styles.icon}>\n <Icon\n name={icon}\n width={metrics.iconMediumPlus}\n height={metrics.iconMediumPlus}\n style={[\n (icon === 'ic_white_plus' || showCircleBg) && styles.circle,\n iconStyle,\n ]}\n />\n </View>\n <Text\n style={styles.label}\n lineHeight={pf(15)}\n color=\"tertiary\"\n numberOfLines={1}\n >\n {label}\n </Text>\n </TouchableOpacity>\n );\n };\n\n return <View style={[styles.container, style]}>{data.map(renderItem)}</View>;\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n backgroundColor: colors.white['10'],\n marginHorizontal: metrics.width.spacingBase,\n marginBottom: metrics.width.spacingBase,\n paddingHorizontal: metrics.width.spacingBase,\n paddingVertical: metrics.height.spacingTiny,\n },\n utility: {\n height: ph(60),\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n icon: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n label: {\n fontSize: pf(10),\n },\n circle: {\n width: metrics.iconSemiLarge,\n height: metrics.iconSemiLarge,\n backgroundColor: colors.neutral['90'],\n borderRadius: metrics.borderRadiusHuge,\n alignItems: 'center',\n justifyContent: 'center',\n shadowColor: colors.neutral['100'],\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.25,\n shadowRadius: 12,\n elevation: 12,\n },\n disable: {\n opacity: 0.32,\n },\n});\n"],"names":["pf","ph"],"mappings":"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"}
@@ -26,6 +26,7 @@ import '../SnapImageCarousel/consts.js';
26
26
  import { Image } from '../Image/Image.js';
27
27
  import '../SkeletonLoader/SkeletonLoader.js';
28
28
  import '../NotificationModal/NotificationModal.js';
29
+ import '../NotificationModal/GlobalModal.js';
29
30
  import '../Modal/Modal.js';
30
31
  import '../Button/styles.js';
31
32
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodCard.js","sources":["../../../../components/PaymentMethodCard/PaymentMethodCard.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n TouchableOpacity,\n ActivityIndicator,\n} from \"react-native\";\nimport { EPaymentCardTypes, paymentCardDataByTypes } from \"@ui/constants\";\nimport { Text, Icon, Image } from \"@ui/components\";\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n FontSizes,\n metrics,\n ph,\n} from \"@ui/themes\";\n\ninterface PaymentMethodCardProps {\n type?: EPaymentCardTypes;\n style?: StyleProp<ViewStyle>;\n hideShadow?: boolean;\n onPress?: () => void;\n photo: string;\n disabled?: boolean;\n loading?: boolean;\n loadingColor?: string;\n}\n\nexport const PaymentMethodCard: React.FC<PaymentMethodCardProps> = ({\n photo,\n type = EPaymentCardTypes.DIRECT,\n style,\n hideShadow = false,\n disabled = false,\n onPress,\n loadingColor = colors.neutral[\"80\"],\n loading,\n}) => {\n const data = paymentCardDataByTypes[type];\n return (\n <TouchableOpacity\n style={[\n styles.container,\n style,\n !hideShadow && styles.shadow,\n disabled && styles.disabled,\n loading && styles.disabled,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n disabled={disabled || !onPress}\n onPress={onPress}\n >\n <View style={[styles.bannerContainer, styles.banner]}>\n <Image\n uri={photo}\n resizeMode=\"cover\"\n width={deviceWidth() * 0.3}\n height={ph(70)}\n style={styles.banner}\n />\n {loading && (\n <View style={styles.loadingContainer}>\n <ActivityIndicator size=\"large\" color={loadingColor} />\n </View>\n )}\n </View>\n <View style={styles.content}>\n <Icon\n name={data.icon}\n width={metrics.iconMediumPlus}\n height={metrics.iconMediumPlus}\n tintColor={colors.neutral[\"80\"]}\n />\n <Text size=\"medium\" color=\"tertiary\" lineHeight={FontSizes.fontXL}>\n {data.label}\n </Text>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"flex-end\",\n backgroundColor: colors.white[\"10\"],\n margin: metrics.width.spacingBase,\n borderRadius: metrics.borderRadiusSemiLarge,\n paddingHorizontal: metrics.width.spacingBase,\n paddingVertical: metrics.height.spacingExtraSmall,\n },\n disabled: {\n opacity: 0.5,\n },\n shadow: {\n shadowColor: colors.neutral[100],\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.05,\n shadowRadius: 4,\n elevation: 4,\n },\n bannerContainer: {\n backgroundColor: colors.white[\"10\"],\n shadowColor: colors.neutral[100],\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.25,\n shadowRadius: 12,\n elevation: 12,\n },\n banner: {\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n content: {\n flexDirection: \"row\",\n flex: 1,\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n gap: metrics.width.spacingExtraSmall,\n },\n loadingContainer: {\n position: \"absolute\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n },\n});\n"],"names":["React","ph"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentMethodCard.js","sources":["../../../../components/PaymentMethodCard/PaymentMethodCard.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n StyleProp,\n StyleSheet,\n View,\n ViewStyle,\n TouchableOpacity,\n ActivityIndicator,\n} from \"react-native\";\nimport { EPaymentCardTypes, paymentCardDataByTypes } from \"@ui/constants\";\nimport { Text, Icon, Image } from \"@ui/components\";\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n FontSizes,\n metrics,\n ph,\n} from \"@ui/themes\";\n\ninterface PaymentMethodCardProps {\n type?: EPaymentCardTypes;\n style?: StyleProp<ViewStyle>;\n hideShadow?: boolean;\n onPress?: () => void;\n photo: string;\n disabled?: boolean;\n loading?: boolean;\n loadingColor?: string;\n}\n\nexport const PaymentMethodCard: React.FC<PaymentMethodCardProps> = ({\n photo,\n type = EPaymentCardTypes.DIRECT,\n style,\n hideShadow = false,\n disabled = false,\n onPress,\n loadingColor = colors.neutral[\"80\"],\n loading,\n}) => {\n const data = paymentCardDataByTypes[type];\n return (\n <TouchableOpacity\n style={[\n styles.container,\n style,\n !hideShadow && styles.shadow,\n disabled && styles.disabled,\n loading && styles.disabled,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n disabled={disabled || !onPress}\n onPress={onPress}\n >\n <View style={[styles.bannerContainer, styles.banner]}>\n <Image\n uri={photo}\n resizeMode=\"cover\"\n width={deviceWidth() * 0.3}\n height={ph(70)}\n style={styles.banner}\n />\n {loading && (\n <View style={styles.loadingContainer}>\n <ActivityIndicator size=\"large\" color={loadingColor} />\n </View>\n )}\n </View>\n <View style={styles.content}>\n <Icon\n name={data.icon}\n width={metrics.iconMediumPlus}\n height={metrics.iconMediumPlus}\n tintColor={colors.neutral[\"80\"]}\n />\n <Text size=\"medium\" color=\"tertiary\" lineHeight={FontSizes.fontXL}>\n {data.label}\n </Text>\n </View>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: \"row\",\n alignItems: \"flex-end\",\n backgroundColor: colors.white[\"10\"],\n margin: metrics.width.spacingBase,\n borderRadius: metrics.borderRadiusSemiLarge,\n paddingHorizontal: metrics.width.spacingBase,\n paddingVertical: metrics.height.spacingExtraSmall,\n },\n disabled: {\n opacity: 0.5,\n },\n shadow: {\n shadowColor: colors.neutral[100],\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.05,\n shadowRadius: 4,\n elevation: 4,\n },\n bannerContainer: {\n backgroundColor: colors.white[\"10\"],\n shadowColor: colors.neutral[100],\n shadowOffset: { width: 0, height: 4 },\n shadowOpacity: 0.25,\n shadowRadius: 12,\n elevation: 12,\n },\n banner: {\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n content: {\n flexDirection: \"row\",\n flex: 1,\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n gap: metrics.width.spacingExtraSmall,\n },\n loadingContainer: {\n position: \"absolute\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n height: \"100%\",\n },\n});\n"],"names":["React","ph"],"mappings":"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"}
@@ -26,6 +26,7 @@ import '../SnapImageCarousel/consts.js';
26
26
  import { Image } from '../Image/Image.js';
27
27
  import '../SkeletonLoader/SkeletonLoader.js';
28
28
  import '../NotificationModal/NotificationModal.js';
29
+ import '../NotificationModal/GlobalModal.js';
29
30
  import '../Modal/Modal.js';
30
31
  import '../Button/styles.js';
31
32
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentMethodCardWithAmount.js","sources":["../../../../components/PaymentMethodCardWithAmount/PaymentMethodCardWithAmount.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n StyleSheet,\n TouchableOpacity,\n View,\n StyleProp,\n ViewStyle,\n ActivityIndicator,\n} from \"react-native\";\nimport { EPaymentCardTypes, paymentCardDataByTypes } from \"@ui/constants\";\nimport { Icon, Image, Text } from \"@ui/components\";\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n getColorOpacity,\n metrics,\n pf,\n ph,\n pw,\n} from \"@ui/themes\";\nimport { formatNumber } from \"@ui/utils\";\n\nexport interface PaymentMethodCardWithAmountProps {\n title?: string;\n type?: EPaymentCardTypes;\n balance?: string;\n cardImgUrl?: string;\n style?: StyleProp<ViewStyle>;\n unit?: string;\n disabled?: boolean;\n isLoading?: boolean;\n onPress?: () => void;\n onCreate?: () => void;\n}\n\nexport const PaymentMethodCardWithAmount: React.FC<\n PaymentMethodCardWithAmountProps\n> = ({\n type = EPaymentCardTypes.DIRECT,\n title = '',\n balance = '0',\n unit = '¥',\n isLoading = false,\n style,\n cardImgUrl,\n onPress,\n onCreate,\n}) => {\n const data = paymentCardDataByTypes[type];\n return (\n <TouchableOpacity\n style={[\n styles.container,\n style,\n onCreate && styles.notAvailable,\n isLoading && styles.notAvailable,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n disabled={!onPress}\n onPress={onPress}>\n <View style={styles.content}>\n <Icon\n name={data.icon}\n width={metrics.iconMediumPlus}\n height={metrics.iconMediumPlus}\n tintColor={colors.neutral['80']}\n />\n <View style={styles.titleContainer}>\n <Text size=\"medium\" color=\"tertiary\" style={styles.title}>\n {title}\n </Text>\n </View>\n </View>\n <View style={styles.balance}>\n <Text\n size=\"medium\"\n fontWeight=\"500\"\n color=\"primary\"\n lineHeight={pf(40)}>\n {unit}\n </Text>\n <Text size=\"xl\" fontWeight=\"700\" color=\"primary\" lineHeight={pf(40)}>\n {formatNumber(balance)}\n </Text>\n <Text\n size=\"medium\"\n fontWeight=\"500\"\n color=\"primary\"\n lineHeight={pf(40)}>\n -\n </Text>\n </View>\n <View style={styles.bannerIntro}>\n <Image\n uri={cardImgUrl || data.photo}\n width={deviceWidth() * 0.33}\n height={pw(84)}\n style={styles.banner}\n resizeMode=\"cover\"\n />\n {onCreate && (\n <TouchableOpacity\n style={styles.add}\n activeOpacity={ACTIVE_OPACITY}\n disabled={isLoading}\n onPress={onCreate}>\n {!isLoading ? (\n <Icon\n name=\"ic_white_plus\"\n width={metrics.iconExtraLarge}\n height={metrics.iconExtraLarge}\n />\n ) : (\n <ActivityIndicator size=\"small\" color={colors.primary['100']} />\n )}\n </TouchableOpacity>\n )}\n </View>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: colors.white['10'],\n height: ph(108),\n shadowColor: colors.neutral['100'],\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.25,\n shadowRadius: 6,\n elevation: 6,\n justifyContent: 'space-between',\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n notAvailable: {\n opacity: 0.4,\n },\n titleContainer: {\n width: '50%',\n },\n title: {\n flexWrap: 'wrap',\n },\n content: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: metrics.width.spacingExtraSmall,\n paddingTop: ph(14),\n gap: metrics.width.spacingExtraSmall,\n borderTopRightRadius: metrics.borderRadiusSemiLarge,\n borderTopLeftRadius: metrics.borderRadiusSemiLarge,\n },\n balance: {\n flexDirection: 'row',\n backgroundColor: colors.neutral['20'],\n paddingHorizontal: metrics.width.spacingExtraSmall,\n paddingVertical: metrics.height.spacingTiny,\n gap: metrics.width.spacingNano,\n borderBottomRightRadius: metrics.borderRadiusSemiLarge,\n borderBottomLeftRadius: metrics.borderRadiusSemiLarge,\n },\n bannerIntro: {\n position: 'absolute',\n zIndex: 1,\n top: metrics.height.spacingExtraSmall,\n right: metrics.width.spacingExtraSmall,\n borderRadius: metrics.borderRadiusExtraLarge,\n backgroundColor: colors.white['10'],\n padding: metrics.width.spacingTiny,\n shadowColor: colors.neutral['100'],\n shadowOffset: {width: 0, height: metrics.height.spacingTiny},\n shadowOpacity: 0.25,\n shadowRadius: metrics.borderRadiusExtraLarge,\n elevation: 12,\n alignItems: 'center',\n justifyContent: 'center',\n },\n banner: {\n borderRadius: metrics.borderRadiusExtraLarge,\n },\n add: {\n position: 'absolute',\n zIndex: 2,\n width: metrics.iconHuge,\n height: metrics.iconHuge,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: getColorOpacity(colors.black['100'], 0.6),\n borderRadius: metrics.borderRadiusMassive,\n },\n loading: {\n position: 'absolute',\n zIndex: 2,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: getColorOpacity(colors.black['100'], 0.2),\n borderRadius: metrics.borderRadiusExtraLarge,\n },\n});\n"],"names":["React","pf","pw","ph"],"mappings":"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"}
1
+ {"version":3,"file":"PaymentMethodCardWithAmount.js","sources":["../../../../components/PaymentMethodCardWithAmount/PaymentMethodCardWithAmount.tsx"],"sourcesContent":["import React from \"react\";\nimport {\n StyleSheet,\n TouchableOpacity,\n View,\n StyleProp,\n ViewStyle,\n ActivityIndicator,\n} from \"react-native\";\nimport { EPaymentCardTypes, paymentCardDataByTypes } from \"@ui/constants\";\nimport { Icon, Image, Text } from \"@ui/components\";\nimport {\n ACTIVE_OPACITY,\n colors,\n deviceWidth,\n getColorOpacity,\n metrics,\n pf,\n ph,\n pw,\n} from \"@ui/themes\";\nimport { formatNumber } from \"@ui/utils\";\n\nexport interface PaymentMethodCardWithAmountProps {\n title?: string;\n type?: EPaymentCardTypes;\n balance?: string;\n cardImgUrl?: string;\n style?: StyleProp<ViewStyle>;\n unit?: string;\n disabled?: boolean;\n isLoading?: boolean;\n onPress?: () => void;\n onCreate?: () => void;\n}\n\nexport const PaymentMethodCardWithAmount: React.FC<\n PaymentMethodCardWithAmountProps\n> = ({\n type = EPaymentCardTypes.DIRECT,\n title = '',\n balance = '0',\n unit = '¥',\n isLoading = false,\n style,\n cardImgUrl,\n onPress,\n onCreate,\n}) => {\n const data = paymentCardDataByTypes[type];\n return (\n <TouchableOpacity\n style={[\n styles.container,\n style,\n onCreate && styles.notAvailable,\n isLoading && styles.notAvailable,\n ]}\n activeOpacity={ACTIVE_OPACITY}\n disabled={!onPress}\n onPress={onPress}>\n <View style={styles.content}>\n <Icon\n name={data.icon}\n width={metrics.iconMediumPlus}\n height={metrics.iconMediumPlus}\n tintColor={colors.neutral['80']}\n />\n <View style={styles.titleContainer}>\n <Text size=\"medium\" color=\"tertiary\" style={styles.title}>\n {title}\n </Text>\n </View>\n </View>\n <View style={styles.balance}>\n <Text\n size=\"medium\"\n fontWeight=\"500\"\n color=\"primary\"\n lineHeight={pf(40)}>\n {unit}\n </Text>\n <Text size=\"xl\" fontWeight=\"700\" color=\"primary\" lineHeight={pf(40)}>\n {formatNumber(balance)}\n </Text>\n <Text\n size=\"medium\"\n fontWeight=\"500\"\n color=\"primary\"\n lineHeight={pf(40)}>\n -\n </Text>\n </View>\n <View style={styles.bannerIntro}>\n <Image\n uri={cardImgUrl || data.photo}\n width={deviceWidth() * 0.33}\n height={pw(84)}\n style={styles.banner}\n resizeMode=\"cover\"\n />\n {onCreate && (\n <TouchableOpacity\n style={styles.add}\n activeOpacity={ACTIVE_OPACITY}\n disabled={isLoading}\n onPress={onCreate}>\n {!isLoading ? (\n <Icon\n name=\"ic_white_plus\"\n width={metrics.iconExtraLarge}\n height={metrics.iconExtraLarge}\n />\n ) : (\n <ActivityIndicator size=\"small\" color={colors.primary['100']} />\n )}\n </TouchableOpacity>\n )}\n </View>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: colors.white['10'],\n height: ph(108),\n shadowColor: colors.neutral['100'],\n shadowOffset: {width: 0, height: 4},\n shadowOpacity: 0.25,\n shadowRadius: 6,\n elevation: 6,\n justifyContent: 'space-between',\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n notAvailable: {\n opacity: 0.4,\n },\n titleContainer: {\n width: '50%',\n },\n title: {\n flexWrap: 'wrap',\n },\n content: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: metrics.width.spacingExtraSmall,\n paddingTop: ph(14),\n gap: metrics.width.spacingExtraSmall,\n borderTopRightRadius: metrics.borderRadiusSemiLarge,\n borderTopLeftRadius: metrics.borderRadiusSemiLarge,\n },\n balance: {\n flexDirection: 'row',\n backgroundColor: colors.neutral['20'],\n paddingHorizontal: metrics.width.spacingExtraSmall,\n paddingVertical: metrics.height.spacingTiny,\n gap: metrics.width.spacingNano,\n borderBottomRightRadius: metrics.borderRadiusSemiLarge,\n borderBottomLeftRadius: metrics.borderRadiusSemiLarge,\n },\n bannerIntro: {\n position: 'absolute',\n zIndex: 1,\n top: metrics.height.spacingExtraSmall,\n right: metrics.width.spacingExtraSmall,\n borderRadius: metrics.borderRadiusExtraLarge,\n backgroundColor: colors.white['10'],\n padding: metrics.width.spacingTiny,\n shadowColor: colors.neutral['100'],\n shadowOffset: {width: 0, height: metrics.height.spacingTiny},\n shadowOpacity: 0.25,\n shadowRadius: metrics.borderRadiusExtraLarge,\n elevation: 12,\n alignItems: 'center',\n justifyContent: 'center',\n },\n banner: {\n borderRadius: metrics.borderRadiusExtraLarge,\n },\n add: {\n position: 'absolute',\n zIndex: 2,\n width: metrics.iconHuge,\n height: metrics.iconHuge,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: getColorOpacity(colors.black['100'], 0.6),\n borderRadius: metrics.borderRadiusMassive,\n },\n loading: {\n position: 'absolute',\n zIndex: 2,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: getColorOpacity(colors.black['100'], 0.2),\n borderRadius: metrics.borderRadiusExtraLarge,\n },\n});\n"],"names":["React","pf","pw","ph"],"mappings":"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"}
@@ -23,6 +23,7 @@ import { THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH, ECardThumbnailType } from './consts.
23
23
  import { Image } from '../Image/Image.js';
24
24
  import '../SkeletonLoader/SkeletonLoader.js';
25
25
  import '../NotificationModal/NotificationModal.js';
26
+ import '../NotificationModal/GlobalModal.js';
26
27
  import '../Modal/Modal.js';
27
28
  import '../Button/styles.js';
28
29
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"CardStatusThumbnail.js","sources":["../../../../components/SnapImageCarousel/CardStatusThumbnail.tsx"],"sourcesContent":["/* eslint-disable curly */\nimport * as React from 'react';\nimport { StyleSheet, View, ActivityIndicator } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n withTiming,\n} from 'react-native-reanimated';\nimport { colors, FontSizes, getColorOpacity, metrics, pf } from '@ui/themes';\nimport { Icon, Image, Text } from '@ui/components';\nimport { CardStatusThumbnailProps } from './types';\nimport {\n ECardThumbnailType,\n THUMBNAIL_HEIGHT,\n THUMBNAIL_WIDTH,\n} from './consts';\nimport { formatNumber } from '@ui/utils';\n\nexport const CardStatusThumbnail = <T,>({\n type = ECardThumbnailType.DEFAULT,\n photo,\n unit = '¥',\n balance,\n thumbnailHeight = THUMBNAIL_HEIGHT,\n thumbnailWidth = THUMBNAIL_WIDTH,\n animation,\n index = 0,\n onCreate,\n children,\n style,\n cardItem,\n isLoading,\n}: CardStatusThumbnailProps<T>) => {\n const unActiveStyle = useAnimatedStyle(() => {\n if (!animation) return {};\n return {\n transform: [{scale: withTiming(animation.value === index ? 1 : 0.6)}],\n marginTop: withTiming(\n animation.value === index ? 0 : THUMBNAIL_HEIGHT * 0.19,\n ),\n opacity: withTiming(animation.value === index ? 1 : 0.6),\n };\n });\n\n const renderCardInteractions = () => {\n switch (type) {\n case ECardThumbnailType.NOT_ISSUED:\n return isLoading ? (\n <ActivityIndicator\n style={styles.circleContainer}\n color={colors.primary['100']}\n size=\"large\"\n />\n ) : (\n <Icon\n name=\"ic_white_plus\"\n width={metrics.iconExtraLarge}\n height={metrics.iconExtraLarge}\n style={styles.circleContainer}\n onPress={() => onCreate?.(cardItem as T)}\n />\n );\n case ECardThumbnailType.SHIPPED:\n return (\n <View style={styles.circleContainer}>\n <Text\n size=\"large\"\n color=\"white\"\n fontWeight=\"700\"\n lineHeight={pf(30)}>\n カード発送手配済み\n </Text>\n </View>\n );\n case ECardThumbnailType.CANCELED:\n return (\n <View style={styles.circleContainer}>\n <Text\n size=\"small\"\n color=\"white\"\n lineHeight={pf(21)}\n style={styles.label}>\n ご解約済み\n </Text>\n </View>\n );\n default:\n return typeof balance === 'string' ? (\n <View style={styles.circleContainer}>\n <Text\n size=\"medium\"\n color=\"white\"\n fontWeight=\"700\"\n lineHeight={FontSizes.fontXL}\n style={styles.label}>\n {`${unit} `}\n <Text\n size=\"large\"\n color=\"white\"\n fontWeight=\"700\"\n lineHeight={pf(30)}>\n {formatNumber(balance)}\n </Text>\n {' -'}\n </Text>\n </View>\n ) : null;\n }\n };\n\n return (\n <Animated.View style={[styles.container, style, unActiveStyle]}>\n <Image\n uri={photo}\n resizeMode=\"contain\"\n width={thumbnailWidth}\n height={thumbnailHeight}\n style={[\n type !== ECardThumbnailType.DEFAULT && styles.overlay,\n styles.image,\n ]}\n />\n {renderCardInteractions()}\n {children}\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: metrics.borderRadiusSemiLarge,\n overflow: 'hidden',\n },\n overlay: {\n opacity: 0.5,\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n circleContainer: {\n position: 'absolute',\n zIndex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n padding: metrics.width.spacingExtraSmall,\n borderRadius: metrics.borderRadiusMassive * 2,\n backgroundColor: getColorOpacity(colors.black['100'], 0.6),\n },\n label: {\n marginHorizontal: metrics.width.spacingBase,\n },\n image: {\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n});"],"names":["pf"],"mappings":"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"}
1
+ {"version":3,"file":"CardStatusThumbnail.js","sources":["../../../../components/SnapImageCarousel/CardStatusThumbnail.tsx"],"sourcesContent":["/* eslint-disable curly */\nimport * as React from 'react';\nimport { StyleSheet, View, ActivityIndicator } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n withTiming,\n} from 'react-native-reanimated';\nimport { colors, FontSizes, getColorOpacity, metrics, pf } from '@ui/themes';\nimport { Icon, Image, Text } from '@ui/components';\nimport { CardStatusThumbnailProps } from './types';\nimport {\n ECardThumbnailType,\n THUMBNAIL_HEIGHT,\n THUMBNAIL_WIDTH,\n} from './consts';\nimport { formatNumber } from '@ui/utils';\n\nexport const CardStatusThumbnail = <T,>({\n type = ECardThumbnailType.DEFAULT,\n photo,\n unit = '¥',\n balance,\n thumbnailHeight = THUMBNAIL_HEIGHT,\n thumbnailWidth = THUMBNAIL_WIDTH,\n animation,\n index = 0,\n onCreate,\n children,\n style,\n cardItem,\n isLoading,\n}: CardStatusThumbnailProps<T>) => {\n const unActiveStyle = useAnimatedStyle(() => {\n if (!animation) return {};\n return {\n transform: [{scale: withTiming(animation.value === index ? 1 : 0.6)}],\n marginTop: withTiming(\n animation.value === index ? 0 : THUMBNAIL_HEIGHT * 0.19,\n ),\n opacity: withTiming(animation.value === index ? 1 : 0.6),\n };\n });\n\n const renderCardInteractions = () => {\n switch (type) {\n case ECardThumbnailType.NOT_ISSUED:\n return isLoading ? (\n <ActivityIndicator\n style={styles.circleContainer}\n color={colors.primary['100']}\n size=\"large\"\n />\n ) : (\n <Icon\n name=\"ic_white_plus\"\n width={metrics.iconExtraLarge}\n height={metrics.iconExtraLarge}\n style={styles.circleContainer}\n onPress={() => onCreate?.(cardItem as T)}\n />\n );\n case ECardThumbnailType.SHIPPED:\n return (\n <View style={styles.circleContainer}>\n <Text\n size=\"large\"\n color=\"white\"\n fontWeight=\"700\"\n lineHeight={pf(30)}>\n カード発送手配済み\n </Text>\n </View>\n );\n case ECardThumbnailType.CANCELED:\n return (\n <View style={styles.circleContainer}>\n <Text\n size=\"small\"\n color=\"white\"\n lineHeight={pf(21)}\n style={styles.label}>\n ご解約済み\n </Text>\n </View>\n );\n default:\n return typeof balance === 'string' ? (\n <View style={styles.circleContainer}>\n <Text\n size=\"medium\"\n color=\"white\"\n fontWeight=\"700\"\n lineHeight={FontSizes.fontXL}\n style={styles.label}>\n {`${unit} `}\n <Text\n size=\"large\"\n color=\"white\"\n fontWeight=\"700\"\n lineHeight={pf(30)}>\n {formatNumber(balance)}\n </Text>\n {' -'}\n </Text>\n </View>\n ) : null;\n }\n };\n\n return (\n <Animated.View style={[styles.container, style, unActiveStyle]}>\n <Image\n uri={photo}\n resizeMode=\"contain\"\n width={thumbnailWidth}\n height={thumbnailHeight}\n style={[\n type !== ECardThumbnailType.DEFAULT && styles.overlay,\n styles.image,\n ]}\n />\n {renderCardInteractions()}\n {children}\n </Animated.View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: metrics.borderRadiusSemiLarge,\n overflow: 'hidden',\n },\n overlay: {\n opacity: 0.5,\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n circleContainer: {\n position: 'absolute',\n zIndex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n padding: metrics.width.spacingExtraSmall,\n borderRadius: metrics.borderRadiusMassive * 2,\n backgroundColor: getColorOpacity(colors.black['100'], 0.6),\n },\n label: {\n marginHorizontal: metrics.width.spacingBase,\n },\n image: {\n borderRadius: metrics.borderRadiusSemiLarge,\n },\n});"],"names":["pf"],"mappings":"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"}
@@ -24,6 +24,7 @@ import '../SnapImageCarousel/consts.js';
24
24
  import 'react-native-fast-image';
25
25
  import '../SkeletonLoader/SkeletonLoader.js';
26
26
  import '../NotificationModal/NotificationModal.js';
27
+ import '../NotificationModal/GlobalModal.js';
27
28
  import '../Modal/Modal.js';
28
29
  import '../Button/styles.js';
29
30
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../components/TickItem/index.tsx"],"sourcesContent":["import {Pressable, View} from 'react-native';\nimport * as React from 'react';\nimport {Icon} from '@ui/components';\nimport Text from '@ui/components/Text';\nimport {colors} from '@ui/themes';\nimport {TickItemProps} from './type';\nimport {styles} from './styles';\n\nexport const TickItem = ({\n isRead,\n disabled = false,\n ruleText,\n handlePress,\n style,\n}: TickItemProps) => {\n return (\n <Pressable\n disabled={disabled}\n onPress={handlePress}\n style={[style, styles.ruleName]}\n >\n <View\n style={[\n styles.checkBox,\n {\n backgroundColor: isRead ? colors.teal[60] : colors.neutral[20],\n },\n ]}\n >\n <Icon name=\"ic_checkmark_white\" width={16} height={16} />\n </View>\n <Text size=\"small\" color=\"secondary\" style={styles.ruleNameText}>\n {ruleText}\n </Text>\n </Pressable>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,QAAQ,GAAG,CAAC,EACvB,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,WAAW,EACX,KAAK,GACS,KAAI;IAClB,QACE,oBAAC,SAAS,EAAA,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAA;QAE/B,KAAC,CAAA,aAAA,CAAA,IAAI,EACH,EAAA,KAAK,EAAE;AACL,gBAAA,MAAM,CAAC,QAAQ;AACf,gBAAA;AACE,oBAAA,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/D,iBAAA;AACF,aAAA,EAAA;AAED,YAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,oBAAoB,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CACpD;QACP,KAAC,CAAA,aAAA,CAAA,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAA,EAC5D,QAAQ,CACJ,CACG;AAEhB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../components/TickItem/index.tsx"],"sourcesContent":["import {Pressable, View} from 'react-native';\nimport * as React from 'react';\nimport {Icon} from '@ui/components';\nimport Text from '@ui/components/Text';\nimport {colors} from '@ui/themes';\nimport {TickItemProps} from './type';\nimport {styles} from './styles';\n\nexport const TickItem = ({\n isRead,\n disabled = false,\n ruleText,\n handlePress,\n style,\n}: TickItemProps) => {\n return (\n <Pressable\n disabled={disabled}\n onPress={handlePress}\n style={[style, styles.ruleName]}\n >\n <View\n style={[\n styles.checkBox,\n {\n backgroundColor: isRead ? colors.teal[60] : colors.neutral[20],\n },\n ]}\n >\n <Icon name=\"ic_checkmark_white\" width={16} height={16} />\n </View>\n <Text size=\"small\" color=\"secondary\" style={styles.ruleNameText}>\n {ruleText}\n </Text>\n </Pressable>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,QAAQ,GAAG,CAAC,EACvB,MAAM,EACN,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,WAAW,EACX,KAAK,GACS,KAAI;IAClB,QACE,oBAAC,SAAS,EAAA,EACR,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAA;QAE/B,KAAC,CAAA,aAAA,CAAA,IAAI,EACH,EAAA,KAAK,EAAE;AACL,gBAAA,MAAM,CAAC,QAAQ;AACf,gBAAA;AACE,oBAAA,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/D,iBAAA;AACF,aAAA,EAAA;AAED,YAAA,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,oBAAoB,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,CACpD;QACP,KAAC,CAAA,aAAA,CAAA,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAA,EAC5D,QAAQ,CACJ,CACG;AAEhB;;;;"}
@@ -27,6 +27,7 @@ import '../SnapImageCarousel/consts.js';
27
27
  import 'react-native-fast-image';
28
28
  import '../SkeletonLoader/SkeletonLoader.js';
29
29
  import '../NotificationModal/NotificationModal.js';
30
+ import '../NotificationModal/GlobalModal.js';
30
31
  import '../Modal/Modal.js';
31
32
  import '../Button/styles.js';
32
33
  import '../LoadingOverlay/LoadingOverlay.js';
@@ -1 +1 @@
1
- {"version":3,"file":"BaseToast.js","sources":["../../../../components/Toasts/BaseToast.tsx"],"sourcesContent":["import * as React from 'react';\nimport {useMemo} from 'react';\nimport {View, TouchableOpacity} from 'react-native';\n\nimport {styles} from './BaseToast.styles';\nimport {BaseToastProps, ToastTypeE} from '@ui/types';\nimport {Icon} from '@ui/components';\nimport {Images, colors, ph, pw} from '@ui/themes';\nimport Text from '../Text';\n\nexport function BaseToast({\n title,\n type,\n subTitle,\n hide,\n onPress,\n activeOpacity = 1,\n style,\n touchableContainerProps,\n contentContainerStyle,\n contentContainerProps,\n titleStyle,\n titleNumberOfLines = 1,\n titleProps,\n subTitleStyle,\n subTitleProps,\n isShowLeftIcon = false,\n isShowRightIcon = false,\n}: BaseToastProps) {\n const {tintColor, icName} = useMemo(() => {\n switch (type) {\n case ToastTypeE.success:\n return {\n tintColor: colors.green[90],\n icName: 'ic_checkmark_circle',\n };\n case ToastTypeE.error:\n return {\n tintColor: colors.red[90],\n icName: 'ic_alert',\n };\n case ToastTypeE.info:\n return {\n tintColor: colors.blue[90],\n icName: 'ic_info',\n };\n case ToastTypeE.warning:\n return {\n tintColor: colors.yellow[90],\n icName: 'ic_warning',\n };\n default:\n return {tintColor: colors.neutral[100], icName: ''};\n }\n }, [type]);\n const renderLeadingIcon = () => {\n if (!icName && !type) return;\n return (\n <Icon\n width={pw(24)}\n height={ph(24)}\n name={icName as keyof typeof Images}\n tintColor={tintColor}\n />\n );\n };\n const renderTrailingIcon = () => {\n return (\n <Icon\n onPress={hide}\n width={pw(24)}\n height={ph(24)}\n name=\"ic_close\"\n tintColor={tintColor}\n />\n );\n };\n return (\n <TouchableOpacity\n disabled={!onPress}\n onPress={onPress}\n activeOpacity={activeOpacity}\n style={[styles.base, style]}\n {...touchableContainerProps}>\n {isShowLeftIcon && renderLeadingIcon()}\n <View\n style={[styles.contentContainer, contentContainerStyle]}\n {...contentContainerProps}>\n {(title?.length ?? 0) > 0 && (\n <Text\n size=\"small\"\n fontWeight={'700'}\n style={[styles.titleText, titleStyle]}\n numberOfLines={titleNumberOfLines}\n ellipsizeMode=\"tail\"\n {...titleProps}>\n {title}\n </Text>\n )}\n {(subTitle?.length ?? 0) > 0 && (\n <Text size=\"xs\" style={subTitleStyle} {...subTitleProps}>\n {subTitle}\n </Text>\n )}\n </View>\n {isShowRightIcon && renderTrailingIcon()}\n </TouchableOpacity>\n );\n}\n"],"names":["pw","ph"],"mappings":"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"}
1
+ {"version":3,"file":"BaseToast.js","sources":["../../../../components/Toasts/BaseToast.tsx"],"sourcesContent":["import * as React from 'react';\nimport {useMemo} from 'react';\nimport {View, TouchableOpacity} from 'react-native';\n\nimport {styles} from './BaseToast.styles';\nimport {BaseToastProps, ToastTypeE} from '@ui/types';\nimport {Icon} from '@ui/components';\nimport {Images, colors, ph, pw} from '@ui/themes';\nimport Text from '../Text';\n\nexport function BaseToast({\n title,\n type,\n subTitle,\n hide,\n onPress,\n activeOpacity = 1,\n style,\n touchableContainerProps,\n contentContainerStyle,\n contentContainerProps,\n titleStyle,\n titleNumberOfLines = 1,\n titleProps,\n subTitleStyle,\n subTitleProps,\n isShowLeftIcon = false,\n isShowRightIcon = false,\n}: BaseToastProps) {\n const {tintColor, icName} = useMemo(() => {\n switch (type) {\n case ToastTypeE.success:\n return {\n tintColor: colors.green[90],\n icName: 'ic_checkmark_circle',\n };\n case ToastTypeE.error:\n return {\n tintColor: colors.red[90],\n icName: 'ic_alert',\n };\n case ToastTypeE.info:\n return {\n tintColor: colors.blue[90],\n icName: 'ic_info',\n };\n case ToastTypeE.warning:\n return {\n tintColor: colors.yellow[90],\n icName: 'ic_warning',\n };\n default:\n return {tintColor: colors.neutral[100], icName: ''};\n }\n }, [type]);\n const renderLeadingIcon = () => {\n if (!icName && !type) return;\n return (\n <Icon\n width={pw(24)}\n height={ph(24)}\n name={icName as keyof typeof Images}\n tintColor={tintColor}\n />\n );\n };\n const renderTrailingIcon = () => {\n return (\n <Icon\n onPress={hide}\n width={pw(24)}\n height={ph(24)}\n name=\"ic_close\"\n tintColor={tintColor}\n />\n );\n };\n return (\n <TouchableOpacity\n disabled={!onPress}\n onPress={onPress}\n activeOpacity={activeOpacity}\n style={[styles.base, style]}\n {...touchableContainerProps}>\n {isShowLeftIcon && renderLeadingIcon()}\n <View\n style={[styles.contentContainer, contentContainerStyle]}\n {...contentContainerProps}>\n {(title?.length ?? 0) > 0 && (\n <Text\n size=\"small\"\n fontWeight={'700'}\n style={[styles.titleText, titleStyle]}\n numberOfLines={titleNumberOfLines}\n ellipsizeMode=\"tail\"\n {...titleProps}>\n {title}\n </Text>\n )}\n {(subTitle?.length ?? 0) > 0 && (\n <Text size=\"xs\" style={subTitleStyle} {...subTitleProps}>\n {subTitle}\n </Text>\n )}\n </View>\n {isShowRightIcon && renderTrailingIcon()}\n </TouchableOpacity>\n );\n}\n"],"names":["pw","ph"],"mappings":"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"}
@@ -18,6 +18,7 @@ export { Image } from './Image/Image.js';
18
18
  export { SkeletonLoader } from './SkeletonLoader/SkeletonLoader.js';
19
19
  export { Props } from './NotificationModal/interface.js';
20
20
  export { NotificationModal } from './NotificationModal/NotificationModal.js';
21
+ export { GlobalModal, GlobalModalComponent, GlobalModalRef } from './NotificationModal/GlobalModal.js';
21
22
  export { Modal } from './Modal/Modal.js';
22
23
  export { IModal, ModalRef } from './Modal/type.js';
23
24
  export { default as Text } from './Text/index.js';
@@ -15,6 +15,7 @@ export { ECardThumbnailType, THUMBNAIL_HEIGHT, THUMBNAIL_WIDTH } from './SnapIma
15
15
  export { Image } from './Image/Image.js';
16
16
  export { SkeletonLoader } from './SkeletonLoader/SkeletonLoader.js';
17
17
  export { NotificationModal } from './NotificationModal/NotificationModal.js';
18
+ export { GlobalModal, GlobalModalComponent } from './NotificationModal/GlobalModal.js';
18
19
  export { Modal } from './Modal/Modal.js';
19
20
  export { default as Text } from './Text/index.js';
20
21
  export { default as Button } from './Button/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meatech/payblend_app_ui_component",
3
- "version": "1.1.46",
3
+ "version": "1.1.48",
4
4
  "description": "UI Component Library for Payblend App",
5
5
  "main": "./dist/components/index.js",
6
6
  "module": "./dist/components/index.js",