@chem-po/react-native 0.0.28 → 0.0.30
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.
- package/lib/commonjs/components/button/Toggle.js +19 -16
- package/lib/commonjs/components/button/Toggle.js.map +1 -1
- package/lib/commonjs/components/form/input/Editable.js +62 -93
- package/lib/commonjs/components/form/input/Editable.js.map +1 -1
- package/lib/commonjs/components/form/input/StandaloneInput.js +5 -1
- package/lib/commonjs/components/form/input/StandaloneInput.js.map +1 -1
- package/lib/commonjs/components/form/input/datetime/index.js +7 -2
- package/lib/commonjs/components/form/input/datetime/index.js.map +1 -1
- package/lib/commonjs/components/form/input/hooks/useInputStyles.js +2 -1
- package/lib/commonjs/components/form/input/hooks/useInputStyles.js.map +1 -1
- package/lib/commonjs/components/form/input/multipleSelect/index.js +25 -11
- package/lib/commonjs/components/form/input/multipleSelect/index.js.map +1 -1
- package/lib/commonjs/components/form/input/number/index.js +8 -4
- package/lib/commonjs/components/form/input/number/index.js.map +1 -1
- package/lib/commonjs/components/form/input/select/index.js +13 -3
- package/lib/commonjs/components/form/input/select/index.js.map +1 -1
- package/lib/commonjs/components/form/input/text/AutoResizeTextarea.js +54 -0
- package/lib/commonjs/components/form/input/text/AutoResizeTextarea.js.map +1 -0
- package/lib/commonjs/components/form/input/text/index.js +24 -12
- package/lib/commonjs/components/form/input/text/index.js.map +1 -1
- package/lib/commonjs/components/form/input/text/textarea.js +13 -33
- package/lib/commonjs/components/form/input/text/textarea.js.map +1 -1
- package/lib/commonjs/components/form/input/text/useWebAutoResize.js +64 -0
- package/lib/commonjs/components/form/input/text/useWebAutoResize.js.map +1 -0
- package/lib/commonjs/components/form/view/file.js +21 -12
- package/lib/commonjs/components/form/view/file.js.map +1 -1
- package/lib/commonjs/components/form/view/index.js +29 -18
- package/lib/commonjs/components/form/view/index.js.map +1 -1
- package/lib/commonjs/components/form/view/multipleSelect.js +17 -13
- package/lib/commonjs/components/form/view/multipleSelect.js.map +1 -1
- package/lib/commonjs/components/form/view/select.js +14 -7
- package/lib/commonjs/components/form/view/select.js.map +1 -1
- package/lib/commonjs/components/form/view/styles.js +0 -3
- package/lib/commonjs/components/form/view/styles.js.map +1 -1
- package/lib/commonjs/components/layout/CollapseHorizontal.js +72 -0
- package/lib/commonjs/components/layout/CollapseHorizontal.js.map +1 -0
- package/lib/commonjs/contexts/root.js +94 -1
- package/lib/commonjs/contexts/root.js.map +1 -1
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types/forms.js +6 -0
- package/lib/commonjs/types/forms.js.map +1 -0
- package/lib/commonjs/types/index.js +17 -0
- package/lib/commonjs/types/index.js.map +1 -0
- package/lib/module/components/button/Toggle.js +21 -18
- package/lib/module/components/button/Toggle.js.map +1 -1
- package/lib/module/components/form/input/Editable.js +62 -93
- package/lib/module/components/form/input/Editable.js.map +1 -1
- package/lib/module/components/form/input/StandaloneInput.js +5 -1
- package/lib/module/components/form/input/StandaloneInput.js.map +1 -1
- package/lib/module/components/form/input/datetime/index.js +7 -2
- package/lib/module/components/form/input/datetime/index.js.map +1 -1
- package/lib/module/components/form/input/hooks/useInputStyles.js +2 -1
- package/lib/module/components/form/input/hooks/useInputStyles.js.map +1 -1
- package/lib/module/components/form/input/multipleSelect/index.js +25 -11
- package/lib/module/components/form/input/multipleSelect/index.js.map +1 -1
- package/lib/module/components/form/input/number/index.js +8 -4
- package/lib/module/components/form/input/number/index.js.map +1 -1
- package/lib/module/components/form/input/select/index.js +14 -4
- package/lib/module/components/form/input/select/index.js.map +1 -1
- package/lib/module/components/form/input/text/AutoResizeTextarea.js +48 -0
- package/lib/module/components/form/input/text/AutoResizeTextarea.js.map +1 -0
- package/lib/module/components/form/input/text/index.js +24 -12
- package/lib/module/components/form/input/text/index.js.map +1 -1
- package/lib/module/components/form/input/text/textarea.js +15 -35
- package/lib/module/components/form/input/text/textarea.js.map +1 -1
- package/lib/module/components/form/input/text/useWebAutoResize.js +58 -0
- package/lib/module/components/form/input/text/useWebAutoResize.js.map +1 -0
- package/lib/module/components/form/view/file.js +15 -6
- package/lib/module/components/form/view/file.js.map +1 -1
- package/lib/module/components/form/view/index.js +19 -8
- package/lib/module/components/form/view/index.js.map +1 -1
- package/lib/module/components/form/view/multipleSelect.js +18 -14
- package/lib/module/components/form/view/multipleSelect.js.map +1 -1
- package/lib/module/components/form/view/select.js +14 -7
- package/lib/module/components/form/view/select.js.map +1 -1
- package/lib/module/components/form/view/styles.js +0 -3
- package/lib/module/components/form/view/styles.js.map +1 -1
- package/lib/module/components/layout/CollapseHorizontal.js +64 -0
- package/lib/module/components/layout/CollapseHorizontal.js.map +1 -0
- package/lib/module/contexts/root.js +95 -2
- package/lib/module/contexts/root.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/types/forms.js +2 -0
- package/lib/module/types/forms.js.map +1 -0
- package/lib/module/types/index.js +2 -0
- package/lib/module/types/index.js.map +1 -0
- package/lib/typescript/components/button/Toggle.d.ts +5 -2
- package/lib/typescript/components/button/Toggle.d.ts.map +1 -1
- package/lib/typescript/components/form/input/Editable.d.ts +2 -2
- package/lib/typescript/components/form/input/Editable.d.ts.map +1 -1
- package/lib/typescript/components/form/input/StandaloneInput.d.ts +5 -12
- package/lib/typescript/components/form/input/StandaloneInput.d.ts.map +1 -1
- package/lib/typescript/components/form/input/datetime/index.d.ts.map +1 -1
- package/lib/typescript/components/form/input/multipleSelect/index.d.ts.map +1 -1
- package/lib/typescript/components/form/input/number/index.d.ts.map +1 -1
- package/lib/typescript/components/form/input/select/index.d.ts.map +1 -1
- package/lib/typescript/components/form/input/text/AutoResizeTextarea.d.ts +4 -0
- package/lib/typescript/components/form/input/text/AutoResizeTextarea.d.ts.map +1 -0
- package/lib/typescript/components/form/input/text/index.d.ts.map +1 -1
- package/lib/typescript/components/form/input/text/textarea.d.ts +2 -2
- package/lib/typescript/components/form/input/text/textarea.d.ts.map +1 -1
- package/lib/typescript/components/form/input/text/useWebAutoResize.d.ts +8 -0
- package/lib/typescript/components/form/input/text/useWebAutoResize.d.ts.map +1 -0
- package/lib/typescript/components/form/types.d.ts +2 -2
- package/lib/typescript/components/form/types.d.ts.map +1 -1
- package/lib/typescript/components/form/view/file.d.ts.map +1 -1
- package/lib/typescript/components/form/view/index.d.ts +3 -2
- package/lib/typescript/components/form/view/index.d.ts.map +1 -1
- package/lib/typescript/components/form/view/multipleSelect.d.ts.map +1 -1
- package/lib/typescript/components/form/view/select.d.ts +2 -1
- package/lib/typescript/components/form/view/select.d.ts.map +1 -1
- package/lib/typescript/components/form/view/styles.d.ts +0 -3
- package/lib/typescript/components/form/view/styles.d.ts.map +1 -1
- package/lib/typescript/components/layout/CollapseHorizontal.d.ts +9 -0
- package/lib/typescript/components/layout/CollapseHorizontal.d.ts.map +1 -0
- package/lib/typescript/contexts/root.d.ts +4 -1
- package/lib/typescript/contexts/root.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/types/forms.d.ts +5 -0
- package/lib/typescript/types/forms.d.ts.map +1 -0
- package/lib/typescript/types/index.d.ts +2 -0
- package/lib/typescript/types/index.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/components/button/Toggle.tsx +21 -17
- package/src/components/form/input/Editable.tsx +57 -113
- package/src/components/form/input/StandaloneInput.tsx +26 -13
- package/src/components/form/input/datetime/index.tsx +7 -2
- package/src/components/form/input/hooks/useInputStyles.ts +1 -1
- package/src/components/form/input/multipleSelect/index.tsx +34 -20
- package/src/components/form/input/number/index.tsx +20 -4
- package/src/components/form/input/select/index.tsx +15 -3
- package/src/components/form/input/text/AutoResizeTextarea.tsx +45 -0
- package/src/components/form/input/text/index.tsx +35 -17
- package/src/components/form/input/text/textarea.tsx +10 -36
- package/src/components/form/input/text/useWebAutoResize.tsx +71 -0
- package/src/components/form/types.ts +6 -2
- package/src/components/form/view/file.tsx +9 -5
- package/src/components/form/view/index.tsx +26 -7
- package/src/components/form/view/multipleSelect.tsx +11 -9
- package/src/components/form/view/select.tsx +7 -2
- package/src/components/form/view/styles.ts +0 -3
- package/src/components/layout/CollapseHorizontal.tsx +82 -0
- package/src/contexts/root.tsx +101 -3
- package/src/index.ts +1 -0
- package/src/types/forms.ts +14 -0
- package/src/types/index.ts +1 -0
|
@@ -1,62 +1,42 @@
|
|
|
1
1
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
2
|
import { usePlaceholderColor, useTextColor } from '@chem-po/react';
|
|
3
|
-
import React, { forwardRef
|
|
4
|
-
import {
|
|
3
|
+
import React, { forwardRef } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
5
|
import { useInputStyles } from '../hooks/useInputStyles';
|
|
6
|
+
import { AutoResizeTextarea } from './AutoResizeTextarea';
|
|
6
7
|
export const TextAreaComponent = /*#__PURE__*/forwardRef(({
|
|
7
8
|
input,
|
|
8
9
|
field,
|
|
9
10
|
inEditable,
|
|
10
|
-
formSize
|
|
11
|
+
formSize,
|
|
12
|
+
inputStyle,
|
|
13
|
+
style
|
|
11
14
|
}, ref) => {
|
|
12
|
-
const inputRef = useRef(null);
|
|
13
15
|
const {
|
|
14
|
-
|
|
16
|
+
text,
|
|
17
|
+
container
|
|
15
18
|
} = useInputStyles(inEditable, field.size, formSize);
|
|
16
19
|
const {
|
|
17
20
|
value,
|
|
18
21
|
onChange,
|
|
19
22
|
...inputProps
|
|
20
23
|
} = input;
|
|
21
|
-
useImperativeHandle(ref, () => ({
|
|
22
|
-
focus: () => {
|
|
23
|
-
var _inputRef$current;
|
|
24
|
-
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
|
|
25
|
-
},
|
|
26
|
-
blur: () => {
|
|
27
|
-
var _inputRef$current2;
|
|
28
|
-
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.blur();
|
|
29
|
-
}
|
|
30
|
-
}));
|
|
31
24
|
const placeholderColor = usePlaceholderColor();
|
|
32
25
|
const color = useTextColor();
|
|
33
26
|
return /*#__PURE__*/React.createElement(View, {
|
|
34
|
-
style:
|
|
35
|
-
}, /*#__PURE__*/React.createElement(
|
|
36
|
-
ref:
|
|
37
|
-
style: [
|
|
38
|
-
color
|
|
39
|
-
|
|
27
|
+
style: [container, style]
|
|
28
|
+
}, /*#__PURE__*/React.createElement(AutoResizeTextarea, _extends({
|
|
29
|
+
ref: ref,
|
|
30
|
+
style: [{
|
|
31
|
+
color,
|
|
32
|
+
...text
|
|
33
|
+
}, inputStyle],
|
|
40
34
|
placeholder: field.placeholder,
|
|
41
35
|
placeholderTextColor: placeholderColor,
|
|
42
36
|
multiline: true,
|
|
43
|
-
maxLength: 200,
|
|
44
|
-
textAlignVertical: "top",
|
|
45
37
|
value: value ?? '',
|
|
46
38
|
onChangeText: onChange
|
|
47
39
|
}, inputProps)));
|
|
48
40
|
});
|
|
49
41
|
TextAreaComponent.displayName = 'TextAreaComponent';
|
|
50
|
-
const styles = StyleSheet.create({
|
|
51
|
-
textarea: {
|
|
52
|
-
width: '100%',
|
|
53
|
-
minHeight: 80,
|
|
54
|
-
backgroundColor: 'transparent',
|
|
55
|
-
textAlignVertical: 'top'
|
|
56
|
-
},
|
|
57
|
-
inEditable: {
|
|
58
|
-
paddingHorizontal: 0,
|
|
59
|
-
paddingVertical: 0
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
42
|
//# sourceMappingURL=textarea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["usePlaceholderColor","useTextColor","React","forwardRef","
|
|
1
|
+
{"version":3,"names":["usePlaceholderColor","useTextColor","React","forwardRef","View","useInputStyles","AutoResizeTextarea","TextAreaComponent","input","field","inEditable","formSize","inputStyle","style","ref","text","container","size","value","onChange","inputProps","placeholderColor","color","createElement","_extends","placeholder","placeholderTextColor","multiline","onChangeText","displayName"],"sourceRoot":"..\\..\\..\\..\\..\\..\\src","sources":["components/form/input/text/textarea.tsx"],"mappings":";AAAA,SAAoBA,mBAAmB,EAAEC,YAAY,QAAQ,gBAAgB;AAC7E,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAAoBC,IAAI,QAAQ,cAAc;AAE9C,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,kBAAkB,QAAQ,sBAAsB;AAEzD,OAAO,MAAMC,iBAAiB,gBAAGJ,UAAU,CACzC,CAAC;EAAEK,KAAK;EAAEC,KAAK;EAAEC,UAAU;EAAEC,QAAQ;EAAEC,UAAU;EAAEC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAClE,MAAM;IAAEC,IAAI;IAAEC;EAAU,CAAC,GAAGX,cAAc,CAACK,UAAU,EAAED,KAAK,CAACQ,IAAI,EAAEN,QAAQ,CAAC;EAC5E,MAAM;IAAEO,KAAK;IAAEC,QAAQ;IAAE,GAAGC;EAAW,CAAC,GAAGZ,KAAK;EAChD,MAAMa,gBAAgB,GAAGrB,mBAAmB,CAAC,CAAC;EAC9C,MAAMsB,KAAK,GAAGrB,YAAY,CAAC,CAAC;EAE5B,oBACEC,KAAA,CAAAqB,aAAA,CAACnB,IAAI;IAACS,KAAK,EAAE,CAACG,SAAS,EAAEH,KAAK;EAAE,gBAC9BX,KAAA,CAAAqB,aAAA,CAACjB,kBAAkB,EAAAkB,QAAA;IACjBV,GAAG,EAAEA,GAAI;IACTD,KAAK,EAAE,CAAC;MAAES,KAAK;MAAE,GAAGP;IAAK,CAAC,EAAEH,UAAU,CAAE;IACxCa,WAAW,EAAEhB,KAAK,CAACgB,WAAY;IAC/BC,oBAAoB,EAAEL,gBAAiB;IACvCM,SAAS;IACTT,KAAK,EAAEA,KAAK,IAAI,EAAG;IACnBU,YAAY,EAAET;EAAS,GACnBC,UAAU,CACf,CACG,CAAC;AAEX,CACF,CAAC;AAEDb,iBAAiB,CAACsB,WAAW,GAAG,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
+
import { Platform, StyleSheet } from 'react-native';
|
|
3
|
+
|
|
4
|
+
// creates a span element with the text and style and returns the height
|
|
5
|
+
const getWebTextHeight = (text, spanRef) => {
|
|
6
|
+
if (!spanRef.current) return null;
|
|
7
|
+
const span = spanRef.current;
|
|
8
|
+
span.innerText = `${text}\n`;
|
|
9
|
+
document.body.appendChild(span);
|
|
10
|
+
const height = span.offsetHeight;
|
|
11
|
+
document.body.removeChild(span);
|
|
12
|
+
return height;
|
|
13
|
+
};
|
|
14
|
+
const updateSpanStyle = (span, style) => {
|
|
15
|
+
span.style.whiteSpace = 'pre-wrap';
|
|
16
|
+
if (style !== null && style !== void 0 && style.fontFamily) {
|
|
17
|
+
span.style.fontFamily = style.fontFamily;
|
|
18
|
+
}
|
|
19
|
+
if (style !== null && style !== void 0 && style.fontSize) {
|
|
20
|
+
span.style.fontSize = style.fontSize.toString() + 'px';
|
|
21
|
+
}
|
|
22
|
+
if (style !== null && style !== void 0 && style.fontWeight) {
|
|
23
|
+
span.style.fontWeight = style.fontWeight.toString();
|
|
24
|
+
}
|
|
25
|
+
if (style !== null && style !== void 0 && style.lineHeight) {
|
|
26
|
+
span.style.lineHeight = style.lineHeight.toString();
|
|
27
|
+
}
|
|
28
|
+
if (style !== null && style !== void 0 && style.letterSpacing) {
|
|
29
|
+
span.style.letterSpacing = style.letterSpacing.toString();
|
|
30
|
+
}
|
|
31
|
+
if (style !== null && style !== void 0 && style.textAlign) {
|
|
32
|
+
span.style.textAlign = style.textAlign;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
export const useWebAutoResize = (onChangeText, style) => {
|
|
36
|
+
const flattenedStyle = useMemo(() => StyleSheet.flatten(style), [style]);
|
|
37
|
+
const [height, setHeight] = useState((flattenedStyle.fontSize ?? 18) + 4);
|
|
38
|
+
const spanRef = useRef(Platform.OS === 'web' ? document.createElement('span') : null);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (Platform.OS === 'web' && spanRef.current) {
|
|
41
|
+
updateSpanStyle(spanRef.current, flattenedStyle);
|
|
42
|
+
}
|
|
43
|
+
}, [flattenedStyle]);
|
|
44
|
+
const handleChange = useMemo(() => Platform.OS === 'web' ? e => {
|
|
45
|
+
if (spanRef.current) {
|
|
46
|
+
const height = getWebTextHeight(e, spanRef);
|
|
47
|
+
setHeight((height ?? 18) + 4);
|
|
48
|
+
if (onChangeText) onChangeText(e);
|
|
49
|
+
}
|
|
50
|
+
} : onChangeText, [onChangeText]);
|
|
51
|
+
return {
|
|
52
|
+
getWebTextHeight,
|
|
53
|
+
handleChange,
|
|
54
|
+
height,
|
|
55
|
+
setHeight
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=useWebAutoResize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","useState","Platform","StyleSheet","getWebTextHeight","text","spanRef","current","span","innerText","document","body","appendChild","height","offsetHeight","removeChild","updateSpanStyle","style","whiteSpace","fontFamily","fontSize","toString","fontWeight","lineHeight","letterSpacing","textAlign","useWebAutoResize","onChangeText","flattenedStyle","flatten","setHeight","OS","createElement","handleChange","e"],"sourceRoot":"..\\..\\..\\..\\..\\..\\src","sources":["components/form/input/text/useWebAutoResize.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { usePlaceholderColor } from '@chem-po/react';
|
|
1
2
|
import React, { useMemo } from 'react';
|
|
2
3
|
import { StyleSheet, Text, View } from 'react-native';
|
|
4
|
+
import { Txt } from '../../text/Txt';
|
|
3
5
|
import { FileView } from '../input/file';
|
|
6
|
+
import { useInputStyles } from '../input/hooks/useInputStyles';
|
|
4
7
|
const styles = StyleSheet.create({
|
|
5
8
|
container: {
|
|
6
9
|
flexDirection: 'column'
|
|
@@ -13,9 +16,6 @@ const styles = StyleSheet.create({
|
|
|
13
16
|
opacity: 0.7,
|
|
14
17
|
fontWeight: '600'
|
|
15
18
|
},
|
|
16
|
-
emptyText: {
|
|
17
|
-
opacity: 0.7
|
|
18
|
-
},
|
|
19
19
|
fileContainer: {
|
|
20
20
|
padding: 4
|
|
21
21
|
}
|
|
@@ -48,6 +48,11 @@ export const FileFieldView = ({
|
|
|
48
48
|
height: getFileSizeHeight(size ?? sizeProp ?? 'md'),
|
|
49
49
|
...imageOptions
|
|
50
50
|
}), [imageOptions, size, sizeProp]);
|
|
51
|
+
const {
|
|
52
|
+
text,
|
|
53
|
+
container
|
|
54
|
+
} = useInputStyles(false, field.size, sizeProp);
|
|
55
|
+
const placeholderColor = usePlaceholderColor();
|
|
51
56
|
return /*#__PURE__*/React.createElement(View, {
|
|
52
57
|
style: [value ? styles.container : styles.rowContainer, style]
|
|
53
58
|
}, !noLabel && /*#__PURE__*/React.createElement(Text, {
|
|
@@ -57,8 +62,12 @@ export const FileFieldView = ({
|
|
|
57
62
|
}, /*#__PURE__*/React.createElement(FileView, {
|
|
58
63
|
imageOptions: options,
|
|
59
64
|
value: value
|
|
60
|
-
})) : /*#__PURE__*/React.createElement(
|
|
61
|
-
style:
|
|
62
|
-
},
|
|
65
|
+
})) : /*#__PURE__*/React.createElement(View, {
|
|
66
|
+
style: container
|
|
67
|
+
}, /*#__PURE__*/React.createElement(Txt, {
|
|
68
|
+
style: [text, {
|
|
69
|
+
color: placeholderColor
|
|
70
|
+
}]
|
|
71
|
+
}, "None")));
|
|
63
72
|
};
|
|
64
73
|
//# sourceMappingURL=file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useMemo","StyleSheet","Text","View","FileView","styles","create","container","flexDirection","rowContainer","label","paddingRight","opacity","fontWeight","
|
|
1
|
+
{"version":3,"names":["usePlaceholderColor","React","useMemo","StyleSheet","Text","View","Txt","FileView","useInputStyles","styles","create","container","flexDirection","rowContainer","label","paddingRight","opacity","fontWeight","fileContainer","padding","getFileSizeHeight","size","FileFieldView","field","value","noLabel","style","sizeProp","imageOptions","placeholder","options","height","text","placeholderColor","createElement","color"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/form/view/file.tsx"],"mappings":"AACA,SAAoBA,mBAAmB,QAAQ,gBAAgB;AAC/D,OAAOC,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAmB,cAAc;AAChE,SAASC,GAAG,QAAQ,gBAAgB;AACpC,SAASC,QAAQ,QAAQ,eAAe;AACxC,SAASC,cAAc,QAAQ,+BAA+B;AAE9D,MAAMC,MAAM,GAAGN,UAAU,CAACO,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,aAAa,EAAE;EACjB,CAAC;EACDC,YAAY,EAAE;IACZD,aAAa,EAAE;EACjB,CAAC;EACDE,KAAK,EAAE;IACLC,YAAY,EAAE,CAAC;IACfC,OAAO,EAAE,GAAG;IACZC,UAAU,EAAE;EACd,CAAC;EACDC,aAAa,EAAE;IACbC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEF,MAAMC,iBAAiB,GAAIC,IAAe,IAAK;EAC7C,QAAQA,IAAI;IACV,KAAK,IAAI;MACP,OAAO,EAAE;IACX,KAAK,IAAI;MACP,OAAO,GAAG;IACZ,KAAK,IAAI;MACP,OAAO,GAAG;IACZ;MACE,OAAO,GAAG;EACd;AACF,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAC5BC,KAAK;EACLC,KAAK;EACLC,OAAO;EACPC,KAAK;EACLL,IAAI,EAAEM;AAOR,CAAC,KAAK;EACJ,MAAM;IAAEC,YAAY;IAAEC,WAAW;IAAER;EAAK,CAAC,GAAGE,KAAK;EACjD,MAAMO,OAAO,GAAG5B,OAAO,CACrB,OAAO;IACL6B,MAAM,EAAEX,iBAAiB,CAACC,IAAI,IAAIM,QAAQ,IAAI,IAAI,CAAC;IACnD,GAAGC;EACL,CAAC,CAAC,EACF,CAACA,YAAY,EAAEP,IAAI,EAAEM,QAAQ,CAC/B,CAAC;EAED,MAAM;IAAEK,IAAI;IAAErB;EAAU,CAAC,GAAGH,cAAc,CAAC,KAAK,EAAEe,KAAK,CAACF,IAAI,EAAEM,QAAQ,CAAC;EACvE,MAAMM,gBAAgB,GAAGjC,mBAAmB,CAAC,CAAC;EAE9C,oBACEC,KAAA,CAAAiC,aAAA,CAAC7B,IAAI;IAACqB,KAAK,EAAE,CAACF,KAAK,GAAGf,MAAM,CAACE,SAAS,GAAGF,MAAM,CAACI,YAAY,EAAEa,KAAK;EAAE,GAClE,CAACD,OAAO,iBAAIxB,KAAA,CAAAiC,aAAA,CAAC9B,IAAI;IAACsB,KAAK,EAAEjB,MAAM,CAACK;EAAM,GAAEe,WAAkB,CAAC,EAC3DL,KAAK,gBACJvB,KAAA,CAAAiC,aAAA,CAAC7B,IAAI;IAACqB,KAAK,EAAEjB,MAAM,CAACS;EAAc,gBAChCjB,KAAA,CAAAiC,aAAA,CAAC3B,QAAQ;IAACqB,YAAY,EAAEE,OAAQ;IAACN,KAAK,EAAEA;EAAM,CAAE,CAC5C,CAAC,gBAEPvB,KAAA,CAAAiC,aAAA,CAAC7B,IAAI;IAACqB,KAAK,EAAEf;EAAU,gBACrBV,KAAA,CAAAiC,aAAA,CAAC5B,GAAG;IAACoB,KAAK,EAAE,CAACM,IAAI,EAAE;MAAEG,KAAK,EAAEF;IAAiB,CAAC;EAAE,GAAC,MAAS,CACtD,CAEJ,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { displayField } from '@chem-po/core';
|
|
2
|
+
import { usePlaceholderColor } from '@chem-po/react';
|
|
2
3
|
import React, { useMemo } from 'react';
|
|
3
4
|
import { StyleSheet, View } from 'react-native';
|
|
4
5
|
import { Txt } from '../../text';
|
|
@@ -18,28 +19,35 @@ const DefaultFieldView = ({
|
|
|
18
19
|
value,
|
|
19
20
|
noLabel,
|
|
20
21
|
style,
|
|
21
|
-
size: sizeProp
|
|
22
|
+
size: sizeProp,
|
|
23
|
+
inEditable
|
|
22
24
|
}) => {
|
|
23
25
|
const {
|
|
24
26
|
placeholder
|
|
25
27
|
} = field;
|
|
26
28
|
const {
|
|
27
|
-
text
|
|
28
|
-
|
|
29
|
+
text,
|
|
30
|
+
container: containerStyles
|
|
31
|
+
} = useInputStyles(inEditable, field.size, sizeProp);
|
|
29
32
|
const formatted = useMemo(() => {
|
|
30
33
|
const format = displayField[field._type];
|
|
31
34
|
if (!format) return value;
|
|
32
35
|
return format(field, value);
|
|
33
36
|
}, [value, field]);
|
|
37
|
+
const placeholderColor = usePlaceholderColor();
|
|
34
38
|
const hasValue = useMemo(() => {
|
|
35
39
|
return value !== null && value !== undefined && value !== '';
|
|
36
40
|
}, [value]);
|
|
37
41
|
return /*#__PURE__*/React.createElement(View, {
|
|
38
|
-
style: [styles.container,
|
|
42
|
+
style: [styles.container, containerStyles, {
|
|
43
|
+
backgroundColor: 'transparent'
|
|
44
|
+
}, style]
|
|
39
45
|
}, !noLabel && /*#__PURE__*/React.createElement(Txt, {
|
|
40
46
|
style: [inputViewStyles.label, text]
|
|
41
47
|
}, placeholder), /*#__PURE__*/React.createElement(Txt, {
|
|
42
|
-
style: [
|
|
48
|
+
style: [text, {
|
|
49
|
+
color: hasValue ? undefined : placeholderColor
|
|
50
|
+
}]
|
|
43
51
|
}, hasValue ? formatted : 'None'));
|
|
44
52
|
};
|
|
45
53
|
export const FieldView = ({
|
|
@@ -47,7 +55,8 @@ export const FieldView = ({
|
|
|
47
55
|
value,
|
|
48
56
|
noLabel,
|
|
49
57
|
style,
|
|
50
|
-
size
|
|
58
|
+
size,
|
|
59
|
+
inEditable
|
|
51
60
|
}) => {
|
|
52
61
|
switch (field._type) {
|
|
53
62
|
case 'select':
|
|
@@ -56,7 +65,8 @@ export const FieldView = ({
|
|
|
56
65
|
field: field,
|
|
57
66
|
value: value,
|
|
58
67
|
noLabel: noLabel,
|
|
59
|
-
size: size
|
|
68
|
+
size: size,
|
|
69
|
+
inEditable: inEditable
|
|
60
70
|
});
|
|
61
71
|
case 'multipleSelect':
|
|
62
72
|
return /*#__PURE__*/React.createElement(MultipleSelectFieldView, {
|
|
@@ -80,7 +90,8 @@ export const FieldView = ({
|
|
|
80
90
|
field: field,
|
|
81
91
|
value: value,
|
|
82
92
|
noLabel: noLabel,
|
|
83
|
-
size: size
|
|
93
|
+
size: size,
|
|
94
|
+
inEditable: inEditable
|
|
84
95
|
});
|
|
85
96
|
}
|
|
86
97
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["displayField","React","useMemo","StyleSheet","View","Txt","useInputStyles","FileFieldView","MultipleSelectFieldView","SelectFieldView","inputViewStyles","styles","create","container","flexDirection","alignItems","DefaultFieldView","field","value","noLabel","style","size","sizeProp","placeholder","text","formatted","format","_type","hasValue","undefined","createElement","label","
|
|
1
|
+
{"version":3,"names":["displayField","usePlaceholderColor","React","useMemo","StyleSheet","View","Txt","useInputStyles","FileFieldView","MultipleSelectFieldView","SelectFieldView","inputViewStyles","styles","create","container","flexDirection","alignItems","DefaultFieldView","field","value","noLabel","style","size","sizeProp","inEditable","placeholder","text","containerStyles","formatted","format","_type","placeholderColor","hasValue","undefined","createElement","backgroundColor","label","color","FieldView"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/form/view/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { useColorMode } from '@chem-po/react';
|
|
1
|
+
import { useColorMode, usePlaceholderColor } from '@chem-po/react';
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import React, { StyleSheet, Text, View } from 'react-native';
|
|
4
|
+
import { Txt } from '../../text/Txt';
|
|
4
5
|
import { useInputStyles } from '../input/hooks/useInputStyles';
|
|
5
6
|
import { SelectedOptionContainer } from '../input/multipleSelect';
|
|
6
7
|
import { DefaultRenderOption } from './select';
|
|
@@ -9,7 +10,8 @@ const styles = StyleSheet.create({
|
|
|
9
10
|
flexDirection: 'row',
|
|
10
11
|
flexWrap: 'wrap',
|
|
11
12
|
alignItems: 'center',
|
|
12
|
-
maxWidth: '100%'
|
|
13
|
+
maxWidth: '100%',
|
|
14
|
+
backgroundColor: 'transparent'
|
|
13
15
|
},
|
|
14
16
|
label: {
|
|
15
17
|
paddingRight: 8,
|
|
@@ -24,9 +26,6 @@ const styles = StyleSheet.create({
|
|
|
24
26
|
optionContainer: {
|
|
25
27
|
marginTop: 2,
|
|
26
28
|
marginHorizontal: 2
|
|
27
|
-
},
|
|
28
|
-
emptyText: {
|
|
29
|
-
opacity: 0.6
|
|
30
29
|
}
|
|
31
30
|
});
|
|
32
31
|
export const MultipleSelectFieldView = ({
|
|
@@ -45,15 +44,16 @@ export const MultipleSelectFieldView = ({
|
|
|
45
44
|
const colorMode = useColorMode();
|
|
46
45
|
const {
|
|
47
46
|
size,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
} = useInputStyles(
|
|
47
|
+
text,
|
|
48
|
+
container
|
|
49
|
+
} = useInputStyles(true, field.size, sizeProp);
|
|
50
|
+
const placeholderColor = usePlaceholderColor();
|
|
51
51
|
const selectedOptionStyle = useMemo(() => {
|
|
52
52
|
return {
|
|
53
|
-
paddingHorizontal:
|
|
54
|
-
paddingVertical:
|
|
53
|
+
paddingHorizontal: container.paddingHorizontal,
|
|
54
|
+
paddingVertical: container.paddingVertical
|
|
55
55
|
};
|
|
56
|
-
}, [
|
|
56
|
+
}, [container]);
|
|
57
57
|
const RenderOption = useMemo(() => customRender ?? DefaultRenderOption, [customRender]);
|
|
58
58
|
return /*#__PURE__*/React.createElement(View, {
|
|
59
59
|
style: [styles.container, style]
|
|
@@ -70,8 +70,12 @@ export const MultipleSelectFieldView = ({
|
|
|
70
70
|
colorMode: colorMode,
|
|
71
71
|
isSelected: true,
|
|
72
72
|
size: size
|
|
73
|
-
})))) : /*#__PURE__*/React.createElement(
|
|
74
|
-
style:
|
|
75
|
-
},
|
|
73
|
+
})))) : /*#__PURE__*/React.createElement(View, {
|
|
74
|
+
style: container
|
|
75
|
+
}, /*#__PURE__*/React.createElement(Txt, {
|
|
76
|
+
style: [text, {
|
|
77
|
+
color: placeholderColor
|
|
78
|
+
}]
|
|
79
|
+
}, "None")));
|
|
76
80
|
};
|
|
77
81
|
//# sourceMappingURL=multipleSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useColorMode","useMemo","React","StyleSheet","Text","View","useInputStyles","SelectedOptionContainer","DefaultRenderOption","styles","create","container","flexDirection","flexWrap","alignItems","maxWidth","label","paddingRight","opacity","fontWeight","optionsContainer","padding","optionContainer","marginTop","marginHorizontal","
|
|
1
|
+
{"version":3,"names":["useColorMode","usePlaceholderColor","useMemo","React","StyleSheet","Text","View","Txt","useInputStyles","SelectedOptionContainer","DefaultRenderOption","styles","create","container","flexDirection","flexWrap","alignItems","maxWidth","backgroundColor","label","paddingRight","opacity","fontWeight","optionsContainer","padding","optionContainer","marginTop","marginHorizontal","MultipleSelectFieldView","field","value","noLabel","size","sizeProp","style","placeholder","renderOption","customRender","options","selectedOptions","filter","o","includes","colorMode","text","placeholderColor","selectedOptionStyle","paddingHorizontal","paddingVertical","RenderOption","createElement","length","map","key","option","isSelected","color"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/form/view/multipleSelect.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,8 @@ import { inputViewStyles } from './styles';
|
|
|
7
7
|
const styles = StyleSheet.create({
|
|
8
8
|
container: {
|
|
9
9
|
flexDirection: 'row',
|
|
10
|
-
alignItems: 'center'
|
|
10
|
+
alignItems: 'center',
|
|
11
|
+
backgroundColor: 'transparent'
|
|
11
12
|
},
|
|
12
13
|
label: {
|
|
13
14
|
paddingRight: 10,
|
|
@@ -26,7 +27,8 @@ export const SelectFieldView = ({
|
|
|
26
27
|
value,
|
|
27
28
|
noLabel,
|
|
28
29
|
style,
|
|
29
|
-
size: sizeProp
|
|
30
|
+
size: sizeProp,
|
|
31
|
+
inEditable
|
|
30
32
|
}) => {
|
|
31
33
|
const {
|
|
32
34
|
placeholder,
|
|
@@ -36,8 +38,9 @@ export const SelectFieldView = ({
|
|
|
36
38
|
const placeholderColor = usePlaceholderColor();
|
|
37
39
|
const {
|
|
38
40
|
size,
|
|
39
|
-
text
|
|
40
|
-
|
|
41
|
+
text,
|
|
42
|
+
container
|
|
43
|
+
} = useInputStyles(inEditable, field.size, sizeProp);
|
|
41
44
|
const selectedOption = field.options.find(o => o.value === value);
|
|
42
45
|
const RenderOption = customRender ?? DefaultRenderOption;
|
|
43
46
|
return /*#__PURE__*/React.createElement(View, {
|
|
@@ -52,8 +55,12 @@ export const SelectFieldView = ({
|
|
|
52
55
|
colorMode: colorMode,
|
|
53
56
|
isSelected: true,
|
|
54
57
|
size: size
|
|
55
|
-
}) : /*#__PURE__*/React.createElement(
|
|
56
|
-
style:
|
|
57
|
-
},
|
|
58
|
+
}) : /*#__PURE__*/React.createElement(View, {
|
|
59
|
+
style: container
|
|
60
|
+
}, /*#__PURE__*/React.createElement(Txt, {
|
|
61
|
+
style: [text, {
|
|
62
|
+
color: placeholderColor
|
|
63
|
+
}]
|
|
64
|
+
}, "None")));
|
|
58
65
|
};
|
|
59
66
|
//# sourceMappingURL=select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useColorMode","usePlaceholderColor","React","StyleSheet","Text","View","Txt","useInputStyles","inputViewStyles","styles","create","container","flexDirection","alignItems","label","paddingRight","fontWeight","DefaultRenderOption","option","createElement","style","value","SelectFieldView","field","noLabel","size","sizeProp","placeholder","renderOption","customRender","colorMode","placeholderColor","text","selectedOption","options","find","o","RenderOption","color","isSelected"
|
|
1
|
+
{"version":3,"names":["useColorMode","usePlaceholderColor","React","StyleSheet","Text","View","Txt","useInputStyles","inputViewStyles","styles","create","container","flexDirection","alignItems","backgroundColor","label","paddingRight","fontWeight","DefaultRenderOption","option","createElement","style","value","SelectFieldView","field","noLabel","size","sizeProp","inEditable","placeholder","renderOption","customRender","colorMode","placeholderColor","text","selectedOption","options","find","o","RenderOption","color","isSelected"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/form/view/select.tsx"],"mappings":"AACA,SAAsBA,YAAY,EAAEC,mBAAmB,QAAQ,gBAAgB;AAC/E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAmB,cAAc;AAChE,SAASC,GAAG,QAAQ,YAAY;AAChC,SAASC,cAAc,QAAQ,+BAA+B;AAC9D,SAASC,eAAe,QAAQ,UAAU;AAE1C,MAAMC,MAAM,GAAGN,UAAU,CAACO,MAAM,CAAC;EAC/BC,SAAS,EAAE;IACTC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE;EACnB,CAAC;EACDC,KAAK,EAAE;IACLC,YAAY,EAAE,EAAE;IAChBC,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,mBAAmB,GAAGA,CAGjC;EACAC;AACsC,CAAC,KAAK;EAC5C,oBAAOjB,KAAA,CAAAkB,aAAA,CAACd,GAAG;IAACe,KAAK,EAAEb,eAAe,CAACc;EAAM,GAAEH,MAAM,CAACJ,KAAW,CAAC;AAChE,CAAC;AAED,OAAO,MAAMQ,eAAe,GAAGA,CAAC;EAC9BC,KAAK;EACLF,KAAK;EACLG,OAAO;EACPJ,KAAK;EACLK,IAAI,EAAEC,QAAQ;EACdC;AAQF,CAAC,KAAK;EACJ,MAAM;IAAEC,WAAW;IAAEC,YAAY,EAAEC;EAAa,CAAC,GAAGP,KAAK;EACzD,MAAMQ,SAAS,GAAGhC,YAAY,CAAC,CAAC;EAChC,MAAMiC,gBAAgB,GAAGhC,mBAAmB,CAAC,CAAC;EAC9C,MAAM;IAAEyB,IAAI;IAAEQ,IAAI;IAAEvB;EAAU,CAAC,GAAGJ,cAAc,CAACqB,UAAU,EAAEJ,KAAK,CAACE,IAAI,EAAEC,QAAQ,CAAC;EAClF,MAAMQ,cAAc,GAAGX,KAAK,CAACY,OAAO,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAAChB,KAAK,KAAKA,KAAK,CAAC;EACjE,MAAMiB,YAAY,GAAGR,YAAY,IAAIb,mBAAmB;EACxD,oBACEhB,KAAA,CAAAkB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAE,CAACZ,MAAM,CAACE,SAAS,EAAEU,KAAK;EAAE,GACpC,CAACI,OAAO,iBACPvB,KAAA,CAAAkB,aAAA,CAAChB,IAAI;IAACiB,KAAK,EAAE,CAACZ,MAAM,CAACM,KAAK,EAAEmB,IAAI,EAAE;MAAEM,KAAK,EAAEP;IAAiB,CAAC;EAAE,GAAEJ,WAAkB,CACpF,EACAM,cAAc,gBACbjC,KAAA,CAAAkB,aAAA,CAACmB,YAAY;IACXjB,KAAK,EAAEa,cAAc,CAACb,KAAM;IAC5BH,MAAM,EAAEgB,cAAe;IACvBH,SAAS,EAAEA,SAAU;IACrBS,UAAU,EAAE,IAAK;IACjBf,IAAI,EAAEA;EAAK,CACZ,CAAC,gBAEFxB,KAAA,CAAAkB,aAAA,CAACf,IAAI;IAACgB,KAAK,EAAEV;EAAU,gBACrBT,KAAA,CAAAkB,aAAA,CAACd,GAAG;IAACe,KAAK,EAAE,CAACa,IAAI,EAAE;MAAEM,KAAK,EAAEP;IAAiB,CAAC;EAAE,GAAC,MAAS,CACtD,CAEJ,CAAC;AAEX,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","inputViewStyles","create","label","paddingRight","opacity","fontWeight","value"
|
|
1
|
+
{"version":3,"names":["StyleSheet","inputViewStyles","create","label","paddingRight","opacity","fontWeight","value"],"sourceRoot":"..\\..\\..\\..\\..\\src","sources":["components/form/view/styles.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,eAAe,GAAGD,UAAU,CAACE,MAAM,CAAC;EAC/CC,KAAK,EAAE;IACLC,YAAY,EAAE,CAAC;IACfC,OAAO,EAAE,GAAG;IACZC,UAAU,EAAE;EACd,CAAC;EACDC,KAAK,EAAE;IACLF,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import Animated, { useAnimatedStyle, useSharedValue, withSequence, withTiming } from 'react-native-reanimated';
|
|
4
|
+
export const CollapseHorizontal = ({
|
|
5
|
+
children,
|
|
6
|
+
in: isIn,
|
|
7
|
+
duration = 200,
|
|
8
|
+
style
|
|
9
|
+
}) => {
|
|
10
|
+
const contentWidth = useSharedValue(0);
|
|
11
|
+
const width = useSharedValue(0);
|
|
12
|
+
const opacity = useSharedValue(0);
|
|
13
|
+
const handleLayout = useCallback(event => {
|
|
14
|
+
contentWidth.value = event.nativeEvent.layout.width;
|
|
15
|
+
// Initialize width if component is initially visible
|
|
16
|
+
if (isIn && width.value === 0) {
|
|
17
|
+
width.value = contentWidth.value;
|
|
18
|
+
opacity.value = 1;
|
|
19
|
+
}
|
|
20
|
+
}, [isIn, contentWidth, width, opacity]);
|
|
21
|
+
React.useEffect(() => {
|
|
22
|
+
if (isIn) {
|
|
23
|
+
// Fade in: width first, then opacity
|
|
24
|
+
width.value = withTiming(contentWidth.value, {
|
|
25
|
+
duration
|
|
26
|
+
});
|
|
27
|
+
opacity.value = withSequence(withTiming(0, {
|
|
28
|
+
duration: 0
|
|
29
|
+
}),
|
|
30
|
+
// Reset opacity
|
|
31
|
+
withTiming(1, {
|
|
32
|
+
duration
|
|
33
|
+
}));
|
|
34
|
+
} else {
|
|
35
|
+
// Fade out: opacity first, then width
|
|
36
|
+
opacity.value = withTiming(0, {
|
|
37
|
+
duration
|
|
38
|
+
});
|
|
39
|
+
width.value = withSequence(withTiming(width.value, {
|
|
40
|
+
duration: 0
|
|
41
|
+
}),
|
|
42
|
+
// Ensure we start from current width
|
|
43
|
+
withTiming(0, {
|
|
44
|
+
duration
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
}, [isIn, contentWidth.value, duration, width, opacity]);
|
|
48
|
+
const animatedStyle = useAnimatedStyle(() => ({
|
|
49
|
+
width: width.value,
|
|
50
|
+
opacity: opacity.value
|
|
51
|
+
}));
|
|
52
|
+
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
53
|
+
style: [{
|
|
54
|
+
overflow: 'hidden',
|
|
55
|
+
pointerEvents: isIn ? 'auto' : 'none'
|
|
56
|
+
}, animatedStyle]
|
|
57
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
58
|
+
style: [{
|
|
59
|
+
position: 'absolute'
|
|
60
|
+
}, style],
|
|
61
|
+
onLayout: handleLayout
|
|
62
|
+
}, children));
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=CollapseHorizontal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useCallback","View","Animated","useAnimatedStyle","useSharedValue","withSequence","withTiming","CollapseHorizontal","children","in","isIn","duration","style","contentWidth","width","opacity","handleLayout","event","value","nativeEvent","layout","useEffect","animatedStyle","createElement","overflow","pointerEvents","position","onLayout"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/layout/CollapseHorizontal.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAAuCC,IAAI,QAAmB,cAAc;AAC5E,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,cAAc,EACdC,YAAY,EACZC,UAAU,QACL,yBAAyB;AAEhC,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EACjCC,QAAQ;EACRC,EAAE,EAAEC,IAAI;EACRC,QAAQ,GAAG,GAAG;EACdC;AAMF,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAGT,cAAc,CAAC,CAAC,CAAC;EACtC,MAAMU,KAAK,GAAGV,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMW,OAAO,GAAGX,cAAc,CAAC,CAAC,CAAC;EAEjC,MAAMY,YAAY,GAAGhB,WAAW,CAC7BiB,KAAwB,IAAK;IAC5BJ,YAAY,CAACK,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACC,MAAM,CAACN,KAAK;IACnD;IACA,IAAIJ,IAAI,IAAII,KAAK,CAACI,KAAK,KAAK,CAAC,EAAE;MAC7BJ,KAAK,CAACI,KAAK,GAAGL,YAAY,CAACK,KAAK;MAChCH,OAAO,CAACG,KAAK,GAAG,CAAC;IACnB;EACF,CAAC,EACD,CAACR,IAAI,EAAEG,YAAY,EAAEC,KAAK,EAAEC,OAAO,CACrC,CAAC;EAEDhB,KAAK,CAACsB,SAAS,CAAC,MAAM;IACpB,IAAIX,IAAI,EAAE;MACR;MACAI,KAAK,CAACI,KAAK,GAAGZ,UAAU,CAACO,YAAY,CAACK,KAAK,EAAE;QAC3CP;MACF,CAAC,CAAC;MACFI,OAAO,CAACG,KAAK,GAAGb,YAAY,CAC1BC,UAAU,CAAC,CAAC,EAAE;QAAEK,QAAQ,EAAE;MAAE,CAAC,CAAC;MAAE;MAChCL,UAAU,CAAC,CAAC,EAAE;QACZK;MACF,CAAC,CACH,CAAC;IACH,CAAC,MAAM;MACL;MACAI,OAAO,CAACG,KAAK,GAAGZ,UAAU,CAAC,CAAC,EAAE;QAC5BK;MACF,CAAC,CAAC;MACFG,KAAK,CAACI,KAAK,GAAGb,YAAY,CACxBC,UAAU,CAACQ,KAAK,CAACI,KAAK,EAAE;QAAEP,QAAQ,EAAE;MAAE,CAAC,CAAC;MAAE;MAC1CL,UAAU,CAAC,CAAC,EAAE;QACZK;MACF,CAAC,CACH,CAAC;IACH;EACF,CAAC,EAAE,CAACD,IAAI,EAAEG,YAAY,CAACK,KAAK,EAAEP,QAAQ,EAAEG,KAAK,EAAEC,OAAO,CAAC,CAAC;EAExD,MAAMO,aAAa,GAAGnB,gBAAgB,CAAC,OAAO;IAC5CW,KAAK,EAAEA,KAAK,CAACI,KAAK;IAClBH,OAAO,EAAEA,OAAO,CAACG;EACnB,CAAC,CAAC,CAAC;EAEH,oBACEnB,KAAA,CAAAwB,aAAA,CAACrB,QAAQ,CAACD,IAAI;IACZW,KAAK,EAAE,CACL;MACEY,QAAQ,EAAE,QAAQ;MAClBC,aAAa,EAAEf,IAAI,GAAG,MAAM,GAAG;IACjC,CAAC,EACDY,aAAa;EACb,gBACFvB,KAAA,CAAAwB,aAAA,CAACtB,IAAI;IAACW,KAAK,EAAE,CAAC;MAAEc,QAAQ,EAAE;IAAW,CAAC,EAAEd,KAAK,CAAE;IAACe,QAAQ,EAAEX;EAAa,GACpER,QACG,CACO,CAAC;AAEpB,CAAC","ignoreList":[]}
|