@tecsinapse/react-core 1.20.0 → 1.21.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 (573) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/components/atoms/Avatar/Avatar.d.ts +1 -1
  3. package/dist/components/atoms/Avatar/Avatar.js +30 -42
  4. package/dist/components/atoms/Avatar/Avatar.js.map +1 -1
  5. package/dist/components/atoms/Avatar/Avatar.stories.d.ts +9 -0
  6. package/dist/components/atoms/Avatar/helpers.js +6 -11
  7. package/dist/components/atoms/Avatar/helpers.js.map +1 -1
  8. package/dist/components/atoms/Avatar/styled.js +41 -54
  9. package/dist/components/atoms/Avatar/styled.js.map +1 -1
  10. package/dist/components/atoms/Badge/Badge.js +17 -23
  11. package/dist/components/atoms/Badge/Badge.js.map +1 -1
  12. package/dist/components/atoms/Badge/styled.js +44 -31
  13. package/dist/components/atoms/Badge/styled.js.map +1 -1
  14. package/dist/components/atoms/BoxContent/BoxContent.js +38 -18
  15. package/dist/components/atoms/BoxContent/BoxContent.js.map +1 -1
  16. package/dist/components/atoms/BoxContent/BoxContent.stories.d.ts +9 -0
  17. package/dist/components/atoms/BoxContent/styled.d.ts +1 -1
  18. package/dist/components/atoms/BoxContent/styled.js +53 -73
  19. package/dist/components/atoms/BoxContent/styled.js.map +1 -1
  20. package/dist/components/atoms/Button/Button.js +77 -51
  21. package/dist/components/atoms/Button/Button.js.map +1 -1
  22. package/dist/components/atoms/Button/States/BaseState.d.ts +1 -1
  23. package/dist/components/atoms/Button/States/BaseState.js +27 -36
  24. package/dist/components/atoms/Button/States/BaseState.js.map +1 -1
  25. package/dist/components/atoms/Button/States/Error.d.ts +1 -1
  26. package/dist/components/atoms/Button/States/Error.js +28 -17
  27. package/dist/components/atoms/Button/States/Error.js.map +1 -1
  28. package/dist/components/atoms/Button/States/Loading.d.ts +1 -1
  29. package/dist/components/atoms/Button/States/Loading.js +26 -35
  30. package/dist/components/atoms/Button/States/Loading.js.map +1 -1
  31. package/dist/components/atoms/Button/States/Success.d.ts +1 -1
  32. package/dist/components/atoms/Button/States/Success.js +28 -17
  33. package/dist/components/atoms/Button/States/Success.js.map +1 -1
  34. package/dist/components/atoms/Button/States/styled.js +17 -39
  35. package/dist/components/atoms/Button/States/styled.js.map +1 -1
  36. package/dist/components/atoms/Button/styled.js +52 -50
  37. package/dist/components/atoms/Button/styled.js.map +1 -1
  38. package/dist/components/atoms/Card/Card.js +52 -28
  39. package/dist/components/atoms/Card/Card.js.map +1 -1
  40. package/dist/components/atoms/Card/Card.stories.d.ts +9 -0
  41. package/dist/components/atoms/Card/Footer/Footer.js +10 -21
  42. package/dist/components/atoms/Card/Footer/Footer.js.map +1 -1
  43. package/dist/components/atoms/Card/Header/Header.js +10 -21
  44. package/dist/components/atoms/Card/Header/Header.js.map +1 -1
  45. package/dist/components/atoms/Card/styled.js +14 -17
  46. package/dist/components/atoms/Card/styled.js.map +1 -1
  47. package/dist/components/atoms/Checkbox/Checkbox.js +66 -39
  48. package/dist/components/atoms/Checkbox/Checkbox.js.map +1 -1
  49. package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts +9 -0
  50. package/dist/components/atoms/Checkbox/styled.js +39 -68
  51. package/dist/components/atoms/Checkbox/styled.js.map +1 -1
  52. package/dist/components/atoms/Divider/Divider.js +38 -18
  53. package/dist/components/atoms/Divider/Divider.js.map +1 -1
  54. package/dist/components/atoms/Divider/Divider.stories.d.ts +9 -0
  55. package/dist/components/atoms/Divider/styled.js +30 -43
  56. package/dist/components/atoms/Divider/styled.js.map +1 -1
  57. package/dist/components/atoms/GroupButton/GroupButton.js +68 -47
  58. package/dist/components/atoms/GroupButton/GroupButton.js.map +1 -1
  59. package/dist/components/atoms/GroupButton/GroupButton.stories.d.ts +8 -0
  60. package/dist/components/atoms/GroupButton/GroupButtonOption.js +16 -23
  61. package/dist/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  62. package/dist/components/atoms/GroupButton/styled.js +113 -124
  63. package/dist/components/atoms/GroupButton/styled.js.map +1 -1
  64. package/dist/components/atoms/Icon/Icon.js +64 -31
  65. package/dist/components/atoms/Icon/Icon.js.map +1 -1
  66. package/dist/components/atoms/Icon/Icon.stories.d.ts +9 -0
  67. package/dist/components/atoms/Icon/helpers.d.ts +2 -2
  68. package/dist/components/atoms/Icon/helpers.js +110 -77
  69. package/dist/components/atoms/Icon/helpers.js.map +1 -1
  70. package/dist/components/atoms/Input/Hint.js +19 -34
  71. package/dist/components/atoms/Input/Hint.js.map +1 -1
  72. package/dist/components/atoms/Input/InputContainer/InputContainer.js +81 -44
  73. package/dist/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  74. package/dist/components/atoms/Input/InputElement/InputElement.js +68 -40
  75. package/dist/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  76. package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js +109 -83
  77. package/dist/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  78. package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +67 -31
  79. package/dist/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  80. package/dist/components/atoms/Input/PressableInputContainer/styled.js +9 -12
  81. package/dist/components/atoms/Input/PressableInputContainer/styled.js.map +1 -1
  82. package/dist/components/atoms/Input/hooks/useInputFocus.d.ts +1 -1
  83. package/dist/components/atoms/Input/hooks/useInputFocus.js +8 -12
  84. package/dist/components/atoms/Input/hooks/useInputFocus.js.map +1 -1
  85. package/dist/components/atoms/Input/hooks/useNumberMask.d.ts +2 -2
  86. package/dist/components/atoms/Input/hooks/useNumberMask.js +67 -66
  87. package/dist/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  88. package/dist/components/atoms/Input/hooks/useStringMask.d.ts +1 -1
  89. package/dist/components/atoms/Input/hooks/useStringMask.js +49 -60
  90. package/dist/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  91. package/dist/components/atoms/Input/styled.js +106 -144
  92. package/dist/components/atoms/Input/styled.js.map +1 -1
  93. package/dist/components/atoms/Paper/Paper.js +47 -21
  94. package/dist/components/atoms/Paper/Paper.js.map +1 -1
  95. package/dist/components/atoms/Paper/Paper.stories.d.ts +9 -0
  96. package/dist/components/atoms/Paper/styled.js +14 -17
  97. package/dist/components/atoms/Paper/styled.js.map +1 -1
  98. package/dist/components/atoms/PressableSurface/PressableSurface.js +78 -68
  99. package/dist/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  100. package/dist/components/atoms/ProgressBar/ProgressBar.js +88 -44
  101. package/dist/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  102. package/dist/components/atoms/ProgressBar/ProgressBar.stories.d.ts +9 -0
  103. package/dist/components/atoms/ProgressBar/styled.js +39 -51
  104. package/dist/components/atoms/ProgressBar/styled.js.map +1 -1
  105. package/dist/components/atoms/RadioButton/RadioButton.js +60 -33
  106. package/dist/components/atoms/RadioButton/RadioButton.js.map +1 -1
  107. package/dist/components/atoms/RadioButton/RadioButton.stories.d.ts +9 -0
  108. package/dist/components/atoms/RadioButton/styled.js +28 -44
  109. package/dist/components/atoms/RadioButton/styled.js.map +1 -1
  110. package/dist/components/atoms/Switch/Switch.js +94 -73
  111. package/dist/components/atoms/Switch/Switch.js.map +1 -1
  112. package/dist/components/atoms/Switch/Switch.stories.d.ts +9 -0
  113. package/dist/components/atoms/Switch/animation.js +12 -20
  114. package/dist/components/atoms/Switch/animation.js.map +1 -1
  115. package/dist/components/atoms/Switch/styled.js +36 -44
  116. package/dist/components/atoms/Switch/styled.js.map +1 -1
  117. package/dist/components/atoms/Tag/Tag.js +65 -45
  118. package/dist/components/atoms/Tag/Tag.js.map +1 -1
  119. package/dist/components/atoms/Tag/styled.js +43 -63
  120. package/dist/components/atoms/Tag/styled.js.map +1 -1
  121. package/dist/components/atoms/Text/Text.js +71 -37
  122. package/dist/components/atoms/Text/Text.js.map +1 -1
  123. package/dist/components/atoms/Text/Text.stories.d.ts +9 -0
  124. package/dist/components/atoms/Text/functions.js +5 -10
  125. package/dist/components/atoms/Text/functions.js.map +1 -1
  126. package/dist/components/atoms/Text/styled.js +29 -67
  127. package/dist/components/atoms/Text/styled.js.map +1 -1
  128. package/dist/components/atoms/shared/PaperAndCard.d.ts +1 -1
  129. package/dist/components/atoms/shared/PaperAndCard.js +17 -32
  130. package/dist/components/atoms/shared/PaperAndCard.js.map +1 -1
  131. package/dist/components/molecules/Calendar/Calendar.js +148 -98
  132. package/dist/components/molecules/Calendar/Calendar.js.map +1 -1
  133. package/dist/components/molecules/Calendar/Calendar.stories.d.ts +8 -0
  134. package/dist/components/molecules/Calendar/components/MonthWeek.js +92 -125
  135. package/dist/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  136. package/dist/components/molecules/Calendar/components/Weekdays.js +16 -29
  137. package/dist/components/molecules/Calendar/components/Weekdays.js.map +1 -1
  138. package/dist/components/molecules/Calendar/styled.js +88 -91
  139. package/dist/components/molecules/Calendar/styled.js.map +1 -1
  140. package/dist/components/molecules/DatePicker/DatePicker.js +133 -86
  141. package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -1
  142. package/dist/components/molecules/DatePicker/styled.js +34 -40
  143. package/dist/components/molecules/DatePicker/styled.js.map +1 -1
  144. package/dist/components/molecules/DateTimePicker/DateTimePicker.js +150 -85
  145. package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  146. package/dist/components/molecules/DateTimePicker/styled.js +10 -18
  147. package/dist/components/molecules/DateTimePicker/styled.js.map +1 -1
  148. package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js +174 -146
  149. package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  150. package/dist/components/molecules/DateTimeSelector/Selector.js +101 -69
  151. package/dist/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  152. package/dist/components/molecules/DateTimeSelector/styled.js +67 -105
  153. package/dist/components/molecules/DateTimeSelector/styled.js.map +1 -1
  154. package/dist/components/molecules/Grid/functions.d.ts +1 -1
  155. package/dist/components/molecules/Grid/functions.js +22 -16
  156. package/dist/components/molecules/Grid/functions.js.map +1 -1
  157. package/dist/components/molecules/HintInputContainer/HintInputContainer.js +84 -36
  158. package/dist/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  159. package/dist/components/molecules/IconTextButton/IconComponent.js +38 -31
  160. package/dist/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  161. package/dist/components/molecules/InputPassword/InputPasswordIcon.js +53 -28
  162. package/dist/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  163. package/dist/components/molecules/InputPassword/styled.js +15 -18
  164. package/dist/components/molecules/InputPassword/styled.js.map +1 -1
  165. package/dist/components/molecules/Snackbar/Snackbar.d.ts +1 -1
  166. package/dist/components/molecules/Snackbar/Snackbar.js +64 -71
  167. package/dist/components/molecules/Snackbar/Snackbar.js.map +1 -1
  168. package/dist/components/molecules/Snackbar/styled.js +92 -73
  169. package/dist/components/molecules/Snackbar/styled.js.map +1 -1
  170. package/dist/components/molecules/TextArea/TextArea.js +63 -72
  171. package/dist/components/molecules/TextArea/TextArea.js.map +1 -1
  172. package/dist/components/molecules/TextArea/styled.js +33 -27
  173. package/dist/components/molecules/TextArea/styled.js.map +1 -1
  174. package/dist/hooks/useDebouncedState.js +14 -14
  175. package/dist/hooks/useDebouncedState.js.map +1 -1
  176. package/dist/hooks/useTheme.js +5 -8
  177. package/dist/hooks/useTheme.js.map +1 -1
  178. package/dist/index.js +141 -455
  179. package/dist/index.js.map +1 -1
  180. package/dist/styles/ThemeProvider.js +13 -19
  181. package/dist/styles/ThemeProvider.js.map +1 -1
  182. package/dist/styles/definitions.js +107 -104
  183. package/dist/styles/definitions.js.map +1 -1
  184. package/dist/styles/light.js +47 -36
  185. package/dist/styles/light.js.map +1 -1
  186. package/dist/utils/IPhoneXHelper.js +13 -19
  187. package/dist/utils/IPhoneXHelper.js.map +1 -1
  188. package/dist/utils/ResponsiveFontSize.d.ts +1 -1
  189. package/dist/utils/ResponsiveFontSize.js +22 -42
  190. package/dist/utils/ResponsiveFontSize.js.map +1 -1
  191. package/dist/utils/extractNumbersFromString.js +6 -11
  192. package/dist/utils/extractNumbersFromString.js.map +1 -1
  193. package/dist/utils/formatWithMask.js +23 -20
  194. package/dist/utils/formatWithMask.js.map +1 -1
  195. package/dist/utils/lightenDarkenColor.js +19 -15
  196. package/dist/utils/lightenDarkenColor.js.map +1 -1
  197. package/dist/utils/masks.js +16 -18
  198. package/dist/utils/masks.js.map +1 -1
  199. package/dist/utils/variantComplement.js +24 -25
  200. package/dist/utils/variantComplement.js.map +1 -1
  201. package/esm/components/atoms/Avatar/Avatar.d.ts +1 -1
  202. package/esm/components/atoms/Avatar/Avatar.js +25 -43
  203. package/esm/components/atoms/Avatar/Avatar.js.map +1 -1
  204. package/esm/components/atoms/Avatar/helpers.js +6 -8
  205. package/esm/components/atoms/Avatar/helpers.js.map +1 -1
  206. package/esm/components/atoms/Avatar/styled.js +32 -30
  207. package/esm/components/atoms/Avatar/styled.js.map +1 -1
  208. package/esm/components/atoms/Badge/Badge.js +15 -16
  209. package/esm/components/atoms/Badge/Badge.js.map +1 -1
  210. package/esm/components/atoms/Badge/styled.js +34 -15
  211. package/esm/components/atoms/Badge/styled.js.map +1 -1
  212. package/esm/components/atoms/BoxContent/BoxContent.js +35 -15
  213. package/esm/components/atoms/BoxContent/BoxContent.js.map +1 -1
  214. package/esm/components/atoms/BoxContent/styled.d.ts +3 -16
  215. package/esm/components/atoms/BoxContent/styled.js +48 -49
  216. package/esm/components/atoms/BoxContent/styled.js.map +1 -1
  217. package/esm/components/atoms/Button/Button.js +79 -56
  218. package/esm/components/atoms/Button/Button.js.map +1 -1
  219. package/esm/components/atoms/Button/States/BaseState.d.ts +1 -1
  220. package/esm/components/atoms/Button/States/BaseState.js +22 -22
  221. package/esm/components/atoms/Button/States/BaseState.js.map +1 -1
  222. package/esm/components/atoms/Button/States/Error.d.ts +1 -1
  223. package/esm/components/atoms/Button/States/Error.js +26 -7
  224. package/esm/components/atoms/Button/States/Error.js.map +1 -1
  225. package/esm/components/atoms/Button/States/Loading.d.ts +1 -1
  226. package/esm/components/atoms/Button/States/Loading.js +20 -20
  227. package/esm/components/atoms/Button/States/Loading.js.map +1 -1
  228. package/esm/components/atoms/Button/States/Success.d.ts +1 -1
  229. package/esm/components/atoms/Button/States/Success.js +26 -7
  230. package/esm/components/atoms/Button/States/Success.js.map +1 -1
  231. package/esm/components/atoms/Button/States/styled.d.ts +2 -11
  232. package/esm/components/atoms/Button/States/styled.js +13 -22
  233. package/esm/components/atoms/Button/States/styled.js.map +1 -1
  234. package/esm/components/atoms/Button/styled.js +43 -35
  235. package/esm/components/atoms/Button/styled.js.map +1 -1
  236. package/esm/components/atoms/Card/Card.js +52 -27
  237. package/esm/components/atoms/Card/Card.js.map +1 -1
  238. package/esm/components/atoms/Card/Footer/Footer.js +6 -10
  239. package/esm/components/atoms/Card/Footer/Footer.js.map +1 -1
  240. package/esm/components/atoms/Card/Header/Header.js +6 -10
  241. package/esm/components/atoms/Card/Header/Header.js.map +1 -1
  242. package/esm/components/atoms/Card/styled.d.ts +1 -8
  243. package/esm/components/atoms/Card/styled.js +11 -9
  244. package/esm/components/atoms/Card/styled.js.map +1 -1
  245. package/esm/components/atoms/Checkbox/Checkbox.js +66 -40
  246. package/esm/components/atoms/Checkbox/Checkbox.js.map +1 -1
  247. package/esm/components/atoms/Checkbox/styled.d.ts +3 -7
  248. package/esm/components/atoms/Checkbox/styled.js +35 -48
  249. package/esm/components/atoms/Checkbox/styled.js.map +1 -1
  250. package/esm/components/atoms/Divider/Divider.js +35 -15
  251. package/esm/components/atoms/Divider/Divider.js.map +1 -1
  252. package/esm/components/atoms/Divider/styled.d.ts +1 -13
  253. package/esm/components/atoms/Divider/styled.js +21 -25
  254. package/esm/components/atoms/Divider/styled.js.map +1 -1
  255. package/esm/components/atoms/GroupButton/GroupButton.js +83 -62
  256. package/esm/components/atoms/GroupButton/GroupButton.js.map +1 -1
  257. package/esm/components/atoms/GroupButton/GroupButtonOption.js +13 -13
  258. package/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  259. package/esm/components/atoms/GroupButton/styled.js +101 -84
  260. package/esm/components/atoms/GroupButton/styled.js.map +1 -1
  261. package/esm/components/atoms/Icon/Icon.js +64 -33
  262. package/esm/components/atoms/Icon/Icon.js.map +1 -1
  263. package/esm/components/atoms/Icon/helpers.d.ts +1 -1
  264. package/esm/components/atoms/Icon/helpers.js +88 -64
  265. package/esm/components/atoms/Icon/helpers.js.map +1 -1
  266. package/esm/components/atoms/Input/Hint.js +18 -26
  267. package/esm/components/atoms/Input/Hint.js.map +1 -1
  268. package/esm/components/atoms/Input/InputContainer/InputContainer.js +88 -55
  269. package/esm/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  270. package/esm/components/atoms/Input/InputElement/InputElement.js +64 -34
  271. package/esm/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  272. package/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js +102 -87
  273. package/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  274. package/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +50 -25
  275. package/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  276. package/esm/components/atoms/Input/PressableInputContainer/styled.js +6 -5
  277. package/esm/components/atoms/Input/PressableInputContainer/styled.js.map +1 -1
  278. package/esm/components/atoms/Input/hooks/useInputFocus.d.ts +1 -1
  279. package/esm/components/atoms/Input/hooks/useInputFocus.js +11 -26
  280. package/esm/components/atoms/Input/hooks/useInputFocus.js.map +1 -1
  281. package/esm/components/atoms/Input/hooks/useNumberMask.d.ts +2 -2
  282. package/esm/components/atoms/Input/hooks/useNumberMask.js +67 -84
  283. package/esm/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  284. package/esm/components/atoms/Input/hooks/useStringMask.d.ts +1 -1
  285. package/esm/components/atoms/Input/hooks/useStringMask.js +58 -79
  286. package/esm/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  287. package/esm/components/atoms/Input/styled.js +91 -89
  288. package/esm/components/atoms/Input/styled.js.map +1 -1
  289. package/esm/components/atoms/Paper/Paper.js +45 -20
  290. package/esm/components/atoms/Paper/Paper.js.map +1 -1
  291. package/esm/components/atoms/Paper/styled.d.ts +1 -9
  292. package/esm/components/atoms/Paper/styled.js +11 -9
  293. package/esm/components/atoms/Paper/styled.js.map +1 -1
  294. package/esm/components/atoms/PressableSurface/PressableSurface.js +83 -66
  295. package/esm/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  296. package/esm/components/atoms/ProgressBar/ProgressBar.js +79 -64
  297. package/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  298. package/esm/components/atoms/ProgressBar/styled.js +30 -24
  299. package/esm/components/atoms/ProgressBar/styled.js.map +1 -1
  300. package/esm/components/atoms/RadioButton/RadioButton.js +61 -35
  301. package/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
  302. package/esm/components/atoms/RadioButton/styled.js +24 -28
  303. package/esm/components/atoms/RadioButton/styled.js.map +1 -1
  304. package/esm/components/atoms/Switch/Switch.js +88 -62
  305. package/esm/components/atoms/Switch/Switch.js.map +1 -1
  306. package/esm/components/atoms/Switch/animation.js +7 -5
  307. package/esm/components/atoms/Switch/animation.js.map +1 -1
  308. package/esm/components/atoms/Switch/styled.d.ts +2 -14
  309. package/esm/components/atoms/Switch/styled.js +27 -22
  310. package/esm/components/atoms/Switch/styled.js.map +1 -1
  311. package/esm/components/atoms/Tag/Tag.js +69 -63
  312. package/esm/components/atoms/Tag/Tag.js.map +1 -1
  313. package/esm/components/atoms/Tag/styled.js +31 -35
  314. package/esm/components/atoms/Tag/styled.js.map +1 -1
  315. package/esm/components/atoms/Text/Text.js +72 -43
  316. package/esm/components/atoms/Text/Text.js.map +1 -1
  317. package/esm/components/atoms/Text/functions.js +5 -7
  318. package/esm/components/atoms/Text/functions.js.map +1 -1
  319. package/esm/components/atoms/Text/styled.d.ts +2 -16
  320. package/esm/components/atoms/Text/styled.js +19 -43
  321. package/esm/components/atoms/Text/styled.js.map +1 -1
  322. package/esm/components/atoms/shared/PaperAndCard.d.ts +1 -3
  323. package/esm/components/atoms/shared/PaperAndCard.js +16 -20
  324. package/esm/components/atoms/shared/PaperAndCard.js.map +1 -1
  325. package/esm/components/molecules/Calendar/Calendar.js +130 -124
  326. package/esm/components/molecules/Calendar/Calendar.js.map +1 -1
  327. package/esm/components/molecules/Calendar/components/MonthWeek.js +80 -98
  328. package/esm/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  329. package/esm/components/molecules/Calendar/components/Weekdays.js +19 -25
  330. package/esm/components/molecules/Calendar/components/Weekdays.js.map +1 -1
  331. package/esm/components/molecules/Calendar/styled.js +79 -52
  332. package/esm/components/molecules/Calendar/styled.js.map +1 -1
  333. package/esm/components/molecules/DatePicker/DatePicker.js +131 -95
  334. package/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  335. package/esm/components/molecules/DatePicker/styled.js +25 -19
  336. package/esm/components/molecules/DatePicker/styled.js.map +1 -1
  337. package/esm/components/molecules/DateTimePicker/DateTimePicker.js +155 -102
  338. package/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  339. package/esm/components/molecules/DateTimePicker/styled.js +8 -10
  340. package/esm/components/molecules/DateTimePicker/styled.js.map +1 -1
  341. package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +175 -179
  342. package/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  343. package/esm/components/molecules/DateTimeSelector/Selector.js +93 -82
  344. package/esm/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  345. package/esm/components/molecules/DateTimeSelector/styled.js +54 -52
  346. package/esm/components/molecules/DateTimeSelector/styled.js.map +1 -1
  347. package/esm/components/molecules/Grid/functions.d.ts +1 -1
  348. package/esm/components/molecules/Grid/functions.js +23 -13
  349. package/esm/components/molecules/Grid/functions.js.map +1 -1
  350. package/esm/components/molecules/HintInputContainer/HintInputContainer.js +71 -36
  351. package/esm/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  352. package/esm/components/molecules/IconTextButton/IconComponent.js +31 -17
  353. package/esm/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  354. package/esm/components/molecules/InputPassword/InputPasswordIcon.js +48 -24
  355. package/esm/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  356. package/esm/components/molecules/InputPassword/styled.js +12 -9
  357. package/esm/components/molecules/InputPassword/styled.js.map +1 -1
  358. package/esm/components/molecules/Snackbar/Snackbar.d.ts +1 -1
  359. package/esm/components/molecules/Snackbar/Snackbar.js +64 -65
  360. package/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  361. package/esm/components/molecules/Snackbar/styled.js +84 -48
  362. package/esm/components/molecules/Snackbar/styled.js.map +1 -1
  363. package/esm/components/molecules/TextArea/TextArea.js +66 -67
  364. package/esm/components/molecules/TextArea/TextArea.js.map +1 -1
  365. package/esm/components/molecules/TextArea/styled.d.ts +2 -12
  366. package/esm/components/molecules/TextArea/styled.js +25 -12
  367. package/esm/components/molecules/TextArea/styled.js.map +1 -1
  368. package/esm/hooks/useDebouncedState.js +13 -28
  369. package/esm/hooks/useDebouncedState.js.map +1 -1
  370. package/esm/hooks/useTheme.js +6 -5
  371. package/esm/hooks/useTheme.js.map +1 -1
  372. package/esm/index.js +55 -36
  373. package/esm/index.js.map +1 -1
  374. package/esm/styles/ThemeProvider.js +10 -9
  375. package/esm/styles/ThemeProvider.js.map +1 -1
  376. package/esm/styles/definitions.js +107 -117
  377. package/esm/styles/definitions.js.map +1 -1
  378. package/esm/styles/light.js +44 -31
  379. package/esm/styles/light.js.map +1 -1
  380. package/esm/utils/IPhoneXHelper.js +11 -9
  381. package/esm/utils/IPhoneXHelper.js.map +1 -1
  382. package/esm/utils/ResponsiveFontSize.d.ts +1 -1
  383. package/esm/utils/ResponsiveFontSize.js +26 -31
  384. package/esm/utils/ResponsiveFontSize.js.map +1 -1
  385. package/esm/utils/extractNumbersFromString.js +5 -7
  386. package/esm/utils/extractNumbersFromString.js.map +1 -1
  387. package/esm/utils/formatWithMask.js +20 -13
  388. package/esm/utils/formatWithMask.js.map +1 -1
  389. package/esm/utils/lightenDarkenColor.js +23 -14
  390. package/esm/utils/lightenDarkenColor.js.map +1 -1
  391. package/esm/utils/masks.js +18 -17
  392. package/esm/utils/masks.js.map +1 -1
  393. package/esm/utils/variantComplement.js +23 -21
  394. package/esm/utils/variantComplement.js.map +1 -1
  395. package/package.json +4 -7
  396. package/rollup.config.js +36 -0
  397. package/src/components/atoms/Avatar/Avatar.stories.tsx +2 -3
  398. package/src/components/atoms/Avatar/Avatar.tsx +1 -1
  399. package/src/components/atoms/Button/States/BaseState.tsx +1 -1
  400. package/src/components/atoms/Button/States/Error.tsx +2 -2
  401. package/src/components/atoms/Button/States/Loading.tsx +1 -1
  402. package/src/components/atoms/Button/States/Success.tsx +2 -2
  403. package/src/components/atoms/Icon/Icon.tsx +6 -2
  404. package/src/components/atoms/Icon/helpers.ts +18 -16
  405. package/src/components/molecules/Grid/functions.ts +2 -6
  406. package/src/components/molecules/IconTextButton/IconComponent.tsx +2 -6
  407. package/src/components/molecules/IconTextButton/{IconTextButton.tsx → IconTextButton.ts} +0 -0
  408. package/src/components/molecules/Snackbar/Snackbar.tsx +1 -1
  409. package/tsconfig.build.json +2 -1
  410. package/babel.config.esm.js +0 -34
  411. package/dist/components/atoms/Avatar/index.js +0 -16
  412. package/dist/components/atoms/Avatar/index.js.map +0 -1
  413. package/dist/components/atoms/Badge/index.js +0 -16
  414. package/dist/components/atoms/Badge/index.js.map +0 -1
  415. package/dist/components/atoms/BoxContent/index.js +0 -16
  416. package/dist/components/atoms/BoxContent/index.js.map +0 -1
  417. package/dist/components/atoms/Button/States/index.js +0 -32
  418. package/dist/components/atoms/Button/States/index.js.map +0 -1
  419. package/dist/components/atoms/Button/index.js +0 -36
  420. package/dist/components/atoms/Button/index.js.map +0 -1
  421. package/dist/components/atoms/Card/Footer/index.js +0 -16
  422. package/dist/components/atoms/Card/Footer/index.js.map +0 -1
  423. package/dist/components/atoms/Card/Header/index.js +0 -16
  424. package/dist/components/atoms/Card/Header/index.js.map +0 -1
  425. package/dist/components/atoms/Card/index.js +0 -16
  426. package/dist/components/atoms/Card/index.js.map +0 -1
  427. package/dist/components/atoms/Checkbox/index.js +0 -16
  428. package/dist/components/atoms/Checkbox/index.js.map +0 -1
  429. package/dist/components/atoms/Divider/index.js +0 -16
  430. package/dist/components/atoms/Divider/index.js.map +0 -1
  431. package/dist/components/atoms/GroupButton/index.js +0 -24
  432. package/dist/components/atoms/GroupButton/index.js.map +0 -1
  433. package/dist/components/atoms/Icon/index.js +0 -16
  434. package/dist/components/atoms/Icon/index.js.map +0 -1
  435. package/dist/components/atoms/Input/PressableInputContainer/index.js +0 -16
  436. package/dist/components/atoms/Input/PressableInputContainer/index.js.map +0 -1
  437. package/dist/components/atoms/Input/index.js +0 -113
  438. package/dist/components/atoms/Input/index.js.map +0 -1
  439. package/dist/components/atoms/Paper/index.js +0 -16
  440. package/dist/components/atoms/Paper/index.js.map +0 -1
  441. package/dist/components/atoms/PressableSurface/index.js +0 -16
  442. package/dist/components/atoms/PressableSurface/index.js.map +0 -1
  443. package/dist/components/atoms/ProgressBar/index.js +0 -16
  444. package/dist/components/atoms/ProgressBar/index.js.map +0 -1
  445. package/dist/components/atoms/RadioButton/index.js +0 -16
  446. package/dist/components/atoms/RadioButton/index.js.map +0 -1
  447. package/dist/components/atoms/Switch/index.js +0 -16
  448. package/dist/components/atoms/Switch/index.js.map +0 -1
  449. package/dist/components/atoms/Tag/index.js +0 -16
  450. package/dist/components/atoms/Tag/index.js.map +0 -1
  451. package/dist/components/atoms/Text/index.js +0 -16
  452. package/dist/components/atoms/Text/index.js.map +0 -1
  453. package/dist/components/molecules/Calendar/components/index.js +0 -24
  454. package/dist/components/molecules/Calendar/components/index.js.map +0 -1
  455. package/dist/components/molecules/Calendar/index.js +0 -16
  456. package/dist/components/molecules/Calendar/index.js.map +0 -1
  457. package/dist/components/molecules/DatePicker/index.js +0 -16
  458. package/dist/components/molecules/DatePicker/index.js.map +0 -1
  459. package/dist/components/molecules/DateTimePicker/index.js +0 -16
  460. package/dist/components/molecules/DateTimePicker/index.js.map +0 -1
  461. package/dist/components/molecules/DateTimeSelector/index.js +0 -16
  462. package/dist/components/molecules/DateTimeSelector/index.js.map +0 -1
  463. package/dist/components/molecules/Grid/index.js +0 -20
  464. package/dist/components/molecules/Grid/index.js.map +0 -1
  465. package/dist/components/molecules/HintInputContainer/index.js +0 -16
  466. package/dist/components/molecules/HintInputContainer/index.js.map +0 -1
  467. package/dist/components/molecules/HintInputContainer/styled.js +0 -2
  468. package/dist/components/molecules/HintInputContainer/styled.js.map +0 -1
  469. package/dist/components/molecules/IconTextButton/IconTextButton.js +0 -6
  470. package/dist/components/molecules/IconTextButton/IconTextButton.js.map +0 -1
  471. package/dist/components/molecules/IconTextButton/index.js +0 -16
  472. package/dist/components/molecules/IconTextButton/index.js.map +0 -1
  473. package/dist/components/molecules/IconTextButton/styled.d.ts +0 -4
  474. package/dist/components/molecules/IconTextButton/styled.js +0 -29
  475. package/dist/components/molecules/IconTextButton/styled.js.map +0 -1
  476. package/dist/components/molecules/InputPassword/index.js +0 -16
  477. package/dist/components/molecules/InputPassword/index.js.map +0 -1
  478. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js +0 -6
  479. package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js.map +0 -1
  480. package/dist/components/molecules/LabeledSwitch/index.js +0 -6
  481. package/dist/components/molecules/LabeledSwitch/index.js.map +0 -1
  482. package/dist/components/molecules/Snackbar/index.js +0 -16
  483. package/dist/components/molecules/Snackbar/index.js.map +0 -1
  484. package/dist/components/molecules/TextArea/index.js +0 -24
  485. package/dist/components/molecules/TextArea/index.js.map +0 -1
  486. package/dist/hooks/index.js +0 -22
  487. package/dist/hooks/index.js.map +0 -1
  488. package/dist/types/defaults.js +0 -6
  489. package/dist/types/defaults.js.map +0 -1
  490. package/dist/utils/index.js +0 -103
  491. package/dist/utils/index.js.map +0 -1
  492. package/esm/components/atoms/Avatar/index.js +0 -2
  493. package/esm/components/atoms/Avatar/index.js.map +0 -1
  494. package/esm/components/atoms/Badge/index.js +0 -2
  495. package/esm/components/atoms/Badge/index.js.map +0 -1
  496. package/esm/components/atoms/BoxContent/index.js +0 -2
  497. package/esm/components/atoms/BoxContent/index.js.map +0 -1
  498. package/esm/components/atoms/Button/States/index.js +0 -4
  499. package/esm/components/atoms/Button/States/index.js.map +0 -1
  500. package/esm/components/atoms/Button/index.js +0 -3
  501. package/esm/components/atoms/Button/index.js.map +0 -1
  502. package/esm/components/atoms/Card/Footer/index.js +0 -2
  503. package/esm/components/atoms/Card/Footer/index.js.map +0 -1
  504. package/esm/components/atoms/Card/Header/index.js +0 -2
  505. package/esm/components/atoms/Card/Header/index.js.map +0 -1
  506. package/esm/components/atoms/Card/index.js +0 -2
  507. package/esm/components/atoms/Card/index.js.map +0 -1
  508. package/esm/components/atoms/Checkbox/index.js +0 -2
  509. package/esm/components/atoms/Checkbox/index.js.map +0 -1
  510. package/esm/components/atoms/Divider/index.js +0 -2
  511. package/esm/components/atoms/Divider/index.js.map +0 -1
  512. package/esm/components/atoms/GroupButton/index.js +0 -3
  513. package/esm/components/atoms/GroupButton/index.js.map +0 -1
  514. package/esm/components/atoms/Icon/index.js +0 -2
  515. package/esm/components/atoms/Icon/index.js.map +0 -1
  516. package/esm/components/atoms/Input/PressableInputContainer/index.js +0 -2
  517. package/esm/components/atoms/Input/PressableInputContainer/index.js.map +0 -1
  518. package/esm/components/atoms/Input/index.js +0 -10
  519. package/esm/components/atoms/Input/index.js.map +0 -1
  520. package/esm/components/atoms/Paper/index.js +0 -2
  521. package/esm/components/atoms/Paper/index.js.map +0 -1
  522. package/esm/components/atoms/PressableSurface/index.js +0 -2
  523. package/esm/components/atoms/PressableSurface/index.js.map +0 -1
  524. package/esm/components/atoms/ProgressBar/index.js +0 -2
  525. package/esm/components/atoms/ProgressBar/index.js.map +0 -1
  526. package/esm/components/atoms/RadioButton/index.js +0 -2
  527. package/esm/components/atoms/RadioButton/index.js.map +0 -1
  528. package/esm/components/atoms/Switch/index.js +0 -2
  529. package/esm/components/atoms/Switch/index.js.map +0 -1
  530. package/esm/components/atoms/Tag/index.js +0 -2
  531. package/esm/components/atoms/Tag/index.js.map +0 -1
  532. package/esm/components/atoms/Text/index.js +0 -2
  533. package/esm/components/atoms/Text/index.js.map +0 -1
  534. package/esm/components/molecules/Calendar/components/index.js +0 -3
  535. package/esm/components/molecules/Calendar/components/index.js.map +0 -1
  536. package/esm/components/molecules/Calendar/index.js +0 -2
  537. package/esm/components/molecules/Calendar/index.js.map +0 -1
  538. package/esm/components/molecules/DatePicker/index.js +0 -2
  539. package/esm/components/molecules/DatePicker/index.js.map +0 -1
  540. package/esm/components/molecules/DateTimePicker/index.js +0 -2
  541. package/esm/components/molecules/DateTimePicker/index.js.map +0 -1
  542. package/esm/components/molecules/DateTimeSelector/index.js +0 -2
  543. package/esm/components/molecules/DateTimeSelector/index.js.map +0 -1
  544. package/esm/components/molecules/Grid/index.js +0 -2
  545. package/esm/components/molecules/Grid/index.js.map +0 -1
  546. package/esm/components/molecules/HintInputContainer/index.js +0 -2
  547. package/esm/components/molecules/HintInputContainer/index.js.map +0 -1
  548. package/esm/components/molecules/HintInputContainer/styled.js +0 -2
  549. package/esm/components/molecules/HintInputContainer/styled.js.map +0 -1
  550. package/esm/components/molecules/IconTextButton/IconTextButton.js +0 -2
  551. package/esm/components/molecules/IconTextButton/IconTextButton.js.map +0 -1
  552. package/esm/components/molecules/IconTextButton/index.js +0 -2
  553. package/esm/components/molecules/IconTextButton/index.js.map +0 -1
  554. package/esm/components/molecules/IconTextButton/styled.d.ts +0 -11
  555. package/esm/components/molecules/IconTextButton/styled.js +0 -14
  556. package/esm/components/molecules/IconTextButton/styled.js.map +0 -1
  557. package/esm/components/molecules/InputPassword/index.js +0 -2
  558. package/esm/components/molecules/InputPassword/index.js.map +0 -1
  559. package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js +0 -2
  560. package/esm/components/molecules/LabeledSwitch/LabeledSwitch.js.map +0 -1
  561. package/esm/components/molecules/LabeledSwitch/index.js +0 -2
  562. package/esm/components/molecules/LabeledSwitch/index.js.map +0 -1
  563. package/esm/components/molecules/Snackbar/index.js +0 -2
  564. package/esm/components/molecules/Snackbar/index.js.map +0 -1
  565. package/esm/components/molecules/TextArea/index.js +0 -3
  566. package/esm/components/molecules/TextArea/index.js.map +0 -1
  567. package/esm/hooks/index.js +0 -3
  568. package/esm/hooks/index.js.map +0 -1
  569. package/esm/types/defaults.js +0 -2
  570. package/esm/types/defaults.js.map +0 -1
  571. package/esm/utils/index.js +0 -8
  572. package/esm/utils/index.js.map +0 -1
  573. package/src/components/molecules/IconTextButton/styled.ts +0 -20
@@ -1,219 +1,215 @@
1
- var _excluded = ["TextComponent", "value", "onChange", "mode", "locale", "upperDateThreshold", "lowerDateThreshold", "offsetThreshold", "upperOffsetThreshold", "lowerOffsetThreshold", "dateModalTitle", "timeModalTitle", "dateConfirmButtonText", "timeConfirmButtonText", "dayLabel", "monthLabel", "yearLabel", "hourLabel", "minuteLabel"];
2
-
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
5
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
-
7
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
-
9
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
-
11
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
-
13
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
14
-
15
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
-
17
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
-
19
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
20
-
21
- import { add, compareAsc, format as formatDate, getDaysInMonth, isSameDay, isSameMonth, isSameYear, set, sub } from 'date-fns';
1
+ import { sub, add, isSameDay, isSameMonth, isSameYear, set, getDaysInMonth, compareAsc, format } from 'date-fns';
22
2
  import * as React from 'react';
23
- import { Button } from '../../atoms/Button';
24
- import { Icon } from '../../atoms/Icon';
25
- import { Text } from '../../atoms/Text';
26
- import { Selector } from './Selector';
27
- import { BackButton, Content, Header, Root, SelectorContainer } from './styled';
28
-
3
+ import Button from '../../atoms/Button/Button.js';
4
+ import Icon from '../../atoms/Icon/Icon.js';
5
+ import Text from '../../atoms/Text/Text.js';
6
+ import '../../atoms/Button/States/styled.js';
7
+ import '@emotion/react';
8
+ import { Selector } from './Selector.js';
9
+ import { Root, Header, BackButton, Content, SelectorContainer } from './styled.js';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __objRest = (source, exclude) => {
28
+ var target = {};
29
+ for (var prop in source)
30
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
31
+ target[prop] = source[prop];
32
+ if (source != null && __getOwnPropSymbols)
33
+ for (var prop of __getOwnPropSymbols(source)) {
34
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
35
+ target[prop] = source[prop];
36
+ }
37
+ return target;
38
+ };
29
39
  function getThresholdUnit(mode, threshold) {
30
- if (!threshold) return {};
31
-
32
- if (mode === 'month') {
33
- return {
34
- months: threshold
35
- };
36
- } else if (['date', 'datetime'].includes(mode)) {
37
- return {
38
- days: threshold
39
- };
40
+ if (!threshold)
41
+ return {};
42
+ if (mode === "month") {
43
+ return { months: threshold };
44
+ } else if (["date", "datetime"].includes(mode)) {
45
+ return { days: threshold };
40
46
  } else {
41
- return {
42
- hours: threshold
43
- };
47
+ return { hours: threshold };
44
48
  }
45
49
  }
46
-
47
- var DateTimeSelector = function DateTimeSelector(_ref) {
48
- var _ref$TextComponent = _ref.TextComponent,
49
- TextComponent = _ref$TextComponent === void 0 ? Text : _ref$TextComponent,
50
- value = _ref.value,
51
- onChange = _ref.onChange,
52
- _ref$mode = _ref.mode,
53
- mode = _ref$mode === void 0 ? 'date' : _ref$mode,
54
- locale = _ref.locale,
55
- _upperDateThreshold = _ref.upperDateThreshold,
56
- _lowerDateThreshold = _ref.lowerDateThreshold,
57
- offsetThreshold = _ref.offsetThreshold,
58
- upperOffsetThreshold = _ref.upperOffsetThreshold,
59
- lowerOffsetThreshold = _ref.lowerOffsetThreshold,
60
- dateModalTitle = _ref.dateModalTitle,
61
- timeModalTitle = _ref.timeModalTitle,
62
- dateConfirmButtonText = _ref.dateConfirmButtonText,
63
- timeConfirmButtonText = _ref.timeConfirmButtonText,
64
- dayLabel = _ref.dayLabel,
65
- monthLabel = _ref.monthLabel,
66
- yearLabel = _ref.yearLabel,
67
- hourLabel = _ref.hourLabel,
68
- minuteLabel = _ref.minuteLabel,
69
- rest = _objectWithoutProperties(_ref, _excluded);
70
-
71
- var lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && sub(new Date(), getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold));
72
-
73
- var upperDateThreshold = _upperDateThreshold || (offsetThreshold || upperOffsetThreshold) && add(new Date(), getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold));
74
-
75
- var _React$useState = React.useState(value || new Date()),
76
- _React$useState2 = _slicedToArray(_React$useState, 2),
77
- date = _React$useState2[0],
78
- setDate = _React$useState2[1];
79
-
80
- var _React$useState3 = React.useState(0),
81
- _React$useState4 = _slicedToArray(_React$useState3, 2),
82
- currentMode = _React$useState4[0],
83
- setCurrentMode = _React$useState4[1];
84
-
85
- var isDate = ['date', 'month'].includes(mode) || mode === 'datetime' && currentMode === 0;
86
- var modalTitle = isDate ? dateModalTitle : timeModalTitle;
87
- var confirmButtonText = isDate ? dateConfirmButtonText : timeConfirmButtonText;
88
-
89
- var handleChange = function handleChange(granularity) {
90
- return function (newValue) {
91
- setDate(function (date) {
92
- var newState;
93
-
94
- if (['month', 'year'].includes(granularity)) {
95
- var newDate = set(date, _defineProperty({}, granularity, newValue));
96
- var daysInMonth = getDaysInMonth(newDate);
97
-
98
- if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {
99
- newDate = set(newDate, {
100
- month: date.getMonth()
101
- });
102
- newState = set(newDate, {
103
- date: getDaysInMonth(newDate)
104
- });
105
- }
106
-
107
- newState = daysInMonth < date.getDate() ? set(newDate, {
108
- date: daysInMonth
109
- }) : newDate;
110
- } else {
111
- newState = set(date, _defineProperty({}, granularity, newValue));
112
- }
113
-
114
- if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {
115
- return upperDateThreshold;
116
- } else if (lowerDateThreshold && compareAsc(newState, lowerDateThreshold) < 0) {
117
- return lowerDateThreshold;
118
- } else {
119
- return newState;
50
+ const DateTimeSelector = (_a) => {
51
+ var _b = _a, {
52
+ TextComponent = Text,
53
+ value,
54
+ onChange,
55
+ mode = "date",
56
+ locale,
57
+ upperDateThreshold: _upperDateThreshold,
58
+ lowerDateThreshold: _lowerDateThreshold,
59
+ offsetThreshold,
60
+ upperOffsetThreshold,
61
+ lowerOffsetThreshold,
62
+ dateModalTitle,
63
+ timeModalTitle,
64
+ dateConfirmButtonText,
65
+ timeConfirmButtonText,
66
+ dayLabel,
67
+ monthLabel,
68
+ yearLabel,
69
+ hourLabel,
70
+ minuteLabel
71
+ } = _b, rest = __objRest(_b, [
72
+ "TextComponent",
73
+ "value",
74
+ "onChange",
75
+ "mode",
76
+ "locale",
77
+ "upperDateThreshold",
78
+ "lowerDateThreshold",
79
+ "offsetThreshold",
80
+ "upperOffsetThreshold",
81
+ "lowerOffsetThreshold",
82
+ "dateModalTitle",
83
+ "timeModalTitle",
84
+ "dateConfirmButtonText",
85
+ "timeConfirmButtonText",
86
+ "dayLabel",
87
+ "monthLabel",
88
+ "yearLabel",
89
+ "hourLabel",
90
+ "minuteLabel"
91
+ ]);
92
+ const lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && sub(
93
+ new Date(),
94
+ getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)
95
+ );
96
+ const upperDateThreshold = _upperDateThreshold || (offsetThreshold || upperOffsetThreshold) && add(
97
+ new Date(),
98
+ getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)
99
+ );
100
+ const [date, setDate] = React.useState(value || new Date());
101
+ const [currentMode, setCurrentMode] = React.useState(0);
102
+ const isDate = ["date", "month"].includes(mode) || mode === "datetime" && currentMode === 0;
103
+ const modalTitle = isDate ? dateModalTitle : timeModalTitle;
104
+ const confirmButtonText = isDate ? dateConfirmButtonText : timeConfirmButtonText;
105
+ const handleChange = (granularity) => (newValue) => {
106
+ setDate((date2) => {
107
+ let newState;
108
+ if (["month", "year"].includes(granularity)) {
109
+ let newDate = set(date2, { [granularity]: newValue });
110
+ const daysInMonth = getDaysInMonth(newDate);
111
+ if (granularity === "year" && date2.getMonth() != newDate.getMonth()) {
112
+ newDate = set(newDate, { month: date2.getMonth() });
113
+ newState = set(newDate, { date: getDaysInMonth(newDate) });
120
114
  }
121
- });
122
- };
115
+ newState = daysInMonth < date2.getDate() ? set(newDate, { date: daysInMonth }) : newDate;
116
+ } else {
117
+ newState = set(date2, { [granularity]: newValue });
118
+ }
119
+ if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {
120
+ return upperDateThreshold;
121
+ } else if (lowerDateThreshold && compareAsc(newState, lowerDateThreshold) < 0) {
122
+ return lowerDateThreshold;
123
+ } else {
124
+ return newState;
125
+ }
126
+ });
123
127
  };
124
-
125
- var getDisplayedValue = function getDisplayedValue(granularity) {
126
- return function (value) {
127
- return granularity === 'month' ? formatDate(date, 'MMM', {
128
- locale: locale
129
- }).slice(0, 3) : value.toString().padStart(2, '0');
130
- };
128
+ const getDisplayedValue = (granularity) => (value2) => {
129
+ return granularity === "month" ? format(date, "MMM", { locale }).slice(0, 3) : value2.toString().padStart(2, "0");
131
130
  };
132
-
133
- var handlePressConfirm = function handlePressConfirm() {
134
- if (mode === 'datetime' && currentMode === 0) {
131
+ const handlePressConfirm = () => {
132
+ if (mode === "datetime" && currentMode === 0) {
135
133
  setCurrentMode(1);
136
134
  } else {
137
- onChange === null || onChange === void 0 ? void 0 : onChange(date);
135
+ onChange == null ? void 0 : onChange(date);
138
136
  }
139
137
  };
140
-
141
- var handlePressBack = function handlePressBack() {
138
+ const handlePressBack = () => {
142
139
  setCurrentMode(0);
143
140
  };
144
-
145
- return React.createElement(Root, rest, React.createElement(Header, null, currentMode === 1 && React.createElement(BackButton, {
141
+ return /* @__PURE__ */ React.createElement(Root, __spreadValues({}, rest), /* @__PURE__ */ React.createElement(Header, null, currentMode === 1 && /* @__PURE__ */ React.createElement(BackButton, {
146
142
  onPress: handlePressBack
147
- }, React.createElement(Icon, {
148
- type: 'material-community',
149
- name: 'chevron-left',
150
- size: 'mega',
151
- colorVariant: 'secondary'
152
- })), React.createElement(TextComponent, {
153
- typography: 'base',
154
- colorVariant: 'secondary'
155
- }, modalTitle)), isDate ? React.createElement(Content, null, mode !== 'month' && React.createElement(SelectorContainer, {
143
+ }, /* @__PURE__ */ React.createElement(Icon, {
144
+ type: "material-community",
145
+ name: "chevron-left",
146
+ size: "mega",
147
+ colorVariant: "secondary"
148
+ })), /* @__PURE__ */ React.createElement(TextComponent, {
149
+ typography: "base",
150
+ colorVariant: "secondary"
151
+ }, modalTitle)), isDate ? /* @__PURE__ */ React.createElement(Content, null, mode !== "month" && /* @__PURE__ */ React.createElement(SelectorContainer, {
156
152
  isFirst: true
157
- }, React.createElement(Selector, {
158
- TextComponent: TextComponent,
159
- onChange: handleChange('date'),
153
+ }, /* @__PURE__ */ React.createElement(Selector, {
154
+ TextComponent,
155
+ onChange: handleChange("date"),
160
156
  referenceDate: date,
161
157
  value: date.getDate(),
162
- label: dayLabel || 'Day',
163
- granularity: 'date',
164
- getDisplayValue: getDisplayedValue('date'),
158
+ label: dayLabel || "Day",
159
+ granularity: "date",
160
+ getDisplayValue: getDisplayedValue("date"),
165
161
  preventUpper: upperDateThreshold ? isSameDay(upperDateThreshold, date) : false,
166
162
  preventLower: lowerDateThreshold ? isSameDay(lowerDateThreshold, date) : false
167
- })), React.createElement(SelectorContainer, null, React.createElement(Selector, {
168
- TextComponent: TextComponent,
169
- onChange: handleChange('month'),
163
+ })), /* @__PURE__ */ React.createElement(SelectorContainer, null, /* @__PURE__ */ React.createElement(Selector, {
164
+ TextComponent,
165
+ onChange: handleChange("month"),
170
166
  referenceDate: date,
171
167
  value: date.getMonth(),
172
- label: monthLabel || 'Month',
173
- granularity: 'month',
174
- getDisplayValue: getDisplayedValue('month'),
168
+ label: monthLabel || "Month",
169
+ granularity: "month",
170
+ getDisplayValue: getDisplayedValue("month"),
175
171
  preventUpper: upperDateThreshold ? isSameMonth(upperDateThreshold, date) : false,
176
172
  preventLower: lowerDateThreshold ? isSameMonth(lowerDateThreshold, date) : false
177
- })), React.createElement(SelectorContainer, {
173
+ })), /* @__PURE__ */ React.createElement(SelectorContainer, {
178
174
  isLast: true
179
- }, React.createElement(Selector, {
180
- TextComponent: TextComponent,
181
- onChange: handleChange('year'),
175
+ }, /* @__PURE__ */ React.createElement(Selector, {
176
+ TextComponent,
177
+ onChange: handleChange("year"),
182
178
  referenceDate: date,
183
179
  value: date.getFullYear(),
184
- label: yearLabel || 'Year',
185
- granularity: 'year',
186
- getDisplayValue: getDisplayedValue('year'),
180
+ label: yearLabel || "Year",
181
+ granularity: "year",
182
+ getDisplayValue: getDisplayedValue("year"),
187
183
  preventUpper: upperDateThreshold ? isSameYear(upperDateThreshold, date) : false,
188
184
  preventLower: lowerDateThreshold ? isSameYear(lowerDateThreshold, date) : false
189
- }))) : React.createElement(Content, null, React.createElement(SelectorContainer, {
185
+ }))) : /* @__PURE__ */ React.createElement(Content, null, /* @__PURE__ */ React.createElement(SelectorContainer, {
190
186
  isFirst: true
191
- }, React.createElement(Selector, {
192
- TextComponent: TextComponent,
193
- onChange: handleChange('hours'),
187
+ }, /* @__PURE__ */ React.createElement(Selector, {
188
+ TextComponent,
189
+ onChange: handleChange("hours"),
194
190
  referenceDate: date,
195
191
  value: date.getHours(),
196
- label: hourLabel || 'Hour',
197
- granularity: 'hours',
198
- getDisplayValue: getDisplayedValue('hours')
199
- })), React.createElement(SelectorContainer, {
192
+ label: hourLabel || "Hour",
193
+ granularity: "hours",
194
+ getDisplayValue: getDisplayedValue("hours")
195
+ })), /* @__PURE__ */ React.createElement(SelectorContainer, {
200
196
  isLast: true
201
- }, React.createElement(Selector, {
202
- TextComponent: TextComponent,
203
- onChange: handleChange('minutes'),
197
+ }, /* @__PURE__ */ React.createElement(Selector, {
198
+ TextComponent,
199
+ onChange: handleChange("minutes"),
204
200
  referenceDate: date,
205
201
  value: date.getMinutes(),
206
- label: minuteLabel || 'Minute',
207
- granularity: 'minutes',
208
- getDisplayValue: getDisplayedValue('minutes')
209
- }))), React.createElement(Button, {
210
- color: 'primary',
202
+ label: minuteLabel || "Minute",
203
+ granularity: "minutes",
204
+ getDisplayValue: getDisplayedValue("minutes")
205
+ }))), /* @__PURE__ */ React.createElement(Button, {
206
+ color: "primary",
211
207
  onPress: handlePressConfirm
212
- }, React.createElement(TextComponent, {
208
+ }, /* @__PURE__ */ React.createElement(TextComponent, {
213
209
  fontWeight: "bold",
214
210
  fontColor: "light"
215
- }, confirmButtonText || 'OK')));
211
+ }, confirmButtonText || "OK")));
216
212
  };
217
213
 
218
- export default DateTimeSelector;
219
- //# sourceMappingURL=DateTimeSelector.js.map
214
+ export { DateTimeSelector as default };
215
+ //# sourceMappingURL=DateTimeSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeSelector.js","names":["add","compareAsc","format","formatDate","getDaysInMonth","isSameDay","isSameMonth","isSameYear","set","sub","React","Button","Icon","Text","Selector","BackButton","Content","Header","Root","SelectorContainer","getThresholdUnit","mode","threshold","months","includes","days","hours","DateTimeSelector","TextComponent","value","onChange","locale","_upperDateThreshold","upperDateThreshold","_lowerDateThreshold","lowerDateThreshold","offsetThreshold","upperOffsetThreshold","lowerOffsetThreshold","dateModalTitle","timeModalTitle","dateConfirmButtonText","timeConfirmButtonText","dayLabel","monthLabel","yearLabel","hourLabel","minuteLabel","rest","Date","useState","date","setDate","currentMode","setCurrentMode","isDate","modalTitle","confirmButtonText","handleChange","granularity","newValue","newState","newDate","daysInMonth","getMonth","month","getDate","getDisplayedValue","slice","toString","padStart","handlePressConfirm","handlePressBack","getFullYear","getHours","getMinutes"],"sources":["../../../../src/components/molecules/DateTimeSelector/DateTimeSelector.tsx"],"sourcesContent":["import {\n add,\n compareAsc,\n format as formatDate,\n getDaysInMonth,\n isSameDay,\n isSameMonth,\n isSameYear,\n set,\n sub,\n} from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { Granularity, Selector } from './Selector';\nimport { BackButton, Content, Header, Root, SelectorContainer } from './styled';\n\nexport type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';\n\nexport interface DateTimeSelectorProps extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n value?: Date;\n onChange?: (value: Date) => void | never;\n\n /**\n * Defines the Picker behavior\n * Must be one of ['date', 'time', 'datetime', 'month']\n */\n mode?: DateTimeSelectorMode;\n format?: string;\n locale?: Locale;\n\n /**\n * Maximum date from today\n */\n upperDateThreshold?: Date;\n\n /**\n * Minimum date from today\n */\n lowerDateThreshold?: Date;\n\n /**\n * Minimum and maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n offsetThreshold?: number;\n\n /**\n * Maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n upperOffsetThreshold?: number;\n\n /**\n * Minimum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n lowerOffsetThreshold?: number;\n\n dateModalTitle?: string;\n timeModalTitle?: string;\n dateConfirmButtonText?: string;\n timeConfirmButtonText?: string;\n dayLabel?: string;\n monthLabel?: string;\n yearLabel?: string;\n hourLabel?: string;\n minuteLabel?: string;\n}\n\nfunction getThresholdUnit(mode: DateTimeSelectorMode, threshold?: number) {\n if (!threshold) return {};\n if (mode === 'month') {\n return { months: threshold };\n } else if (['date', 'datetime'].includes(mode)) {\n return { days: threshold };\n } else {\n return { hours: threshold };\n }\n}\n\nconst DateTimeSelector: React.FC<DateTimeSelectorProps> = ({\n TextComponent = Text,\n value,\n onChange,\n mode = 'date',\n locale,\n upperDateThreshold: _upperDateThreshold,\n lowerDateThreshold: _lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n ...rest\n}) => {\n const lowerDateThreshold =\n _lowerDateThreshold ||\n ((offsetThreshold || lowerOffsetThreshold) &&\n sub(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)\n ));\n\n const upperDateThreshold =\n _upperDateThreshold ||\n ((offsetThreshold || upperOffsetThreshold) &&\n add(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)\n ));\n\n const [date, setDate] = React.useState<Date>(value || new Date());\n const [currentMode, setCurrentMode] = React.useState<0 | 1>(0);\n\n const isDate =\n ['date', 'month'].includes(mode) ||\n (mode === 'datetime' && currentMode === 0);\n\n const modalTitle = isDate ? dateModalTitle : timeModalTitle;\n const confirmButtonText = isDate\n ? dateConfirmButtonText\n : timeConfirmButtonText;\n\n const handleChange = (granularity: Granularity) => (newValue: number) => {\n setDate(date => {\n let newState: Date;\n // Months and years must have a different handling for being\n // the only date units that may interfere another unit.\n if (['month', 'year'].includes(granularity)) {\n let newDate = set(date, { [granularity]: newValue });\n const daysInMonth = getDaysInMonth(newDate);\n if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {\n newDate = set(newDate, { month: date.getMonth() });\n newState = set(newDate, { date: getDaysInMonth(newDate) });\n }\n newState =\n daysInMonth < date.getDate()\n ? set(newDate, { date: daysInMonth })\n : newDate;\n } else {\n newState = set(date, { [granularity]: newValue });\n }\n\n if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {\n return upperDateThreshold;\n } else if (\n lowerDateThreshold &&\n compareAsc(newState, lowerDateThreshold) < 0\n ) {\n return lowerDateThreshold;\n } else {\n return newState;\n }\n });\n };\n\n const getDisplayedValue = (granularity: Granularity) => (value: number) => {\n return granularity === 'month'\n ? formatDate(date, 'MMM', { locale: locale }).slice(0, 3)\n : value.toString().padStart(2, '0');\n };\n\n const handlePressConfirm = () => {\n if (mode === 'datetime' && currentMode === 0) {\n setCurrentMode(1);\n } else {\n onChange?.(date);\n }\n };\n\n const handlePressBack = () => {\n setCurrentMode(0);\n };\n\n return (\n <Root {...rest}>\n <Header>\n {currentMode === 1 && (\n <BackButton onPress={handlePressBack}>\n <Icon\n type={'material-community'}\n name={'chevron-left'}\n size={'mega'}\n colorVariant={'secondary'}\n />\n </BackButton>\n )}\n <TextComponent typography={'base'} colorVariant={'secondary'}>\n {modalTitle}\n </TextComponent>\n </Header>\n\n {isDate ? (\n <Content>\n {mode !== 'month' && (\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('date')}\n referenceDate={date}\n value={date.getDate()}\n label={dayLabel || 'Day'}\n granularity={'date'}\n getDisplayValue={getDisplayedValue('date')}\n preventUpper={\n upperDateThreshold\n ? isSameDay(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameDay(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n )}\n <SelectorContainer>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('month')}\n referenceDate={date}\n value={date.getMonth()}\n label={monthLabel || 'Month'}\n granularity={'month'}\n getDisplayValue={getDisplayedValue('month')}\n preventUpper={\n upperDateThreshold\n ? isSameMonth(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameMonth(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('year')}\n referenceDate={date}\n value={date.getFullYear()}\n label={yearLabel || 'Year'}\n granularity={'year'}\n getDisplayValue={getDisplayedValue('year')}\n preventUpper={\n upperDateThreshold\n ? isSameYear(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameYear(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n </Content>\n ) : (\n <Content>\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('hours')}\n referenceDate={date}\n value={date.getHours()}\n label={hourLabel || 'Hour'}\n granularity={'hours'}\n getDisplayValue={getDisplayedValue('hours')}\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('minutes')}\n referenceDate={date}\n value={date.getMinutes()}\n label={minuteLabel || 'Minute'}\n granularity={'minutes'}\n getDisplayValue={getDisplayedValue('minutes')}\n />\n </SelectorContainer>\n </Content>\n )}\n <Button color={'primary'} onPress={handlePressConfirm}>\n <TextComponent fontWeight=\"bold\" fontColor=\"light\">\n {confirmButtonText || 'OK'}\n </TextComponent>\n </Button>\n </Root>\n );\n};\n\nexport default DateTimeSelector;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimeSelector.js","sources":["../../../../src/components/molecules/DateTimeSelector/DateTimeSelector.tsx"],"sourcesContent":["import {\n add,\n compareAsc,\n format as formatDate,\n getDaysInMonth,\n isSameDay,\n isSameMonth,\n isSameYear,\n set,\n sub,\n} from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { Granularity, Selector } from './Selector';\nimport { BackButton, Content, Header, Root, SelectorContainer } from './styled';\n\nexport type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';\n\nexport interface DateTimeSelectorProps extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n value?: Date;\n onChange?: (value: Date) => void | never;\n\n /**\n * Defines the Picker behavior\n * Must be one of ['date', 'time', 'datetime', 'month']\n */\n mode?: DateTimeSelectorMode;\n format?: string;\n locale?: Locale;\n\n /**\n * Maximum date from today\n */\n upperDateThreshold?: Date;\n\n /**\n * Minimum date from today\n */\n lowerDateThreshold?: Date;\n\n /**\n * Minimum and maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n offsetThreshold?: number;\n\n /**\n * Maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n upperOffsetThreshold?: number;\n\n /**\n * Minimum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n lowerOffsetThreshold?: number;\n\n dateModalTitle?: string;\n timeModalTitle?: string;\n dateConfirmButtonText?: string;\n timeConfirmButtonText?: string;\n dayLabel?: string;\n monthLabel?: string;\n yearLabel?: string;\n hourLabel?: string;\n minuteLabel?: string;\n}\n\nfunction getThresholdUnit(mode: DateTimeSelectorMode, threshold?: number) {\n if (!threshold) return {};\n if (mode === 'month') {\n return { months: threshold };\n } else if (['date', 'datetime'].includes(mode)) {\n return { days: threshold };\n } else {\n return { hours: threshold };\n }\n}\n\nconst DateTimeSelector: React.FC<DateTimeSelectorProps> = ({\n TextComponent = Text,\n value,\n onChange,\n mode = 'date',\n locale,\n upperDateThreshold: _upperDateThreshold,\n lowerDateThreshold: _lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n ...rest\n}) => {\n const lowerDateThreshold =\n _lowerDateThreshold ||\n ((offsetThreshold || lowerOffsetThreshold) &&\n sub(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)\n ));\n\n const upperDateThreshold =\n _upperDateThreshold ||\n ((offsetThreshold || upperOffsetThreshold) &&\n add(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)\n ));\n\n const [date, setDate] = React.useState<Date>(value || new Date());\n const [currentMode, setCurrentMode] = React.useState<0 | 1>(0);\n\n const isDate =\n ['date', 'month'].includes(mode) ||\n (mode === 'datetime' && currentMode === 0);\n\n const modalTitle = isDate ? dateModalTitle : timeModalTitle;\n const confirmButtonText = isDate\n ? dateConfirmButtonText\n : timeConfirmButtonText;\n\n const handleChange = (granularity: Granularity) => (newValue: number) => {\n setDate(date => {\n let newState: Date;\n // Months and years must have a different handling for being\n // the only date units that may interfere another unit.\n if (['month', 'year'].includes(granularity)) {\n let newDate = set(date, { [granularity]: newValue });\n const daysInMonth = getDaysInMonth(newDate);\n if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {\n newDate = set(newDate, { month: date.getMonth() });\n newState = set(newDate, { date: getDaysInMonth(newDate) });\n }\n newState =\n daysInMonth < date.getDate()\n ? set(newDate, { date: daysInMonth })\n : newDate;\n } else {\n newState = set(date, { [granularity]: newValue });\n }\n\n if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {\n return upperDateThreshold;\n } else if (\n lowerDateThreshold &&\n compareAsc(newState, lowerDateThreshold) < 0\n ) {\n return lowerDateThreshold;\n } else {\n return newState;\n }\n });\n };\n\n const getDisplayedValue = (granularity: Granularity) => (value: number) => {\n return granularity === 'month'\n ? formatDate(date, 'MMM', { locale: locale }).slice(0, 3)\n : value.toString().padStart(2, '0');\n };\n\n const handlePressConfirm = () => {\n if (mode === 'datetime' && currentMode === 0) {\n setCurrentMode(1);\n } else {\n onChange?.(date);\n }\n };\n\n const handlePressBack = () => {\n setCurrentMode(0);\n };\n\n return (\n <Root {...rest}>\n <Header>\n {currentMode === 1 && (\n <BackButton onPress={handlePressBack}>\n <Icon\n type={'material-community'}\n name={'chevron-left'}\n size={'mega'}\n colorVariant={'secondary'}\n />\n </BackButton>\n )}\n <TextComponent typography={'base'} colorVariant={'secondary'}>\n {modalTitle}\n </TextComponent>\n </Header>\n\n {isDate ? (\n <Content>\n {mode !== 'month' && (\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('date')}\n referenceDate={date}\n value={date.getDate()}\n label={dayLabel || 'Day'}\n granularity={'date'}\n getDisplayValue={getDisplayedValue('date')}\n preventUpper={\n upperDateThreshold\n ? isSameDay(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameDay(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n )}\n <SelectorContainer>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('month')}\n referenceDate={date}\n value={date.getMonth()}\n label={monthLabel || 'Month'}\n granularity={'month'}\n getDisplayValue={getDisplayedValue('month')}\n preventUpper={\n upperDateThreshold\n ? isSameMonth(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameMonth(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('year')}\n referenceDate={date}\n value={date.getFullYear()}\n label={yearLabel || 'Year'}\n granularity={'year'}\n getDisplayValue={getDisplayedValue('year')}\n preventUpper={\n upperDateThreshold\n ? isSameYear(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameYear(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n </Content>\n ) : (\n <Content>\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('hours')}\n referenceDate={date}\n value={date.getHours()}\n label={hourLabel || 'Hour'}\n granularity={'hours'}\n getDisplayValue={getDisplayedValue('hours')}\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('minutes')}\n referenceDate={date}\n value={date.getMinutes()}\n label={minuteLabel || 'Minute'}\n granularity={'minutes'}\n getDisplayValue={getDisplayedValue('minutes')}\n />\n </SelectorContainer>\n </Content>\n )}\n <Button color={'primary'} onPress={handlePressConfirm}>\n <TextComponent fontWeight=\"bold\" fontColor=\"light\">\n {confirmButtonText || 'OK'}\n </TextComponent>\n </Button>\n </Root>\n );\n};\n\nexport default DateTimeSelector;\n"],"names":["date","value","formatDate"],"mappings":"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"}