@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,52 +1,80 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _dateFns = require("date-fns");
9
-
10
- var React = _interopRequireWildcard(require("react"));
11
-
12
- var _Button = require("../../atoms/Button");
13
-
14
- var _Icon = require("../../atoms/Icon");
15
-
16
- var _Text = require("../../atoms/Text");
17
-
18
- var _Selector = require("./Selector");
19
-
20
- var _styled = require("./styled");
21
-
22
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
1
+ 'use strict';
2
+
3
+ var dateFns = require('date-fns');
4
+ var React = require('react');
5
+ var Button = require('../../atoms/Button/Button.js');
6
+ var Icon = require('../../atoms/Icon/Icon.js');
7
+ var Text = require('../../atoms/Text/Text.js');
8
+ require('../../atoms/Button/States/styled.js');
9
+ require('@emotion/react');
10
+ var Selector = require('./Selector.js');
11
+ var styled = require('./styled.js');
12
+
13
+ function _interopNamespace(e) {
14
+ if (e && e.__esModule) return e;
15
+ var n = Object.create(null);
16
+ if (e) {
17
+ Object.keys(e).forEach(function (k) {
18
+ if (k !== 'default') {
19
+ var d = Object.getOwnPropertyDescriptor(e, k);
20
+ Object.defineProperty(n, k, d.get ? d : {
21
+ enumerable: true,
22
+ get: function () { return e[k]; }
23
+ });
24
+ }
25
+ });
26
+ }
27
+ n["default"] = e;
28
+ return Object.freeze(n);
29
+ }
25
30
 
31
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
+
33
+ var __defProp = Object.defineProperty;
34
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
35
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
36
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
37
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
38
+ var __spreadValues = (a, b) => {
39
+ for (var prop in b || (b = {}))
40
+ if (__hasOwnProp.call(b, prop))
41
+ __defNormalProp(a, prop, b[prop]);
42
+ if (__getOwnPropSymbols)
43
+ for (var prop of __getOwnPropSymbols(b)) {
44
+ if (__propIsEnum.call(b, prop))
45
+ __defNormalProp(a, prop, b[prop]);
46
+ }
47
+ return a;
48
+ };
49
+ var __objRest = (source, exclude) => {
50
+ var target = {};
51
+ for (var prop in source)
52
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
53
+ target[prop] = source[prop];
54
+ if (source != null && __getOwnPropSymbols)
55
+ for (var prop of __getOwnPropSymbols(source)) {
56
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
57
+ target[prop] = source[prop];
58
+ }
59
+ return target;
60
+ };
26
61
  function getThresholdUnit(mode, threshold) {
27
- if (!threshold) return {};
28
-
29
- if (mode === 'month') {
30
- return {
31
- months: threshold
32
- };
33
- } else if (['date', 'datetime'].includes(mode)) {
34
- return {
35
- days: threshold
36
- };
62
+ if (!threshold)
63
+ return {};
64
+ if (mode === "month") {
65
+ return { months: threshold };
66
+ } else if (["date", "datetime"].includes(mode)) {
67
+ return { days: threshold };
37
68
  } else {
38
- return {
39
- hours: threshold
40
- };
69
+ return { hours: threshold };
41
70
  }
42
71
  }
43
-
44
- const DateTimeSelector = _ref => {
45
- let {
46
- TextComponent = _Text.Text,
72
+ const DateTimeSelector = (_a) => {
73
+ var _b = _a, {
74
+ TextComponent = Text,
47
75
  value,
48
76
  onChange,
49
- mode = 'date',
77
+ mode = "date",
50
78
  locale,
51
79
  upperDateThreshold: _upperDateThreshold,
52
80
  lowerDateThreshold: _lowerDateThreshold,
@@ -61,149 +89,149 @@ const DateTimeSelector = _ref => {
61
89
  monthLabel,
62
90
  yearLabel,
63
91
  hourLabel,
64
- minuteLabel,
65
- ...rest
66
- } = _ref;
67
-
68
- const lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && (0, _dateFns.sub)(new Date(), getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold));
69
-
70
- const upperDateThreshold = _upperDateThreshold || (offsetThreshold || upperOffsetThreshold) && (0, _dateFns.add)(new Date(), getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold));
71
-
72
- const [date, setDate] = React.useState(value || new Date());
73
- const [currentMode, setCurrentMode] = React.useState(0);
74
- const isDate = ['date', 'month'].includes(mode) || mode === 'datetime' && currentMode === 0;
92
+ minuteLabel
93
+ } = _b, rest = __objRest(_b, [
94
+ "TextComponent",
95
+ "value",
96
+ "onChange",
97
+ "mode",
98
+ "locale",
99
+ "upperDateThreshold",
100
+ "lowerDateThreshold",
101
+ "offsetThreshold",
102
+ "upperOffsetThreshold",
103
+ "lowerOffsetThreshold",
104
+ "dateModalTitle",
105
+ "timeModalTitle",
106
+ "dateConfirmButtonText",
107
+ "timeConfirmButtonText",
108
+ "dayLabel",
109
+ "monthLabel",
110
+ "yearLabel",
111
+ "hourLabel",
112
+ "minuteLabel"
113
+ ]);
114
+ const lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && dateFns.sub(
115
+ new Date(),
116
+ getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)
117
+ );
118
+ const upperDateThreshold = _upperDateThreshold || (offsetThreshold || upperOffsetThreshold) && dateFns.add(
119
+ new Date(),
120
+ getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)
121
+ );
122
+ const [date, setDate] = React__namespace.useState(value || new Date());
123
+ const [currentMode, setCurrentMode] = React__namespace.useState(0);
124
+ const isDate = ["date", "month"].includes(mode) || mode === "datetime" && currentMode === 0;
75
125
  const modalTitle = isDate ? dateModalTitle : timeModalTitle;
76
126
  const confirmButtonText = isDate ? dateConfirmButtonText : timeConfirmButtonText;
77
-
78
- const handleChange = granularity => newValue => {
79
- setDate(date => {
127
+ const handleChange = (granularity) => (newValue) => {
128
+ setDate((date2) => {
80
129
  let newState;
81
-
82
- if (['month', 'year'].includes(granularity)) {
83
- let newDate = (0, _dateFns.set)(date, {
84
- [granularity]: newValue
85
- });
86
- const daysInMonth = (0, _dateFns.getDaysInMonth)(newDate);
87
-
88
- if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {
89
- newDate = (0, _dateFns.set)(newDate, {
90
- month: date.getMonth()
91
- });
92
- newState = (0, _dateFns.set)(newDate, {
93
- date: (0, _dateFns.getDaysInMonth)(newDate)
94
- });
130
+ if (["month", "year"].includes(granularity)) {
131
+ let newDate = dateFns.set(date2, { [granularity]: newValue });
132
+ const daysInMonth = dateFns.getDaysInMonth(newDate);
133
+ if (granularity === "year" && date2.getMonth() != newDate.getMonth()) {
134
+ newDate = dateFns.set(newDate, { month: date2.getMonth() });
135
+ newState = dateFns.set(newDate, { date: dateFns.getDaysInMonth(newDate) });
95
136
  }
96
-
97
- newState = daysInMonth < date.getDate() ? (0, _dateFns.set)(newDate, {
98
- date: daysInMonth
99
- }) : newDate;
137
+ newState = daysInMonth < date2.getDate() ? dateFns.set(newDate, { date: daysInMonth }) : newDate;
100
138
  } else {
101
- newState = (0, _dateFns.set)(date, {
102
- [granularity]: newValue
103
- });
139
+ newState = dateFns.set(date2, { [granularity]: newValue });
104
140
  }
105
-
106
- if (upperDateThreshold && (0, _dateFns.compareAsc)(newState, upperDateThreshold) > 0) {
141
+ if (upperDateThreshold && dateFns.compareAsc(newState, upperDateThreshold) > 0) {
107
142
  return upperDateThreshold;
108
- } else if (lowerDateThreshold && (0, _dateFns.compareAsc)(newState, lowerDateThreshold) < 0) {
143
+ } else if (lowerDateThreshold && dateFns.compareAsc(newState, lowerDateThreshold) < 0) {
109
144
  return lowerDateThreshold;
110
145
  } else {
111
146
  return newState;
112
147
  }
113
148
  });
114
149
  };
115
-
116
- const getDisplayedValue = granularity => value => {
117
- return granularity === 'month' ? (0, _dateFns.format)(date, 'MMM', {
118
- locale: locale
119
- }).slice(0, 3) : value.toString().padStart(2, '0');
150
+ const getDisplayedValue = (granularity) => (value2) => {
151
+ return granularity === "month" ? dateFns.format(date, "MMM", { locale }).slice(0, 3) : value2.toString().padStart(2, "0");
120
152
  };
121
-
122
153
  const handlePressConfirm = () => {
123
- if (mode === 'datetime' && currentMode === 0) {
154
+ if (mode === "datetime" && currentMode === 0) {
124
155
  setCurrentMode(1);
125
156
  } else {
126
- onChange === null || onChange === void 0 ? void 0 : onChange(date);
157
+ onChange == null ? void 0 : onChange(date);
127
158
  }
128
159
  };
129
-
130
160
  const handlePressBack = () => {
131
161
  setCurrentMode(0);
132
162
  };
133
-
134
- return React.createElement(_styled.Root, rest, React.createElement(_styled.Header, null, currentMode === 1 && React.createElement(_styled.BackButton, {
163
+ return /* @__PURE__ */ React__namespace.createElement(styled.Root, __spreadValues({}, rest), /* @__PURE__ */ React__namespace.createElement(styled.Header, null, currentMode === 1 && /* @__PURE__ */ React__namespace.createElement(styled.BackButton, {
135
164
  onPress: handlePressBack
136
- }, React.createElement(_Icon.Icon, {
137
- type: 'material-community',
138
- name: 'chevron-left',
139
- size: 'mega',
140
- colorVariant: 'secondary'
141
- })), React.createElement(TextComponent, {
142
- typography: 'base',
143
- colorVariant: 'secondary'
144
- }, modalTitle)), isDate ? React.createElement(_styled.Content, null, mode !== 'month' && React.createElement(_styled.SelectorContainer, {
165
+ }, /* @__PURE__ */ React__namespace.createElement(Icon, {
166
+ type: "material-community",
167
+ name: "chevron-left",
168
+ size: "mega",
169
+ colorVariant: "secondary"
170
+ })), /* @__PURE__ */ React__namespace.createElement(TextComponent, {
171
+ typography: "base",
172
+ colorVariant: "secondary"
173
+ }, modalTitle)), isDate ? /* @__PURE__ */ React__namespace.createElement(styled.Content, null, mode !== "month" && /* @__PURE__ */ React__namespace.createElement(styled.SelectorContainer, {
145
174
  isFirst: true
146
- }, React.createElement(_Selector.Selector, {
147
- TextComponent: TextComponent,
148
- onChange: handleChange('date'),
175
+ }, /* @__PURE__ */ React__namespace.createElement(Selector.Selector, {
176
+ TextComponent,
177
+ onChange: handleChange("date"),
149
178
  referenceDate: date,
150
179
  value: date.getDate(),
151
- label: dayLabel || 'Day',
152
- granularity: 'date',
153
- getDisplayValue: getDisplayedValue('date'),
154
- preventUpper: upperDateThreshold ? (0, _dateFns.isSameDay)(upperDateThreshold, date) : false,
155
- preventLower: lowerDateThreshold ? (0, _dateFns.isSameDay)(lowerDateThreshold, date) : false
156
- })), React.createElement(_styled.SelectorContainer, null, React.createElement(_Selector.Selector, {
157
- TextComponent: TextComponent,
158
- onChange: handleChange('month'),
180
+ label: dayLabel || "Day",
181
+ granularity: "date",
182
+ getDisplayValue: getDisplayedValue("date"),
183
+ preventUpper: upperDateThreshold ? dateFns.isSameDay(upperDateThreshold, date) : false,
184
+ preventLower: lowerDateThreshold ? dateFns.isSameDay(lowerDateThreshold, date) : false
185
+ })), /* @__PURE__ */ React__namespace.createElement(styled.SelectorContainer, null, /* @__PURE__ */ React__namespace.createElement(Selector.Selector, {
186
+ TextComponent,
187
+ onChange: handleChange("month"),
159
188
  referenceDate: date,
160
189
  value: date.getMonth(),
161
- label: monthLabel || 'Month',
162
- granularity: 'month',
163
- getDisplayValue: getDisplayedValue('month'),
164
- preventUpper: upperDateThreshold ? (0, _dateFns.isSameMonth)(upperDateThreshold, date) : false,
165
- preventLower: lowerDateThreshold ? (0, _dateFns.isSameMonth)(lowerDateThreshold, date) : false
166
- })), React.createElement(_styled.SelectorContainer, {
190
+ label: monthLabel || "Month",
191
+ granularity: "month",
192
+ getDisplayValue: getDisplayedValue("month"),
193
+ preventUpper: upperDateThreshold ? dateFns.isSameMonth(upperDateThreshold, date) : false,
194
+ preventLower: lowerDateThreshold ? dateFns.isSameMonth(lowerDateThreshold, date) : false
195
+ })), /* @__PURE__ */ React__namespace.createElement(styled.SelectorContainer, {
167
196
  isLast: true
168
- }, React.createElement(_Selector.Selector, {
169
- TextComponent: TextComponent,
170
- onChange: handleChange('year'),
197
+ }, /* @__PURE__ */ React__namespace.createElement(Selector.Selector, {
198
+ TextComponent,
199
+ onChange: handleChange("year"),
171
200
  referenceDate: date,
172
201
  value: date.getFullYear(),
173
- label: yearLabel || 'Year',
174
- granularity: 'year',
175
- getDisplayValue: getDisplayedValue('year'),
176
- preventUpper: upperDateThreshold ? (0, _dateFns.isSameYear)(upperDateThreshold, date) : false,
177
- preventLower: lowerDateThreshold ? (0, _dateFns.isSameYear)(lowerDateThreshold, date) : false
178
- }))) : React.createElement(_styled.Content, null, React.createElement(_styled.SelectorContainer, {
202
+ label: yearLabel || "Year",
203
+ granularity: "year",
204
+ getDisplayValue: getDisplayedValue("year"),
205
+ preventUpper: upperDateThreshold ? dateFns.isSameYear(upperDateThreshold, date) : false,
206
+ preventLower: lowerDateThreshold ? dateFns.isSameYear(lowerDateThreshold, date) : false
207
+ }))) : /* @__PURE__ */ React__namespace.createElement(styled.Content, null, /* @__PURE__ */ React__namespace.createElement(styled.SelectorContainer, {
179
208
  isFirst: true
180
- }, React.createElement(_Selector.Selector, {
181
- TextComponent: TextComponent,
182
- onChange: handleChange('hours'),
209
+ }, /* @__PURE__ */ React__namespace.createElement(Selector.Selector, {
210
+ TextComponent,
211
+ onChange: handleChange("hours"),
183
212
  referenceDate: date,
184
213
  value: date.getHours(),
185
- label: hourLabel || 'Hour',
186
- granularity: 'hours',
187
- getDisplayValue: getDisplayedValue('hours')
188
- })), React.createElement(_styled.SelectorContainer, {
214
+ label: hourLabel || "Hour",
215
+ granularity: "hours",
216
+ getDisplayValue: getDisplayedValue("hours")
217
+ })), /* @__PURE__ */ React__namespace.createElement(styled.SelectorContainer, {
189
218
  isLast: true
190
- }, React.createElement(_Selector.Selector, {
191
- TextComponent: TextComponent,
192
- onChange: handleChange('minutes'),
219
+ }, /* @__PURE__ */ React__namespace.createElement(Selector.Selector, {
220
+ TextComponent,
221
+ onChange: handleChange("minutes"),
193
222
  referenceDate: date,
194
223
  value: date.getMinutes(),
195
- label: minuteLabel || 'Minute',
196
- granularity: 'minutes',
197
- getDisplayValue: getDisplayedValue('minutes')
198
- }))), React.createElement(_Button.Button, {
199
- color: 'primary',
224
+ label: minuteLabel || "Minute",
225
+ granularity: "minutes",
226
+ getDisplayValue: getDisplayedValue("minutes")
227
+ }))), /* @__PURE__ */ React__namespace.createElement(Button, {
228
+ color: "primary",
200
229
  onPress: handlePressConfirm
201
- }, React.createElement(TextComponent, {
230
+ }, /* @__PURE__ */ React__namespace.createElement(TextComponent, {
202
231
  fontWeight: "bold",
203
232
  fontColor: "light"
204
- }, confirmButtonText || 'OK')));
233
+ }, confirmButtonText || "OK")));
205
234
  };
206
235
 
207
- var _default = DateTimeSelector;
208
- exports.default = _default;
209
- //# sourceMappingURL=DateTimeSelector.js.map
236
+ module.exports = DateTimeSelector;
237
+ //# sourceMappingURL=DateTimeSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeSelector.js","names":["getThresholdUnit","mode","threshold","months","includes","days","hours","DateTimeSelector","TextComponent","Text","value","onChange","locale","upperDateThreshold","_upperDateThreshold","lowerDateThreshold","_lowerDateThreshold","offsetThreshold","upperOffsetThreshold","lowerOffsetThreshold","dateModalTitle","timeModalTitle","dateConfirmButtonText","timeConfirmButtonText","dayLabel","monthLabel","yearLabel","hourLabel","minuteLabel","rest","sub","Date","add","date","setDate","React","useState","currentMode","setCurrentMode","isDate","modalTitle","confirmButtonText","handleChange","granularity","newValue","newState","newDate","set","daysInMonth","getDaysInMonth","getMonth","month","getDate","compareAsc","getDisplayedValue","formatDate","slice","toString","padStart","handlePressConfirm","handlePressBack","isSameDay","isSameMonth","getFullYear","isSameYear","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":["sub","add","React","date","set","getDaysInMonth","compareAsc","value","formatDate","Root","Header","BackButton","Content","SelectorContainer","Selector","isSameDay","isSameMonth","isSameYear"],"mappings":"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"}