@originallyus/feedback-rn-sdk 3.1.0 → 4.0.0-beta.2
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.
Potentially problematic release.
This version of @originallyus/feedback-rn-sdk might be problematic. Click here for more details.
- package/{LICENSE.txt → LICENSE} +1 -2
- package/README.md +69 -176
- package/lib/module/AIAContentUsefulness.js +273 -0
- package/lib/module/AIAContentUsefulness.js.map +1 -0
- package/lib/module/AIAFeedback.js +295 -0
- package/lib/module/AIAFeedback.js.map +1 -0
- package/lib/module/AIAFeedbackForm.js +212 -0
- package/lib/module/AIAFeedbackForm.js.map +1 -0
- package/lib/module/AIAFeedbackSplash.js +57 -0
- package/lib/module/AIAFeedbackSplash.js.map +1 -0
- package/lib/module/AIAFeedbackStyles.js +329 -0
- package/lib/module/AIAFeedbackStyles.js.map +1 -0
- package/lib/module/AIAFeedbackSuccess.js +68 -0
- package/lib/module/AIAFeedbackSuccess.js.map +1 -0
- package/lib/module/assets/CheckIcon.js +21 -0
- package/lib/module/assets/CheckIcon.js.map +1 -0
- package/lib/module/assets/CloseIcon.js +21 -0
- package/lib/module/assets/CloseIcon.js.map +1 -0
- package/lib/module/assets/ErrorIcon.js +23 -0
- package/lib/module/assets/ErrorIcon.js.map +1 -0
- package/lib/module/assets/PlusIcon.js +21 -0
- package/lib/module/assets/PlusIcon.js.map +1 -0
- package/lib/module/assets/StarIcon.js +21 -0
- package/lib/module/assets/StarIcon.js.map +1 -0
- package/lib/module/component/Button.js +49 -0
- package/lib/module/component/Button.js.map +1 -0
- package/lib/module/component/ButtonSubmit.js +194 -0
- package/lib/module/component/ButtonSubmit.js.map +1 -0
- package/lib/module/component/Input.js +172 -0
- package/lib/module/component/Input.js.map +1 -0
- package/lib/module/component/MultiSelectButtons.js +174 -0
- package/lib/module/component/MultiSelectButtons.js.map +1 -0
- package/lib/module/component/README.md +215 -0
- package/lib/module/component/READMEVI.md +192 -0
- package/lib/module/component/Rating.js +168 -0
- package/lib/module/component/Rating.js.map +1 -0
- package/lib/module/component/RatingNumber.js +268 -0
- package/lib/module/component/RatingNumber.js.map +1 -0
- package/lib/module/component/Textarea.js +163 -0
- package/lib/module/component/Textarea.js.map +1 -0
- package/lib/module/component/YesNoButtons.js +161 -0
- package/lib/module/component/YesNoButtons.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/service/feedbackService.js +77 -0
- package/lib/module/service/feedbackService.js.map +1 -0
- package/lib/module/utils/common.js +199 -0
- package/lib/module/utils/common.js.map +1 -0
- package/lib/module/utils/constants.js +48 -0
- package/lib/module/utils/constants.js.map +1 -0
- package/lib/module/utils/index.js +140 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/networking.js +121 -0
- package/lib/module/utils/networking.js.map +1 -0
- package/lib/typescript/AIAContentUsefulness.d.ts +14 -0
- package/lib/typescript/AIAContentUsefulness.d.ts.map +1 -0
- package/lib/typescript/AIAFeedback.d.ts +15 -0
- package/lib/typescript/AIAFeedback.d.ts.map +1 -0
- package/lib/typescript/AIAFeedbackForm.d.ts +22 -0
- package/lib/typescript/AIAFeedbackForm.d.ts.map +1 -0
- package/lib/typescript/AIAFeedbackSplash.d.ts +10 -0
- package/lib/typescript/AIAFeedbackSplash.d.ts.map +1 -0
- package/lib/typescript/AIAFeedbackStyles.d.ts +342 -0
- package/lib/typescript/AIAFeedbackStyles.d.ts.map +1 -0
- package/lib/typescript/AIAFeedbackSuccess.d.ts +11 -0
- package/lib/typescript/AIAFeedbackSuccess.d.ts.map +1 -0
- package/lib/typescript/assets/CheckIcon.d.ts +7 -0
- package/lib/typescript/assets/CheckIcon.d.ts.map +1 -0
- package/lib/typescript/assets/CloseIcon.d.ts +7 -0
- package/lib/typescript/assets/CloseIcon.d.ts.map +1 -0
- package/lib/typescript/assets/ErrorIcon.d.ts +7 -0
- package/lib/typescript/assets/ErrorIcon.d.ts.map +1 -0
- package/lib/typescript/assets/PlusIcon.d.ts +7 -0
- package/lib/typescript/assets/PlusIcon.d.ts.map +1 -0
- package/lib/typescript/assets/StarIcon.d.ts +7 -0
- package/lib/typescript/assets/StarIcon.d.ts.map +1 -0
- package/lib/typescript/component/Button.d.ts +30 -0
- package/lib/typescript/component/Button.d.ts.map +1 -0
- package/lib/typescript/component/ButtonSubmit.d.ts +115 -0
- package/lib/typescript/component/ButtonSubmit.d.ts.map +1 -0
- package/lib/typescript/component/Input.d.ts +112 -0
- package/lib/typescript/component/Input.d.ts.map +1 -0
- package/lib/typescript/component/MultiSelectButtons.d.ts +103 -0
- package/lib/typescript/component/MultiSelectButtons.d.ts.map +1 -0
- package/lib/typescript/component/Rating.d.ts +83 -0
- package/lib/typescript/component/Rating.d.ts.map +1 -0
- package/lib/typescript/component/RatingNumber.d.ts +135 -0
- package/lib/typescript/component/RatingNumber.d.ts.map +1 -0
- package/lib/typescript/component/Textarea.d.ts +115 -0
- package/lib/typescript/component/Textarea.d.ts.map +1 -0
- package/lib/typescript/component/YesNoButtons.d.ts +94 -0
- package/lib/typescript/component/YesNoButtons.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +21 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/service/feedbackService.d.ts +33 -0
- package/lib/typescript/service/feedbackService.d.ts.map +1 -0
- package/lib/typescript/utils/common.d.ts +23 -0
- package/lib/typescript/utils/common.d.ts.map +1 -0
- package/lib/typescript/utils/constants.d.ts +38 -0
- package/lib/typescript/utils/constants.d.ts.map +1 -0
- package/lib/typescript/utils/index.d.ts +12 -0
- package/lib/typescript/utils/index.d.ts.map +1 -0
- package/lib/typescript/utils/networking.d.ts +12 -0
- package/lib/typescript/utils/networking.d.ts.map +1 -0
- package/package.json +175 -39
- package/src/AIAContentUsefulness.tsx +296 -0
- package/src/AIAFeedback.tsx +354 -0
- package/src/AIAFeedbackForm.tsx +267 -0
- package/src/AIAFeedbackSplash.tsx +49 -0
- package/src/AIAFeedbackStyles.ts +311 -0
- package/src/AIAFeedbackSuccess.tsx +67 -0
- package/src/assets/CheckIcon.tsx +18 -0
- package/src/assets/CloseIcon.tsx +18 -0
- package/src/assets/ErrorIcon.tsx +18 -0
- package/src/assets/PlusIcon.tsx +18 -0
- package/src/assets/StarIcon.tsx +18 -0
- package/src/component/Button.tsx +68 -0
- package/src/component/ButtonSubmit.tsx +335 -0
- package/src/component/Input.tsx +288 -0
- package/src/component/MultiSelectButtons.tsx +272 -0
- package/src/component/README.md +215 -0
- package/src/component/READMEVI.md +192 -0
- package/src/component/Rating.tsx +248 -0
- package/src/component/RatingNumber.tsx +421 -0
- package/src/component/Textarea.tsx +282 -0
- package/src/component/YesNoButtons.tsx +236 -0
- package/src/index.tsx +33 -0
- package/src/service/feedbackService.ts +108 -0
- package/src/utils/common.ts +241 -0
- package/src/utils/constants.ts +60 -0
- package/src/utils/index.ts +167 -0
- package/src/utils/networking.ts +134 -0
- package/fonts/AIAEverest-CondensedMedium.ttf +0 -0
- package/fonts/AIAEverest-Medium.ttf +0 -0
- package/fonts/AIAEverest-Regular.ttf +0 -0
- package/fonts/AIAEverestBold.ttf +0 -0
- package/fonts/OpenSans-Bold.ttf +0 -0
- package/fonts/OpenSans-Light.ttf +0 -0
- package/fonts/OpenSans-Regular.ttf +0 -0
- package/fonts/OpenSans-SemiBold.ttf +0 -0
- package/lib/commonjs/api/index.js +0 -1
- package/lib/commonjs/assets/index.js +0 -1
- package/lib/commonjs/component/confirmStep.js +0 -1
- package/lib/commonjs/component/confirmStepTablet.js +0 -1
- package/lib/commonjs/component/contentUI.js +0 -1
- package/lib/commonjs/component/contentUITablet.js +0 -1
- package/lib/commonjs/component/header.js +0 -1
- package/lib/commonjs/component/index.js +0 -1
- package/lib/commonjs/component/inlineSurvey.js +0 -1
- package/lib/commonjs/index.js +0 -1
- package/lib/commonjs/ui/ButtonSubmit.js +0 -1
- package/lib/commonjs/ui/Fineprint.js +0 -1
- package/lib/commonjs/ui/Instruction.js +0 -1
- package/lib/commonjs/ui/MultipleSelectInput.js +0 -1
- package/lib/commonjs/ui/Question.js +0 -1
- package/lib/commonjs/ui/RatingNumber.js +0 -1
- package/lib/commonjs/ui/RatingStar.js +0 -1
- package/lib/commonjs/ui/SecondaryQuestion.js +0 -1
- package/lib/commonjs/ui/TextArea.js +0 -1
- package/lib/commonjs/ui/index.js +0 -1
- package/lib/commonjs/utils/MyFunction.js +0 -1
- package/lib/commonjs/utils/NetworkHelper.js +0 -1
- package/lib/commonjs/utils/StatusBarHeight.js +0 -1
- package/lib/commonjs/utils/const.js +0 -1
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import * as f from '@utils/common';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { ActivityIndicator, Pressable, StyleSheet, Text, View } from 'react-native';
|
|
6
|
+
import { BG_BUTTON_SECONDARY, BG_DISABLED, BG_DISABLED_SECONDARY, ERROR_COLOR, PRESSED_COLOR, PRIMARY_COLOR, TEXT_DISABLED, TEXT_WHITE } from '@utils/constants';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Visual style variant for `ButtonSubmit`.
|
|
10
|
+
*
|
|
11
|
+
* - `'primary'` – solid primary background with white text.
|
|
12
|
+
* - `'secondary'` – light background with colored border and text.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Props for the form submit button.
|
|
17
|
+
*
|
|
18
|
+
* This is a higher-level button component that supports loading state,
|
|
19
|
+
* primary/secondary variants, full-width layout and basic theming.
|
|
20
|
+
*/
|
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
22
|
+
function ButtonSubmit({
|
|
23
|
+
onPress,
|
|
24
|
+
title,
|
|
25
|
+
leftIcon,
|
|
26
|
+
variant = 'primary',
|
|
27
|
+
fullWidth = true,
|
|
28
|
+
disabled = false,
|
|
29
|
+
loading = false,
|
|
30
|
+
appWidth,
|
|
31
|
+
isTabletInstrusive,
|
|
32
|
+
fontFamily,
|
|
33
|
+
fontSize = 16,
|
|
34
|
+
textColor: textColorProp,
|
|
35
|
+
backgroundColor: backgroundColorProp,
|
|
36
|
+
pressedColor: pressedColorProp,
|
|
37
|
+
disabledBackgroundColor: disabledBgProp,
|
|
38
|
+
disabledTextColor: disabledTextProp,
|
|
39
|
+
borderColor: borderColorProp,
|
|
40
|
+
containerStyle,
|
|
41
|
+
style,
|
|
42
|
+
textStyle,
|
|
43
|
+
numberOfLines = 1
|
|
44
|
+
}) {
|
|
45
|
+
// const [pressed, setPressed] = useState(false)
|
|
46
|
+
const isPrimary = variant === 'primary';
|
|
47
|
+
const currentStyles = useMemo(() => {
|
|
48
|
+
const base = (() => {
|
|
49
|
+
if (isPrimary) {
|
|
50
|
+
return {
|
|
51
|
+
bg: PRIMARY_COLOR,
|
|
52
|
+
disabledBg: BG_DISABLED,
|
|
53
|
+
textColor: TEXT_WHITE,
|
|
54
|
+
border: undefined,
|
|
55
|
+
borderW: 0,
|
|
56
|
+
pressedBg: pressedColorProp ?? PRESSED_COLOR,
|
|
57
|
+
pressedText: TEXT_WHITE,
|
|
58
|
+
pressedBorder: undefined
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
bg: BG_BUTTON_SECONDARY,
|
|
63
|
+
disabledBg: BG_DISABLED_SECONDARY,
|
|
64
|
+
textColor: ERROR_COLOR,
|
|
65
|
+
border: borderColorProp ?? ERROR_COLOR,
|
|
66
|
+
borderW: 1.2,
|
|
67
|
+
pressedBg: BG_BUTTON_SECONDARY,
|
|
68
|
+
pressedText: pressedColorProp ?? PRESSED_COLOR,
|
|
69
|
+
pressedBorder: pressedColorProp ?? PRESSED_COLOR
|
|
70
|
+
};
|
|
71
|
+
})();
|
|
72
|
+
if (disabled || loading) {
|
|
73
|
+
return {
|
|
74
|
+
bg: disabledBgProp ?? base.disabledBg,
|
|
75
|
+
text: disabledTextProp ?? TEXT_DISABLED,
|
|
76
|
+
border: isPrimary ? undefined : disabledTextProp ?? TEXT_DISABLED,
|
|
77
|
+
borderW: base.borderW
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// if (pressed) {
|
|
82
|
+
// return {
|
|
83
|
+
// bg: base.pressedBg,
|
|
84
|
+
// text: base.pressedText,
|
|
85
|
+
// border: base.pressedBorder,
|
|
86
|
+
// borderW: base.borderW,
|
|
87
|
+
// }
|
|
88
|
+
// }
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
bg: backgroundColorProp ?? base.bg,
|
|
92
|
+
text: textColorProp ?? base.textColor,
|
|
93
|
+
border: base.border,
|
|
94
|
+
borderW: base.borderW
|
|
95
|
+
};
|
|
96
|
+
}, [isPrimary, disabled, loading, pressedColorProp, borderColorProp, disabledBgProp, disabledTextProp, backgroundColorProp, textColorProp]);
|
|
97
|
+
const layout = useMemo(() => {
|
|
98
|
+
const widthStyle = (() => {
|
|
99
|
+
if (isTabletInstrusive) return {
|
|
100
|
+
width: 200
|
|
101
|
+
};
|
|
102
|
+
if (fullWidth) return {
|
|
103
|
+
width: '100%'
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
alignSelf: 'flex-start'
|
|
107
|
+
};
|
|
108
|
+
})();
|
|
109
|
+
const loaderColor = (() => {
|
|
110
|
+
if (disabled) return TEXT_DISABLED;
|
|
111
|
+
if (isPrimary) return TEXT_WHITE;
|
|
112
|
+
return ERROR_COLOR;
|
|
113
|
+
})();
|
|
114
|
+
return {
|
|
115
|
+
width: widthStyle,
|
|
116
|
+
loaderColor,
|
|
117
|
+
opacity: loading ? 0 : 1,
|
|
118
|
+
marginTop: f.w_p(appWidth, 10)
|
|
119
|
+
};
|
|
120
|
+
}, [isTabletInstrusive, fullWidth, disabled, isPrimary, loading, appWidth]);
|
|
121
|
+
return /*#__PURE__*/_jsx(View, {
|
|
122
|
+
style: [styles.container, {
|
|
123
|
+
marginTop: layout.marginTop
|
|
124
|
+
}, containerStyle],
|
|
125
|
+
children: /*#__PURE__*/_jsxs(Pressable, {
|
|
126
|
+
onPress: disabled || loading ? undefined : onPress
|
|
127
|
+
// onPressIn={() => setPressed(true)}
|
|
128
|
+
// onPressOut={() => setPressed(false)}
|
|
129
|
+
,
|
|
130
|
+
disabled: disabled,
|
|
131
|
+
style: [styles.button, layout.width, {
|
|
132
|
+
backgroundColor: currentStyles.bg,
|
|
133
|
+
borderWidth: currentStyles.borderW,
|
|
134
|
+
borderColor: currentStyles.border
|
|
135
|
+
}, style],
|
|
136
|
+
children: [loading && /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
137
|
+
style: styles.loader,
|
|
138
|
+
color: layout.loaderColor
|
|
139
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
140
|
+
style: styles.contentRow,
|
|
141
|
+
children: [leftIcon != null && leftIcon !== '' && /*#__PURE__*/_jsx(Text, {
|
|
142
|
+
style: [styles.text, styles.leftIcon, {
|
|
143
|
+
fontSize,
|
|
144
|
+
fontFamily,
|
|
145
|
+
color: currentStyles.text,
|
|
146
|
+
opacity: layout.opacity
|
|
147
|
+
}, textStyle],
|
|
148
|
+
children: leftIcon
|
|
149
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
150
|
+
style: [styles.text, {
|
|
151
|
+
fontSize,
|
|
152
|
+
fontFamily,
|
|
153
|
+
color: currentStyles.text,
|
|
154
|
+
opacity: layout.opacity
|
|
155
|
+
}, textStyle],
|
|
156
|
+
numberOfLines: numberOfLines,
|
|
157
|
+
ellipsizeMode: "tail",
|
|
158
|
+
children: title
|
|
159
|
+
})]
|
|
160
|
+
})]
|
|
161
|
+
})
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
export default ButtonSubmit;
|
|
165
|
+
const styles = StyleSheet.create({
|
|
166
|
+
container: {
|
|
167
|
+
width: '100%'
|
|
168
|
+
},
|
|
169
|
+
button: {
|
|
170
|
+
borderRadius: 8,
|
|
171
|
+
paddingVertical: 14,
|
|
172
|
+
paddingHorizontal: 20,
|
|
173
|
+
justifyContent: 'center',
|
|
174
|
+
alignItems: 'center',
|
|
175
|
+
minHeight: 44,
|
|
176
|
+
maxWidth: '100%'
|
|
177
|
+
},
|
|
178
|
+
loader: {
|
|
179
|
+
position: 'absolute'
|
|
180
|
+
},
|
|
181
|
+
contentRow: {
|
|
182
|
+
flexDirection: 'row',
|
|
183
|
+
alignItems: 'center',
|
|
184
|
+
gap: 6
|
|
185
|
+
},
|
|
186
|
+
leftIcon: {
|
|
187
|
+
marginRight: 0
|
|
188
|
+
},
|
|
189
|
+
text: {
|
|
190
|
+
fontWeight: '500',
|
|
191
|
+
flexShrink: 1
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
//# sourceMappingURL=ButtonSubmit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["f","useMemo","ActivityIndicator","Pressable","StyleSheet","Text","View","BG_BUTTON_SECONDARY","BG_DISABLED","BG_DISABLED_SECONDARY","ERROR_COLOR","PRESSED_COLOR","PRIMARY_COLOR","TEXT_DISABLED","TEXT_WHITE","jsx","_jsx","jsxs","_jsxs","ButtonSubmit","onPress","title","leftIcon","variant","fullWidth","disabled","loading","appWidth","isTabletInstrusive","fontFamily","fontSize","textColor","textColorProp","backgroundColor","backgroundColorProp","pressedColor","pressedColorProp","disabledBackgroundColor","disabledBgProp","disabledTextColor","disabledTextProp","borderColor","borderColorProp","containerStyle","style","textStyle","numberOfLines","isPrimary","currentStyles","base","bg","disabledBg","border","undefined","borderW","pressedBg","pressedText","pressedBorder","text","layout","widthStyle","width","alignSelf","loaderColor","opacity","marginTop","w_p","styles","container","children","button","borderWidth","loader","color","contentRow","ellipsizeMode","create","borderRadius","paddingVertical","paddingHorizontal","justifyContent","alignItems","minHeight","maxWidth","position","flexDirection","gap","marginRight","fontWeight","flexShrink"],"sourceRoot":"../../../src","sources":["component/ButtonSubmit.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo, useState } from 'react';
|
|
4
|
+
import { View, Text, StyleSheet, TextInput } from 'react-native';
|
|
5
|
+
import * as f from '@utils/common';
|
|
6
|
+
import { BG_DEFAULT, BORDER_FOCUS, BORDER_SECONDARY, ERROR_COLOR, TEXT_DARK, TEXT_NOTE, TEXT_PLACEHOLDER } from '@utils/constants';
|
|
7
|
+
import ErrorIcon from '@/assets/ErrorIcon';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Props for the single-line `Input` component.
|
|
11
|
+
*
|
|
12
|
+
* Renders a label, single-line text input, optional note, error,
|
|
13
|
+
* and an optional character counter.
|
|
14
|
+
*/
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
const DEFAULT_BG = BG_DEFAULT;
|
|
17
|
+
const DEFAULT_BORDER = BORDER_SECONDARY;
|
|
18
|
+
const DEFAULT_FOCUS_BORDER = BORDER_FOCUS;
|
|
19
|
+
const DEFAULT_TEXT = TEXT_DARK;
|
|
20
|
+
const DEFAULT_PLACEHOLDER = TEXT_PLACEHOLDER;
|
|
21
|
+
const DEFAULT_COUNTER = TEXT_PLACEHOLDER;
|
|
22
|
+
const DEFAULT_NOTE = TEXT_NOTE;
|
|
23
|
+
const DEFAULT_ERROR = ERROR_COLOR;
|
|
24
|
+
function Input({
|
|
25
|
+
value,
|
|
26
|
+
onChangeText,
|
|
27
|
+
placeholder = 'Placeholder',
|
|
28
|
+
label,
|
|
29
|
+
note,
|
|
30
|
+
error,
|
|
31
|
+
maxLength,
|
|
32
|
+
showCounter = true,
|
|
33
|
+
appWidth,
|
|
34
|
+
backgroundColor = DEFAULT_BG,
|
|
35
|
+
borderColor = DEFAULT_BORDER,
|
|
36
|
+
focusBackgroundColor = DEFAULT_BG,
|
|
37
|
+
focusBorderColor = DEFAULT_FOCUS_BORDER,
|
|
38
|
+
errorBorderColor = DEFAULT_ERROR,
|
|
39
|
+
fontFamily,
|
|
40
|
+
fontSize = 16,
|
|
41
|
+
placeholderTextColor = DEFAULT_PLACEHOLDER,
|
|
42
|
+
textColor = DEFAULT_TEXT,
|
|
43
|
+
labelStyle,
|
|
44
|
+
noteStyle,
|
|
45
|
+
errorStyle,
|
|
46
|
+
counterStyle,
|
|
47
|
+
style
|
|
48
|
+
}) {
|
|
49
|
+
const [focused, setFocused] = useState(false);
|
|
50
|
+
const length = value.length;
|
|
51
|
+
const hasError = useMemo(() => error != null && error !== '', [error]);
|
|
52
|
+
const showCounterEl = useMemo(() => maxLength != null && showCounter, [maxLength, showCounter]);
|
|
53
|
+
const effectiveBorderColor = useMemo(() => {
|
|
54
|
+
if (hasError) return errorBorderColor;
|
|
55
|
+
if (focused) return focusBorderColor;
|
|
56
|
+
return borderColor;
|
|
57
|
+
}, [hasError, focused, errorBorderColor, focusBorderColor, borderColor]);
|
|
58
|
+
const inputContainerStyle = useMemo(() => [styles.inputWrapper, {
|
|
59
|
+
paddingHorizontal: f.w_p(appWidth, 8),
|
|
60
|
+
paddingVertical: 10,
|
|
61
|
+
borderRadius: f.isTablet ? 6 : 4,
|
|
62
|
+
backgroundColor: focused ? focusBackgroundColor : backgroundColor,
|
|
63
|
+
borderColor: effectiveBorderColor,
|
|
64
|
+
borderWidth: 1
|
|
65
|
+
}], [appWidth, focused, focusBackgroundColor, backgroundColor, effectiveBorderColor]);
|
|
66
|
+
const textInputStyle = useMemo(() => [styles.input, {
|
|
67
|
+
fontFamily,
|
|
68
|
+
fontSize,
|
|
69
|
+
color: textColor,
|
|
70
|
+
paddingRight: showCounterEl ? 48 : 0
|
|
71
|
+
}], [fontFamily, fontSize, textColor, showCounterEl]);
|
|
72
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
73
|
+
style: [styles.wrapper, style],
|
|
74
|
+
children: [label != null && label !== '' && /*#__PURE__*/_jsx(Text, {
|
|
75
|
+
style: [styles.label, labelStyle],
|
|
76
|
+
children: label
|
|
77
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
78
|
+
style: inputContainerStyle,
|
|
79
|
+
children: [/*#__PURE__*/_jsx(TextInput, {
|
|
80
|
+
placeholder: placeholder,
|
|
81
|
+
placeholderTextColor: placeholderTextColor,
|
|
82
|
+
style: textInputStyle,
|
|
83
|
+
value: value,
|
|
84
|
+
onChangeText: text => {
|
|
85
|
+
if (maxLength == null || text.length <= maxLength) {
|
|
86
|
+
onChangeText(text);
|
|
87
|
+
} else {
|
|
88
|
+
onChangeText(text.slice(0, maxLength));
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
onFocus: () => setFocused(true),
|
|
92
|
+
onBlur: () => setFocused(false),
|
|
93
|
+
autoCorrect: false
|
|
94
|
+
}), showCounterEl && /*#__PURE__*/_jsx(View, {
|
|
95
|
+
style: styles.counterWrapper,
|
|
96
|
+
pointerEvents: "none",
|
|
97
|
+
children: /*#__PURE__*/_jsxs(Text, {
|
|
98
|
+
style: [styles.counter, {
|
|
99
|
+
color: DEFAULT_COUNTER
|
|
100
|
+
}, counterStyle],
|
|
101
|
+
children: [length, "/", maxLength]
|
|
102
|
+
})
|
|
103
|
+
})]
|
|
104
|
+
}), note != null && note !== '' && /*#__PURE__*/_jsx(Text, {
|
|
105
|
+
style: [styles.note, {
|
|
106
|
+
color: DEFAULT_NOTE
|
|
107
|
+
}, noteStyle],
|
|
108
|
+
children: note
|
|
109
|
+
}), hasError && /*#__PURE__*/_jsxs(View, {
|
|
110
|
+
style: styles.errorWrap,
|
|
111
|
+
children: [/*#__PURE__*/_jsx(ErrorIcon, {
|
|
112
|
+
size: 20,
|
|
113
|
+
color: ERROR_COLOR
|
|
114
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
115
|
+
style: [styles.error, {
|
|
116
|
+
color: DEFAULT_ERROR
|
|
117
|
+
}, errorStyle],
|
|
118
|
+
children: error
|
|
119
|
+
})]
|
|
120
|
+
})]
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
export default Input;
|
|
124
|
+
const styles = StyleSheet.create({
|
|
125
|
+
wrapper: {
|
|
126
|
+
width: '100%'
|
|
127
|
+
},
|
|
128
|
+
label: {
|
|
129
|
+
fontSize: 16,
|
|
130
|
+
fontWeight: '600',
|
|
131
|
+
color: '#000000',
|
|
132
|
+
marginBottom: 8
|
|
133
|
+
},
|
|
134
|
+
inputWrapper: {
|
|
135
|
+
width: '100%',
|
|
136
|
+
position: 'relative',
|
|
137
|
+
flexDirection: 'row',
|
|
138
|
+
alignItems: 'center'
|
|
139
|
+
},
|
|
140
|
+
input: {
|
|
141
|
+
flex: 1,
|
|
142
|
+
padding: 0,
|
|
143
|
+
minHeight: 20
|
|
144
|
+
},
|
|
145
|
+
counterWrapper: {
|
|
146
|
+
position: 'absolute',
|
|
147
|
+
right: 12,
|
|
148
|
+
top: 0,
|
|
149
|
+
bottom: 0,
|
|
150
|
+
justifyContent: 'center'
|
|
151
|
+
},
|
|
152
|
+
counter: {
|
|
153
|
+
fontSize: 12
|
|
154
|
+
},
|
|
155
|
+
note: {
|
|
156
|
+
fontSize: 12,
|
|
157
|
+
marginTop: 8
|
|
158
|
+
},
|
|
159
|
+
errorWrap: {
|
|
160
|
+
flexDirection: 'row',
|
|
161
|
+
alignItems: 'center',
|
|
162
|
+
marginTop: 8,
|
|
163
|
+
gap: 6
|
|
164
|
+
},
|
|
165
|
+
error: {
|
|
166
|
+
fontSize: 14,
|
|
167
|
+
lineHeight: 20,
|
|
168
|
+
flex: 1,
|
|
169
|
+
fontWeight: '400'
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useState","View","Text","StyleSheet","TextInput","f","BG_DEFAULT","BORDER_FOCUS","BORDER_SECONDARY","ERROR_COLOR","TEXT_DARK","TEXT_NOTE","TEXT_PLACEHOLDER","ErrorIcon","jsx","_jsx","jsxs","_jsxs","DEFAULT_BG","DEFAULT_BORDER","DEFAULT_FOCUS_BORDER","DEFAULT_TEXT","DEFAULT_PLACEHOLDER","DEFAULT_COUNTER","DEFAULT_NOTE","DEFAULT_ERROR","Input","value","onChangeText","placeholder","label","note","error","maxLength","showCounter","appWidth","backgroundColor","borderColor","focusBackgroundColor","focusBorderColor","errorBorderColor","fontFamily","fontSize","placeholderTextColor","textColor","labelStyle","noteStyle","errorStyle","counterStyle","style","focused","setFocused","length","hasError","showCounterEl","effectiveBorderColor","inputContainerStyle","styles","inputWrapper","paddingHorizontal","w_p","paddingVertical","borderRadius","isTablet","borderWidth","textInputStyle","input","color","paddingRight","wrapper","children","text","slice","onFocus","onBlur","autoCorrect","counterWrapper","pointerEvents","counter","errorWrap","size","create","width","fontWeight","marginBottom","position","flexDirection","alignItems","flex","padding","minHeight","right","top","bottom","justifyContent","marginTop","gap","lineHeight"],"sourceRoot":"../../../src","sources":["component/Input.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
5
|
+
import * as f from '@utils/common';
|
|
6
|
+
import ButtonSubmit from '@component/ButtonSubmit';
|
|
7
|
+
import CheckIcon from '@/assets/CheckIcon';
|
|
8
|
+
import PlusIcon from '@/assets/PlusIcon';
|
|
9
|
+
import { BG_DEFAULT, BG_SECONDARY, BORDER_DEFAULT, BORDER_SELECTED, ERROR_COLOR, PRIMARY_COLOR, TEXT_DARK, TEXT_DEFAULT, TEXT_WHITE } from '@utils/constants';
|
|
10
|
+
import * as Haptics from 'expo-haptics';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Visual variant for selected tags in `MultiSelectButtons`.
|
|
14
|
+
*
|
|
15
|
+
* - `'primary'` – solid primary background with white text.
|
|
16
|
+
* - `'secondary'` – light background with colored border and dark text.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Single option for `MultiSelectButtons`.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Props for the `MultiSelectButtons` component.
|
|
25
|
+
*
|
|
26
|
+
* Renders a question and a wrap layout of tag-like buttons allowing multiple selections.
|
|
27
|
+
*/
|
|
28
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
+
function MultiSelectButtons({
|
|
30
|
+
question,
|
|
31
|
+
options,
|
|
32
|
+
value,
|
|
33
|
+
onSelect,
|
|
34
|
+
appWidth,
|
|
35
|
+
selectedVariant = 'secondary',
|
|
36
|
+
error,
|
|
37
|
+
selectedBackgroundColor,
|
|
38
|
+
selectedBorderColor,
|
|
39
|
+
selectedTextColor,
|
|
40
|
+
questionStyle,
|
|
41
|
+
errorStyle,
|
|
42
|
+
errorColor = ERROR_COLOR,
|
|
43
|
+
iconSize = 16,
|
|
44
|
+
optionNumberOfLines = 1,
|
|
45
|
+
style
|
|
46
|
+
}) {
|
|
47
|
+
const hasError = useMemo(() => error != null && error !== '', [error]);
|
|
48
|
+
const selectedSet = useMemo(() => new Set(value), [value]);
|
|
49
|
+
const isPrimary = selectedVariant === 'primary';
|
|
50
|
+
const selectedBg = useMemo(() => selectedBackgroundColor ?? (isPrimary ? PRIMARY_COLOR : BG_SECONDARY), [selectedBackgroundColor, isPrimary]);
|
|
51
|
+
const selectedBorder = useMemo(() => isPrimary ? selectedBg : selectedBorderColor ?? BORDER_SELECTED, [isPrimary, selectedBg, selectedBorderColor]);
|
|
52
|
+
const selectedText = useMemo(() => selectedTextColor ?? (isPrimary ? TEXT_WHITE : TEXT_DEFAULT), [selectedTextColor, isPrimary]);
|
|
53
|
+
const toggle = optionValue => {
|
|
54
|
+
if (selectedSet.has(optionValue)) {
|
|
55
|
+
onSelect(value.filter(v => v !== optionValue));
|
|
56
|
+
} else {
|
|
57
|
+
onSelect([...value, optionValue]);
|
|
58
|
+
}
|
|
59
|
+
Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
|
|
60
|
+
};
|
|
61
|
+
const marginTop = useMemo(() => [styles.optionsRow, {
|
|
62
|
+
marginTop: f.w_p(appWidth, 10)
|
|
63
|
+
}], [appWidth]);
|
|
64
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
65
|
+
style: [styles.wrapper, style],
|
|
66
|
+
children: [question != null && question !== '' && /*#__PURE__*/_jsx(Text, {
|
|
67
|
+
style: [styles.question, questionStyle],
|
|
68
|
+
children: question
|
|
69
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
70
|
+
style: marginTop,
|
|
71
|
+
children: options.map(opt => {
|
|
72
|
+
const isSelected = selectedSet.has(opt.value);
|
|
73
|
+
const buttonStyles = (() => {
|
|
74
|
+
if (isSelected) {
|
|
75
|
+
return {
|
|
76
|
+
bg: selectedBg,
|
|
77
|
+
text: selectedText,
|
|
78
|
+
border: selectedBorder
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
if (hasError) {
|
|
82
|
+
return {
|
|
83
|
+
bg: BG_DEFAULT,
|
|
84
|
+
text: errorColor,
|
|
85
|
+
border: errorColor
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
bg: BG_DEFAULT,
|
|
90
|
+
text: TEXT_DARK,
|
|
91
|
+
border: BORDER_DEFAULT
|
|
92
|
+
};
|
|
93
|
+
})();
|
|
94
|
+
return /*#__PURE__*/_jsx(View, {
|
|
95
|
+
style: styles.optionSlot,
|
|
96
|
+
children: /*#__PURE__*/_jsx(ButtonSubmit, {
|
|
97
|
+
appWidth: appWidth,
|
|
98
|
+
title: opt.label,
|
|
99
|
+
leftIcon: isSelected ? /*#__PURE__*/_jsx(CheckIcon, {
|
|
100
|
+
size: iconSize,
|
|
101
|
+
color: buttonStyles.text
|
|
102
|
+
}) : /*#__PURE__*/_jsx(PlusIcon, {
|
|
103
|
+
size: iconSize,
|
|
104
|
+
color: buttonStyles.text
|
|
105
|
+
}),
|
|
106
|
+
onPress: () => toggle(opt.value),
|
|
107
|
+
variant: "secondary",
|
|
108
|
+
fullWidth: false,
|
|
109
|
+
backgroundColor: buttonStyles.bg,
|
|
110
|
+
textColor: buttonStyles.text,
|
|
111
|
+
borderColor: buttonStyles.border,
|
|
112
|
+
containerStyle: styles.tagContainer,
|
|
113
|
+
numberOfLines: optionNumberOfLines,
|
|
114
|
+
style: styles.tagButton
|
|
115
|
+
})
|
|
116
|
+
}, opt.value);
|
|
117
|
+
})
|
|
118
|
+
}), hasError && /*#__PURE__*/_jsxs(View, {
|
|
119
|
+
style: styles.errorRow,
|
|
120
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
121
|
+
style: [styles.errorIcon, {
|
|
122
|
+
color: errorColor
|
|
123
|
+
}],
|
|
124
|
+
children: "!"
|
|
125
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
126
|
+
style: [styles.errorText, {
|
|
127
|
+
color: errorColor
|
|
128
|
+
}, errorStyle],
|
|
129
|
+
children: error
|
|
130
|
+
})]
|
|
131
|
+
})]
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
export default MultiSelectButtons;
|
|
135
|
+
const styles = StyleSheet.create({
|
|
136
|
+
wrapper: {
|
|
137
|
+
width: '100%'
|
|
138
|
+
},
|
|
139
|
+
question: {
|
|
140
|
+
fontSize: 16,
|
|
141
|
+
fontWeight: '600',
|
|
142
|
+
color: '#000000',
|
|
143
|
+
marginBottom: 4
|
|
144
|
+
},
|
|
145
|
+
optionsRow: {
|
|
146
|
+
flexDirection: 'row',
|
|
147
|
+
flexWrap: 'wrap',
|
|
148
|
+
gap: 10
|
|
149
|
+
},
|
|
150
|
+
optionSlot: {
|
|
151
|
+
alignSelf: 'flex-start'
|
|
152
|
+
},
|
|
153
|
+
tagContainer: {
|
|
154
|
+
marginTop: 0
|
|
155
|
+
},
|
|
156
|
+
tagButton: {
|
|
157
|
+
paddingVertical: 8,
|
|
158
|
+
paddingHorizontal: 12
|
|
159
|
+
},
|
|
160
|
+
errorRow: {
|
|
161
|
+
flexDirection: 'row',
|
|
162
|
+
alignItems: 'center',
|
|
163
|
+
marginTop: 8,
|
|
164
|
+
gap: 6
|
|
165
|
+
},
|
|
166
|
+
errorIcon: {
|
|
167
|
+
fontSize: 14,
|
|
168
|
+
fontWeight: '700'
|
|
169
|
+
},
|
|
170
|
+
errorText: {
|
|
171
|
+
fontSize: 12
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
//# sourceMappingURL=MultiSelectButtons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","View","Text","StyleSheet","f","ButtonSubmit","CheckIcon","PlusIcon","BG_DEFAULT","BG_SECONDARY","BORDER_DEFAULT","BORDER_SELECTED","ERROR_COLOR","PRIMARY_COLOR","TEXT_DARK","TEXT_DEFAULT","TEXT_WHITE","Haptics","jsx","_jsx","jsxs","_jsxs","MultiSelectButtons","question","options","value","onSelect","appWidth","selectedVariant","error","selectedBackgroundColor","selectedBorderColor","selectedTextColor","questionStyle","errorStyle","errorColor","iconSize","optionNumberOfLines","style","hasError","selectedSet","Set","isPrimary","selectedBg","selectedBorder","selectedText","toggle","optionValue","has","filter","v","impactAsync","ImpactFeedbackStyle","Light","marginTop","styles","optionsRow","w_p","wrapper","children","map","opt","isSelected","buttonStyles","bg","text","border","optionSlot","title","label","leftIcon","size","color","onPress","variant","fullWidth","backgroundColor","textColor","borderColor","containerStyle","tagContainer","numberOfLines","tagButton","errorRow","errorIcon","errorText","create","width","fontSize","fontWeight","marginBottom","flexDirection","flexWrap","gap","alignSelf","paddingVertical","paddingHorizontal","alignItems"],"sourceRoot":"../../../src","sources":["component/MultiSelectButtons.tsx"],"mappings":"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","ignoreList":[]}
|