@tecsinapse/react-core 1.21.7 → 1.22.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 (233) hide show
  1. package/dist/cjs/components/atoms/BoxContent/BoxContent.js +4 -31
  2. package/dist/cjs/components/atoms/BoxContent/BoxContent.js.map +1 -1
  3. package/dist/cjs/components/atoms/BoxContent/styled.js +1 -1
  4. package/dist/cjs/components/atoms/BoxContent/styled.js.map +1 -1
  5. package/dist/cjs/components/atoms/Button/Button.js +18 -61
  6. package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
  7. package/dist/cjs/components/atoms/Button/States/Error.js +5 -23
  8. package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
  9. package/dist/cjs/components/atoms/Button/States/Success.js +3 -21
  10. package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
  11. package/dist/cjs/components/atoms/Card/Card.js +12 -45
  12. package/dist/cjs/components/atoms/Card/Card.js.map +1 -1
  13. package/dist/cjs/components/atoms/Checkbox/Checkbox.js +13 -51
  14. package/dist/cjs/components/atoms/Checkbox/Checkbox.js.map +1 -1
  15. package/dist/cjs/components/atoms/Divider/Divider.js +4 -31
  16. package/dist/cjs/components/atoms/Divider/Divider.js.map +1 -1
  17. package/dist/cjs/components/atoms/GroupButton/GroupButton.js +19 -57
  18. package/dist/cjs/components/atoms/GroupButton/GroupButton.js.map +1 -1
  19. package/dist/cjs/components/atoms/GroupButton/styled.js +11 -11
  20. package/dist/cjs/components/atoms/GroupButton/styled.js.map +1 -1
  21. package/dist/cjs/components/atoms/Icon/AntDesign.js +6 -37
  22. package/dist/cjs/components/atoms/Icon/AntDesign.js.map +1 -1
  23. package/dist/cjs/components/atoms/Icon/Entypo.js +6 -37
  24. package/dist/cjs/components/atoms/Icon/Entypo.js.map +1 -1
  25. package/dist/cjs/components/atoms/Icon/Evil.js +6 -37
  26. package/dist/cjs/components/atoms/Icon/Evil.js.map +1 -1
  27. package/dist/cjs/components/atoms/Icon/Feather.js +6 -37
  28. package/dist/cjs/components/atoms/Icon/Feather.js.map +1 -1
  29. package/dist/cjs/components/atoms/Icon/FontAwesome.js +6 -37
  30. package/dist/cjs/components/atoms/Icon/FontAwesome.js.map +1 -1
  31. package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js +6 -37
  32. package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
  33. package/dist/cjs/components/atoms/Icon/Fontisto.js +6 -37
  34. package/dist/cjs/components/atoms/Icon/Fontisto.js.map +1 -1
  35. package/dist/cjs/components/atoms/Icon/Foundation.js +6 -37
  36. package/dist/cjs/components/atoms/Icon/Foundation.js.map +1 -1
  37. package/dist/cjs/components/atoms/Icon/Icon.js +13 -54
  38. package/dist/cjs/components/atoms/Icon/Icon.js.map +1 -1
  39. package/dist/cjs/components/atoms/Icon/Ionicon.js +6 -37
  40. package/dist/cjs/components/atoms/Icon/Ionicon.js.map +1 -1
  41. package/dist/cjs/components/atoms/Icon/Material.js +6 -37
  42. package/dist/cjs/components/atoms/Icon/Material.js.map +1 -1
  43. package/dist/cjs/components/atoms/Icon/MaterialCommunity.js +11 -45
  44. package/dist/cjs/components/atoms/Icon/MaterialCommunity.js.map +1 -1
  45. package/dist/cjs/components/atoms/Icon/Octicon.js +6 -37
  46. package/dist/cjs/components/atoms/Icon/Octicon.js.map +1 -1
  47. package/dist/cjs/components/atoms/Icon/SimpleLine.js +6 -37
  48. package/dist/cjs/components/atoms/Icon/SimpleLine.js.map +1 -1
  49. package/dist/cjs/components/atoms/Icon/Zocial.js +6 -37
  50. package/dist/cjs/components/atoms/Icon/Zocial.js.map +1 -1
  51. package/dist/cjs/components/atoms/Icon/functions.d.ts +1 -2
  52. package/dist/cjs/components/atoms/Icon/functions.js +29 -28
  53. package/dist/cjs/components/atoms/Icon/functions.js.map +1 -1
  54. package/dist/cjs/components/atoms/Icon/styled.d.ts +3 -0
  55. package/dist/cjs/components/atoms/Icon/styled.js +17 -0
  56. package/dist/cjs/components/atoms/Icon/styled.js.map +1 -0
  57. package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js +21 -67
  58. package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  59. package/dist/cjs/components/atoms/Input/InputElement/InputElement.js +11 -47
  60. package/dist/cjs/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  61. package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js +15 -52
  62. package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  63. package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +11 -43
  64. package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  65. package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js +1 -17
  66. package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  67. package/dist/cjs/components/atoms/Input/hooks/useStringMask.js +2 -2
  68. package/dist/cjs/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  69. package/dist/cjs/components/atoms/Input/styled.js +1 -1
  70. package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
  71. package/dist/cjs/components/atoms/Paper/Paper.js +8 -43
  72. package/dist/cjs/components/atoms/Paper/Paper.js.map +1 -1
  73. package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js +12 -49
  74. package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  75. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js +16 -52
  76. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  77. package/dist/cjs/components/atoms/RadioButton/RadioButton.js +13 -51
  78. package/dist/cjs/components/atoms/RadioButton/RadioButton.js.map +1 -1
  79. package/dist/cjs/components/atoms/Switch/Switch.js +14 -53
  80. package/dist/cjs/components/atoms/Switch/Switch.js.map +1 -1
  81. package/dist/cjs/components/atoms/Tag/Tag.js +16 -52
  82. package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
  83. package/dist/cjs/components/atoms/Text/Text.js +17 -59
  84. package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
  85. package/dist/cjs/components/molecules/Calendar/Calendar.js +20 -60
  86. package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
  87. package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js +3 -3
  88. package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  89. package/dist/cjs/components/molecules/Calendar/styled.js +5 -8
  90. package/dist/cjs/components/molecules/Calendar/styled.js.map +1 -1
  91. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +30 -81
  92. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  93. package/dist/cjs/components/molecules/DatePicker/styled.js +3 -6
  94. package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
  95. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +42 -104
  96. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  97. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +26 -72
  98. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  99. package/dist/cjs/components/molecules/DateTimeSelector/Selector.js +15 -51
  100. package/dist/cjs/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  101. package/dist/cjs/components/molecules/Grid/functions.js +1 -2
  102. package/dist/cjs/components/molecules/Grid/functions.js.map +1 -1
  103. package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js +17 -55
  104. package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  105. package/dist/cjs/components/molecules/IconTextButton/IconComponent.js +5 -21
  106. package/dist/cjs/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  107. package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js +8 -41
  108. package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  109. package/dist/cjs/components/molecules/InputPassword/styled.js +14 -1
  110. package/dist/cjs/components/molecules/InputPassword/styled.js.map +1 -1
  111. package/dist/cjs/components/molecules/Snackbar/Snackbar.js +8 -25
  112. package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
  113. package/dist/cjs/styles/light.js +7 -20
  114. package/dist/cjs/styles/light.js.map +1 -1
  115. package/dist/cjs/utils/masks.js +2 -2
  116. package/dist/cjs/utils/masks.js.map +1 -1
  117. package/dist/esm/components/atoms/BoxContent/BoxContent.js +4 -31
  118. package/dist/esm/components/atoms/BoxContent/BoxContent.js.map +1 -1
  119. package/dist/esm/components/atoms/BoxContent/styled.js +1 -1
  120. package/dist/esm/components/atoms/BoxContent/styled.js.map +1 -1
  121. package/dist/esm/components/atoms/Button/Button.js +18 -61
  122. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  123. package/dist/esm/components/atoms/Button/States/Error.js +5 -23
  124. package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
  125. package/dist/esm/components/atoms/Button/States/Success.js +3 -21
  126. package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
  127. package/dist/esm/components/atoms/Card/Card.js +12 -45
  128. package/dist/esm/components/atoms/Card/Card.js.map +1 -1
  129. package/dist/esm/components/atoms/Checkbox/Checkbox.js +13 -51
  130. package/dist/esm/components/atoms/Checkbox/Checkbox.js.map +1 -1
  131. package/dist/esm/components/atoms/Divider/Divider.js +4 -31
  132. package/dist/esm/components/atoms/Divider/Divider.js.map +1 -1
  133. package/dist/esm/components/atoms/GroupButton/GroupButton.js +19 -57
  134. package/dist/esm/components/atoms/GroupButton/GroupButton.js.map +1 -1
  135. package/dist/esm/components/atoms/GroupButton/styled.js +11 -11
  136. package/dist/esm/components/atoms/GroupButton/styled.js.map +1 -1
  137. package/dist/esm/components/atoms/Icon/AntDesign.js +5 -36
  138. package/dist/esm/components/atoms/Icon/AntDesign.js.map +1 -1
  139. package/dist/esm/components/atoms/Icon/Entypo.js +5 -36
  140. package/dist/esm/components/atoms/Icon/Entypo.js.map +1 -1
  141. package/dist/esm/components/atoms/Icon/Evil.js +5 -36
  142. package/dist/esm/components/atoms/Icon/Evil.js.map +1 -1
  143. package/dist/esm/components/atoms/Icon/Feather.js +5 -36
  144. package/dist/esm/components/atoms/Icon/Feather.js.map +1 -1
  145. package/dist/esm/components/atoms/Icon/FontAwesome.js +5 -36
  146. package/dist/esm/components/atoms/Icon/FontAwesome.js.map +1 -1
  147. package/dist/esm/components/atoms/Icon/FontAwesomeFive.js +5 -36
  148. package/dist/esm/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
  149. package/dist/esm/components/atoms/Icon/Fontisto.js +5 -36
  150. package/dist/esm/components/atoms/Icon/Fontisto.js.map +1 -1
  151. package/dist/esm/components/atoms/Icon/Foundation.js +5 -36
  152. package/dist/esm/components/atoms/Icon/Foundation.js.map +1 -1
  153. package/dist/esm/components/atoms/Icon/Icon.js +13 -54
  154. package/dist/esm/components/atoms/Icon/Icon.js.map +1 -1
  155. package/dist/esm/components/atoms/Icon/Ionicon.js +5 -36
  156. package/dist/esm/components/atoms/Icon/Ionicon.js.map +1 -1
  157. package/dist/esm/components/atoms/Icon/Material.js +5 -36
  158. package/dist/esm/components/atoms/Icon/Material.js.map +1 -1
  159. package/dist/esm/components/atoms/Icon/MaterialCommunity.js +10 -44
  160. package/dist/esm/components/atoms/Icon/MaterialCommunity.js.map +1 -1
  161. package/dist/esm/components/atoms/Icon/Octicon.js +5 -36
  162. package/dist/esm/components/atoms/Icon/Octicon.js.map +1 -1
  163. package/dist/esm/components/atoms/Icon/SimpleLine.js +5 -36
  164. package/dist/esm/components/atoms/Icon/SimpleLine.js.map +1 -1
  165. package/dist/esm/components/atoms/Icon/Zocial.js +5 -36
  166. package/dist/esm/components/atoms/Icon/Zocial.js.map +1 -1
  167. package/dist/esm/components/atoms/Icon/functions.d.ts +1 -2
  168. package/dist/esm/components/atoms/Icon/functions.js +30 -22
  169. package/dist/esm/components/atoms/Icon/functions.js.map +1 -1
  170. package/dist/esm/components/atoms/Icon/styled.d.ts +3 -0
  171. package/dist/esm/components/atoms/Icon/styled.js +9 -0
  172. package/dist/esm/components/atoms/Icon/styled.js.map +1 -0
  173. package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js +21 -67
  174. package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  175. package/dist/esm/components/atoms/Input/InputElement/InputElement.js +11 -47
  176. package/dist/esm/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  177. package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js +15 -52
  178. package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  179. package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +11 -43
  180. package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  181. package/dist/esm/components/atoms/Input/hooks/useNumberMask.js +1 -17
  182. package/dist/esm/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  183. package/dist/esm/components/atoms/Input/hooks/useStringMask.js +2 -2
  184. package/dist/esm/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  185. package/dist/esm/components/atoms/Input/styled.js +1 -1
  186. package/dist/esm/components/atoms/Input/styled.js.map +1 -1
  187. package/dist/esm/components/atoms/Paper/Paper.js +8 -43
  188. package/dist/esm/components/atoms/Paper/Paper.js.map +1 -1
  189. package/dist/esm/components/atoms/PressableSurface/PressableSurface.js +12 -49
  190. package/dist/esm/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  191. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +16 -52
  192. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  193. package/dist/esm/components/atoms/RadioButton/RadioButton.js +13 -51
  194. package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
  195. package/dist/esm/components/atoms/Switch/Switch.js +14 -53
  196. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  197. package/dist/esm/components/atoms/Tag/Tag.js +16 -52
  198. package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
  199. package/dist/esm/components/atoms/Text/Text.js +17 -59
  200. package/dist/esm/components/atoms/Text/Text.js.map +1 -1
  201. package/dist/esm/components/molecules/Calendar/Calendar.js +20 -60
  202. package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
  203. package/dist/esm/components/molecules/Calendar/components/MonthWeek.js +3 -3
  204. package/dist/esm/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  205. package/dist/esm/components/molecules/Calendar/styled.js +5 -8
  206. package/dist/esm/components/molecules/Calendar/styled.js.map +1 -1
  207. package/dist/esm/components/molecules/DatePicker/DatePicker.js +30 -81
  208. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  209. package/dist/esm/components/molecules/DatePicker/styled.js +3 -6
  210. package/dist/esm/components/molecules/DatePicker/styled.js.map +1 -1
  211. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +42 -104
  212. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  213. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +26 -72
  214. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  215. package/dist/esm/components/molecules/DateTimeSelector/Selector.js +15 -51
  216. package/dist/esm/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  217. package/dist/esm/components/molecules/Grid/functions.js +1 -2
  218. package/dist/esm/components/molecules/Grid/functions.js.map +1 -1
  219. package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js +17 -55
  220. package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  221. package/dist/esm/components/molecules/IconTextButton/IconComponent.js +5 -21
  222. package/dist/esm/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  223. package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js +8 -41
  224. package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  225. package/dist/esm/components/molecules/InputPassword/styled.js +14 -1
  226. package/dist/esm/components/molecules/InputPassword/styled.js.map +1 -1
  227. package/dist/esm/components/molecules/Snackbar/Snackbar.js +8 -25
  228. package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  229. package/dist/esm/styles/light.js +8 -21
  230. package/dist/esm/styles/light.js.map +1 -1
  231. package/dist/esm/utils/masks.js +2 -2
  232. package/dist/esm/utils/masks.js.map +1 -1
  233. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sources":["../../../../../src/components/atoms/Switch/Switch.tsx"],"sourcesContent":["import { useTheme } from '@emotion/react';\nimport React, { FC, useCallback, useEffect } from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n StyleProp,\n ViewStyle,\n} from 'react-native';\nimport {\n ColorGradationType,\n ColorType,\n ThemeProp,\n} from '@tecsinapse/react-core';\nimport {\n extractNumbersFromString,\n lightenDarkenColor,\n RFValueStr,\n} from '../../../utils';\nimport { PressableSurface } from '../PressableSurface';\nimport { transitionSwitch } from './animation';\nimport { StyledSwitch, StyledSwitchContent, SWITCH_PIN_WIDTH } from './styled';\n\nexport interface SwitchProps {\n onChange: (active: boolean) => void;\n active: boolean;\n activeColor?: ColorType;\n activeColorTone?: ColorGradationType;\n inactiveColor?: ColorType;\n inactiveColorTone?: ColorGradationType;\n style?: StyleProp<ViewStyle>;\n dotStyle?: StyleProp<ViewStyle>;\n disabled?: boolean;\n}\n\nconst Switch: FC<SwitchProps> = ({\n onChange,\n activeColor = 'primary',\n activeColorTone = 'medium',\n inactiveColor = 'secondary',\n inactiveColorTone = 'light',\n active,\n dotStyle,\n disabled = false,\n ...rest\n}): JSX.Element => {\n const theme = useTheme() as ThemeProp;\n\n const width = React.useRef(0);\n const transitionValue = React.useRef(new Animated.Value(0)).current;\n const animatedColor = React.useRef(new Animated.Value(0)).current;\n\n const calculateTranslate = () => {\n if (width.current > 0) {\n return (\n width.current -\n extractNumbersFromString(theme.spacing.micro) * 2 -\n extractNumbersFromString(RFValueStr(SWITCH_PIN_WIDTH))\n );\n }\n return 0;\n };\n\n const getBackgroundColor = (color: string) => {\n return disabled\n ? lightenDarkenColor(theme.color[inactiveColor][inactiveColorTone], 20)\n : color;\n };\n\n const interpolateColor = animatedColor.interpolate({\n inputRange: [0, 1],\n outputRange: [\n getBackgroundColor(theme.color[inactiveColor][inactiveColorTone]),\n getBackgroundColor(theme.color[activeColor][activeColorTone]),\n ],\n });\n\n useEffect(() => {\n const translate = calculateTranslate();\n transitionSwitch(active, translate, transitionValue, animatedColor);\n }, [active]);\n\n const handleChange = useCallback(() => {\n onChange(!active);\n }, [active, onChange]);\n\n const handleSwitchLayout = (lce: LayoutChangeEvent) => {\n width.current = lce.nativeEvent.layout.width;\n const translate = calculateTranslate();\n transitionSwitch(active, translate, transitionValue, animatedColor);\n };\n\n return (\n <PressableSurface\n {...rest}\n onPress={handleChange}\n effect=\"none\"\n disabled={disabled}\n >\n <StyledSwitchContent\n onLayout={handleSwitchLayout}\n style={{ backgroundColor: interpolateColor }}\n >\n <StyledSwitch\n style={[dotStyle, { transform: [{ translateX: transitionValue }] }]}\n />\n </StyledSwitchContent>\n </PressableSurface>\n );\n};\n\nexport default Switch;\n"],"names":["useTheme","React","Animated","extractNumbersFromString","RFValueStr","SWITCH_PIN_WIDTH","lightenDarkenColor","useEffect","transitionSwitch","useCallback","StyledSwitchContent","StyledSwitch"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.js","sources":["../../../../../src/components/atoms/Switch/Switch.tsx"],"sourcesContent":["import { useTheme } from '@emotion/react';\nimport React, { FC, useCallback, useEffect } from 'react';\nimport {\n Animated,\n LayoutChangeEvent,\n StyleProp,\n ViewStyle,\n} from 'react-native';\nimport {\n ColorGradationType,\n ColorType,\n ThemeProp,\n} from '@tecsinapse/react-core';\nimport {\n extractNumbersFromString,\n lightenDarkenColor,\n RFValueStr,\n} from '../../../utils';\nimport { PressableSurface } from '../PressableSurface';\nimport { transitionSwitch } from './animation';\nimport { StyledSwitch, StyledSwitchContent, SWITCH_PIN_WIDTH } from './styled';\n\nexport interface SwitchProps {\n onChange: (active: boolean) => void;\n active: boolean;\n activeColor?: ColorType;\n activeColorTone?: ColorGradationType;\n inactiveColor?: ColorType;\n inactiveColorTone?: ColorGradationType;\n style?: StyleProp<ViewStyle>;\n dotStyle?: StyleProp<ViewStyle>;\n disabled?: boolean;\n}\n\nconst Switch: FC<SwitchProps> = ({\n onChange,\n activeColor = 'primary',\n activeColorTone = 'medium',\n inactiveColor = 'secondary',\n inactiveColorTone = 'light',\n active,\n dotStyle,\n disabled = false,\n ...rest\n}): JSX.Element => {\n const theme = useTheme() as ThemeProp;\n\n const width = React.useRef(0);\n const transitionValue = React.useRef(new Animated.Value(0)).current;\n const animatedColor = React.useRef(new Animated.Value(0)).current;\n\n const calculateTranslate = () => {\n if (width.current > 0) {\n return (\n width.current -\n extractNumbersFromString(theme.spacing.micro) * 2 -\n extractNumbersFromString(RFValueStr(SWITCH_PIN_WIDTH))\n );\n }\n return 0;\n };\n\n const getBackgroundColor = (color: string) => {\n return disabled\n ? lightenDarkenColor(theme.color[inactiveColor][inactiveColorTone], 20)\n : color;\n };\n\n const interpolateColor = animatedColor.interpolate({\n inputRange: [0, 1],\n outputRange: [\n getBackgroundColor(theme.color[inactiveColor][inactiveColorTone]),\n getBackgroundColor(theme.color[activeColor][activeColorTone]),\n ],\n });\n\n useEffect(() => {\n const translate = calculateTranslate();\n transitionSwitch(active, translate, transitionValue, animatedColor);\n }, [active]);\n\n const handleChange = useCallback(() => {\n onChange(!active);\n }, [active, onChange]);\n\n const handleSwitchLayout = (lce: LayoutChangeEvent) => {\n width.current = lce.nativeEvent.layout.width;\n const translate = calculateTranslate();\n transitionSwitch(active, translate, transitionValue, animatedColor);\n };\n\n return (\n <PressableSurface\n {...rest}\n onPress={handleChange}\n effect=\"none\"\n disabled={disabled}\n >\n <StyledSwitchContent\n onLayout={handleSwitchLayout}\n style={{ backgroundColor: interpolateColor }}\n >\n <StyledSwitch\n style={[dotStyle, { transform: [{ translateX: transitionValue }] }]}\n />\n </StyledSwitchContent>\n </PressableSurface>\n );\n};\n\nexport default Switch;\n"],"names":["useTheme","React","Animated","extractNumbersFromString","RFValueStr","SWITCH_PIN_WIDTH","lightenDarkenColor","useEffect","transitionSwitch","useCallback","StyledSwitchContent","StyledSwitch"],"mappings":"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"}
@@ -9,53 +9,15 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
9
9
 
10
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
11
 
12
- var __defProp = Object.defineProperty;
13
- var __defProps = Object.defineProperties;
14
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
15
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
16
- var __hasOwnProp = Object.prototype.hasOwnProperty;
17
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
18
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
19
- var __spreadValues = (a, b) => {
20
- for (var prop in b || (b = {}))
21
- if (__hasOwnProp.call(b, prop))
22
- __defNormalProp(a, prop, b[prop]);
23
- if (__getOwnPropSymbols)
24
- for (var prop of __getOwnPropSymbols(b)) {
25
- if (__propIsEnum.call(b, prop))
26
- __defNormalProp(a, prop, b[prop]);
27
- }
28
- return a;
29
- };
30
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
31
- var __objRest = (source, exclude) => {
32
- var target = {};
33
- for (var prop in source)
34
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
35
- target[prop] = source[prop];
36
- if (source != null && __getOwnPropSymbols)
37
- for (var prop of __getOwnPropSymbols(source)) {
38
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
39
- target[prop] = source[prop];
40
- }
41
- return target;
42
- };
43
- const Tag = (_a) => {
44
- var _b = _a, {
45
- value,
46
- icon,
47
- variant = "small",
48
- dismiss: canDismiss = false,
49
- onDismiss,
50
- style
51
- } = _b, rest = __objRest(_b, [
52
- "value",
53
- "icon",
54
- "variant",
55
- "dismiss",
56
- "onDismiss",
57
- "style"
58
- ]);
12
+ const Tag = ({
13
+ value,
14
+ icon,
15
+ variant = "small",
16
+ dismiss: canDismiss = false,
17
+ onDismiss,
18
+ style,
19
+ ...rest
20
+ }) => {
59
21
  const [dismiss, setDismiss] = React.useState(false);
60
22
  const fadeAnim = React__default["default"].useRef(new reactNative.Animated.Value(1)).current;
61
23
  const duration = 300;
@@ -67,18 +29,20 @@ const Tag = (_a) => {
67
29
  }).start();
68
30
  };
69
31
  const handleDismiss = React.useCallback(() => {
70
- onDismiss == null ? void 0 : onDismiss();
32
+ onDismiss?.();
71
33
  fadeOut();
72
34
  setTimeout(() => setDismiss(true), duration);
73
35
  }, [onDismiss]);
74
- return /* @__PURE__ */ React__default["default"].createElement(styled.StyledTagContainer, __spreadProps(__spreadValues({}, rest), {
36
+ return /* @__PURE__ */ React__default["default"].createElement(styled.StyledTagContainer, {
37
+ ...rest,
75
38
  variant,
76
39
  style: [{ opacity: fadeAnim }, style],
77
40
  visible: !dismiss
78
- }), icon && /* @__PURE__ */ React__default["default"].createElement(styled.StyledLeftIcon, __spreadValues({
41
+ }, icon && /* @__PURE__ */ React__default["default"].createElement(styled.StyledLeftIcon, {
79
42
  size: icon.size || "micro",
80
- colorVariant: icon.colorVariant || "primary"
81
- }, icon)), value, canDismiss && /* @__PURE__ */ React__default["default"].createElement(PressableSurface, {
43
+ colorVariant: icon.colorVariant || "primary",
44
+ ...icon
45
+ }), value, canDismiss && /* @__PURE__ */ React__default["default"].createElement(PressableSurface, {
82
46
  onPress: handleDismiss
83
47
  }, /* @__PURE__ */ React__default["default"].createElement(styled.StyledCloseIcon, {
84
48
  name: "close-outline",
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../../../../src/components/atoms/Tag/Tag.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Animated, ViewProps } from 'react-native';\nimport { IconProps } from '../Icon';\nimport { PressableSurface } from '../PressableSurface';\nimport { StyledCloseIcon, StyledLeftIcon, StyledTagContainer } from './styled';\n\nexport interface TagProps extends ViewProps {\n value: React.ReactNode;\n icon?: IconProps;\n dismiss?: boolean;\n onDismiss?: () => void;\n variant?: 'small' | 'default';\n}\n\nconst Tag: React.FC<TagProps> = ({\n value,\n icon,\n variant = 'small',\n dismiss: canDismiss = false,\n onDismiss,\n style,\n ...rest\n}): JSX.Element => {\n const [dismiss, setDismiss] = useState(false);\n const fadeAnim = React.useRef(new Animated.Value(1)).current;\n const duration = 300;\n\n const fadeOut = () => {\n Animated.timing(fadeAnim, {\n toValue: 0,\n duration,\n useNativeDriver: true,\n }).start();\n };\n\n const handleDismiss = useCallback(() => {\n onDismiss?.();\n fadeOut();\n setTimeout(() => setDismiss(true), duration);\n }, [onDismiss]);\n\n return (\n <StyledTagContainer\n {...rest}\n variant={variant}\n style={[{ opacity: fadeAnim as unknown as number }, style]}\n visible={!dismiss}\n >\n {icon && (\n <StyledLeftIcon\n size={icon.size || 'micro'}\n colorVariant={icon.colorVariant || 'primary'}\n {...icon}\n />\n )}\n {value}\n {canDismiss && (\n <PressableSurface onPress={handleDismiss}>\n <StyledCloseIcon\n name=\"close-outline\"\n type=\"ionicon\"\n size=\"centi\"\n fontColor=\"medium\"\n />\n </PressableSurface>\n )}\n </StyledTagContainer>\n );\n};\n\nexport default Tag;\n"],"names":["useState","React","Animated","useCallback","StyledTagContainer","StyledLeftIcon","StyledCloseIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcM,MAAA,GAAA,GAA0B,CAAC,EAQd,KAAA;AARc,EAC/B,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,KAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAU,GAAA,OAAA;AAAA,IACV,SAAS,UAAa,GAAA,KAAA;AAAA,IACtB,SAAA;AAAA,IACA,KAAA;AAAA,GApBF,GAciC,EAO5B,EAAA,IAAA,GAAA,SAAA,CAP4B,EAO5B,EAAA;AAAA,IANH,OAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAC5C,EAAM,MAAA,QAAA,GAAWC,0BAAM,MAAO,CAAA,IAAIC,qBAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AACrD,EAAA,MAAM,QAAW,GAAA,GAAA,CAAA;AAEjB,EAAA,MAAM,UAAU,MAAM;AACpB,IAAAA,oBAAA,CAAS,OAAO,QAAU,EAAA;AAAA,MACxB,OAAS,EAAA,CAAA;AAAA,MACT,QAAA;AAAA,MACA,eAAiB,EAAA,IAAA;AAAA,KAClB,EAAE,KAAM,EAAA,CAAA;AAAA,GACX,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgBC,kBAAY,MAAM;AACtC,IAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,EAAA,CAAA;AACA,IAAQ,OAAA,EAAA,CAAA;AACR,IAAA,UAAA,CAAW,MAAM,UAAA,CAAW,IAAI,CAAA,EAAG,QAAQ,CAAA,CAAA;AAAA,GAC7C,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EACE,uBAAAF,yBAAA,CAAA,aAAA,CAACG,4DACK,IADL,CAAA,EAAA;AAAA,IAEC,OAAA;AAAA,IACA,OAAO,CAAC,EAAE,OAAS,EAAA,QAAA,IAAiC,KAAK,CAAA;AAAA,IACzD,SAAS,CAAC,OAAA;AAAA,GAAA,CAAA,EAET,wBACEH,yBAAA,CAAA,aAAA,CAAAI,qBAAA,EAAA,cAAA,CAAA;AAAA,IACC,IAAA,EAAM,KAAK,IAAQ,IAAA,OAAA;AAAA,IACnB,YAAA,EAAc,KAAK,YAAgB,IAAA,SAAA;AAAA,GAAA,EAC/B,IACN,CAAA,CAAA,EAED,KACA,EAAA,UAAA,oBACEJ,yBAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,OAAS,EAAA,aAAA;AAAA,GAAA,kBACxBA,yBAAA,CAAA,aAAA,CAAAK,sBAAA,EAAA;AAAA,IACC,IAAK,EAAA,eAAA;AAAA,IACL,IAAK,EAAA,SAAA;AAAA,IACL,IAAK,EAAA,OAAA;AAAA,IACL,SAAU,EAAA,QAAA;AAAA,GACZ,CACF,CAEJ,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../../../../src/components/atoms/Tag/Tag.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport { Animated, ViewProps } from 'react-native';\nimport { IconProps } from '../Icon';\nimport { PressableSurface } from '../PressableSurface';\nimport { StyledCloseIcon, StyledLeftIcon, StyledTagContainer } from './styled';\n\nexport interface TagProps extends ViewProps {\n value: React.ReactNode;\n icon?: IconProps;\n dismiss?: boolean;\n onDismiss?: () => void;\n variant?: 'small' | 'default';\n}\n\nconst Tag: React.FC<TagProps> = ({\n value,\n icon,\n variant = 'small',\n dismiss: canDismiss = false,\n onDismiss,\n style,\n ...rest\n}): JSX.Element => {\n const [dismiss, setDismiss] = useState(false);\n const fadeAnim = React.useRef(new Animated.Value(1)).current;\n const duration = 300;\n\n const fadeOut = () => {\n Animated.timing(fadeAnim, {\n toValue: 0,\n duration,\n useNativeDriver: true,\n }).start();\n };\n\n const handleDismiss = useCallback(() => {\n onDismiss?.();\n fadeOut();\n setTimeout(() => setDismiss(true), duration);\n }, [onDismiss]);\n\n return (\n <StyledTagContainer\n {...rest}\n variant={variant}\n style={[{ opacity: fadeAnim as unknown as number }, style]}\n visible={!dismiss}\n >\n {icon && (\n <StyledLeftIcon\n size={icon.size || 'micro'}\n colorVariant={icon.colorVariant || 'primary'}\n {...icon}\n />\n )}\n {value}\n {canDismiss && (\n <PressableSurface onPress={handleDismiss}>\n <StyledCloseIcon\n name=\"close-outline\"\n type=\"ionicon\"\n size=\"centi\"\n fontColor=\"medium\"\n />\n </PressableSurface>\n )}\n </StyledTagContainer>\n );\n};\n\nexport default Tag;\n"],"names":["useState","React","Animated","useCallback","StyledTagContainer","StyledLeftIcon","StyledCloseIcon"],"mappings":";;;;;;;;;;;AAcA,MAAM,MAA0B,CAAC;AAAA,EAC/B,KAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAU,GAAA,OAAA;AAAA,EACV,SAAS,UAAa,GAAA,KAAA;AAAA,EACtB,SAAA;AAAA,EACA,KAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAmB,KAAA;AACjB,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAC5C,EAAM,MAAA,QAAA,GAAWC,0BAAM,MAAO,CAAA,IAAIC,qBAAS,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,OAAA,CAAA;AACrD,EAAA,MAAM,QAAW,GAAA,GAAA,CAAA;AAEjB,EAAA,MAAM,UAAU,MAAM;AACpB,IAAAA,oBAAA,CAAS,OAAO,QAAU,EAAA;AAAA,MACxB,OAAS,EAAA,CAAA;AAAA,MACT,QAAA;AAAA,MACA,eAAiB,EAAA,IAAA;AAAA,KAClB,EAAE,KAAM,EAAA,CAAA;AAAA,GACX,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgBC,kBAAY,MAAM;AACtC,IAAY,SAAA,IAAA,CAAA;AACZ,IAAQ,OAAA,EAAA,CAAA;AACR,IAAA,UAAA,CAAW,MAAM,UAAA,CAAW,IAAI,CAAA,EAAG,QAAQ,CAAA,CAAA;AAAA,GAC7C,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAA,uBACGF,yBAAA,CAAA,aAAA,CAAAG,yBAAA,EAAA;AAAA,IACE,GAAG,IAAA;AAAA,IACJ,OAAA;AAAA,IACA,OAAO,CAAC,EAAE,OAAS,EAAA,QAAA,IAAiC,KAAK,CAAA;AAAA,IACzD,SAAS,CAAC,OAAA;AAAA,GAAA,EAET,wBACEH,yBAAA,CAAA,aAAA,CAAAI,qBAAA,EAAA;AAAA,IACC,IAAA,EAAM,KAAK,IAAQ,IAAA,OAAA;AAAA,IACnB,YAAA,EAAc,KAAK,YAAgB,IAAA,SAAA;AAAA,IAClC,GAAG,IAAA;AAAA,GACN,CAAA,EAED,KACA,EAAA,UAAA,oBACEJ,yBAAA,CAAA,aAAA,CAAA,gBAAA,EAAA;AAAA,IAAiB,OAAS,EAAA,aAAA;AAAA,GAAA,kBACxBA,yBAAA,CAAA,aAAA,CAAAK,sBAAA,EAAA;AAAA,IACC,IAAK,EAAA,eAAA;AAAA,IACL,IAAK,EAAA,SAAA;AAAA,IACL,IAAK,EAAA,OAAA;AAAA,IACL,SAAU,EAAA,QAAA;AAAA,GACZ,CACF,CAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -8,64 +8,22 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
8
8
 
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
11
- var __defProp = Object.defineProperty;
12
- var __defProps = Object.defineProperties;
13
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
14
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
17
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18
- var __spreadValues = (a, b) => {
19
- for (var prop in b || (b = {}))
20
- if (__hasOwnProp.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- if (__getOwnPropSymbols)
23
- for (var prop of __getOwnPropSymbols(b)) {
24
- if (__propIsEnum.call(b, prop))
25
- __defNormalProp(a, prop, b[prop]);
26
- }
27
- return a;
28
- };
29
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
30
- var __objRest = (source, exclude) => {
31
- var target = {};
32
- for (var prop in source)
33
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
34
- target[prop] = source[prop];
35
- if (source != null && __getOwnPropSymbols)
36
- for (var prop of __getOwnPropSymbols(source)) {
37
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
38
- target[prop] = source[prop];
39
- }
40
- return target;
41
- };
42
- const Text = (_a) => {
43
- var _b = _a, {
44
- children,
45
- style,
46
- fontColor = "dark",
47
- colorTone = "medium",
48
- colorVariant,
49
- fontWeight = "regular",
50
- typography = "base",
51
- numberOfLines,
52
- ellipsizeMode,
53
- textTransform = "none",
54
- capitalFirst = false
55
- } = _b, rest = __objRest(_b, [
56
- "children",
57
- "style",
58
- "fontColor",
59
- "colorTone",
60
- "colorVariant",
61
- "fontWeight",
62
- "typography",
63
- "numberOfLines",
64
- "ellipsizeMode",
65
- "textTransform",
66
- "capitalFirst"
67
- ]);
68
- return /* @__PURE__ */ React__default["default"].createElement(styled.StyledColoredText, __spreadProps(__spreadValues({}, rest), {
11
+ const Text = ({
12
+ children,
13
+ style,
14
+ fontColor = "dark",
15
+ colorTone = "medium",
16
+ colorVariant,
17
+ fontWeight = "regular",
18
+ typography = "base",
19
+ numberOfLines,
20
+ ellipsizeMode,
21
+ textTransform = "none",
22
+ capitalFirst = false,
23
+ ...rest
24
+ }) => {
25
+ return /* @__PURE__ */ React__default["default"].createElement(styled.StyledColoredText, {
26
+ ...rest,
69
27
  style,
70
28
  fontColor,
71
29
  colorTone,
@@ -75,7 +33,7 @@ const Text = (_a) => {
75
33
  numberOfLines,
76
34
  ellipsizeMode,
77
35
  textTransform
78
- }), functions.getLabel(children, capitalFirst));
36
+ }, functions.getLabel(children, capitalFirst));
79
37
  };
80
38
 
81
39
  module.exports = Text;
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sources":["../../../../../src/components/atoms/Text/Text.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport {\n ColorGradationType,\n ColorType,\n FontColorType,\n FontStackType,\n FontWeightType,\n TypographyVariationType,\n} from '@tecsinapse/react-core';\nimport { StyleProp, TextStyle } from 'react-native';\nimport { StyledColoredText } from './styled';\nimport { getLabel } from './functions';\n\nexport interface TextProps {\n /** Font theme text color */\n fontColor?: FontColorType;\n /** Font theme weight */\n fontWeight?: FontWeightType;\n /** Font theme sizes */\n typography?: TypographyVariationType;\n /** Font theme stack */\n fontStack?: FontStackType;\n /** Palette theme colors. You can specify this prop to override theme fontColor */\n colorVariant?: ColorType;\n /** Palette theme colors gradation */\n colorTone?: ColorGradationType;\n numberOfLines?: number;\n ellipsizeMode?: 'head' | 'middle' | 'tail' | 'clip';\n textTransform?: 'none' | 'uppercase' | 'lowercase' | 'capitalize';\n capitalFirst?: boolean;\n style?: StyleProp<TextStyle>;\n children?: React.ReactNode;\n}\n\n/** NOTE: When using colors, be careful to not override fontColor by using colorVariant and colorTone, referent to theme colors and not text colors. */\nconst Text: FC<TextProps> = ({\n children,\n style,\n fontColor = 'dark',\n colorTone = 'medium',\n colorVariant,\n fontWeight = 'regular',\n typography = 'base',\n numberOfLines,\n ellipsizeMode,\n textTransform = 'none',\n capitalFirst = false,\n ...rest\n}): JSX.Element => {\n return (\n <StyledColoredText\n {...rest}\n style={style}\n fontColor={fontColor}\n colorTone={colorTone}\n colorVariant={colorVariant}\n fontWeight={fontWeight}\n typography={typography}\n numberOfLines={numberOfLines}\n ellipsizeMode={ellipsizeMode}\n textTransform={textTransform}\n >\n {getLabel(children, capitalFirst)}\n </StyledColoredText>\n );\n};\n\nexport default Text;\n"],"names":["React","StyledColoredText","getLabel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCM,MAAA,IAAA,GAAsB,CAAC,EAaV,KAAA;AAbU,EAC3B,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,KAAA;AAAA,IACA,SAAY,GAAA,MAAA;AAAA,IACZ,SAAY,GAAA,QAAA;AAAA,IACZ,YAAA;AAAA,IACA,UAAa,GAAA,SAAA;AAAA,IACb,UAAa,GAAA,MAAA;AAAA,IACb,aAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAgB,GAAA,MAAA;AAAA,IAChB,YAAe,GAAA,KAAA;AAAA,GA9CjB,GAmC6B,EAYxB,EAAA,IAAA,GAAA,SAAA,CAZwB,EAYxB,EAAA;AAAA,IAXH,UAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,cAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EACE,uBAAAA,yBAAA,CAAA,aAAA,CAACC,2DACK,IADL,CAAA,EAAA;AAAA,IAEC,KAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,GAEC,CAAA,EAAAC,kBAAA,CAAS,QAAU,EAAA,YAAY,CAClC,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Text.js","sources":["../../../../../src/components/atoms/Text/Text.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport {\n ColorGradationType,\n ColorType,\n FontColorType,\n FontStackType,\n FontWeightType,\n TypographyVariationType,\n} from '@tecsinapse/react-core';\nimport { StyleProp, TextStyle } from 'react-native';\nimport { StyledColoredText } from './styled';\nimport { getLabel } from './functions';\n\nexport interface TextProps {\n /** Font theme text color */\n fontColor?: FontColorType;\n /** Font theme weight */\n fontWeight?: FontWeightType;\n /** Font theme sizes */\n typography?: TypographyVariationType;\n /** Font theme stack */\n fontStack?: FontStackType;\n /** Palette theme colors. You can specify this prop to override theme fontColor */\n colorVariant?: ColorType;\n /** Palette theme colors gradation */\n colorTone?: ColorGradationType;\n numberOfLines?: number;\n ellipsizeMode?: 'head' | 'middle' | 'tail' | 'clip';\n textTransform?: 'none' | 'uppercase' | 'lowercase' | 'capitalize';\n capitalFirst?: boolean;\n style?: StyleProp<TextStyle>;\n children?: React.ReactNode;\n}\n\n/** NOTE: When using colors, be careful to not override fontColor by using colorVariant and colorTone, referent to theme colors and not text colors. */\nconst Text: FC<TextProps> = ({\n children,\n style,\n fontColor = 'dark',\n colorTone = 'medium',\n colorVariant,\n fontWeight = 'regular',\n typography = 'base',\n numberOfLines,\n ellipsizeMode,\n textTransform = 'none',\n capitalFirst = false,\n ...rest\n}): JSX.Element => {\n return (\n <StyledColoredText\n {...rest}\n style={style}\n fontColor={fontColor}\n colorTone={colorTone}\n colorVariant={colorVariant}\n fontWeight={fontWeight}\n typography={typography}\n numberOfLines={numberOfLines}\n ellipsizeMode={ellipsizeMode}\n textTransform={textTransform}\n >\n {getLabel(children, capitalFirst)}\n </StyledColoredText>\n );\n};\n\nexport default Text;\n"],"names":["React","StyledColoredText","getLabel"],"mappings":";;;;;;;;;;AAmCA,MAAM,OAAsB,CAAC;AAAA,EAC3B,QAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAY,GAAA,MAAA;AAAA,EACZ,SAAY,GAAA,QAAA;AAAA,EACZ,YAAA;AAAA,EACA,UAAa,GAAA,SAAA;AAAA,EACb,UAAa,GAAA,MAAA;AAAA,EACb,aAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAgB,GAAA,MAAA;AAAA,EAChB,YAAe,GAAA,KAAA;AAAA,EACZ,GAAA,IAAA;AACL,CAAmB,KAAA;AACjB,EAAA,uBACGA,yBAAA,CAAA,aAAA,CAAAC,wBAAA,EAAA;AAAA,IACE,GAAG,IAAA;AAAA,IACJ,KAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,GAEC,EAAAC,kBAAA,CAAS,QAAU,EAAA,YAAY,CAClC,CAAA,CAAA;AAEJ;;;;"}
@@ -29,34 +29,6 @@ function _interopNamespace(e) {
29
29
 
30
30
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
31
31
 
32
- var __defProp = Object.defineProperty;
33
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
34
- var __hasOwnProp = Object.prototype.hasOwnProperty;
35
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
36
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
37
- var __spreadValues = (a, b) => {
38
- for (var prop in b || (b = {}))
39
- if (__hasOwnProp.call(b, prop))
40
- __defNormalProp(a, prop, b[prop]);
41
- if (__getOwnPropSymbols)
42
- for (var prop of __getOwnPropSymbols(b)) {
43
- if (__propIsEnum.call(b, prop))
44
- __defNormalProp(a, prop, b[prop]);
45
- }
46
- return a;
47
- };
48
- var __objRest = (source, exclude) => {
49
- var target = {};
50
- for (var prop in source)
51
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
52
- target[prop] = source[prop];
53
- if (source != null && __getOwnPropSymbols)
54
- for (var prop of __getOwnPropSymbols(source)) {
55
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
56
- target[prop] = source[prop];
57
- }
58
- return target;
59
- };
60
32
  const now = dateFns.set(new Date(), {
61
33
  date: 1,
62
34
  hours: 0,
@@ -67,46 +39,32 @@ const now = dateFns.set(new Date(), {
67
39
  function dayOfWeekFromWeekStart(dayOfWeek, weekStartsOn) {
68
40
  return dayOfWeek === 0 ? 0 : dayOfWeek - weekStartsOn;
69
41
  }
70
- function Calendar(_a) {
71
- var _b = _a, {
72
- TextComponent = Text,
73
- year: _year,
74
- month: _month,
75
- value,
76
- type,
77
- onChange,
78
- locale
79
- } = _b, rest = __objRest(_b, [
80
- "TextComponent",
81
- "year",
82
- "month",
83
- "value",
84
- "type",
85
- "onChange",
86
- "locale"
87
- ]);
42
+ function Calendar({
43
+ TextComponent = Text,
44
+ year: _year,
45
+ month: _month,
46
+ value,
47
+ type,
48
+ onChange,
49
+ locale,
50
+ ...rest
51
+ }) {
88
52
  const _referenceDate = React__namespace.useMemo(
89
53
  () => _year && _month ? new Date(_year, _month, 1, 0, 0, 0, 0) : _month ? new Date(now.getFullYear(), _month, 1, 0, 0, 0, 0) : now,
90
54
  [_year, _month]
91
55
  );
92
56
  const [referenceDate, setReferenceDate] = React__namespace.useState(_referenceDate);
93
57
  const startingWeekDay = React__namespace.useMemo(
94
- () => {
95
- var _a2, _b2;
96
- return dayOfWeekFromWeekStart(
97
- referenceDate.getDay(),
98
- (_b2 = (_a2 = locale == null ? void 0 : locale.options) == null ? void 0 : _a2.weekStartsOn) != null ? _b2 : 0
99
- );
100
- },
58
+ () => dayOfWeekFromWeekStart(
59
+ referenceDate.getDay(),
60
+ locale?.options?.weekStartsOn ?? 0
61
+ ),
101
62
  [referenceDate, locale]
102
63
  );
103
64
  const weeksInMonth = React__namespace.useMemo(
104
- () => {
105
- var _a2, _b2;
106
- return dateFns.getWeeksInMonth(referenceDate, {
107
- weekStartsOn: (_b2 = (_a2 = locale == null ? void 0 : locale.options) == null ? void 0 : _a2.weekStartsOn) != null ? _b2 : 0
108
- });
109
- },
65
+ () => dateFns.getWeeksInMonth(referenceDate, {
66
+ weekStartsOn: locale?.options?.weekStartsOn ?? 0
67
+ }),
110
68
  [referenceDate, locale]
111
69
  );
112
70
  const Capitalized = React__namespace.useMemo(
@@ -129,7 +87,9 @@ function Calendar(_a) {
129
87
  const handlePressPrev = React__namespace.useCallback(() => {
130
88
  setReferenceDate(dateFns.add(referenceDate, { months: -1 }));
131
89
  }, [referenceDate, setReferenceDate]);
132
- return /* @__PURE__ */ React__namespace.createElement(reactNative.View, __spreadValues({}, rest), /* @__PURE__ */ React__namespace.createElement(styled.TitleContainer, null, /* @__PURE__ */ React__namespace.createElement(styled.Control, {
90
+ return /* @__PURE__ */ React__namespace.createElement(reactNative.View, {
91
+ ...rest
92
+ }, /* @__PURE__ */ React__namespace.createElement(styled.TitleContainer, null, /* @__PURE__ */ React__namespace.createElement(styled.Control, {
133
93
  onPress: handlePressPrev,
134
94
  align: "start",
135
95
  isLeft: true
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../../../../src/components/molecules/Calendar/Calendar.tsx"],"sourcesContent":["import { add, format, getWeeksInMonth, set } from 'date-fns';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport {\n Content,\n Control,\n getCapitalizedTextComponent,\n TitleContainer,\n} from './styled';\nimport { Weekdays, MonthWeek } from './components';\n\nexport type SelectionType = 'range' | 'day';\n\nexport type DateRange = { lowest: Date; highest?: Date };\n\nexport type Value<T extends SelectionType> = T extends 'range'\n ? DateRange\n : Date;\n\nexport interface CalendarProps<T extends SelectionType> extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n year?: number;\n month?: number;\n onChange?: (value?: Value<T>) => void | never;\n type?: T;\n value?: Value<T>;\n locale?: Locale;\n}\n\nconst now = set(new Date(), {\n date: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nfunction dayOfWeekFromWeekStart(dayOfWeek: number, weekStartsOn: number) {\n return dayOfWeek === 0 ? 0 : dayOfWeek - weekStartsOn;\n}\n\nfunction Calendar<T extends SelectionType>({\n TextComponent = Text,\n year: _year,\n month: _month,\n value,\n type,\n onChange,\n locale,\n ...rest\n}: CalendarProps<T>): JSX.Element {\n const _referenceDate = React.useMemo(\n () =>\n _year && _month\n ? new Date(_year, _month, 1, 0, 0, 0, 0)\n : _month\n ? new Date(now.getFullYear(), _month, 1, 0, 0, 0, 0)\n : now,\n [_year, _month]\n );\n\n const [referenceDate, setReferenceDate] = React.useState(_referenceDate);\n\n const startingWeekDay = React.useMemo(\n () =>\n dayOfWeekFromWeekStart(\n referenceDate.getDay(),\n locale?.options?.weekStartsOn ?? 0\n ),\n [referenceDate, locale]\n );\n\n const weeksInMonth = React.useMemo(\n () =>\n getWeeksInMonth(referenceDate, {\n weekStartsOn: locale?.options?.weekStartsOn ?? 0,\n }),\n [referenceDate, locale]\n );\n\n const Capitalized = React.useMemo(\n () => getCapitalizedTextComponent(TextComponent),\n [TextComponent]\n );\n\n const calendar = React.useMemo(\n () =>\n [...Array(weeksInMonth).keys()].map(week =>\n [...Array(7).keys()].map(weekDayIndex =>\n add(referenceDate, {\n days: 6 * week + week + weekDayIndex - startingWeekDay,\n })\n )\n ),\n [weeksInMonth, startingWeekDay, referenceDate]\n );\n\n const handlePressNext = React.useCallback(() => {\n setReferenceDate(add(referenceDate, { months: 1 }));\n }, [referenceDate, setReferenceDate]);\n\n const handlePressPrev = React.useCallback(() => {\n setReferenceDate(add(referenceDate, { months: -1 }));\n }, [referenceDate, setReferenceDate]);\n\n return (\n <View {...rest}>\n <TitleContainer>\n <Control onPress={handlePressPrev} align={'start'} isLeft>\n <Icon\n name={'chevron-left'}\n type={'material-community'}\n size={'kilo'}\n colorVariant={'secondary'}\n colorTone={'medium'}\n />\n </Control>\n <Capitalized\n colorVariant={'secondary'}\n colorTone={'xdark'}\n fontWeight={'bold'}\n >\n {format(referenceDate, 'MMMM yyyy', { locale })}\n </Capitalized>\n <Control onPress={handlePressNext} align={'end'} isRright>\n <Icon\n name={'chevron-right'}\n type={'material-community'}\n size={'kilo'}\n colorVariant={'secondary'}\n colorTone={'medium'}\n />\n </Control>\n </TitleContainer>\n <Content>\n <Weekdays\n locale={locale}\n calendar={calendar}\n Capitalized={Capitalized}\n />\n {calendar.map((week, index) => (\n <MonthWeek\n week={week}\n type={type}\n value={value}\n key={`week-${index}`}\n onChange={onChange}\n TextComponent={TextComponent}\n referenceDate={referenceDate}\n />\n ))}\n </Content>\n </View>\n );\n}\n\nexport default Calendar;\n"],"names":["set","React","_a","_b","getWeeksInMonth","getCapitalizedTextComponent","add","View","TitleContainer","Control","format","Content"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","sources":["../../../../../src/components/molecules/Calendar/Calendar.tsx"],"sourcesContent":["import { add, format, getWeeksInMonth, set } from 'date-fns';\nimport * as React from 'react';\nimport { View, ViewProps } from 'react-native';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport {\n Content,\n Control,\n getCapitalizedTextComponent,\n TitleContainer,\n} from './styled';\nimport { Weekdays, MonthWeek } from './components';\n\nexport type SelectionType = 'range' | 'day';\n\nexport type DateRange = { lowest: Date; highest?: Date };\n\nexport type Value<T extends SelectionType> = T extends 'range'\n ? DateRange\n : Date;\n\nexport interface CalendarProps<T extends SelectionType> extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n year?: number;\n month?: number;\n onChange?: (value?: Value<T>) => void | never;\n type?: T;\n value?: Value<T>;\n locale?: Locale;\n}\n\nconst now = set(new Date(), {\n date: 1,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0,\n});\n\nfunction dayOfWeekFromWeekStart(dayOfWeek: number, weekStartsOn: number) {\n return dayOfWeek === 0 ? 0 : dayOfWeek - weekStartsOn;\n}\n\nfunction Calendar<T extends SelectionType>({\n TextComponent = Text,\n year: _year,\n month: _month,\n value,\n type,\n onChange,\n locale,\n ...rest\n}: CalendarProps<T>): JSX.Element {\n const _referenceDate = React.useMemo(\n () =>\n _year && _month\n ? new Date(_year, _month, 1, 0, 0, 0, 0)\n : _month\n ? new Date(now.getFullYear(), _month, 1, 0, 0, 0, 0)\n : now,\n [_year, _month]\n );\n\n const [referenceDate, setReferenceDate] = React.useState(_referenceDate);\n\n const startingWeekDay = React.useMemo(\n () =>\n dayOfWeekFromWeekStart(\n referenceDate.getDay(),\n locale?.options?.weekStartsOn ?? 0\n ),\n [referenceDate, locale]\n );\n\n const weeksInMonth = React.useMemo(\n () =>\n getWeeksInMonth(referenceDate, {\n weekStartsOn: locale?.options?.weekStartsOn ?? 0,\n }),\n [referenceDate, locale]\n );\n\n const Capitalized = React.useMemo(\n () => getCapitalizedTextComponent(TextComponent),\n [TextComponent]\n );\n\n const calendar = React.useMemo(\n () =>\n [...Array(weeksInMonth).keys()].map(week =>\n [...Array(7).keys()].map(weekDayIndex =>\n add(referenceDate, {\n days: 6 * week + week + weekDayIndex - startingWeekDay,\n })\n )\n ),\n [weeksInMonth, startingWeekDay, referenceDate]\n );\n\n const handlePressNext = React.useCallback(() => {\n setReferenceDate(add(referenceDate, { months: 1 }));\n }, [referenceDate, setReferenceDate]);\n\n const handlePressPrev = React.useCallback(() => {\n setReferenceDate(add(referenceDate, { months: -1 }));\n }, [referenceDate, setReferenceDate]);\n\n return (\n <View {...rest}>\n <TitleContainer>\n <Control onPress={handlePressPrev} align={'start'} isLeft>\n <Icon\n name={'chevron-left'}\n type={'material-community'}\n size={'kilo'}\n colorVariant={'secondary'}\n colorTone={'medium'}\n />\n </Control>\n <Capitalized\n colorVariant={'secondary'}\n colorTone={'xdark'}\n fontWeight={'bold'}\n >\n {format(referenceDate, 'MMMM yyyy', { locale })}\n </Capitalized>\n <Control onPress={handlePressNext} align={'end'} isRright>\n <Icon\n name={'chevron-right'}\n type={'material-community'}\n size={'kilo'}\n colorVariant={'secondary'}\n colorTone={'medium'}\n />\n </Control>\n </TitleContainer>\n <Content>\n <Weekdays\n locale={locale}\n calendar={calendar}\n Capitalized={Capitalized}\n />\n {calendar.map((week, index) => (\n <MonthWeek\n week={week}\n type={type}\n value={value}\n key={`week-${index}`}\n onChange={onChange}\n TextComponent={TextComponent}\n referenceDate={referenceDate}\n />\n ))}\n </Content>\n </View>\n );\n}\n\nexport default Calendar;\n"],"names":["set","React","getWeeksInMonth","getCapitalizedTextComponent","add","View","TitleContainer","Control","format","Content"],"mappings":"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"}
@@ -45,9 +45,9 @@ const MonthWeek = ({
45
45
  const handlePressCell = React__default["default"].useCallback(
46
46
  (date, _value) => () => {
47
47
  if (type === "day") {
48
- onChange == null ? void 0 : onChange(date);
48
+ onChange?.(date);
49
49
  } else if (!_value) {
50
- onChange == null ? void 0 : onChange({ lowest: date });
50
+ onChange?.({ lowest: date });
51
51
  } else {
52
52
  let newValue;
53
53
  const { lowest, highest } = _value;
@@ -74,7 +74,7 @@ const MonthWeek = ({
74
74
  }
75
75
  }
76
76
  }
77
- onChange == null ? void 0 : onChange(newValue);
77
+ onChange?.(newValue);
78
78
  }
79
79
  },
80
80
  [onChange, type]
@@ -1 +1 @@
1
- {"version":3,"file":"MonthWeek.js","sources":["../../../../../../src/components/molecules/Calendar/components/MonthWeek.tsx"],"sourcesContent":["import React from 'react';\nimport { compareAsc as compare, isSameDay } from 'date-fns';\nimport { Cell, Selected, Week } from '../styled';\nimport { Value, DateRange, SelectionType } from '../Calendar';\nimport { TextProps } from '@tecsinapse/react-core';\n\ninterface IMonthWeek<T extends SelectionType> {\n TextComponent: React.FC<TextProps>;\n /** any as workaround for TS type mismatching */\n onChange?: (value?: any) => void | never;\n type?: T;\n value?: Value<T>;\n week: Date[];\n referenceDate: Date;\n}\n\nconst MonthWeek = <T extends SelectionType>({\n week,\n referenceDate,\n type,\n value,\n TextComponent,\n onChange,\n}: IMonthWeek<T>) => {\n const checkIfIsBetween = React.useCallback(\n (date: Date, _value?: Value<T>) => {\n if (type !== 'range' || !_value) return false;\n else {\n const { lowest, highest } = _value as DateRange;\n if (!highest) return false;\n return compare(lowest, date) <= 0 && compare(highest, date) >= 0;\n }\n },\n [type]\n );\n\n const checkIfIsSelected = React.useCallback(\n (date: Date, _value?: Value<T>) => {\n if (!_value) return false;\n else if (type === 'range' && _value) {\n const { lowest, highest } = _value as DateRange;\n return (\n isSameDay(lowest, date) ||\n (highest ? isSameDay(highest, date) : false)\n );\n } else {\n return isSameDay(_value as Date, date);\n }\n },\n [type]\n );\n\n const handlePressCell = React.useCallback(\n (date: Date, _value?: Value<T>) => () => {\n if (type === 'day') {\n onChange?.(date as never);\n } else if (!_value) {\n onChange?.({ lowest: date } as never);\n } else {\n let newValue;\n const { lowest, highest } = _value as DateRange;\n\n if (!highest) {\n if (compare(date, lowest) === -1) {\n newValue = { lowest: date, highest: undefined };\n } else if (compare(date, lowest) === 0) {\n newValue = undefined;\n } else {\n newValue = { lowest: lowest, highest: date };\n }\n } else {\n if (compare(date, lowest) === -1) {\n newValue = { lowest: date, highest: undefined };\n } else if (compare(date, lowest) === 0) {\n newValue = undefined;\n } else {\n if (compare(date, highest) === -1) {\n newValue = { lowest: lowest, highest: date };\n } else if (compare(date, highest) === 0) {\n newValue = { lowest: lowest, highest: undefined };\n } else {\n newValue = { lowest: lowest, highest: date };\n }\n }\n }\n\n onChange?.(newValue as never);\n }\n },\n [onChange, type]\n );\n\n return (\n <Week>\n {week.map((date, index) => {\n const isSelected = checkIfIsSelected(date, value);\n const isBetween = checkIfIsBetween(date, value);\n\n let isRangeStart, isRangeEnd;\n\n if (type === 'range' && value) {\n const { lowest, highest } = value as DateRange;\n isRangeStart = highest && isSameDay(lowest, date);\n isRangeEnd = !!highest && isSameDay(highest, date);\n } else {\n isRangeStart = false;\n isRangeEnd = false;\n }\n\n const colorTone = isSelected\n ? 'xlight'\n : date.getMonth() === referenceDate.getMonth()\n ? 'xdark'\n : 'light';\n\n return (\n <Cell\n key={date.getDate()}\n selected={isSelected}\n highlighted={isBetween}\n isLineEnd={index === 6}\n isLineStart={index === 0}\n isRangeStart={isRangeStart}\n isRangeEnd={isRangeEnd}\n onPress={handlePressCell(date, value)}\n >\n <Selected selected={isSelected} pointerEvents={'none'}>\n <TextComponent colorVariant={'secondary'} colorTone={colorTone}>\n {date.getDate()}\n </TextComponent>\n </Selected>\n </Cell>\n );\n })}\n </Week>\n );\n};\n\nexport default React.memo(MonthWeek);\n"],"names":["React","compare","isSameDay","Week","Cell","Selected"],"mappings":"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"}
1
+ {"version":3,"file":"MonthWeek.js","sources":["../../../../../../src/components/molecules/Calendar/components/MonthWeek.tsx"],"sourcesContent":["import React from 'react';\nimport { compareAsc as compare, isSameDay } from 'date-fns';\nimport { Cell, Selected, Week } from '../styled';\nimport { Value, DateRange, SelectionType } from '../Calendar';\nimport { TextProps } from '@tecsinapse/react-core';\n\ninterface IMonthWeek<T extends SelectionType> {\n TextComponent: React.FC<TextProps>;\n /** any as workaround for TS type mismatching */\n onChange?: (value?: any) => void | never;\n type?: T;\n value?: Value<T>;\n week: Date[];\n referenceDate: Date;\n}\n\nconst MonthWeek = <T extends SelectionType>({\n week,\n referenceDate,\n type,\n value,\n TextComponent,\n onChange,\n}: IMonthWeek<T>) => {\n const checkIfIsBetween = React.useCallback(\n (date: Date, _value?: Value<T>) => {\n if (type !== 'range' || !_value) return false;\n else {\n const { lowest, highest } = _value as DateRange;\n if (!highest) return false;\n return compare(lowest, date) <= 0 && compare(highest, date) >= 0;\n }\n },\n [type]\n );\n\n const checkIfIsSelected = React.useCallback(\n (date: Date, _value?: Value<T>) => {\n if (!_value) return false;\n else if (type === 'range' && _value) {\n const { lowest, highest } = _value as DateRange;\n return (\n isSameDay(lowest, date) ||\n (highest ? isSameDay(highest, date) : false)\n );\n } else {\n return isSameDay(_value as Date, date);\n }\n },\n [type]\n );\n\n const handlePressCell = React.useCallback(\n (date: Date, _value?: Value<T>) => () => {\n if (type === 'day') {\n onChange?.(date as never);\n } else if (!_value) {\n onChange?.({ lowest: date } as never);\n } else {\n let newValue;\n const { lowest, highest } = _value as DateRange;\n\n if (!highest) {\n if (compare(date, lowest) === -1) {\n newValue = { lowest: date, highest: undefined };\n } else if (compare(date, lowest) === 0) {\n newValue = undefined;\n } else {\n newValue = { lowest: lowest, highest: date };\n }\n } else {\n if (compare(date, lowest) === -1) {\n newValue = { lowest: date, highest: undefined };\n } else if (compare(date, lowest) === 0) {\n newValue = undefined;\n } else {\n if (compare(date, highest) === -1) {\n newValue = { lowest: lowest, highest: date };\n } else if (compare(date, highest) === 0) {\n newValue = { lowest: lowest, highest: undefined };\n } else {\n newValue = { lowest: lowest, highest: date };\n }\n }\n }\n\n onChange?.(newValue as never);\n }\n },\n [onChange, type]\n );\n\n return (\n <Week>\n {week.map((date, index) => {\n const isSelected = checkIfIsSelected(date, value);\n const isBetween = checkIfIsBetween(date, value);\n\n let isRangeStart, isRangeEnd;\n\n if (type === 'range' && value) {\n const { lowest, highest } = value as DateRange;\n isRangeStart = highest && isSameDay(lowest, date);\n isRangeEnd = !!highest && isSameDay(highest, date);\n } else {\n isRangeStart = false;\n isRangeEnd = false;\n }\n\n const colorTone = isSelected\n ? 'xlight'\n : date.getMonth() === referenceDate.getMonth()\n ? 'xdark'\n : 'light';\n\n return (\n <Cell\n key={date.getDate()}\n selected={isSelected}\n highlighted={isBetween}\n isLineEnd={index === 6}\n isLineStart={index === 0}\n isRangeStart={isRangeStart}\n isRangeEnd={isRangeEnd}\n onPress={handlePressCell(date, value)}\n >\n <Selected selected={isSelected} pointerEvents={'none'}>\n <TextComponent colorVariant={'secondary'} colorTone={colorTone}>\n {date.getDate()}\n </TextComponent>\n </Selected>\n </Cell>\n );\n })}\n </Week>\n );\n};\n\nexport default React.memo(MonthWeek);\n"],"names":["React","compare","isSameDay","Week","Cell","Selected"],"mappings":"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"}
@@ -18,15 +18,12 @@ const TitleContainer = styled__default["default"].View`
18
18
  background-color: ${({ theme }) => theme.color.secondary.xlight};
19
19
  `;
20
20
  const Control = styled__default["default"](PressableSurface)(
21
- (props) => {
22
- var _a, _b, _c;
23
- return styled.css`
21
+ (props) => styled.css`
24
22
  align-items: flex-${props.align};
25
- padding: ${(_a = props.theme) == null ? void 0 : _a.spacing.centi};
26
- border-radius: ${(_b = props.theme) == null ? void 0 : _b.borderRadius.mili};
27
- margin: ${(_c = props.theme) == null ? void 0 : _c.spacing.mili};
28
- `;
29
- }
23
+ padding: ${props.theme?.spacing.centi};
24
+ border-radius: ${props.theme?.borderRadius.mili};
25
+ margin: ${props.theme?.spacing.mili};
26
+ `
30
27
  );
31
28
  const getCapitalizedTextComponent = (component) => {
32
29
  return styled__default["default"](component)`
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../../src/components/molecules/Calendar/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { FC } from 'react';\nimport { Platform, PressableProps, ViewProps } from 'react-native';\nimport { StyleProps } from '../../../types/defaults';\nimport { PressableSurface } from '../../atoms/PressableSurface';\nimport { TextProps } from '../../atoms/Text';\n\nconst isWeb = Platform.OS === 'web';\n\ninterface ButtonBorders {\n isLeft?: boolean;\n isRright?: boolean;\n}\n\nexport const TitleContainer = styled.View<Partial<StyleProps>>`\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n background-color: ${({ theme }) => theme.color.secondary.xlight};\n`;\n\nexport const Control = styled(PressableSurface)(\n (\n props: Partial<StyleProps> & ButtonBorders & { align: 'start' | 'end' }\n ) => css`\n align-items: flex-${props.align};\n padding: ${props.theme?.spacing.centi};\n border-radius: ${props.theme?.borderRadius.mili};\n margin: ${props.theme?.spacing.mili};\n `\n);\n\nexport const getCapitalizedTextComponent = (component: FC<TextProps>) => {\n return styled(component)`\n text-transform: capitalize;\n `;\n};\n\nexport const Content = styled.View<ViewProps & Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.deca};\n background-color: ${({ theme }) => theme.miscellaneous.surfaceColor};\n`;\n\nexport const Week = styled.View<Partial<StyleProps>>`\n flex-direction: row;\n`;\n\nexport const Selected = styled.View<\n Partial<StyleProps> & { selected: boolean }\n>`\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ${({ theme, selected }) =>\n selected ? theme.color.primary.medium : 'transparent'};\n border-radius: ${({ theme }) => theme.borderRadius.mili};\n width: 100%;\n height: 100%;\n`;\n\nexport const Cell = styled(PressableSurface)<\n PressableProps &\n Partial<StyleProps> & {\n selected: boolean;\n highlighted: boolean;\n isLineEnd: boolean;\n isLineStart: boolean;\n isRangeStart: boolean;\n isRangeEnd: boolean;\n }\n>(\n ({\n theme,\n selected,\n highlighted,\n isLineEnd,\n isLineStart,\n isRangeStart,\n isRangeEnd,\n }) => {\n const borderRadiusSize = theme.borderRadius.mili;\n\n const { rightBorderRadius, leftBorderRadius } = {\n rightBorderRadius:\n (selected && !isRangeStart) || isLineEnd ? borderRadiusSize : 0,\n leftBorderRadius:\n (selected && !isRangeEnd) || isLineStart ? borderRadiusSize : 0,\n };\n\n const borderEffect = highlighted ? 0 : borderRadiusSize;\n\n const backgroundColor = highlighted\n ? theme.color.primary.light\n : 'transparent';\n\n return css`\n ${isWeb\n ? css`\n width: 32px;\n height: 32px;\n `\n : css`\n aspect-ratio: 1;\n flex: 1;\n `}\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: ${borderEffect};\n border-top-left-radius: ${leftBorderRadius};\n border-bottom-left-radius: ${leftBorderRadius};\n border-top-right-radius: ${rightBorderRadius};\n border-bottom-right-radius: ${rightBorderRadius};\n background-color: ${backgroundColor};\n `;\n }\n);\n"],"names":["Platform","styled","css"],"mappings":"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"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../../src/components/molecules/Calendar/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { FC } from 'react';\nimport { Platform, PressableProps, ViewProps } from 'react-native';\nimport { StyleProps } from '../../../types/defaults';\nimport { PressableSurface } from '../../atoms/PressableSurface';\nimport { TextProps } from '../../atoms/Text';\n\nconst isWeb = Platform.OS === 'web';\n\ninterface ButtonBorders {\n isLeft?: boolean;\n isRright?: boolean;\n}\n\nexport const TitleContainer = styled.View<Partial<StyleProps>>`\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n background-color: ${({ theme }) => theme.color.secondary.xlight};\n`;\n\nexport const Control = styled(PressableSurface)(\n (\n props: Partial<StyleProps> & ButtonBorders & { align: 'start' | 'end' }\n ) => css`\n align-items: flex-${props.align};\n padding: ${props.theme?.spacing.centi};\n border-radius: ${props.theme?.borderRadius.mili};\n margin: ${props.theme?.spacing.mili};\n `\n);\n\nexport const getCapitalizedTextComponent = (component: FC<TextProps>) => {\n return styled(component)`\n text-transform: capitalize;\n `;\n};\n\nexport const Content = styled.View<ViewProps & Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.deca};\n background-color: ${({ theme }) => theme.miscellaneous.surfaceColor};\n`;\n\nexport const Week = styled.View<Partial<StyleProps>>`\n flex-direction: row;\n`;\n\nexport const Selected = styled.View<\n Partial<StyleProps> & { selected: boolean }\n>`\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: ${({ theme, selected }) =>\n selected ? theme.color.primary.medium : 'transparent'};\n border-radius: ${({ theme }) => theme.borderRadius.mili};\n width: 100%;\n height: 100%;\n`;\n\nexport const Cell = styled(PressableSurface)<\n PressableProps &\n Partial<StyleProps> & {\n selected: boolean;\n highlighted: boolean;\n isLineEnd: boolean;\n isLineStart: boolean;\n isRangeStart: boolean;\n isRangeEnd: boolean;\n }\n>(\n ({\n theme,\n selected,\n highlighted,\n isLineEnd,\n isLineStart,\n isRangeStart,\n isRangeEnd,\n }) => {\n const borderRadiusSize = theme.borderRadius.mili;\n\n const { rightBorderRadius, leftBorderRadius } = {\n rightBorderRadius:\n (selected && !isRangeStart) || isLineEnd ? borderRadiusSize : 0,\n leftBorderRadius:\n (selected && !isRangeEnd) || isLineStart ? borderRadiusSize : 0,\n };\n\n const borderEffect = highlighted ? 0 : borderRadiusSize;\n\n const backgroundColor = highlighted\n ? theme.color.primary.light\n : 'transparent';\n\n return css`\n ${isWeb\n ? css`\n width: 32px;\n height: 32px;\n `\n : css`\n aspect-ratio: 1;\n flex: 1;\n `}\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: ${borderEffect};\n border-top-left-radius: ${leftBorderRadius};\n border-bottom-left-radius: ${leftBorderRadius};\n border-top-right-radius: ${rightBorderRadius};\n border-bottom-right-radius: ${rightBorderRadius};\n background-color: ${backgroundColor};\n `;\n }\n);\n"],"names":["Platform","styled","css"],"mappings":"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"}