@tecsinapse/react-native-kit 1.23.11 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/atoms/Avatar/Avatar.js +1 -8
- package/dist/cjs/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/atoms/Badge/Badge.js +8 -12
- package/dist/cjs/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js +14 -16
- package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
- package/dist/cjs/components/atoms/BottomNavigator/Item.d.ts +3 -3
- package/dist/cjs/components/atoms/BottomNavigator/Item.js +4 -12
- package/dist/cjs/components/atoms/BottomNavigator/Item.js.map +1 -1
- package/dist/cjs/components/atoms/BottomNavigator/styled.js +4 -10
- package/dist/cjs/components/atoms/BottomNavigator/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Button/Button.d.ts +1 -1
- package/dist/cjs/components/atoms/Button/Button.js +1 -10
- package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Error.js +1 -8
- package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Loading.js +1 -8
- package/dist/cjs/components/atoms/Button/States/Loading.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Success.js +1 -8
- package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
- package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js +1 -8
- package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/cjs/components/atoms/Header/Header.d.ts +1 -1
- package/dist/cjs/components/atoms/Header/Header.js +14 -33
- package/dist/cjs/components/atoms/Header/Header.js.map +1 -1
- package/dist/cjs/components/atoms/Header/styled.js +3 -9
- package/dist/cjs/components/atoms/Header/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Input/Input.js +37 -38
- package/dist/cjs/components/atoms/Input/Input.js.map +1 -1
- package/dist/cjs/components/atoms/Input/styled.js +2 -8
- package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
- package/dist/cjs/components/atoms/InputMask/InputMask.js +37 -40
- package/dist/cjs/components/atoms/InputMask/InputMask.js.map +1 -1
- package/dist/cjs/components/atoms/InputMask/styled.js +3 -9
- package/dist/cjs/components/atoms/InputMask/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ModalGroupManager.js +11 -13
- package/dist/cjs/components/atoms/Modal/ModalGroupManager.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js +47 -7
- package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js +20 -21
- package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ui/styled.js +3 -9
- package/dist/cjs/components/atoms/Modal/ui/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/ui/types.d.ts +2 -1
- package/dist/cjs/components/atoms/Modal/useLazyModalManager.js +0 -2
- package/dist/cjs/components/atoms/Modal/useLazyModalManager.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/useModalManager.js +0 -2
- package/dist/cjs/components/atoms/Modal/useModalManager.js.map +1 -1
- package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js +0 -2
- package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/Pulse.d.ts +1 -0
- package/dist/cjs/components/atoms/Skeleton/Pulse.js +15 -18
- package/dist/cjs/components/atoms/Skeleton/Pulse.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/Skeleton.js +25 -24
- package/dist/cjs/components/atoms/Skeleton/Skeleton.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/Wave.d.ts +1 -0
- package/dist/cjs/components/atoms/Skeleton/Wave.js +47 -30
- package/dist/cjs/components/atoms/Skeleton/Wave.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/animation.js +0 -2
- package/dist/cjs/components/atoms/Skeleton/animation.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/styled.js +1 -7
- package/dist/cjs/components/atoms/Skeleton/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Skeleton/types.d.ts +1 -1
- package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js +30 -23
- package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
- package/dist/cjs/components/atoms/Tag/Tag.js +17 -14
- package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/cjs/components/atoms/Text/Text.d.ts +1 -1
- package/dist/cjs/components/atoms/Text/Text.js +1 -7
- package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
- package/dist/cjs/components/atoms/Text/styled.js +1 -7
- package/dist/cjs/components/atoms/Text/styled.js.map +1 -1
- package/dist/cjs/components/atoms/TextArea/TextArea.d.ts +1 -1
- package/dist/cjs/components/atoms/TextArea/TextArea.js +42 -39
- package/dist/cjs/components/atoms/TextArea/TextArea.js.map +1 -1
- package/dist/cjs/components/atoms/TextArea/styled.js +1 -7
- package/dist/cjs/components/atoms/TextArea/styled.js.map +1 -1
- package/dist/cjs/components/molecules/Calendar/Calendar.d.ts +1 -0
- package/dist/cjs/components/molecules/Calendar/Calendar.js +8 -11
- package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/molecules/DatePicker/DatePicker.d.ts +2 -1
- package/dist/cjs/components/molecules/DatePicker/DatePicker.js +14 -22
- package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/molecules/DatePicker/styled.js +1 -7
- package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +13 -20
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -11
- package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/cjs/components/molecules/Grid/Grid.d.ts +2 -1
- package/dist/cjs/components/molecules/Grid/Grid.js +38 -30
- package/dist/cjs/components/molecules/Grid/Grid.js.map +1 -1
- package/dist/cjs/components/molecules/Grid/Item/Item.d.ts +3 -2
- package/dist/cjs/components/molecules/Grid/Item/Item.js +3 -10
- package/dist/cjs/components/molecules/Grid/Item/Item.js.map +1 -1
- package/dist/cjs/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
- package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js +25 -24
- package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
- package/dist/cjs/components/molecules/IconTextButton/TextComponent.js +13 -13
- package/dist/cjs/components/molecules/IconTextButton/TextComponent.js.map +1 -1
- package/dist/cjs/components/molecules/IconTextButton/styled.js +2 -8
- package/dist/cjs/components/molecules/IconTextButton/styled.js.map +1 -1
- package/dist/cjs/components/molecules/InputPassword/InputPassword.d.ts +1 -1
- package/dist/cjs/components/molecules/InputPassword/InputPassword.js +17 -15
- package/dist/cjs/components/molecules/InputPassword/InputPassword.js.map +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js +11 -13
- package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -26
- package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
- package/dist/cjs/components/molecules/LabeledSwitch/styled.js +2 -8
- package/dist/cjs/components/molecules/LabeledSwitch/styled.js.map +1 -1
- package/dist/cjs/components/molecules/Select/Modal.d.ts +1 -0
- package/dist/cjs/components/molecules/Select/Modal.js +93 -78
- package/dist/cjs/components/molecules/Select/Modal.js.map +1 -1
- package/dist/cjs/components/molecules/Select/Select.d.ts +1 -0
- package/dist/cjs/components/molecules/Select/Select.js +56 -49
- package/dist/cjs/components/molecules/Select/Select.js.map +1 -1
- package/dist/cjs/components/molecules/Select/styled.js +14 -20
- package/dist/cjs/components/molecules/Select/styled.js.map +1 -1
- package/dist/cjs/components/molecules/Snackbar/Snackbar.js +1 -11
- package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/components/molecules/Snackbar/styled.js +1 -7
- package/dist/cjs/components/molecules/Snackbar/styled.js.map +1 -1
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/date.js +3 -6
- package/dist/cjs/utils/date.js.map +1 -1
- package/dist/esm/components/atoms/Avatar/Avatar.js +1 -4
- package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/atoms/Badge/Badge.js +8 -8
- package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js +11 -12
- package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
- package/dist/esm/components/atoms/BottomNavigator/Item.d.ts +3 -3
- package/dist/esm/components/atoms/BottomNavigator/Item.js +1 -8
- package/dist/esm/components/atoms/BottomNavigator/Item.js.map +1 -1
- package/dist/esm/components/atoms/BottomNavigator/styled.js.map +1 -1
- package/dist/esm/components/atoms/Button/Button.d.ts +1 -1
- package/dist/esm/components/atoms/Button/Button.js +1 -4
- package/dist/esm/components/atoms/Button/Button.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Error.js +1 -4
- package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Loading.js +1 -4
- package/dist/esm/components/atoms/Button/States/Loading.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Success.js +1 -4
- package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/esm/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
- package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js +1 -4
- package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/esm/components/atoms/Header/Header.d.ts +1 -1
- package/dist/esm/components/atoms/Header/Header.js +11 -29
- package/dist/esm/components/atoms/Header/Header.js.map +1 -1
- package/dist/esm/components/atoms/Input/Input.js +36 -33
- package/dist/esm/components/atoms/Input/Input.js.map +1 -1
- package/dist/esm/components/atoms/InputMask/InputMask.js +36 -35
- package/dist/esm/components/atoms/InputMask/InputMask.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ModalGroupManager.js +11 -7
- package/dist/esm/components/atoms/Modal/ModalGroupManager.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js +46 -0
- package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ui/BaseModalView.js +20 -15
- package/dist/esm/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
- package/dist/esm/components/atoms/Modal/ui/types.d.ts +2 -1
- package/dist/esm/components/atoms/Skeleton/Pulse.d.ts +1 -0
- package/dist/esm/components/atoms/Skeleton/Pulse.js +15 -12
- package/dist/esm/components/atoms/Skeleton/Pulse.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/Skeleton.js +25 -20
- package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/Wave.d.ts +1 -0
- package/dist/esm/components/atoms/Skeleton/Wave.js +30 -25
- package/dist/esm/components/atoms/Skeleton/Wave.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/styled.js.map +1 -1
- package/dist/esm/components/atoms/Skeleton/types.d.ts +1 -1
- package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js +27 -19
- package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
- package/dist/esm/components/atoms/Tag/Tag.js +17 -10
- package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/esm/components/atoms/Text/Text.d.ts +1 -1
- package/dist/esm/components/atoms/Text/Text.js +1 -3
- package/dist/esm/components/atoms/Text/Text.js.map +1 -1
- package/dist/esm/components/atoms/Text/styled.js.map +1 -1
- package/dist/esm/components/atoms/TextArea/TextArea.d.ts +1 -1
- package/dist/esm/components/atoms/TextArea/TextArea.js +42 -35
- package/dist/esm/components/atoms/TextArea/TextArea.js.map +1 -1
- package/dist/esm/components/molecules/Calendar/Calendar.d.ts +1 -0
- package/dist/esm/components/molecules/Calendar/Calendar.js +8 -5
- package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/molecules/DatePicker/DatePicker.d.ts +2 -1
- package/dist/esm/components/molecules/DatePicker/DatePicker.js +14 -16
- package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +13 -14
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -5
- package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/esm/components/molecules/Grid/Grid.d.ts +2 -1
- package/dist/esm/components/molecules/Grid/Grid.js +38 -26
- package/dist/esm/components/molecules/Grid/Grid.js.map +1 -1
- package/dist/esm/components/molecules/Grid/Item/Item.d.ts +3 -2
- package/dist/esm/components/molecules/Grid/Item/Item.js +1 -4
- package/dist/esm/components/molecules/Grid/Item/Item.js.map +1 -1
- package/dist/esm/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
- package/dist/esm/components/molecules/IconTextButton/IconTextButton.js +25 -20
- package/dist/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
- package/dist/esm/components/molecules/IconTextButton/TextComponent.js +12 -8
- package/dist/esm/components/molecules/IconTextButton/TextComponent.js.map +1 -1
- package/dist/esm/components/molecules/InputPassword/InputPassword.d.ts +1 -1
- package/dist/esm/components/molecules/InputPassword/InputPassword.js +16 -10
- package/dist/esm/components/molecules/InputPassword/InputPassword.js.map +1 -1
- package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js +10 -8
- package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
- package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
- package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -22
- package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
- package/dist/esm/components/molecules/Select/Modal.d.ts +1 -0
- package/dist/esm/components/molecules/Select/Modal.js +90 -72
- package/dist/esm/components/molecules/Select/Modal.js.map +1 -1
- package/dist/esm/components/molecules/Select/Select.d.ts +1 -0
- package/dist/esm/components/molecules/Select/Select.js +53 -45
- package/dist/esm/components/molecules/Select/Select.js.map +1 -1
- package/dist/esm/components/molecules/Snackbar/Snackbar.js +1 -7
- package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/utils/date.js.map +1 -1
- package/package.json +10 -9
|
@@ -31,47 +31,48 @@ const InputMask = React__default.forwardRef(
|
|
|
31
31
|
placeholder,
|
|
32
32
|
...rest
|
|
33
33
|
}, ref) => {
|
|
34
|
-
const _hint = hintComponent || /* @__PURE__ */ React__default.createElement(Hint, {
|
|
35
|
-
TextComponent: Text,
|
|
36
|
-
text: hint,
|
|
37
|
-
variant
|
|
38
|
-
});
|
|
34
|
+
const _hint = hintComponent || /* @__PURE__ */ React__default.createElement(Hint, { TextComponent: Text, text: hint, variant });
|
|
39
35
|
const { focused, handleBlur, handleFocus } = useInputFocus(
|
|
40
36
|
onFocus,
|
|
41
37
|
onBlur,
|
|
42
38
|
!disabled
|
|
43
39
|
);
|
|
44
40
|
const onlyLabel = label && !placeholder;
|
|
45
|
-
return /* @__PURE__ */ React__default.createElement(View, {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
41
|
+
return /* @__PURE__ */ React__default.createElement(View, { style }, /* @__PURE__ */ React__default.createElement(
|
|
42
|
+
StyledInputContainer,
|
|
43
|
+
{
|
|
44
|
+
label: String(value) ? label : void 0,
|
|
45
|
+
labelColor,
|
|
46
|
+
labelColorVariant,
|
|
47
|
+
labelColorTone,
|
|
48
|
+
labelTypography,
|
|
49
|
+
labelStack,
|
|
50
|
+
labelWeight,
|
|
51
|
+
LabelComponent: Text,
|
|
52
|
+
leftComponent,
|
|
53
|
+
rightComponent,
|
|
54
|
+
borderColor,
|
|
55
|
+
borderColorGradation,
|
|
56
|
+
inputContainerStyle,
|
|
57
|
+
focused,
|
|
58
|
+
disabled,
|
|
59
|
+
variant
|
|
60
|
+
},
|
|
61
|
+
/* @__PURE__ */ React__default.createElement(
|
|
62
|
+
StyledNativeInputMask,
|
|
63
|
+
{
|
|
64
|
+
...rest,
|
|
65
|
+
placeholder: onlyLabel ? label : placeholder,
|
|
66
|
+
value,
|
|
67
|
+
ref,
|
|
68
|
+
fontStack: inputFontStack,
|
|
69
|
+
fontWeight: inputFontWeight,
|
|
70
|
+
disabled,
|
|
71
|
+
onFocus: handleFocus,
|
|
72
|
+
onBlur: handleBlur
|
|
73
|
+
}
|
|
74
|
+
)
|
|
75
|
+
), hint && _hint);
|
|
75
76
|
}
|
|
76
77
|
);
|
|
77
78
|
InputMask.displayName = "InputMask";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputMask.js","sources":["../../../../../src/components/atoms/InputMask/InputMask.tsx"],"sourcesContent":["import {\n FontStackType,\n FontWeightType,\n Hint,\n InputContainerProps,\n InputMaskElementProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { TextInput, View } from 'react-native';\nimport { StyledInputContainer, StyledNativeInputMask } from './styled';\nimport { Text } from '../Text';\n\nexport interface InputMaskNativeProps\n extends Omit<InputMaskElementProps, 'style'>,\n InputContainerProps {\n inputFontStack?: FontStackType;\n inputFontWeight?: FontWeightType;\n}\n\nconst InputMask: FC<InputMaskNativeProps> = React.forwardRef(\n (\n {\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputFontStack = 'default',\n inputFontWeight = 'bold',\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n value,\n placeholder,\n ...rest\n },\n ref\n ) => {\n const _hint = hintComponent || (\n <Hint TextComponent={Text} text={hint} variant={variant} />\n );\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const onlyLabel = label && !placeholder;\n\n return (\n <View style={style}>\n <StyledInputContainer\n label={String(value) ? label : undefined}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n LabelComponent={Text}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n >\n <StyledNativeInputMask\n {...rest}\n placeholder={onlyLabel ? label : placeholder}\n value={value}\n ref={ref as React.Ref<TextInput>}\n fontStack={inputFontStack}\n fontWeight={inputFontWeight}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </StyledInputContainer>\n {hint && _hint}\n </View>\n );\n }\n);\n\nInputMask.displayName = 'InputMask';\n\nexport default InputMask;\n"],"names":["React"],"mappings":";;;;;;AAoBA,MAAM,YAAsCA,cAAM,CAAA,UAAA;AAAA,EAChD,CACE;AAAA,IACE,KAAA;AAAA,IACA,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA,cAAiB,GAAA,SAAA;AAAA,IACjB,eAAkB,GAAA,MAAA;AAAA,IAClB,mBAAA;AAAA,IACA,OAAU,GAAA,SAAA;AAAA,IACV,aAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"InputMask.js","sources":["../../../../../src/components/atoms/InputMask/InputMask.tsx"],"sourcesContent":["import {\n FontStackType,\n FontWeightType,\n Hint,\n InputContainerProps,\n InputMaskElementProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { TextInput, View } from 'react-native';\nimport { StyledInputContainer, StyledNativeInputMask } from './styled';\nimport { Text } from '../Text';\n\nexport interface InputMaskNativeProps\n extends Omit<InputMaskElementProps, 'style'>,\n InputContainerProps {\n inputFontStack?: FontStackType;\n inputFontWeight?: FontWeightType;\n}\n\nconst InputMask: FC<InputMaskNativeProps> = React.forwardRef(\n (\n {\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputFontStack = 'default',\n inputFontWeight = 'bold',\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n value,\n placeholder,\n ...rest\n },\n ref\n ) => {\n const _hint = hintComponent || (\n <Hint TextComponent={Text} text={hint} variant={variant} />\n );\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const onlyLabel = label && !placeholder;\n\n return (\n <View style={style}>\n <StyledInputContainer\n label={String(value) ? label : undefined}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n LabelComponent={Text}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n >\n <StyledNativeInputMask\n {...rest}\n placeholder={onlyLabel ? label : placeholder}\n value={value}\n ref={ref as React.Ref<TextInput>}\n fontStack={inputFontStack}\n fontWeight={inputFontWeight}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </StyledInputContainer>\n {hint && _hint}\n </View>\n );\n }\n);\n\nInputMask.displayName = 'InputMask';\n\nexport default InputMask;\n"],"names":["React"],"mappings":";;;;;;AAoBA,MAAM,YAAsCA,cAAM,CAAA,UAAA;AAAA,EAChD,CACE;AAAA,IACE,KAAA;AAAA,IACA,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,oBAAA;AAAA,IACA,cAAiB,GAAA,SAAA;AAAA,IACjB,eAAkB,GAAA,MAAA;AAAA,IAClB,mBAAA;AAAA,IACA,OAAU,GAAA,SAAA;AAAA,IACV,aAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,GAAG,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAM,MAAA,KAAA,GAAQ,iCACXA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,eAAe,IAAM,EAAA,IAAA,EAAM,MAAM,OAAkB,EAAA,CAAA,CAAA;AAE3D,IAAA,MAAM,EAAE,OAAA,EAAS,UAAY,EAAA,WAAA,EAAgB,GAAA,aAAA;AAAA,MAC3C,OAAA;AAAA,MACA,MAAA;AAAA,MACA,CAAC,QAAA;AAAA,KACH,CAAA;AAEA,IAAM,MAAA,SAAA,GAAY,SAAS,CAAC,WAAA,CAAA;AAE5B,IACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,QAAK,KACJ,EAAA,kBAAAA,cAAA,CAAA,aAAA;AAAA,MAAC,oBAAA;AAAA,MAAA;AAAA,QACC,KAAO,EAAA,MAAA,CAAO,KAAK,CAAA,GAAI,KAAQ,GAAA,KAAA,CAAA;AAAA,QAC/B,UAAA;AAAA,QACA,iBAAA;AAAA,QACA,cAAA;AAAA,QACA,eAAA;AAAA,QACA,UAAA;AAAA,QACA,WAAA;AAAA,QACA,cAAgB,EAAA,IAAA;AAAA,QAChB,aAAA;AAAA,QACA,cAAA;AAAA,QACA,WAAA;AAAA,QACA,oBAAA;AAAA,QACA,mBAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,OAAA;AAAA,sBAEAA,cAAA,CAAA,aAAA;AAAA,QAAC,qBAAA;AAAA,QAAA;AAAA,UACE,GAAG,IAAA;AAAA,UACJ,WAAA,EAAa,YAAY,KAAQ,GAAA,WAAA;AAAA,UACjC,KAAA;AAAA,UACA,GAAA;AAAA,UACA,SAAW,EAAA,cAAA;AAAA,UACX,UAAY,EAAA,eAAA;AAAA,UACZ,QAAA;AAAA,UACA,OAAS,EAAA,WAAA;AAAA,UACT,MAAQ,EAAA,UAAA;AAAA,SAAA;AAAA,OACV;AAAA,KACF,EACC,QAAQ,KACX,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,SAAA,CAAU,WAAc,GAAA,WAAA;;;;"}
|
|
@@ -7,13 +7,17 @@ const ModalGroupManager = ({ children, ...others }) => {
|
|
|
7
7
|
modalLifecycle.attach(useState([]));
|
|
8
8
|
const _render = modalLifecycle.render();
|
|
9
9
|
const hasModals = _render.length > 0;
|
|
10
|
-
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children, /* @__PURE__ */ React__default.createElement(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children, /* @__PURE__ */ React__default.createElement(
|
|
11
|
+
Modal,
|
|
12
|
+
{
|
|
13
|
+
transparent: true,
|
|
14
|
+
statusBarTranslucent: true,
|
|
15
|
+
animationType: "none",
|
|
16
|
+
visible: hasModals,
|
|
17
|
+
...others
|
|
18
|
+
},
|
|
19
|
+
_render
|
|
20
|
+
));
|
|
17
21
|
};
|
|
18
22
|
|
|
19
23
|
export { ModalGroupManager, modalLifecycle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalGroupManager.js","sources":["../../../../../src/components/atoms/Modal/ModalGroupManager.tsx"],"sourcesContent":["import React, { FC, ReactElement, useState } from 'react';\nimport { Modal as RNModal, ModalProps } from 'react-native';\nimport { createModalLifecycleHandler } from './ModalLifecycleHandler';\nimport { IBaseModal } from './ui/types';\n\nexport const modalLifecycle = createModalLifecycleHandler();\n\n/**\n * It's responsable for rendering all the modal components.\n *\n * @param param0\n * @returns\n */\nexport const ModalGroupManager: FC<ModalProps> = ({ children, ...others }) => {\n modalLifecycle.attach(useState<ReactElement<IBaseModal>[]>([]));\n const _render = modalLifecycle.render();\n const hasModals = _render.length > 0;\n\n return (\n <>\n {children}\n <RNModal\n transparent\n statusBarTranslucent\n animationType=\"none\"\n visible={hasModals}\n {...others}\n >\n {_render}\n </RNModal>\n </>\n );\n};\n"],"names":["React","RNModal"],"mappings":";;;;AAKO,MAAM,iBAAiB,2BAA4B,GAAA;AAQnD,MAAM,
|
|
1
|
+
{"version":3,"file":"ModalGroupManager.js","sources":["../../../../../src/components/atoms/Modal/ModalGroupManager.tsx"],"sourcesContent":["import React, { FC, ReactElement, useState } from 'react';\nimport { Modal as RNModal, ModalProps } from 'react-native';\nimport { createModalLifecycleHandler } from './ModalLifecycleHandler';\nimport { IBaseModal } from './ui/types';\n\nexport const modalLifecycle = createModalLifecycleHandler();\n\n/**\n * It's responsable for rendering all the modal components.\n *\n * @param param0\n * @returns\n */\nexport const ModalGroupManager: FC<ModalProps> = ({ children, ...others }) => {\n modalLifecycle.attach(useState<ReactElement<IBaseModal>[]>([]));\n const _render = modalLifecycle.render();\n const hasModals = _render.length > 0;\n\n return (\n <>\n {children}\n <RNModal\n transparent\n statusBarTranslucent\n animationType=\"none\"\n visible={hasModals}\n {...others}\n >\n {_render}\n </RNModal>\n </>\n );\n};\n"],"names":["React","RNModal"],"mappings":";;;;AAKO,MAAM,iBAAiB,2BAA4B,GAAA;AAQnD,MAAM,oBAAoC,CAAC,EAAE,QAAU,EAAA,GAAG,QAAa,KAAA;AAC5E,EAAA,cAAA,CAAe,MAAO,CAAA,QAAA,CAAqC,EAAE,CAAC,CAAA,CAAA;AAC9D,EAAM,MAAA,OAAA,GAAU,eAAe,MAAO,EAAA,CAAA;AACtC,EAAM,MAAA,SAAA,GAAY,QAAQ,MAAS,GAAA,CAAA,CAAA;AAEnC,EAAA,mFAEK,QACD,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAACC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,EAAA,IAAA;AAAA,MACX,oBAAoB,EAAA,IAAA;AAAA,MACpB,aAAc,EAAA,MAAA;AAAA,MACd,OAAS,EAAA,SAAA;AAAA,MACR,GAAG,MAAA;AAAA,KAAA;AAAA,IAEH,OAAA;AAAA,GAEL,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -7,9 +7,17 @@ class ModalLifecycleHandler {
|
|
|
7
7
|
this.nodeGroup = /* @__PURE__ */ new Map();
|
|
8
8
|
this.state = void 0;
|
|
9
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Holds the ModalGroupManager state.
|
|
12
|
+
*
|
|
13
|
+
* @param state
|
|
14
|
+
*/
|
|
10
15
|
attach = (state) => {
|
|
11
16
|
this.state = state;
|
|
12
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* Updates all the modal components.
|
|
20
|
+
*/
|
|
13
21
|
update = () => {
|
|
14
22
|
requestAnimationFrame(() => {
|
|
15
23
|
const nodes = Array.from(this.nodeGroup.values()).filter((node) => node.visible || !!node.lastVisualization).sort(
|
|
@@ -33,10 +41,22 @@ class ModalLifecycleHandler {
|
|
|
33
41
|
updateState?.(nodes);
|
|
34
42
|
});
|
|
35
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Renders all selected modals.
|
|
46
|
+
*
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
36
49
|
render = () => {
|
|
37
50
|
const [modals] = this.state || [];
|
|
38
51
|
return modals || [];
|
|
39
52
|
};
|
|
53
|
+
/**
|
|
54
|
+
* Tells to the lifecycle handler that a modal component needs to be handled.
|
|
55
|
+
*
|
|
56
|
+
* @param id
|
|
57
|
+
* @param modal
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
40
60
|
sync = (id, modal) => {
|
|
41
61
|
if (this.nodeGroup.has(id)) {
|
|
42
62
|
const savedNode = this.findNode(id);
|
|
@@ -45,20 +65,41 @@ class ModalLifecycleHandler {
|
|
|
45
65
|
}
|
|
46
66
|
this.nodeGroup.set(id, { id, modal });
|
|
47
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* Destroy a modal from the lifecycle handler.
|
|
70
|
+
*
|
|
71
|
+
* @param id
|
|
72
|
+
*/
|
|
48
73
|
destroy = (id) => {
|
|
49
74
|
this.nodeGroup.delete(id);
|
|
50
75
|
this.update();
|
|
51
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* Removes a modal from the rendering stack. It tells to the lifecycle handler that a modal
|
|
79
|
+
* component is no longer used by the application.
|
|
80
|
+
*
|
|
81
|
+
* @param id
|
|
82
|
+
*/
|
|
52
83
|
remove = (id) => {
|
|
53
84
|
const savedNode = this.findNode(id);
|
|
54
85
|
savedNode && this.nodeGroup.set(id, { ...savedNode, lastVisualization: void 0 });
|
|
55
86
|
this.update();
|
|
56
87
|
};
|
|
88
|
+
/**
|
|
89
|
+
* Find a modal node by id.
|
|
90
|
+
*
|
|
91
|
+
* @param id
|
|
92
|
+
*/
|
|
57
93
|
findNode = (id) => {
|
|
58
94
|
const node = this.nodeGroup.get(id);
|
|
59
95
|
!node && console.warn(`No modal was found with the id "${id}"`);
|
|
60
96
|
return node;
|
|
61
97
|
};
|
|
98
|
+
/**
|
|
99
|
+
* Makes a modal appears.
|
|
100
|
+
*
|
|
101
|
+
* @param id
|
|
102
|
+
*/
|
|
62
103
|
show = (id) => {
|
|
63
104
|
const savedNode = this.findNode(id);
|
|
64
105
|
savedNode && this.nodeGroup.set(id, {
|
|
@@ -68,6 +109,11 @@ class ModalLifecycleHandler {
|
|
|
68
109
|
});
|
|
69
110
|
this.update();
|
|
70
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Makes a modal disappears.
|
|
114
|
+
*
|
|
115
|
+
* @param id
|
|
116
|
+
*/
|
|
71
117
|
close = (id) => {
|
|
72
118
|
const savedNode = this.findNode(id);
|
|
73
119
|
savedNode && this.nodeGroup.set(id, { ...savedNode, visible: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalLifecycleHandler.js","sources":["../../../../../src/components/atoms/Modal/ModalLifecycleHandler.ts"],"sourcesContent":["import React, { Dispatch, ReactElement } from 'react';\nimport { IBaseModal } from './ui/types';\n\n/**\n * It Represents a node (usually a modal component) in the modal's lifecycle handler.\n */\ninterface ModalNode {\n id: string;\n visible?: boolean;\n lastVisualization?: Date;\n modal: () => ReactElement<IBaseModal>;\n}\n\n/**\n * Manage all modal's lifecycle.\n */\nexport class ModalLifecycleHandler {\n nodeGroup: Map<string, ModalNode>;\n state:\n | [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n | undefined;\n\n constructor() {\n this.nodeGroup = new Map();\n this.state = undefined;\n }\n\n /**\n * Holds the ModalGroupManager state.\n *\n * @param state\n */\n public attach = (\n state: [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n ) => {\n this.state = state;\n };\n\n /**\n * Updates all the modal components.\n */\n public update = () => {\n requestAnimationFrame(() => {\n const nodes = Array.from(this.nodeGroup.values())\n .filter(node => node.visible || !!node.lastVisualization)\n .sort(\n (nodeA, nodeB) =>\n (nodeA.lastVisualization?.getTime() || 0) -\n (nodeB.lastVisualization?.getTime() || 0)\n )\n .map((node, index, filteredNodes) => {\n const modalElement = node.modal();\n const { props } = modalElement;\n return React.cloneElement(modalElement, {\n ...props,\n key: node.id,\n visible: node.visible,\n isLastShown: filteredNodes.length - 1 === index,\n close: () => this.close(node.id),\n onClose: () => {\n this.remove(node.id);\n props.onClose?.();\n },\n });\n });\n\n const [, updateState] = this.state || [];\n updateState?.(nodes);\n });\n };\n\n /**\n * Renders all selected modals.\n *\n * @returns\n */\n public render = (): ReactElement<IBaseModal>[] => {\n const [modals] = this.state || [];\n return modals || [];\n };\n\n /**\n * Tells to the lifecycle handler that a modal component needs to be handled.\n *\n * @param id\n * @param modal\n * @returns\n */\n public sync = (id: string, modal: () => ReactElement<IBaseModal>) => {\n if (this.nodeGroup.has(id)) {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, modal });\n return;\n }\n this.nodeGroup.set(id, { id, modal });\n };\n\n /**\n * Destroy a modal from the lifecycle handler.\n *\n * @param id\n */\n public destroy = (id: string) => {\n this.nodeGroup.delete(id);\n this.update();\n };\n\n /**\n * Removes a modal from the rendering stack. It tells to the lifecycle handler that a modal\n * component is no longer used by the application.\n *\n * @param id\n */\n private remove = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, { ...savedNode, lastVisualization: undefined });\n this.update();\n };\n\n /**\n * Find a modal node by id.\n *\n * @param id\n */\n private findNode = (id: string) => {\n const node = this.nodeGroup.get(id);\n !node && console.warn(`No modal was found with the id \"${id}\"`);\n return node;\n };\n\n /**\n * Makes a modal appears.\n *\n * @param id\n */\n public show = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, {\n ...savedNode,\n visible: true,\n lastVisualization: new Date(),\n });\n this.update();\n };\n\n /**\n * Makes a modal disappears.\n *\n * @param id\n */\n public close = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, visible: false });\n this.update();\n };\n}\n\n/**\n * Creates a new ModalLifecycleHandlere instance.\n *\n * @returns\n */\nexport const createModalLifecycleHandler = () => {\n return new ModalLifecycleHandler();\n};\n"],"names":["React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModalLifecycleHandler.js","sources":["../../../../../src/components/atoms/Modal/ModalLifecycleHandler.ts"],"sourcesContent":["import React, { Dispatch, ReactElement } from 'react';\nimport { IBaseModal } from './ui/types';\n\n/**\n * It Represents a node (usually a modal component) in the modal's lifecycle handler.\n */\ninterface ModalNode {\n id: string;\n visible?: boolean;\n lastVisualization?: Date;\n modal: () => ReactElement<IBaseModal>;\n}\n\n/**\n * Manage all modal's lifecycle.\n */\nexport class ModalLifecycleHandler {\n nodeGroup: Map<string, ModalNode>;\n state:\n | [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n | undefined;\n\n constructor() {\n this.nodeGroup = new Map();\n this.state = undefined;\n }\n\n /**\n * Holds the ModalGroupManager state.\n *\n * @param state\n */\n public attach = (\n state: [ReactElement<IBaseModal>[], Dispatch<ReactElement<IBaseModal>[]>]\n ) => {\n this.state = state;\n };\n\n /**\n * Updates all the modal components.\n */\n public update = () => {\n requestAnimationFrame(() => {\n const nodes = Array.from(this.nodeGroup.values())\n .filter(node => node.visible || !!node.lastVisualization)\n .sort(\n (nodeA, nodeB) =>\n (nodeA.lastVisualization?.getTime() || 0) -\n (nodeB.lastVisualization?.getTime() || 0)\n )\n .map((node, index, filteredNodes) => {\n const modalElement = node.modal();\n const { props } = modalElement;\n return React.cloneElement(modalElement, {\n ...props,\n key: node.id,\n visible: node.visible,\n isLastShown: filteredNodes.length - 1 === index,\n close: () => this.close(node.id),\n onClose: () => {\n this.remove(node.id);\n props.onClose?.();\n },\n });\n });\n\n const [, updateState] = this.state || [];\n updateState?.(nodes);\n });\n };\n\n /**\n * Renders all selected modals.\n *\n * @returns\n */\n public render = (): ReactElement<IBaseModal>[] => {\n const [modals] = this.state || [];\n return modals || [];\n };\n\n /**\n * Tells to the lifecycle handler that a modal component needs to be handled.\n *\n * @param id\n * @param modal\n * @returns\n */\n public sync = (id: string, modal: () => ReactElement<IBaseModal>) => {\n if (this.nodeGroup.has(id)) {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, modal });\n return;\n }\n this.nodeGroup.set(id, { id, modal });\n };\n\n /**\n * Destroy a modal from the lifecycle handler.\n *\n * @param id\n */\n public destroy = (id: string) => {\n this.nodeGroup.delete(id);\n this.update();\n };\n\n /**\n * Removes a modal from the rendering stack. It tells to the lifecycle handler that a modal\n * component is no longer used by the application.\n *\n * @param id\n */\n private remove = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, { ...savedNode, lastVisualization: undefined });\n this.update();\n };\n\n /**\n * Find a modal node by id.\n *\n * @param id\n */\n private findNode = (id: string) => {\n const node = this.nodeGroup.get(id);\n !node && console.warn(`No modal was found with the id \"${id}\"`);\n return node;\n };\n\n /**\n * Makes a modal appears.\n *\n * @param id\n */\n public show = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode &&\n this.nodeGroup.set(id, {\n ...savedNode,\n visible: true,\n lastVisualization: new Date(),\n });\n this.update();\n };\n\n /**\n * Makes a modal disappears.\n *\n * @param id\n */\n public close = (id: string) => {\n const savedNode = this.findNode(id);\n savedNode && this.nodeGroup.set(id, { ...savedNode, visible: false });\n this.update();\n };\n}\n\n/**\n * Creates a new ModalLifecycleHandlere instance.\n *\n * @returns\n */\nexport const createModalLifecycleHandler = () => {\n return new ModalLifecycleHandler();\n};\n"],"names":["React"],"mappings":";;AAgBO,MAAM,qBAAsB,CAAA;AAAA,EACjC,SAAA,CAAA;AAAA,EACA,KAAA,CAAA;AAAA,EAIA,WAAc,GAAA;AACZ,IAAK,IAAA,CAAA,SAAA,uBAAgB,GAAI,EAAA,CAAA;AACzB,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA,CAAA;AAAA,GACf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,MAAA,GAAS,CACd,KACG,KAAA;AACH,IAAA,IAAA,CAAK,KAAQ,GAAA,KAAA,CAAA;AAAA,GACf,CAAA;AAAA;AAAA;AAAA;AAAA,EAKO,SAAS,MAAM;AACpB,IAAA,qBAAA,CAAsB,MAAM;AAC1B,MAAA,MAAM,QAAQ,KAAM,CAAA,IAAA,CAAK,IAAK,CAAA,SAAA,CAAU,QAAQ,CAAA,CAC7C,MAAO,CAAA,CAAA,IAAA,KAAQ,KAAK,OAAW,IAAA,CAAC,CAAC,IAAA,CAAK,iBAAiB,CACvD,CAAA,IAAA;AAAA,QACC,CAAC,KAAO,EAAA,KAAA,KAAA,CACL,KAAM,CAAA,iBAAA,EAAmB,OAAQ,EAAA,IAAK,CACtC,KAAA,KAAA,CAAM,iBAAmB,EAAA,OAAA,EAAa,IAAA,CAAA,CAAA;AAAA,OAE1C,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,OAAO,aAAkB,KAAA;AACnC,QAAM,MAAA,YAAA,GAAe,KAAK,KAAM,EAAA,CAAA;AAChC,QAAM,MAAA,EAAE,OAAU,GAAA,YAAA,CAAA;AAClB,QAAO,OAAAA,cAAA,CAAM,aAAa,YAAc,EAAA;AAAA,UACtC,GAAG,KAAA;AAAA,UACH,KAAK,IAAK,CAAA,EAAA;AAAA,UACV,SAAS,IAAK,CAAA,OAAA;AAAA,UACd,WAAA,EAAa,aAAc,CAAA,MAAA,GAAS,CAAM,KAAA,KAAA;AAAA,UAC1C,KAAO,EAAA,MAAM,IAAK,CAAA,KAAA,CAAM,KAAK,EAAE,CAAA;AAAA,UAC/B,SAAS,MAAM;AACb,YAAK,IAAA,CAAA,MAAA,CAAO,KAAK,EAAE,CAAA,CAAA;AACnB,YAAA,KAAA,CAAM,OAAU,IAAA,CAAA;AAAA,WAClB;AAAA,SACD,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAEH,MAAA,MAAM,GAAG,WAAW,CAAI,GAAA,IAAA,CAAK,SAAS,EAAC,CAAA;AACvC,MAAA,WAAA,GAAc,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAAA,GACH,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,SAAS,MAAkC;AAChD,IAAA,MAAM,CAAC,MAAM,CAAI,GAAA,IAAA,CAAK,SAAS,EAAC,CAAA;AAChC,IAAA,OAAO,UAAU,EAAC,CAAA;AAAA,GACpB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASO,IAAA,GAAO,CAAC,EAAA,EAAY,KAA0C,KAAA;AACnE,IAAA,IAAI,IAAK,CAAA,SAAA,CAAU,GAAI,CAAA,EAAE,CAAG,EAAA;AAC1B,MAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,EAAE,CAAA,CAAA;AAClC,MAAa,SAAA,IAAA,IAAA,CAAK,UAAU,GAAI,CAAA,EAAA,EAAI,EAAE,GAAG,SAAA,EAAW,OAAO,CAAA,CAAA;AAC3D,MAAA,OAAA;AAAA,KACF;AACA,IAAA,IAAA,CAAK,UAAU,GAAI,CAAA,EAAA,EAAI,EAAE,EAAA,EAAI,OAAO,CAAA,CAAA;AAAA,GACtC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,OAAA,GAAU,CAAC,EAAe,KAAA;AAC/B,IAAK,IAAA,CAAA,SAAA,CAAU,OAAO,EAAE,CAAA,CAAA;AACxB,IAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,GACd,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQQ,MAAA,GAAS,CAAC,EAAe,KAAA;AAC/B,IAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,EAAE,CAAA,CAAA;AAClC,IACE,SAAA,IAAA,IAAA,CAAK,UAAU,GAAI,CAAA,EAAA,EAAI,EAAE,GAAG,SAAA,EAAW,iBAAmB,EAAA,KAAA,CAAA,EAAW,CAAA,CAAA;AACvE,IAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,GACd,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOQ,QAAA,GAAW,CAAC,EAAe,KAAA;AACjC,IAAA,MAAM,IAAO,GAAA,IAAA,CAAK,SAAU,CAAA,GAAA,CAAI,EAAE,CAAA,CAAA;AAClC,IAAA,CAAC,IAAQ,IAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,gCAAA,EAAmC,EAAK,CAAA,CAAA,CAAA,CAAA,CAAA;AAC9D,IAAO,OAAA,IAAA,CAAA;AAAA,GACT,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,IAAA,GAAO,CAAC,EAAe,KAAA;AAC5B,IAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,EAAE,CAAA,CAAA;AAClC,IACE,SAAA,IAAA,IAAA,CAAK,SAAU,CAAA,GAAA,CAAI,EAAI,EAAA;AAAA,MACrB,GAAG,SAAA;AAAA,MACH,OAAS,EAAA,IAAA;AAAA,MACT,iBAAA,EAAmB,IAAI,IAAK,EAAA;AAAA,KAC7B,CAAA,CAAA;AACH,IAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,GACd,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,KAAA,GAAQ,CAAC,EAAe,KAAA;AAC7B,IAAM,MAAA,SAAA,GAAY,IAAK,CAAA,QAAA,CAAS,EAAE,CAAA,CAAA;AAClC,IAAa,SAAA,IAAA,IAAA,CAAK,UAAU,GAAI,CAAA,EAAA,EAAI,EAAE,GAAG,SAAA,EAAW,OAAS,EAAA,KAAA,EAAO,CAAA,CAAA;AACpE,IAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,GACd,CAAA;AACF,CAAA;AAOO,MAAM,8BAA8B,MAAM;AAC/C,EAAA,OAAO,IAAI,qBAAsB,EAAA,CAAA;AACnC;;;;"}
|
|
@@ -122,21 +122,26 @@ const ModalView = ({
|
|
|
122
122
|
hideEvent.remove();
|
|
123
123
|
};
|
|
124
124
|
}, []);
|
|
125
|
-
return /* @__PURE__ */ React__default.createElement(StyledPressableBackDrop, {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
125
|
+
return /* @__PURE__ */ React__default.createElement(StyledPressableBackDrop, { onPress: !frozen ? close : void 0 }, /* @__PURE__ */ React__default.createElement(BackDropView, { style: { backgroundColor: backgroundInterpolation } }, /* @__PURE__ */ React__default.createElement(
|
|
126
|
+
Animated.View,
|
|
127
|
+
{
|
|
128
|
+
style: {
|
|
129
|
+
paddingBottom: isLastShown ? getKeyboardHeight(keyboardOpened) : 0,
|
|
130
|
+
opacity: opacityCarrier,
|
|
131
|
+
transform: [{ translateY: translationCarrier }]
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
/* @__PURE__ */ React__default.createElement(Pressable, null, /* @__PURE__ */ React__default.createElement(
|
|
135
|
+
BoxComponent,
|
|
136
|
+
{
|
|
137
|
+
onLayout: handleBoxLayoutChanges,
|
|
138
|
+
style: { paddingBottom: offset },
|
|
139
|
+
variant: "bottom"
|
|
140
|
+
},
|
|
141
|
+
showCloseBar && /* @__PURE__ */ React__default.createElement(CloseBar, null),
|
|
142
|
+
children
|
|
143
|
+
))
|
|
144
|
+
)));
|
|
140
145
|
};
|
|
141
146
|
|
|
142
147
|
export { ModalView };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModalView.js","sources":["../../../../../../src/components/atoms/Modal/ui/BaseModalView.tsx"],"sourcesContent":["import { BoxContent } from '@tecsinapse/react-core';\nimport React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n Animated,\n Dimensions,\n Easing,\n Keyboard,\n LayoutChangeEvent,\n Pressable,\n StatusBar,\n} from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { BackDropView, CloseBar, StyledPressableBackDrop } from './styled';\nimport { IBaseModal } from './types';\n\nconst BACKDROP_ALPHA = 0.65;\nconst INTERPOLATION_STEPS = 10;\nconst INTERPOLATION_DURATION = 195; //ms\nconst OPACITY_DURATION = 25; //ms\n\nexport const ModalView: FC<IBaseModal> = ({\n children,\n visible,\n BoxComponent = BoxContent,\n frozen,\n isLastShown,\n showCloseBar = true,\n close,\n onClose,\n}) => {\n const { bottom } = useSafeAreaInsets();\n const [ready, setReady] = useState(false);\n const [keyboardOpened, setKeyboardOpened] = useState(0);\n const [boxHeight, setBoxHeight] = useState(0);\n const backgroundCarrier = useRef(new Animated.Value(0)).current;\n const translationCarrier = useRef(new Animated.Value(0)).current;\n const opacityCarrier = useRef(new Animated.Value(0)).current;\n const offset = isLastShown && keyboardOpened > 0 ? 0 : bottom;\n\n const getKeyboardHeight = (keyboard: number) => {\n if (keyboard === 0) return 0;\n\n const wHeight = Math.ceil(Dimensions.get('window').height);\n const sHeight = Math.ceil(Dimensions.get('screen').height);\n if (wHeight !== sHeight) {\n return keyboard + (sHeight - wHeight - (StatusBar.currentHeight || 0));\n }\n return keyboard;\n };\n\n const show = useCallback(() => {\n Animated.sequence([\n Animated.timing(backgroundCarrier, {\n toValue: INTERPOLATION_STEPS,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 1,\n duration: OPACITY_DURATION,\n useNativeDriver: true,\n }),\n Animated.timing(translationCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n ]).start();\n }, []);\n\n const hide = useCallback(\n (to: number) => {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(translationCarrier, {\n toValue: to,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n useNativeDriver: true,\n }),\n ]),\n Animated.timing(backgroundCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n ]).start(onClose);\n },\n [onClose]\n );\n\n const backgroundInterpolation = backgroundCarrier.interpolate({\n inputRange: [0, INTERPOLATION_STEPS],\n outputRange: ['rgba(0, 0, 0, 0)', `rgba(0, 0, 0, ${BACKDROP_ALPHA})`],\n });\n\n const handleBoxLayoutChanges = useCallback(\n (lce: LayoutChangeEvent) => {\n const boxHeightEvent = lce.nativeEvent.layout.height;\n setBoxHeight(boxHeightEvent);\n\n if (visible && !ready) {\n translationCarrier.setValue(boxHeightEvent);\n setReady(true);\n }\n },\n [show, ready, visible, setReady]\n );\n\n useEffect(() => {\n if (visible && ready) requestAnimationFrame(() => show());\n if (!visible && !ready) {\n Keyboard.dismiss();\n requestAnimationFrame(() => hide(boxHeight));\n }\n if (!visible && ready) setReady(false);\n }, [ready, visible]);\n\n useEffect(() => {\n const showEvent = Keyboard.addListener('keyboardDidShow', e =>\n setKeyboardOpened(e.endCoordinates.height)\n );\n const hideEvent = Keyboard.addListener('keyboardDidHide', () =>\n setKeyboardOpened(0)\n );\n return () => {\n showEvent.remove();\n hideEvent.remove();\n };\n }, []);\n\n return (\n <StyledPressableBackDrop onPress={!frozen ? close : undefined}>\n <BackDropView style={{ backgroundColor: backgroundInterpolation }}>\n <Animated.View\n style={{\n paddingBottom: isLastShown ? getKeyboardHeight(keyboardOpened) : 0,\n opacity: opacityCarrier,\n transform: [{ translateY: translationCarrier }],\n }}\n >\n <Pressable>\n <BoxComponent\n onLayout={handleBoxLayoutChanges}\n style={{ paddingBottom: offset }}\n variant=\"bottom\"\n >\n {showCloseBar && <CloseBar />}\n {children}\n </BoxComponent>\n </Pressable>\n </Animated.View>\n </BackDropView>\n </StyledPressableBackDrop>\n );\n};\n"],"names":["React"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BaseModalView.js","sources":["../../../../../../src/components/atoms/Modal/ui/BaseModalView.tsx"],"sourcesContent":["import { BoxContent } from '@tecsinapse/react-core';\nimport React, { FC, useCallback, useEffect, useRef, useState } from 'react';\nimport {\n Animated,\n Dimensions,\n Easing,\n Keyboard,\n LayoutChangeEvent,\n Pressable,\n StatusBar,\n} from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { BackDropView, CloseBar, StyledPressableBackDrop } from './styled';\nimport { IBaseModal } from './types';\n\nconst BACKDROP_ALPHA = 0.65;\nconst INTERPOLATION_STEPS = 10;\nconst INTERPOLATION_DURATION = 195; //ms\nconst OPACITY_DURATION = 25; //ms\n\nexport const ModalView: FC<IBaseModal> = ({\n children,\n visible,\n BoxComponent = BoxContent,\n frozen,\n isLastShown,\n showCloseBar = true,\n close,\n onClose,\n}) => {\n const { bottom } = useSafeAreaInsets();\n const [ready, setReady] = useState(false);\n const [keyboardOpened, setKeyboardOpened] = useState(0);\n const [boxHeight, setBoxHeight] = useState(0);\n const backgroundCarrier = useRef(new Animated.Value(0)).current;\n const translationCarrier = useRef(new Animated.Value(0)).current;\n const opacityCarrier = useRef(new Animated.Value(0)).current;\n const offset = isLastShown && keyboardOpened > 0 ? 0 : bottom;\n\n const getKeyboardHeight = (keyboard: number) => {\n if (keyboard === 0) return 0;\n\n const wHeight = Math.ceil(Dimensions.get('window').height);\n const sHeight = Math.ceil(Dimensions.get('screen').height);\n if (wHeight !== sHeight) {\n return keyboard + (sHeight - wHeight - (StatusBar.currentHeight || 0));\n }\n return keyboard;\n };\n\n const show = useCallback(() => {\n Animated.sequence([\n Animated.timing(backgroundCarrier, {\n toValue: INTERPOLATION_STEPS,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 1,\n duration: OPACITY_DURATION,\n useNativeDriver: true,\n }),\n Animated.timing(translationCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n ]).start();\n }, []);\n\n const hide = useCallback(\n (to: number) => {\n Animated.sequence([\n Animated.parallel([\n Animated.timing(translationCarrier, {\n toValue: to,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: true,\n }),\n Animated.timing(opacityCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n useNativeDriver: true,\n }),\n ]),\n Animated.timing(backgroundCarrier, {\n toValue: 0,\n duration: INTERPOLATION_DURATION,\n easing: Easing.out(Easing.circle),\n useNativeDriver: false,\n }),\n ]).start(onClose);\n },\n [onClose]\n );\n\n const backgroundInterpolation = backgroundCarrier.interpolate({\n inputRange: [0, INTERPOLATION_STEPS],\n outputRange: ['rgba(0, 0, 0, 0)', `rgba(0, 0, 0, ${BACKDROP_ALPHA})`],\n });\n\n const handleBoxLayoutChanges = useCallback(\n (lce: LayoutChangeEvent) => {\n const boxHeightEvent = lce.nativeEvent.layout.height;\n setBoxHeight(boxHeightEvent);\n\n if (visible && !ready) {\n translationCarrier.setValue(boxHeightEvent);\n setReady(true);\n }\n },\n [show, ready, visible, setReady]\n );\n\n useEffect(() => {\n if (visible && ready) requestAnimationFrame(() => show());\n if (!visible && !ready) {\n Keyboard.dismiss();\n requestAnimationFrame(() => hide(boxHeight));\n }\n if (!visible && ready) setReady(false);\n }, [ready, visible]);\n\n useEffect(() => {\n const showEvent = Keyboard.addListener('keyboardDidShow', e =>\n setKeyboardOpened(e.endCoordinates.height)\n );\n const hideEvent = Keyboard.addListener('keyboardDidHide', () =>\n setKeyboardOpened(0)\n );\n return () => {\n showEvent.remove();\n hideEvent.remove();\n };\n }, []);\n\n return (\n <StyledPressableBackDrop onPress={!frozen ? close : undefined}>\n <BackDropView style={{ backgroundColor: backgroundInterpolation }}>\n <Animated.View\n style={{\n paddingBottom: isLastShown ? getKeyboardHeight(keyboardOpened) : 0,\n opacity: opacityCarrier,\n transform: [{ translateY: translationCarrier }],\n }}\n >\n <Pressable>\n <BoxComponent\n onLayout={handleBoxLayoutChanges}\n style={{ paddingBottom: offset }}\n variant=\"bottom\"\n >\n {showCloseBar && <CloseBar />}\n {children}\n </BoxComponent>\n </Pressable>\n </Animated.View>\n </BackDropView>\n </StyledPressableBackDrop>\n );\n};\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
export interface IBaseModal {
|
|
3
3
|
visible?: boolean;
|
|
4
4
|
BoxComponent?: React.FC<any>;
|
|
@@ -7,4 +7,5 @@ export interface IBaseModal {
|
|
|
7
7
|
showCloseBar?: boolean;
|
|
8
8
|
close?: () => void;
|
|
9
9
|
onClose?: () => void;
|
|
10
|
+
children?: ReactNode;
|
|
10
11
|
}
|
|
@@ -12,19 +12,22 @@ const Pulse = ({
|
|
|
12
12
|
useEffect(() => {
|
|
13
13
|
pulseAnimation(active, animatedValue);
|
|
14
14
|
}, [active]);
|
|
15
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
16
|
+
Animated.View,
|
|
17
|
+
{
|
|
18
|
+
style: {
|
|
19
|
+
width: width ?? childrenLayout.width,
|
|
20
|
+
height: height ?? childrenLayout.height,
|
|
21
|
+
backgroundColor: "rgba(0,0,0,0.05)",
|
|
22
|
+
position: "absolute",
|
|
23
|
+
top: childrenLayout.x ?? 0,
|
|
24
|
+
left: childrenLayout.y ?? 0,
|
|
25
|
+
zIndex: 2,
|
|
26
|
+
overflow: "hidden",
|
|
27
|
+
opacity: animatedValue
|
|
28
|
+
}
|
|
26
29
|
}
|
|
27
|
-
|
|
30
|
+
);
|
|
28
31
|
};
|
|
29
32
|
|
|
30
33
|
export { Pulse };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pulse.js","sources":["../../../../../src/components/atoms/Skeleton/Pulse.tsx"],"sourcesContent":["import { Animated } from 'react-native';\nimport React, { useEffect, useRef } from 'react';\nimport { pulseAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nexport const Pulse = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n pulseAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <Animated.View\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n backgroundColor: 'rgba(0,0,0,0.05)',\n position: 'absolute',\n top: childrenLayout.x ?? 0,\n left: childrenLayout.y ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n opacity: animatedValue,\n }}\n />\n );\n};\n"],"names":["React"],"mappings":";;;;AAKO,MAAM,QAAQ,CAAC;AAAA,EACpB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AACzB,EAAA,MAAM,gBAAgB,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,QAAQ,aAAa,CAAA,CAAA;AAAA,GACtC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EACE,uBAAAA,cAAA,CAAA,aAAA,
|
|
1
|
+
{"version":3,"file":"Pulse.js","sources":["../../../../../src/components/atoms/Skeleton/Pulse.tsx"],"sourcesContent":["import { Animated } from 'react-native';\nimport React, { useEffect, useRef } from 'react';\nimport { pulseAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nexport const Pulse = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n useEffect(() => {\n pulseAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <Animated.View\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n backgroundColor: 'rgba(0,0,0,0.05)',\n position: 'absolute',\n top: childrenLayout.x ?? 0,\n left: childrenLayout.y ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n opacity: animatedValue,\n }}\n />\n );\n};\n"],"names":["React"],"mappings":";;;;AAKO,MAAM,QAAQ,CAAC;AAAA,EACpB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AACzB,EAAA,MAAM,gBAAgB,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,QAAQ,aAAa,CAAA,CAAA;AAAA,GACtC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,QAAS,CAAA,IAAA;AAAA,IAAT;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,QAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,QACjC,eAAiB,EAAA,kBAAA;AAAA,QACjB,QAAU,EAAA,UAAA;AAAA,QACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,QACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,QAC1B,MAAQ,EAAA,CAAA;AAAA,QACR,QAAU,EAAA,QAAA;AAAA,QACV,OAAS,EAAA,aAAA;AAAA,OACX;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -27,26 +27,31 @@ const Skeleton = ({
|
|
|
27
27
|
const getChildrenLayout = (event) => {
|
|
28
28
|
setChildrenLayout(event.nativeEvent.layout);
|
|
29
29
|
};
|
|
30
|
-
return /* @__PURE__ */ React__default.createElement(Wrapper, {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
30
|
+
return /* @__PURE__ */ React__default.createElement(Wrapper, { width, height, radius, ...rest }, active && animation === "wave" ? /* @__PURE__ */ React__default.createElement(
|
|
31
|
+
Wave,
|
|
32
|
+
{
|
|
33
|
+
active,
|
|
34
|
+
width,
|
|
35
|
+
height,
|
|
36
|
+
childrenLayout
|
|
37
|
+
}
|
|
38
|
+
) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), active && animation === "pulse" ? /* @__PURE__ */ React__default.createElement(
|
|
39
|
+
Pulse,
|
|
40
|
+
{
|
|
41
|
+
active,
|
|
42
|
+
width,
|
|
43
|
+
height,
|
|
44
|
+
childrenLayout
|
|
45
|
+
}
|
|
46
|
+
) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(
|
|
47
|
+
View,
|
|
48
|
+
{
|
|
49
|
+
onLayout: (event) => getChildrenLayout(event),
|
|
50
|
+
style: { opacity: active ? 0 : 1 },
|
|
51
|
+
pointerEvents: active ? "none" : "auto"
|
|
52
|
+
},
|
|
53
|
+
children
|
|
54
|
+
));
|
|
50
55
|
};
|
|
51
56
|
|
|
52
57
|
export { Skeleton as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/atoms/Skeleton/Skeleton.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { BorderRadiusType } from '@tecsinapse/react-core';\nimport { LayoutChangeEvent, View, ViewProps } from 'react-native';\nimport { Wrapper } from './styled';\nimport { Wave } from './Wave';\nimport { Pulse } from './Pulse';\nimport { ChildrenLayout } from './types';\n\nexport interface SkeletonProps extends ViewProps {\n width?: number;\n height?: number;\n radius?: BorderRadiusType;\n active?: boolean;\n animation?: 'wave' | 'pulse';\n}\n\nconst Skeleton: React.FC<SkeletonProps> = ({\n children,\n width,\n height,\n radius,\n active = true,\n animation = 'wave',\n ...rest\n}) => {\n const [childrenLayout, setChildrenLayout] = useState<ChildrenLayout>({\n width: 0,\n height: 0,\n y: 0,\n x: 0,\n });\n\n if (!width && !height && !children) {\n throw new Error(\n '[Skeleton] You should provide children or specify width and height'\n );\n }\n\n const getChildrenLayout = (event: LayoutChangeEvent) => {\n setChildrenLayout(event.nativeEvent.layout);\n };\n\n return (\n <Wrapper width={width} height={height} radius={radius} {...rest}>\n {active && animation === 'wave' ? (\n <Wave\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n\n {active && animation === 'pulse' ? (\n <Pulse\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n <View\n onLayout={event => getChildrenLayout(event)}\n style={{ opacity: active ? 0 : 1 }}\n pointerEvents={active ? 'none' : 'auto'}\n >\n {children}\n </View>\n </Wrapper>\n );\n};\n\nexport default Skeleton;\n"],"names":["React"],"mappings":";;;;;;AAgBA,MAAM,WAAoC,CAAC;AAAA,EACzC,QAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAS,GAAA,IAAA;AAAA,EACT,SAAY,GAAA,MAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/atoms/Skeleton/Skeleton.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { BorderRadiusType } from '@tecsinapse/react-core';\nimport { LayoutChangeEvent, View, ViewProps } from 'react-native';\nimport { Wrapper } from './styled';\nimport { Wave } from './Wave';\nimport { Pulse } from './Pulse';\nimport { ChildrenLayout } from './types';\n\nexport interface SkeletonProps extends ViewProps {\n width?: number;\n height?: number;\n radius?: BorderRadiusType;\n active?: boolean;\n animation?: 'wave' | 'pulse';\n}\n\nconst Skeleton: React.FC<SkeletonProps> = ({\n children,\n width,\n height,\n radius,\n active = true,\n animation = 'wave',\n ...rest\n}) => {\n const [childrenLayout, setChildrenLayout] = useState<ChildrenLayout>({\n width: 0,\n height: 0,\n y: 0,\n x: 0,\n });\n\n if (!width && !height && !children) {\n throw new Error(\n '[Skeleton] You should provide children or specify width and height'\n );\n }\n\n const getChildrenLayout = (event: LayoutChangeEvent) => {\n setChildrenLayout(event.nativeEvent.layout);\n };\n\n return (\n <Wrapper width={width} height={height} radius={radius} {...rest}>\n {active && animation === 'wave' ? (\n <Wave\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n\n {active && animation === 'pulse' ? (\n <Pulse\n active={active}\n width={width}\n height={height}\n childrenLayout={childrenLayout}\n />\n ) : (\n <></>\n )}\n <View\n onLayout={event => getChildrenLayout(event)}\n style={{ opacity: active ? 0 : 1 }}\n pointerEvents={active ? 'none' : 'auto'}\n >\n {children}\n </View>\n </Wrapper>\n );\n};\n\nexport default Skeleton;\n"],"names":["React"],"mappings":";;;;;;AAgBA,MAAM,WAAoC,CAAC;AAAA,EACzC,QAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAS,GAAA,IAAA;AAAA,EACT,SAAY,GAAA,MAAA;AAAA,EACZ,GAAG,IAAA;AACL,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAI,QAAyB,CAAA;AAAA,IACnE,KAAO,EAAA,CAAA;AAAA,IACP,MAAQ,EAAA,CAAA;AAAA,IACR,CAAG,EAAA,CAAA;AAAA,IACH,CAAG,EAAA,CAAA;AAAA,GACJ,CAAA,CAAA;AAED,EAAA,IAAI,CAAC,KAAA,IAAS,CAAC,MAAA,IAAU,CAAC,QAAU,EAAA;AAClC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,oEAAA;AAAA,KACF,CAAA;AAAA,GACF;AAEA,EAAM,MAAA,iBAAA,GAAoB,CAAC,KAA6B,KAAA;AACtD,IAAkB,iBAAA,CAAA,KAAA,CAAM,YAAY,MAAM,CAAA,CAAA;AAAA,GAC5C,CAAA;AAEA,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAC,WAAQ,KAAc,EAAA,MAAA,EAAgB,QAAiB,GAAG,IAAA,EAAA,EACxD,MAAU,IAAA,SAAA,KAAc,MACvB,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,cAAA;AAAA,KAAA;AAAA,GAGF,mBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAE,CAGH,EAAA,MAAA,IAAU,cAAc,OACvB,mBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,cAAA;AAAA,KAAA;AAAA,GACF,6EAEE,CAEJ,kBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,QAAA,EAAU,CAAS,KAAA,KAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,MAC1C,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,GAAS,IAAI,CAAE,EAAA;AAAA,MACjC,aAAA,EAAe,SAAS,MAAS,GAAA,MAAA;AAAA,KAAA;AAAA,IAEhC,QAAA;AAAA,GAEL,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React__default, { useRef, useEffect } from 'react';
|
|
2
2
|
import { Animated } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import * as RNGradient from 'react-native-linear-gradient';
|
|
4
4
|
import { waveAnimation } from './animation.js';
|
|
5
5
|
|
|
6
|
-
const AnimatedLinearGradient = Animated.createAnimatedComponent(
|
|
6
|
+
const AnimatedLinearGradient = Animated.createAnimatedComponent(
|
|
7
|
+
RNGradient.default ?? RNGradient.LinearGradient
|
|
8
|
+
);
|
|
7
9
|
const Wave = ({
|
|
8
10
|
active = true,
|
|
9
11
|
width,
|
|
@@ -19,30 +21,33 @@ const Wave = ({
|
|
|
19
21
|
useEffect(() => {
|
|
20
22
|
waveAnimation(active, animatedValue);
|
|
21
23
|
}, [active]);
|
|
22
|
-
return /* @__PURE__ */ React__default.createElement(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
24
|
+
return /* @__PURE__ */ React__default.createElement(
|
|
25
|
+
AnimatedLinearGradient,
|
|
26
|
+
{
|
|
27
|
+
colors: [
|
|
28
|
+
"transparent",
|
|
29
|
+
"rgba(0,0,0,0.05)",
|
|
30
|
+
"rgba(0,0,0,0.1)",
|
|
31
|
+
"transparent"
|
|
32
|
+
],
|
|
33
|
+
start: { x: 0, y: 0 },
|
|
34
|
+
end: { x: 1, y: 0 },
|
|
35
|
+
style: {
|
|
36
|
+
width: width ?? childrenLayout.width,
|
|
37
|
+
height: height ?? childrenLayout.height,
|
|
38
|
+
position: "absolute",
|
|
39
|
+
top: childrenLayout.y ?? 0,
|
|
40
|
+
left: childrenLayout.x ?? 0,
|
|
41
|
+
zIndex: 2,
|
|
42
|
+
overflow: "hidden",
|
|
43
|
+
transform: [
|
|
44
|
+
{
|
|
45
|
+
translateX
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
}
|
|
44
49
|
}
|
|
45
|
-
|
|
50
|
+
);
|
|
46
51
|
};
|
|
47
52
|
|
|
48
53
|
export { Wave };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wave.js","sources":["../../../../../src/components/atoms/Skeleton/Wave.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\nimport
|
|
1
|
+
{"version":3,"file":"Wave.js","sources":["../../../../../src/components/atoms/Skeleton/Wave.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Animated } from 'react-native';\nimport * as RNGradient from 'react-native-linear-gradient';\nimport { waveAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(\n RNGradient.default ?? RNGradient.LinearGradient\n);\n\nexport const Wave = ({\n active = true,\n width,\n height,\n childrenLayout,\n}: IAnimationComponent) => {\n const range = width ?? childrenLayout.width;\n const animatedValue = useRef(new Animated.Value(0)).current;\n\n const translateX = animatedValue.interpolate({\n inputRange: [0, 1],\n outputRange: [-range, range],\n });\n\n useEffect(() => {\n waveAnimation(active, animatedValue);\n }, [active]);\n\n return (\n <AnimatedLinearGradient\n colors={[\n 'transparent',\n 'rgba(0,0,0,0.05)',\n 'rgba(0,0,0,0.1)',\n 'transparent',\n ]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={{\n width: width ?? childrenLayout.width,\n height: height ?? childrenLayout.height,\n position: 'absolute',\n top: childrenLayout.y ?? 0,\n left: childrenLayout.x ?? 0,\n zIndex: 2,\n overflow: 'hidden',\n transform: [\n {\n translateX: translateX,\n },\n ],\n }}\n />\n );\n};\n"],"names":["React"],"mappings":";;;;;AAMA,MAAM,yBAAyB,QAAS,CAAA,uBAAA;AAAA,EACtC,UAAA,CAAW,WAAW,UAAW,CAAA,cAAA;AACnC,CAAA,CAAA;AAEO,MAAM,OAAO,CAAC;AAAA,EACnB,MAAS,GAAA,IAAA;AAAA,EACT,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AACF,CAA2B,KAAA;AACzB,EAAM,MAAA,KAAA,GAAQ,SAAS,cAAe,CAAA,KAAA,CAAA;AACtC,EAAA,MAAM,gBAAgB,MAAO,CAAA,IAAI,SAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AAEpD,EAAM,MAAA,UAAA,GAAa,cAAc,WAAY,CAAA;AAAA,IAC3C,UAAA,EAAY,CAAC,CAAA,EAAG,CAAC,CAAA;AAAA,IACjB,WAAa,EAAA,CAAC,CAAC,KAAA,EAAO,KAAK,CAAA;AAAA,GAC5B,CAAA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,aAAA,CAAc,QAAQ,aAAa,CAAA,CAAA;AAAA,GACrC,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EACE,uBAAAA,cAAA,CAAA,aAAA;AAAA,IAAC,sBAAA;AAAA,IAAA;AAAA,MACC,MAAQ,EAAA;AAAA,QACN,aAAA;AAAA,QACA,kBAAA;AAAA,QACA,iBAAA;AAAA,QACA,aAAA;AAAA,OACF;AAAA,MACA,KAAO,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,MACpB,GAAK,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,MAClB,KAAO,EAAA;AAAA,QACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,QAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,QACjC,QAAU,EAAA,UAAA;AAAA,QACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,QACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,QAC1B,MAAQ,EAAA,CAAA;AAAA,QACR,QAAU,EAAA,QAAA;AAAA,QACV,SAAW,EAAA;AAAA,UACT;AAAA,YACE,UAAA;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","sources":["../../../../../src/components/atoms/Skeleton/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport { RFValueStr, StyleProps } from '@tecsinapse/react-core';\nimport { SkeletonProps } from './Skeleton';\n\nexport const Wrapper = styled.View<Partial<StyleProps & SkeletonProps>>`\n width: ${({ width }) => (width ? `${RFValueStr(`${width}px`)}` : '100%')};\n height: ${({ height }) => (height ? `${RFValueStr(`${height}px`)}` : 'auto')};\n border-radius: ${({ theme, radius }: StyleProps & Partial<SkeletonProps>) =>\n radius ? theme.borderRadius[radius] : 0};\n overflow: hidden;\n position: relative;\n`;\n"],"names":[],"mappings":";;;AAIO,MAAM,UAAU,MAAO,CAAA,IAAA,CAAA;AAAA,SACnB,EAAA,CAAC,EAAE,KAAM,EAAA,KAAO,QAAQ,CAAG,EAAA,UAAA,CAAW,CAAG,EAAA,KAAA,CAAA,EAAA,CAAS,CAAM,CAAA,CAAA,GAAA,MAAA,CAAA;AAAA,UACvD,EAAA,CAAC,EAAE,MAAO,EAAA,KAAO,SAAS,CAAG,EAAA,UAAA,CAAW,CAAG,EAAA,MAAA,CAAA,EAAA,CAAU,CAAM,CAAA,CAAA,GAAA,MAAA,CAAA;AAAA,iBACpD,EAAA,CAAC,EAAE,KAAO,EAAA,MAAA,OACzB,MAAS,GAAA,KAAA,CAAM,
|
|
1
|
+
{"version":3,"file":"styled.js","sources":["../../../../../src/components/atoms/Skeleton/styled.ts"],"sourcesContent":["import styled from '@emotion/native';\nimport { RFValueStr, StyleProps } from '@tecsinapse/react-core';\nimport { SkeletonProps } from './Skeleton';\n\nexport const Wrapper = styled.View<Partial<StyleProps & SkeletonProps>>`\n width: ${({ width }) => (width ? `${RFValueStr(`${width}px`)}` : '100%')};\n height: ${({ height }) => (height ? `${RFValueStr(`${height}px`)}` : 'auto')};\n border-radius: ${({ theme, radius }: StyleProps & Partial<SkeletonProps>) =>\n radius ? theme.borderRadius[radius] : 0};\n overflow: hidden;\n position: relative;\n`;\n"],"names":[],"mappings":";;;AAIO,MAAM,UAAU,MAAO,CAAA,IAAA,CAAA;AAAA,SACnB,EAAA,CAAC,EAAE,KAAM,EAAA,KAAO,QAAQ,CAAG,EAAA,UAAA,CAAW,CAAG,EAAA,KAAA,CAAA,EAAA,CAAS,CAAM,CAAA,CAAA,GAAA,MAAA,CAAA;AAAA,UACvD,EAAA,CAAC,EAAE,MAAO,EAAA,KAAO,SAAS,CAAG,EAAA,UAAA,CAAW,CAAG,EAAA,MAAA,CAAA,EAAA,CAAU,CAAM,CAAA,CAAA,GAAA,MAAA,CAAA;AAAA,iBACpD,EAAA,CAAC,EAAE,KAAO,EAAA,MAAA,OACzB,MAAS,GAAA,KAAA,CAAM,YAAa,CAAA,MAAM,CAAI,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;;;;"}
|