@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.
Files changed (227) hide show
  1. package/dist/cjs/components/atoms/Avatar/Avatar.js +1 -8
  2. package/dist/cjs/components/atoms/Avatar/Avatar.js.map +1 -1
  3. package/dist/cjs/components/atoms/Badge/Badge.js +8 -12
  4. package/dist/cjs/components/atoms/Badge/Badge.js.map +1 -1
  5. package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js +14 -16
  6. package/dist/cjs/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
  7. package/dist/cjs/components/atoms/BottomNavigator/Item.d.ts +3 -3
  8. package/dist/cjs/components/atoms/BottomNavigator/Item.js +4 -12
  9. package/dist/cjs/components/atoms/BottomNavigator/Item.js.map +1 -1
  10. package/dist/cjs/components/atoms/BottomNavigator/styled.js +4 -10
  11. package/dist/cjs/components/atoms/BottomNavigator/styled.js.map +1 -1
  12. package/dist/cjs/components/atoms/Button/Button.d.ts +1 -1
  13. package/dist/cjs/components/atoms/Button/Button.js +1 -10
  14. package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
  15. package/dist/cjs/components/atoms/Button/States/Error.js +1 -8
  16. package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
  17. package/dist/cjs/components/atoms/Button/States/Loading.js +1 -8
  18. package/dist/cjs/components/atoms/Button/States/Loading.js.map +1 -1
  19. package/dist/cjs/components/atoms/Button/States/Success.js +1 -8
  20. package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
  21. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
  22. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js +1 -8
  23. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  24. package/dist/cjs/components/atoms/Header/Header.d.ts +1 -1
  25. package/dist/cjs/components/atoms/Header/Header.js +14 -33
  26. package/dist/cjs/components/atoms/Header/Header.js.map +1 -1
  27. package/dist/cjs/components/atoms/Header/styled.js +3 -9
  28. package/dist/cjs/components/atoms/Header/styled.js.map +1 -1
  29. package/dist/cjs/components/atoms/Input/Input.js +37 -38
  30. package/dist/cjs/components/atoms/Input/Input.js.map +1 -1
  31. package/dist/cjs/components/atoms/Input/styled.js +2 -8
  32. package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
  33. package/dist/cjs/components/atoms/InputMask/InputMask.js +37 -40
  34. package/dist/cjs/components/atoms/InputMask/InputMask.js.map +1 -1
  35. package/dist/cjs/components/atoms/InputMask/styled.js +3 -9
  36. package/dist/cjs/components/atoms/InputMask/styled.js.map +1 -1
  37. package/dist/cjs/components/atoms/Modal/ModalGroupManager.js +11 -13
  38. package/dist/cjs/components/atoms/Modal/ModalGroupManager.js.map +1 -1
  39. package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js +47 -7
  40. package/dist/cjs/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
  41. package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js +20 -21
  42. package/dist/cjs/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
  43. package/dist/cjs/components/atoms/Modal/ui/styled.js +3 -9
  44. package/dist/cjs/components/atoms/Modal/ui/styled.js.map +1 -1
  45. package/dist/cjs/components/atoms/Modal/ui/types.d.ts +2 -1
  46. package/dist/cjs/components/atoms/Modal/useLazyModalManager.js +0 -2
  47. package/dist/cjs/components/atoms/Modal/useLazyModalManager.js.map +1 -1
  48. package/dist/cjs/components/atoms/Modal/useModalManager.js +0 -2
  49. package/dist/cjs/components/atoms/Modal/useModalManager.js.map +1 -1
  50. package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js +0 -2
  51. package/dist/cjs/components/atoms/Modal/useModalRemoteControl.js.map +1 -1
  52. package/dist/cjs/components/atoms/Skeleton/Pulse.d.ts +1 -0
  53. package/dist/cjs/components/atoms/Skeleton/Pulse.js +15 -18
  54. package/dist/cjs/components/atoms/Skeleton/Pulse.js.map +1 -1
  55. package/dist/cjs/components/atoms/Skeleton/Skeleton.js +25 -24
  56. package/dist/cjs/components/atoms/Skeleton/Skeleton.js.map +1 -1
  57. package/dist/cjs/components/atoms/Skeleton/Wave.d.ts +1 -0
  58. package/dist/cjs/components/atoms/Skeleton/Wave.js +47 -30
  59. package/dist/cjs/components/atoms/Skeleton/Wave.js.map +1 -1
  60. package/dist/cjs/components/atoms/Skeleton/animation.js +0 -2
  61. package/dist/cjs/components/atoms/Skeleton/animation.js.map +1 -1
  62. package/dist/cjs/components/atoms/Skeleton/styled.js +1 -7
  63. package/dist/cjs/components/atoms/Skeleton/styled.js.map +1 -1
  64. package/dist/cjs/components/atoms/Skeleton/types.d.ts +1 -1
  65. package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js +30 -23
  66. package/dist/cjs/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
  67. package/dist/cjs/components/atoms/Tag/Tag.js +17 -14
  68. package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
  69. package/dist/cjs/components/atoms/Text/Text.d.ts +1 -1
  70. package/dist/cjs/components/atoms/Text/Text.js +1 -7
  71. package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
  72. package/dist/cjs/components/atoms/Text/styled.js +1 -7
  73. package/dist/cjs/components/atoms/Text/styled.js.map +1 -1
  74. package/dist/cjs/components/atoms/TextArea/TextArea.d.ts +1 -1
  75. package/dist/cjs/components/atoms/TextArea/TextArea.js +42 -39
  76. package/dist/cjs/components/atoms/TextArea/TextArea.js.map +1 -1
  77. package/dist/cjs/components/atoms/TextArea/styled.js +1 -7
  78. package/dist/cjs/components/atoms/TextArea/styled.js.map +1 -1
  79. package/dist/cjs/components/molecules/Calendar/Calendar.d.ts +1 -0
  80. package/dist/cjs/components/molecules/Calendar/Calendar.js +8 -11
  81. package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
  82. package/dist/cjs/components/molecules/DatePicker/DatePicker.d.ts +2 -1
  83. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +14 -22
  84. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  85. package/dist/cjs/components/molecules/DatePicker/styled.js +1 -7
  86. package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
  87. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
  88. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +13 -20
  89. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  90. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -11
  91. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  92. package/dist/cjs/components/molecules/Grid/Grid.d.ts +2 -1
  93. package/dist/cjs/components/molecules/Grid/Grid.js +38 -30
  94. package/dist/cjs/components/molecules/Grid/Grid.js.map +1 -1
  95. package/dist/cjs/components/molecules/Grid/Item/Item.d.ts +3 -2
  96. package/dist/cjs/components/molecules/Grid/Item/Item.js +3 -10
  97. package/dist/cjs/components/molecules/Grid/Item/Item.js.map +1 -1
  98. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
  99. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js +25 -24
  100. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  101. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js +13 -13
  102. package/dist/cjs/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  103. package/dist/cjs/components/molecules/IconTextButton/styled.js +2 -8
  104. package/dist/cjs/components/molecules/IconTextButton/styled.js.map +1 -1
  105. package/dist/cjs/components/molecules/InputPassword/InputPassword.d.ts +1 -1
  106. package/dist/cjs/components/molecules/InputPassword/InputPassword.js +17 -15
  107. package/dist/cjs/components/molecules/InputPassword/InputPassword.js.map +1 -1
  108. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js +11 -13
  109. package/dist/cjs/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  110. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
  111. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -26
  112. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  113. package/dist/cjs/components/molecules/LabeledSwitch/styled.js +2 -8
  114. package/dist/cjs/components/molecules/LabeledSwitch/styled.js.map +1 -1
  115. package/dist/cjs/components/molecules/Select/Modal.d.ts +1 -0
  116. package/dist/cjs/components/molecules/Select/Modal.js +93 -78
  117. package/dist/cjs/components/molecules/Select/Modal.js.map +1 -1
  118. package/dist/cjs/components/molecules/Select/Select.d.ts +1 -0
  119. package/dist/cjs/components/molecules/Select/Select.js +56 -49
  120. package/dist/cjs/components/molecules/Select/Select.js.map +1 -1
  121. package/dist/cjs/components/molecules/Select/styled.js +14 -20
  122. package/dist/cjs/components/molecules/Select/styled.js.map +1 -1
  123. package/dist/cjs/components/molecules/Snackbar/Snackbar.js +1 -11
  124. package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
  125. package/dist/cjs/components/molecules/Snackbar/styled.js +1 -7
  126. package/dist/cjs/components/molecules/Snackbar/styled.js.map +1 -1
  127. package/dist/cjs/index.js +0 -2
  128. package/dist/cjs/index.js.map +1 -1
  129. package/dist/cjs/utils/date.js +3 -6
  130. package/dist/cjs/utils/date.js.map +1 -1
  131. package/dist/esm/components/atoms/Avatar/Avatar.js +1 -4
  132. package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
  133. package/dist/esm/components/atoms/Badge/Badge.js +8 -8
  134. package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
  135. package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js +11 -12
  136. package/dist/esm/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
  137. package/dist/esm/components/atoms/BottomNavigator/Item.d.ts +3 -3
  138. package/dist/esm/components/atoms/BottomNavigator/Item.js +1 -8
  139. package/dist/esm/components/atoms/BottomNavigator/Item.js.map +1 -1
  140. package/dist/esm/components/atoms/BottomNavigator/styled.js.map +1 -1
  141. package/dist/esm/components/atoms/Button/Button.d.ts +1 -1
  142. package/dist/esm/components/atoms/Button/Button.js +1 -4
  143. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  144. package/dist/esm/components/atoms/Button/States/Error.js +1 -4
  145. package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
  146. package/dist/esm/components/atoms/Button/States/Loading.js +1 -4
  147. package/dist/esm/components/atoms/Button/States/Loading.js.map +1 -1
  148. package/dist/esm/components/atoms/Button/States/Success.js +1 -4
  149. package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
  150. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.d.ts +1 -0
  151. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js +1 -4
  152. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  153. package/dist/esm/components/atoms/Header/Header.d.ts +1 -1
  154. package/dist/esm/components/atoms/Header/Header.js +11 -29
  155. package/dist/esm/components/atoms/Header/Header.js.map +1 -1
  156. package/dist/esm/components/atoms/Input/Input.js +36 -33
  157. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  158. package/dist/esm/components/atoms/InputMask/InputMask.js +36 -35
  159. package/dist/esm/components/atoms/InputMask/InputMask.js.map +1 -1
  160. package/dist/esm/components/atoms/Modal/ModalGroupManager.js +11 -7
  161. package/dist/esm/components/atoms/Modal/ModalGroupManager.js.map +1 -1
  162. package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js +46 -0
  163. package/dist/esm/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
  164. package/dist/esm/components/atoms/Modal/ui/BaseModalView.js +20 -15
  165. package/dist/esm/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
  166. package/dist/esm/components/atoms/Modal/ui/types.d.ts +2 -1
  167. package/dist/esm/components/atoms/Skeleton/Pulse.d.ts +1 -0
  168. package/dist/esm/components/atoms/Skeleton/Pulse.js +15 -12
  169. package/dist/esm/components/atoms/Skeleton/Pulse.js.map +1 -1
  170. package/dist/esm/components/atoms/Skeleton/Skeleton.js +25 -20
  171. package/dist/esm/components/atoms/Skeleton/Skeleton.js.map +1 -1
  172. package/dist/esm/components/atoms/Skeleton/Wave.d.ts +1 -0
  173. package/dist/esm/components/atoms/Skeleton/Wave.js +30 -25
  174. package/dist/esm/components/atoms/Skeleton/Wave.js.map +1 -1
  175. package/dist/esm/components/atoms/Skeleton/styled.js.map +1 -1
  176. package/dist/esm/components/atoms/Skeleton/types.d.ts +1 -1
  177. package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js +27 -19
  178. package/dist/esm/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
  179. package/dist/esm/components/atoms/Tag/Tag.js +17 -10
  180. package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
  181. package/dist/esm/components/atoms/Text/Text.d.ts +1 -1
  182. package/dist/esm/components/atoms/Text/Text.js +1 -3
  183. package/dist/esm/components/atoms/Text/Text.js.map +1 -1
  184. package/dist/esm/components/atoms/Text/styled.js.map +1 -1
  185. package/dist/esm/components/atoms/TextArea/TextArea.d.ts +1 -1
  186. package/dist/esm/components/atoms/TextArea/TextArea.js +42 -35
  187. package/dist/esm/components/atoms/TextArea/TextArea.js.map +1 -1
  188. package/dist/esm/components/molecules/Calendar/Calendar.d.ts +1 -0
  189. package/dist/esm/components/molecules/Calendar/Calendar.js +8 -5
  190. package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
  191. package/dist/esm/components/molecules/DatePicker/DatePicker.d.ts +2 -1
  192. package/dist/esm/components/molecules/DatePicker/DatePicker.js +14 -16
  193. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  194. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.d.ts +1 -1
  195. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +13 -14
  196. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  197. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +8 -5
  198. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  199. package/dist/esm/components/molecules/Grid/Grid.d.ts +2 -1
  200. package/dist/esm/components/molecules/Grid/Grid.js +38 -26
  201. package/dist/esm/components/molecules/Grid/Grid.js.map +1 -1
  202. package/dist/esm/components/molecules/Grid/Item/Item.d.ts +3 -2
  203. package/dist/esm/components/molecules/Grid/Item/Item.js +1 -4
  204. package/dist/esm/components/molecules/Grid/Item/Item.js.map +1 -1
  205. package/dist/esm/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
  206. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js +25 -20
  207. package/dist/esm/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
  208. package/dist/esm/components/molecules/IconTextButton/TextComponent.js +12 -8
  209. package/dist/esm/components/molecules/IconTextButton/TextComponent.js.map +1 -1
  210. package/dist/esm/components/molecules/InputPassword/InputPassword.d.ts +1 -1
  211. package/dist/esm/components/molecules/InputPassword/InputPassword.js +16 -10
  212. package/dist/esm/components/molecules/InputPassword/InputPassword.js.map +1 -1
  213. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js +10 -8
  214. package/dist/esm/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
  215. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +1 -1
  216. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +31 -22
  217. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
  218. package/dist/esm/components/molecules/Select/Modal.d.ts +1 -0
  219. package/dist/esm/components/molecules/Select/Modal.js +90 -72
  220. package/dist/esm/components/molecules/Select/Modal.js.map +1 -1
  221. package/dist/esm/components/molecules/Select/Select.d.ts +1 -0
  222. package/dist/esm/components/molecules/Select/Select.js +53 -45
  223. package/dist/esm/components/molecules/Select/Select.js.map +1 -1
  224. package/dist/esm/components/molecules/Snackbar/Snackbar.js +1 -7
  225. package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  226. package/dist/esm/utils/date.js.map +1 -1
  227. 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
- style
47
- }, /* @__PURE__ */ React__default.createElement(StyledInputContainer, {
48
- label: String(value) ? label : void 0,
49
- labelColor,
50
- labelColorVariant,
51
- labelColorTone,
52
- labelTypography,
53
- labelStack,
54
- labelWeight,
55
- LabelComponent: Text,
56
- leftComponent,
57
- rightComponent,
58
- borderColor,
59
- borderColorGradation,
60
- inputContainerStyle,
61
- focused,
62
- disabled,
63
- variant
64
- }, /* @__PURE__ */ React__default.createElement(StyledNativeInputMask, {
65
- ...rest,
66
- placeholder: onlyLabel ? label : placeholder,
67
- value,
68
- ref,
69
- fontStack: inputFontStack,
70
- fontWeight: inputFontWeight,
71
- disabled,
72
- onFocus: handleFocus,
73
- onBlur: handleBlur
74
- })), hint && _hint);
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,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAM,MAAA,KAAA,GAAQ,iCACXA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MAAK,aAAe,EAAA,IAAA;AAAA,MAAM,IAAM,EAAA,IAAA;AAAA,MAAM,OAAA;AAAA,KAAkB,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,IAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,MAAK,KAAA;AAAA,KAAA,kBACHA,cAAA,CAAA,aAAA,CAAA,oBAAA,EAAA;AAAA,MACC,KAAO,EAAA,MAAA,CAAO,KAAK,CAAA,GAAI,KAAQ,GAAA,KAAA,CAAA;AAAA,MAC/B,UAAA;AAAA,MACA,iBAAA;AAAA,MACA,cAAA;AAAA,MACA,eAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAgB,EAAA,IAAA;AAAA,MAChB,aAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MACA,oBAAA;AAAA,MACA,mBAAA;AAAA,MACA,OAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,KAAA,kBAECA,cAAA,CAAA,aAAA,CAAA,qBAAA,EAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,WAAA,EAAa,YAAY,KAAQ,GAAA,WAAA;AAAA,MACjC,KAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAW,EAAA,cAAA;AAAA,MACX,UAAY,EAAA,eAAA;AAAA,MACZ,QAAA;AAAA,MACA,OAAS,EAAA,WAAA;AAAA,MACT,MAAQ,EAAA,UAAA;AAAA,KACV,CACF,CACC,EAAA,IAAA,IAAQ,KACX,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,SAAA,CAAU,WAAc,GAAA,WAAA;;;;"}
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(Modal, {
11
- transparent: true,
12
- statusBarTranslucent: true,
13
- animationType: "none",
14
- visible: hasModals,
15
- ...others
16
- }, _render));
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,iBAAoC,GAAA,CAAC,EAAE,QAAA,EAAA,GAAa,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,EACE,uBAAAA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,EACG,0BACAA,cAAA,CAAA,aAAA,CAAAC,KAAA,EAAA;AAAA,IACC,WAAW,EAAA,IAAA;AAAA,IACX,oBAAoB,EAAA,IAAA;AAAA,IACpB,aAAc,EAAA,MAAA;AAAA,IACd,OAAS,EAAA,SAAA;AAAA,IACR,GAAG,MAAA;AAAA,GAAA,EAEH,OACH,CACF,CAAA,CAAA;AAEJ;;;;"}
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":"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"}
@@ -122,21 +122,26 @@ const ModalView = ({
122
122
  hideEvent.remove();
123
123
  };
124
124
  }, []);
125
- return /* @__PURE__ */ React__default.createElement(StyledPressableBackDrop, {
126
- onPress: !frozen ? close : void 0
127
- }, /* @__PURE__ */ React__default.createElement(BackDropView, {
128
- style: { backgroundColor: backgroundInterpolation }
129
- }, /* @__PURE__ */ React__default.createElement(Animated.View, {
130
- style: {
131
- paddingBottom: isLastShown ? getKeyboardHeight(keyboardOpened) : 0,
132
- opacity: opacityCarrier,
133
- transform: [{ translateY: translationCarrier }]
134
- }
135
- }, /* @__PURE__ */ React__default.createElement(Pressable, null, /* @__PURE__ */ React__default.createElement(BoxComponent, {
136
- onLayout: handleBoxLayoutChanges,
137
- style: { paddingBottom: offset },
138
- variant: "bottom"
139
- }, showCloseBar && /* @__PURE__ */ React__default.createElement(CloseBar, null), children)))));
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
  }
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import { IAnimationComponent } from './types';
2
3
  export declare const Pulse: ({ active, width, height, childrenLayout, }: IAnimationComponent) => JSX.Element;
@@ -12,19 +12,22 @@ const Pulse = ({
12
12
  useEffect(() => {
13
13
  pulseAnimation(active, animatedValue);
14
14
  }, [active]);
15
- return /* @__PURE__ */ React__default.createElement(Animated.View, {
16
- style: {
17
- width: width ?? childrenLayout.width,
18
- height: height ?? childrenLayout.height,
19
- backgroundColor: "rgba(0,0,0,0.05)",
20
- position: "absolute",
21
- top: childrenLayout.x ?? 0,
22
- left: childrenLayout.y ?? 0,
23
- zIndex: 2,
24
- overflow: "hidden",
25
- opacity: animatedValue
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,CAAC,SAAS,IAAT,EAAA;AAAA,IACC,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,MAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,MACjC,eAAiB,EAAA,kBAAA;AAAA,MACjB,QAAU,EAAA,UAAA;AAAA,MACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,MACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,MAC1B,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,QAAA;AAAA,MACV,OAAS,EAAA,aAAA;AAAA,KACX;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
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
- width,
32
- height,
33
- radius,
34
- ...rest
35
- }, active && animation === "wave" ? /* @__PURE__ */ React__default.createElement(Wave, {
36
- active,
37
- width,
38
- height,
39
- childrenLayout
40
- }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), active && animation === "pulse" ? /* @__PURE__ */ React__default.createElement(Pulse, {
41
- active,
42
- width,
43
- height,
44
- childrenLayout
45
- }) : /* @__PURE__ */ React__default.createElement(React__default.Fragment, null), /* @__PURE__ */ React__default.createElement(View, {
46
- onLayout: (event) => getChildrenLayout(event),
47
- style: { opacity: active ? 0 : 1 },
48
- pointerEvents: active ? "none" : "auto"
49
- }, children));
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,EACT,GAAA,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,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,OAAA,EAAA;AAAA,IAAQ,KAAA;AAAA,IAAc,MAAA;AAAA,IAAgB,MAAA;AAAA,IAAiB,GAAG,IAAA;AAAA,GACxD,EAAA,MAAA,IAAU,SAAc,KAAA,MAAA,mBACtBA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,GACF,oBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,EAGH,MAAU,IAAA,SAAA,KAAc,0BACtBA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACC,MAAA;AAAA,IACA,KAAA;AAAA,IACA,MAAA;AAAA,IACA,cAAA;AAAA,GACF,CAAA,mBAEEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA,CAAA,kBAEHA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,QAAA,EAAU,CAAS,KAAA,KAAA,iBAAA,CAAkB,KAAK,CAAA;AAAA,IAC1C,KAAO,EAAA,EAAE,OAAS,EAAA,MAAA,GAAS,IAAI,CAAE,EAAA;AAAA,IACjC,aAAA,EAAe,SAAS,MAAS,GAAA,MAAA;AAAA,GAAA,EAEhC,QACH,CACF,CAAA,CAAA;AAEJ;;;;"}
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,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import { IAnimationComponent } from './types';
2
3
  export declare const Wave: ({ active, width, height, childrenLayout, }: IAnimationComponent) => JSX.Element;
@@ -1,9 +1,11 @@
1
1
  import React__default, { useRef, useEffect } from 'react';
2
2
  import { Animated } from 'react-native';
3
- import LinearGradient from 'react-native-linear-gradient';
3
+ import * as RNGradient from 'react-native-linear-gradient';
4
4
  import { waveAnimation } from './animation.js';
5
5
 
6
- const AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);
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(AnimatedLinearGradient, {
23
- colors: [
24
- "transparent",
25
- "rgba(0,0,0,0.05)",
26
- "rgba(0,0,0,0.1)",
27
- "transparent"
28
- ],
29
- start: { x: 0, y: 0 },
30
- end: { x: 1, y: 0 },
31
- style: {
32
- width: width ?? childrenLayout.width,
33
- height: height ?? childrenLayout.height,
34
- position: "absolute",
35
- top: childrenLayout.y ?? 0,
36
- left: childrenLayout.x ?? 0,
37
- zIndex: 2,
38
- overflow: "hidden",
39
- transform: [
40
- {
41
- translateX
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 LinearGradient from 'react-native-linear-gradient';\nimport { waveAnimation } from './animation';\nimport { IAnimationComponent } from './types';\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\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,sBAAA,GAAyB,QAAS,CAAA,uBAAA,CAAwB,cAAc,CAAA,CAAA;AAEvE,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,EAAA,uBACGA,cAAA,CAAA,aAAA,CAAA,sBAAA,EAAA;AAAA,IACC,MAAQ,EAAA;AAAA,MACN,aAAA;AAAA,MACA,kBAAA;AAAA,MACA,iBAAA;AAAA,MACA,aAAA;AAAA,KACF;AAAA,IACA,KAAO,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,IACpB,GAAK,EAAA,EAAE,CAAG,EAAA,CAAA,EAAG,GAAG,CAAE,EAAA;AAAA,IAClB,KAAO,EAAA;AAAA,MACL,KAAA,EAAO,SAAS,cAAe,CAAA,KAAA;AAAA,MAC/B,MAAA,EAAQ,UAAU,cAAe,CAAA,MAAA;AAAA,MACjC,QAAU,EAAA,UAAA;AAAA,MACV,GAAA,EAAK,eAAe,CAAK,IAAA,CAAA;AAAA,MACzB,IAAA,EAAM,eAAe,CAAK,IAAA,CAAA;AAAA,MAC1B,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,QAAA;AAAA,MACV,SAAW,EAAA;AAAA,QACT;AAAA,UACE,UAAA;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
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,aAAa,MAAU,CAAA,GAAA,CAAA,CAAA;AAAA;AAAA;AAAA;;;;"}
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;;;;"}