@tecsinapse/react-core 1.22.8 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/dist/cjs/components/atoms/Avatar/Avatar.d.ts +1 -1
  2. package/dist/cjs/components/atoms/Avatar/Avatar.js +3 -17
  3. package/dist/cjs/components/atoms/Avatar/Avatar.js.map +1 -1
  4. package/dist/cjs/components/atoms/Avatar/Avatar.stories.d.ts +1 -2
  5. package/dist/cjs/components/atoms/Avatar/helpers.js +0 -2
  6. package/dist/cjs/components/atoms/Avatar/helpers.js.map +1 -1
  7. package/dist/cjs/components/atoms/Avatar/styled.d.ts +0 -4
  8. package/dist/cjs/components/atoms/Avatar/styled.js +4 -10
  9. package/dist/cjs/components/atoms/Avatar/styled.js.map +1 -1
  10. package/dist/cjs/components/atoms/Badge/Badge.d.ts +3 -2
  11. package/dist/cjs/components/atoms/Badge/Badge.js +1 -9
  12. package/dist/cjs/components/atoms/Badge/Badge.js.map +1 -1
  13. package/dist/cjs/components/atoms/Badge/styled.js +2 -8
  14. package/dist/cjs/components/atoms/Badge/styled.js.map +1 -1
  15. package/dist/cjs/components/atoms/BoxContent/BoxContent.js +1 -7
  16. package/dist/cjs/components/atoms/BoxContent/BoxContent.js.map +1 -1
  17. package/dist/cjs/components/atoms/BoxContent/BoxContent.stories.d.ts +1 -2
  18. package/dist/cjs/components/atoms/BoxContent/styled.js +2 -8
  19. package/dist/cjs/components/atoms/BoxContent/styled.js.map +1 -1
  20. package/dist/cjs/components/atoms/Button/Button.d.ts +2 -2
  21. package/dist/cjs/components/atoms/Button/Button.js +19 -16
  22. package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
  23. package/dist/cjs/components/atoms/Button/States/BaseState.js +1 -14
  24. package/dist/cjs/components/atoms/Button/States/BaseState.js.map +1 -1
  25. package/dist/cjs/components/atoms/Button/States/Error.js +1 -8
  26. package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
  27. package/dist/cjs/components/atoms/Button/States/Loading.js +7 -12
  28. package/dist/cjs/components/atoms/Button/States/Loading.js.map +1 -1
  29. package/dist/cjs/components/atoms/Button/States/Success.js +1 -8
  30. package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
  31. package/dist/cjs/components/atoms/Button/States/styled.js +2 -8
  32. package/dist/cjs/components/atoms/Button/States/styled.js.map +1 -1
  33. package/dist/cjs/components/atoms/Button/styled.d.ts +0 -2
  34. package/dist/cjs/components/atoms/Button/styled.js +2 -8
  35. package/dist/cjs/components/atoms/Button/styled.js.map +1 -1
  36. package/dist/cjs/components/atoms/Card/Card.d.ts +3 -2
  37. package/dist/cjs/components/atoms/Card/Card.js +2 -13
  38. package/dist/cjs/components/atoms/Card/Card.js.map +1 -1
  39. package/dist/cjs/components/atoms/Card/Card.stories.d.ts +3 -4
  40. package/dist/cjs/components/atoms/Card/Footer/Footer.d.ts +3 -2
  41. package/dist/cjs/components/atoms/Card/Footer/Footer.js +1 -7
  42. package/dist/cjs/components/atoms/Card/Footer/Footer.js.map +1 -1
  43. package/dist/cjs/components/atoms/Card/Header/Header.d.ts +3 -2
  44. package/dist/cjs/components/atoms/Card/Header/Header.js +1 -7
  45. package/dist/cjs/components/atoms/Card/Header/Header.js.map +1 -1
  46. package/dist/cjs/components/atoms/Card/styled.js +1 -7
  47. package/dist/cjs/components/atoms/Card/styled.js.map +1 -1
  48. package/dist/cjs/components/atoms/Checkbox/Checkbox.d.ts +3 -2
  49. package/dist/cjs/components/atoms/Checkbox/Checkbox.js +26 -26
  50. package/dist/cjs/components/atoms/Checkbox/Checkbox.js.map +1 -1
  51. package/dist/cjs/components/atoms/Checkbox/Checkbox.stories.d.ts +3 -4
  52. package/dist/cjs/components/atoms/Checkbox/styled.js +4 -10
  53. package/dist/cjs/components/atoms/Checkbox/styled.js.map +1 -1
  54. package/dist/cjs/components/atoms/Divider/Divider.js +1 -7
  55. package/dist/cjs/components/atoms/Divider/Divider.js.map +1 -1
  56. package/dist/cjs/components/atoms/Divider/Divider.stories.d.ts +1 -2
  57. package/dist/cjs/components/atoms/Divider/styled.js +2 -8
  58. package/dist/cjs/components/atoms/Divider/styled.js.map +1 -1
  59. package/dist/cjs/components/atoms/GroupButton/GroupButton.d.ts +1 -0
  60. package/dist/cjs/components/atoms/GroupButton/GroupButton.js +16 -20
  61. package/dist/cjs/components/atoms/GroupButton/GroupButton.js.map +1 -1
  62. package/dist/cjs/components/atoms/GroupButton/GroupButton.stories.d.ts +2 -2
  63. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js +1 -9
  64. package/dist/cjs/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  65. package/dist/cjs/components/atoms/GroupButton/styled.d.ts +0 -4
  66. package/dist/cjs/components/atoms/GroupButton/styled.js +6 -12
  67. package/dist/cjs/components/atoms/GroupButton/styled.js.map +1 -1
  68. package/dist/cjs/components/atoms/Icon/AntDesign.d.ts +1 -0
  69. package/dist/cjs/components/atoms/Icon/AntDesign.js +2 -11
  70. package/dist/cjs/components/atoms/Icon/AntDesign.js.map +1 -1
  71. package/dist/cjs/components/atoms/Icon/Entypo.d.ts +1 -0
  72. package/dist/cjs/components/atoms/Icon/Entypo.js +2 -11
  73. package/dist/cjs/components/atoms/Icon/Entypo.js.map +1 -1
  74. package/dist/cjs/components/atoms/Icon/Evil.d.ts +1 -0
  75. package/dist/cjs/components/atoms/Icon/Evil.js +2 -11
  76. package/dist/cjs/components/atoms/Icon/Evil.js.map +1 -1
  77. package/dist/cjs/components/atoms/Icon/Feather.d.ts +1 -0
  78. package/dist/cjs/components/atoms/Icon/Feather.js +2 -11
  79. package/dist/cjs/components/atoms/Icon/Feather.js.map +1 -1
  80. package/dist/cjs/components/atoms/Icon/FontAwesome.d.ts +1 -0
  81. package/dist/cjs/components/atoms/Icon/FontAwesome.js +2 -11
  82. package/dist/cjs/components/atoms/Icon/FontAwesome.js.map +1 -1
  83. package/dist/cjs/components/atoms/Icon/FontAwesomeFive.d.ts +1 -0
  84. package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js +2 -11
  85. package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
  86. package/dist/cjs/components/atoms/Icon/Fontisto.d.ts +1 -0
  87. package/dist/cjs/components/atoms/Icon/Fontisto.js +2 -11
  88. package/dist/cjs/components/atoms/Icon/Fontisto.js.map +1 -1
  89. package/dist/cjs/components/atoms/Icon/Foundation.d.ts +1 -0
  90. package/dist/cjs/components/atoms/Icon/Foundation.js +2 -11
  91. package/dist/cjs/components/atoms/Icon/Foundation.js.map +1 -1
  92. package/dist/cjs/components/atoms/Icon/Icon.js +1 -11
  93. package/dist/cjs/components/atoms/Icon/Icon.js.map +1 -1
  94. package/dist/cjs/components/atoms/Icon/Icon.stories.d.ts +1 -2
  95. package/dist/cjs/components/atoms/Icon/Ionicon.d.ts +1 -0
  96. package/dist/cjs/components/atoms/Icon/Ionicon.js +2 -11
  97. package/dist/cjs/components/atoms/Icon/Ionicon.js.map +1 -1
  98. package/dist/cjs/components/atoms/Icon/Material.d.ts +1 -0
  99. package/dist/cjs/components/atoms/Icon/Material.js +2 -11
  100. package/dist/cjs/components/atoms/Icon/Material.js.map +1 -1
  101. package/dist/cjs/components/atoms/Icon/MaterialCommunity.d.ts +1 -0
  102. package/dist/cjs/components/atoms/Icon/MaterialCommunity.js +2 -11
  103. package/dist/cjs/components/atoms/Icon/MaterialCommunity.js.map +1 -1
  104. package/dist/cjs/components/atoms/Icon/Octicon.d.ts +1 -0
  105. package/dist/cjs/components/atoms/Icon/Octicon.js +2 -11
  106. package/dist/cjs/components/atoms/Icon/Octicon.js.map +1 -1
  107. package/dist/cjs/components/atoms/Icon/SimpleLine.d.ts +1 -0
  108. package/dist/cjs/components/atoms/Icon/SimpleLine.js +2 -11
  109. package/dist/cjs/components/atoms/Icon/SimpleLine.js.map +1 -1
  110. package/dist/cjs/components/atoms/Icon/Zocial.d.ts +1 -0
  111. package/dist/cjs/components/atoms/Icon/Zocial.js +2 -11
  112. package/dist/cjs/components/atoms/Icon/Zocial.js.map +1 -1
  113. package/dist/cjs/components/atoms/Icon/functions.js +0 -2
  114. package/dist/cjs/components/atoms/Icon/functions.js.map +1 -1
  115. package/dist/cjs/components/atoms/Icon/styled.js +1 -7
  116. package/dist/cjs/components/atoms/Icon/styled.js.map +1 -1
  117. package/dist/cjs/components/atoms/Input/Hint.js +9 -13
  118. package/dist/cjs/components/atoms/Input/Hint.js.map +1 -1
  119. package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.d.ts +1 -1
  120. package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js +39 -24
  121. package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  122. package/dist/cjs/components/atoms/Input/InputElement/InputElement.js +14 -15
  123. package/dist/cjs/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  124. package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js +14 -15
  125. package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  126. package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.d.ts +3 -2
  127. package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +4 -12
  128. package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  129. package/dist/cjs/components/atoms/Input/PressableInputContainer/styled.js +1 -7
  130. package/dist/cjs/components/atoms/Input/PressableInputContainer/styled.js.map +1 -1
  131. package/dist/cjs/components/atoms/Input/hooks/useInputFocus.js +0 -2
  132. package/dist/cjs/components/atoms/Input/hooks/useInputFocus.js.map +1 -1
  133. package/dist/cjs/components/atoms/Input/hooks/useNumberMask.d.ts +1 -1
  134. package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js +1 -7
  135. package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  136. package/dist/cjs/components/atoms/Input/hooks/useStringMask.d.ts +1 -1
  137. package/dist/cjs/components/atoms/Input/hooks/useStringMask.js +0 -2
  138. package/dist/cjs/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  139. package/dist/cjs/components/atoms/Input/styled.d.ts +0 -6
  140. package/dist/cjs/components/atoms/Input/styled.js +9 -15
  141. package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
  142. package/dist/cjs/components/atoms/Paper/Paper.d.ts +3 -2
  143. package/dist/cjs/components/atoms/Paper/Paper.js +1 -8
  144. package/dist/cjs/components/atoms/Paper/Paper.js.map +1 -1
  145. package/dist/cjs/components/atoms/Paper/Paper.stories.d.ts +3 -4
  146. package/dist/cjs/components/atoms/Paper/styled.js +1 -7
  147. package/dist/cjs/components/atoms/Paper/styled.js.map +1 -1
  148. package/dist/cjs/components/atoms/PressableSurface/PressableSurface.d.ts +3 -2
  149. package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js +1 -8
  150. package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  151. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.d.ts +3 -3
  152. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js +22 -51
  153. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  154. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.stories.d.ts +3 -4
  155. package/dist/cjs/components/atoms/ProgressBar/styled.d.ts +0 -2
  156. package/dist/cjs/components/atoms/ProgressBar/styled.js +3 -9
  157. package/dist/cjs/components/atoms/ProgressBar/styled.js.map +1 -1
  158. package/dist/cjs/components/atoms/RadioButton/RadioButton.d.ts +3 -2
  159. package/dist/cjs/components/atoms/RadioButton/RadioButton.js +27 -21
  160. package/dist/cjs/components/atoms/RadioButton/RadioButton.js.map +1 -1
  161. package/dist/cjs/components/atoms/RadioButton/RadioButton.stories.d.ts +3 -4
  162. package/dist/cjs/components/atoms/RadioButton/styled.js +4 -10
  163. package/dist/cjs/components/atoms/RadioButton/styled.js.map +1 -1
  164. package/dist/cjs/components/atoms/Switch/Switch.js +25 -18
  165. package/dist/cjs/components/atoms/Switch/Switch.js.map +1 -1
  166. package/dist/cjs/components/atoms/Switch/Switch.stories.d.ts +1 -2
  167. package/dist/cjs/components/atoms/Switch/animation.js +0 -2
  168. package/dist/cjs/components/atoms/Switch/animation.js.map +1 -1
  169. package/dist/cjs/components/atoms/Switch/styled.js +2 -8
  170. package/dist/cjs/components/atoms/Switch/styled.js.map +1 -1
  171. package/dist/cjs/components/atoms/Tag/Tag.js +30 -24
  172. package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
  173. package/dist/cjs/components/atoms/Tag/styled.d.ts +0 -6
  174. package/dist/cjs/components/atoms/Tag/styled.js +4 -10
  175. package/dist/cjs/components/atoms/Tag/styled.js.map +1 -1
  176. package/dist/cjs/components/atoms/Text/Text.js +16 -16
  177. package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
  178. package/dist/cjs/components/atoms/Text/Text.stories.d.ts +1 -2
  179. package/dist/cjs/components/atoms/Text/functions.js +0 -2
  180. package/dist/cjs/components/atoms/Text/functions.js.map +1 -1
  181. package/dist/cjs/components/atoms/Text/styled.js +2 -8
  182. package/dist/cjs/components/atoms/Text/styled.js.map +1 -1
  183. package/dist/cjs/components/atoms/shared/PaperAndCard.js +0 -2
  184. package/dist/cjs/components/atoms/shared/PaperAndCard.js.map +1 -1
  185. package/dist/cjs/components/molecules/Calendar/Calendar.d.ts +3 -3
  186. package/dist/cjs/components/molecules/Calendar/Calendar.js +48 -43
  187. package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
  188. package/dist/cjs/components/molecules/Calendar/Calendar.stories.d.ts +1 -2
  189. package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js +19 -25
  190. package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  191. package/dist/cjs/components/molecules/Calendar/components/Weekdays.js +15 -18
  192. package/dist/cjs/components/molecules/Calendar/components/Weekdays.js.map +1 -1
  193. package/dist/cjs/components/molecules/Calendar/styled.d.ts +0 -6
  194. package/dist/cjs/components/molecules/Calendar/styled.js +7 -13
  195. package/dist/cjs/components/molecules/Calendar/styled.js.map +1 -1
  196. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +32 -32
  197. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  198. package/dist/cjs/components/molecules/DatePicker/styled.d.ts +0 -4
  199. package/dist/cjs/components/molecules/DatePicker/styled.js +2 -8
  200. package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
  201. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +43 -44
  202. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  203. package/dist/cjs/components/molecules/DateTimePicker/styled.d.ts +0 -2
  204. package/dist/cjs/components/molecules/DateTimePicker/styled.js +1 -7
  205. package/dist/cjs/components/molecules/DateTimePicker/styled.js.map +1 -1
  206. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.d.ts +1 -1
  207. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +73 -77
  208. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  209. package/dist/cjs/components/molecules/DateTimeSelector/Selector.d.ts +1 -1
  210. package/dist/cjs/components/molecules/DateTimeSelector/Selector.js +37 -34
  211. package/dist/cjs/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  212. package/dist/cjs/components/molecules/DateTimeSelector/styled.d.ts +0 -4
  213. package/dist/cjs/components/molecules/DateTimeSelector/styled.js +8 -14
  214. package/dist/cjs/components/molecules/DateTimeSelector/styled.js.map +1 -1
  215. package/dist/cjs/components/molecules/Grid/functions.js +0 -2
  216. package/dist/cjs/components/molecules/Grid/functions.js.map +1 -1
  217. package/dist/cjs/components/molecules/Grid/index.d.ts +6 -6
  218. package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js +17 -20
  219. package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  220. package/dist/cjs/components/molecules/IconTextButton/IconComponent.js +9 -10
  221. package/dist/cjs/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  222. package/dist/cjs/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
  223. package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js +10 -14
  224. package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  225. package/dist/cjs/components/molecules/InputPassword/styled.d.ts +0 -2
  226. package/dist/cjs/components/molecules/InputPassword/styled.js +1 -7
  227. package/dist/cjs/components/molecules/InputPassword/styled.js.map +1 -1
  228. package/dist/cjs/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +2 -2
  229. package/dist/cjs/components/molecules/Snackbar/Snackbar.d.ts +3 -2
  230. package/dist/cjs/components/molecules/Snackbar/Snackbar.js +38 -37
  231. package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
  232. package/dist/cjs/components/molecules/Snackbar/styled.d.ts +0 -6
  233. package/dist/cjs/components/molecules/Snackbar/styled.js +7 -13
  234. package/dist/cjs/components/molecules/Snackbar/styled.js.map +1 -1
  235. package/dist/cjs/components/molecules/TextArea/TextArea.js +35 -36
  236. package/dist/cjs/components/molecules/TextArea/TextArea.js.map +1 -1
  237. package/dist/cjs/components/molecules/TextArea/styled.js +2 -8
  238. package/dist/cjs/components/molecules/TextArea/styled.js.map +1 -1
  239. package/dist/cjs/hooks/useDebouncedState.js +0 -2
  240. package/dist/cjs/hooks/useDebouncedState.js.map +1 -1
  241. package/dist/cjs/hooks/useTheme.js +0 -2
  242. package/dist/cjs/hooks/useTheme.js.map +1 -1
  243. package/dist/cjs/index.js +0 -2
  244. package/dist/cjs/index.js.map +1 -1
  245. package/dist/cjs/styles/ThemeProvider.js +1 -7
  246. package/dist/cjs/styles/ThemeProvider.js.map +1 -1
  247. package/dist/cjs/styles/definitions.d.ts +1 -1
  248. package/dist/cjs/styles/definitions.js +23 -2
  249. package/dist/cjs/styles/definitions.js.map +1 -1
  250. package/dist/cjs/styles/light.js +0 -2
  251. package/dist/cjs/styles/light.js.map +1 -1
  252. package/dist/cjs/types/defaults.d.ts +26 -26
  253. package/dist/cjs/utils/IPhoneXHelper.js +1 -3
  254. package/dist/cjs/utils/IPhoneXHelper.js.map +1 -1
  255. package/dist/cjs/utils/ResponsiveFontSize.js +0 -2
  256. package/dist/cjs/utils/ResponsiveFontSize.js.map +1 -1
  257. package/dist/cjs/utils/extractNumbersFromString.js +0 -2
  258. package/dist/cjs/utils/extractNumbersFromString.js.map +1 -1
  259. package/dist/cjs/utils/formatWithMask.js +1 -7
  260. package/dist/cjs/utils/formatWithMask.js.map +1 -1
  261. package/dist/cjs/utils/lightenDarkenColor.js +0 -2
  262. package/dist/cjs/utils/lightenDarkenColor.js.map +1 -1
  263. package/dist/cjs/utils/masks.js +0 -2
  264. package/dist/cjs/utils/masks.js.map +1 -1
  265. package/dist/cjs/utils/variantComplement.js +0 -2
  266. package/dist/cjs/utils/variantComplement.js.map +1 -1
  267. package/dist/esm/components/atoms/Avatar/Avatar.d.ts +1 -1
  268. package/dist/esm/components/atoms/Avatar/Avatar.js +1 -11
  269. package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
  270. package/dist/esm/components/atoms/Avatar/helpers.js.map +1 -1
  271. package/dist/esm/components/atoms/Avatar/styled.d.ts +0 -4
  272. package/dist/esm/components/atoms/Avatar/styled.js.map +1 -1
  273. package/dist/esm/components/atoms/Badge/Badge.d.ts +3 -2
  274. package/dist/esm/components/atoms/Badge/Badge.js +1 -5
  275. package/dist/esm/components/atoms/Badge/Badge.js.map +1 -1
  276. package/dist/esm/components/atoms/Badge/styled.js.map +1 -1
  277. package/dist/esm/components/atoms/BoxContent/BoxContent.js +1 -3
  278. package/dist/esm/components/atoms/BoxContent/BoxContent.js.map +1 -1
  279. package/dist/esm/components/atoms/Button/Button.d.ts +2 -2
  280. package/dist/esm/components/atoms/Button/Button.js +19 -12
  281. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  282. package/dist/esm/components/atoms/Button/States/BaseState.js +1 -10
  283. package/dist/esm/components/atoms/Button/States/BaseState.js.map +1 -1
  284. package/dist/esm/components/atoms/Button/States/Error.js +1 -4
  285. package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
  286. package/dist/esm/components/atoms/Button/States/Loading.js +7 -8
  287. package/dist/esm/components/atoms/Button/States/Loading.js.map +1 -1
  288. package/dist/esm/components/atoms/Button/States/Success.js +1 -4
  289. package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
  290. package/dist/esm/components/atoms/Button/styled.d.ts +0 -2
  291. package/dist/esm/components/atoms/Button/styled.js.map +1 -1
  292. package/dist/esm/components/atoms/Card/Card.d.ts +3 -2
  293. package/dist/esm/components/atoms/Card/Card.js +2 -9
  294. package/dist/esm/components/atoms/Card/Card.js.map +1 -1
  295. package/dist/esm/components/atoms/Card/Footer/Footer.d.ts +3 -2
  296. package/dist/esm/components/atoms/Card/Footer/Footer.js +1 -3
  297. package/dist/esm/components/atoms/Card/Footer/Footer.js.map +1 -1
  298. package/dist/esm/components/atoms/Card/Header/Header.d.ts +3 -2
  299. package/dist/esm/components/atoms/Card/Header/Header.js +1 -3
  300. package/dist/esm/components/atoms/Card/Header/Header.js.map +1 -1
  301. package/dist/esm/components/atoms/Checkbox/Checkbox.d.ts +3 -2
  302. package/dist/esm/components/atoms/Checkbox/Checkbox.js +26 -22
  303. package/dist/esm/components/atoms/Checkbox/Checkbox.js.map +1 -1
  304. package/dist/esm/components/atoms/Checkbox/styled.js.map +1 -1
  305. package/dist/esm/components/atoms/Divider/Divider.js +1 -3
  306. package/dist/esm/components/atoms/Divider/Divider.js.map +1 -1
  307. package/dist/esm/components/atoms/GroupButton/GroupButton.d.ts +1 -0
  308. package/dist/esm/components/atoms/GroupButton/GroupButton.js +16 -16
  309. package/dist/esm/components/atoms/GroupButton/GroupButton.js.map +1 -1
  310. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js +1 -5
  311. package/dist/esm/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
  312. package/dist/esm/components/atoms/GroupButton/styled.d.ts +0 -4
  313. package/dist/esm/components/atoms/GroupButton/styled.js.map +1 -1
  314. package/dist/esm/components/atoms/Icon/AntDesign.d.ts +1 -0
  315. package/dist/esm/components/atoms/Icon/AntDesign.js +1 -5
  316. package/dist/esm/components/atoms/Icon/AntDesign.js.map +1 -1
  317. package/dist/esm/components/atoms/Icon/Entypo.d.ts +1 -0
  318. package/dist/esm/components/atoms/Icon/Entypo.js +1 -5
  319. package/dist/esm/components/atoms/Icon/Entypo.js.map +1 -1
  320. package/dist/esm/components/atoms/Icon/Evil.d.ts +1 -0
  321. package/dist/esm/components/atoms/Icon/Evil.js +1 -5
  322. package/dist/esm/components/atoms/Icon/Evil.js.map +1 -1
  323. package/dist/esm/components/atoms/Icon/Feather.d.ts +1 -0
  324. package/dist/esm/components/atoms/Icon/Feather.js +1 -5
  325. package/dist/esm/components/atoms/Icon/Feather.js.map +1 -1
  326. package/dist/esm/components/atoms/Icon/FontAwesome.d.ts +1 -0
  327. package/dist/esm/components/atoms/Icon/FontAwesome.js +1 -5
  328. package/dist/esm/components/atoms/Icon/FontAwesome.js.map +1 -1
  329. package/dist/esm/components/atoms/Icon/FontAwesomeFive.d.ts +1 -0
  330. package/dist/esm/components/atoms/Icon/FontAwesomeFive.js +1 -5
  331. package/dist/esm/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
  332. package/dist/esm/components/atoms/Icon/Fontisto.d.ts +1 -0
  333. package/dist/esm/components/atoms/Icon/Fontisto.js +1 -5
  334. package/dist/esm/components/atoms/Icon/Fontisto.js.map +1 -1
  335. package/dist/esm/components/atoms/Icon/Foundation.d.ts +1 -0
  336. package/dist/esm/components/atoms/Icon/Foundation.js +1 -5
  337. package/dist/esm/components/atoms/Icon/Foundation.js.map +1 -1
  338. package/dist/esm/components/atoms/Icon/Icon.js +1 -7
  339. package/dist/esm/components/atoms/Icon/Icon.js.map +1 -1
  340. package/dist/esm/components/atoms/Icon/Ionicon.d.ts +1 -0
  341. package/dist/esm/components/atoms/Icon/Ionicon.js +1 -5
  342. package/dist/esm/components/atoms/Icon/Ionicon.js.map +1 -1
  343. package/dist/esm/components/atoms/Icon/Material.d.ts +1 -0
  344. package/dist/esm/components/atoms/Icon/Material.js +1 -5
  345. package/dist/esm/components/atoms/Icon/Material.js.map +1 -1
  346. package/dist/esm/components/atoms/Icon/MaterialCommunity.d.ts +1 -0
  347. package/dist/esm/components/atoms/Icon/MaterialCommunity.js +1 -5
  348. package/dist/esm/components/atoms/Icon/MaterialCommunity.js.map +1 -1
  349. package/dist/esm/components/atoms/Icon/Octicon.d.ts +1 -0
  350. package/dist/esm/components/atoms/Icon/Octicon.js +1 -5
  351. package/dist/esm/components/atoms/Icon/Octicon.js.map +1 -1
  352. package/dist/esm/components/atoms/Icon/SimpleLine.d.ts +1 -0
  353. package/dist/esm/components/atoms/Icon/SimpleLine.js +1 -5
  354. package/dist/esm/components/atoms/Icon/SimpleLine.js.map +1 -1
  355. package/dist/esm/components/atoms/Icon/Zocial.d.ts +1 -0
  356. package/dist/esm/components/atoms/Icon/Zocial.js +1 -5
  357. package/dist/esm/components/atoms/Icon/Zocial.js.map +1 -1
  358. package/dist/esm/components/atoms/Icon/functions.js.map +1 -1
  359. package/dist/esm/components/atoms/Icon/styled.js.map +1 -1
  360. package/dist/esm/components/atoms/Input/Hint.js +9 -9
  361. package/dist/esm/components/atoms/Input/Hint.js.map +1 -1
  362. package/dist/esm/components/atoms/Input/InputContainer/InputContainer.d.ts +1 -1
  363. package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js +39 -20
  364. package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  365. package/dist/esm/components/atoms/Input/InputElement/InputElement.js +13 -10
  366. package/dist/esm/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  367. package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js +13 -10
  368. package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  369. package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.d.ts +3 -2
  370. package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +1 -8
  371. package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  372. package/dist/esm/components/atoms/Input/hooks/useNumberMask.d.ts +1 -1
  373. package/dist/esm/components/atoms/Input/hooks/useStringMask.d.ts +1 -1
  374. package/dist/esm/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  375. package/dist/esm/components/atoms/Input/styled.d.ts +0 -6
  376. package/dist/esm/components/atoms/Input/styled.js.map +1 -1
  377. package/dist/esm/components/atoms/Paper/Paper.d.ts +3 -2
  378. package/dist/esm/components/atoms/Paper/Paper.js +1 -4
  379. package/dist/esm/components/atoms/Paper/Paper.js.map +1 -1
  380. package/dist/esm/components/atoms/PressableSurface/PressableSurface.d.ts +3 -2
  381. package/dist/esm/components/atoms/PressableSurface/PressableSurface.js +1 -4
  382. package/dist/esm/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  383. package/dist/esm/components/atoms/ProgressBar/ProgressBar.d.ts +3 -3
  384. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +22 -31
  385. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  386. package/dist/esm/components/atoms/ProgressBar/styled.d.ts +0 -2
  387. package/dist/esm/components/atoms/RadioButton/RadioButton.d.ts +3 -2
  388. package/dist/esm/components/atoms/RadioButton/RadioButton.js +27 -17
  389. package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
  390. package/dist/esm/components/atoms/RadioButton/styled.js.map +1 -1
  391. package/dist/esm/components/atoms/Switch/Switch.js +22 -11
  392. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  393. package/dist/esm/components/atoms/Tag/Tag.js +29 -19
  394. package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
  395. package/dist/esm/components/atoms/Tag/styled.d.ts +0 -6
  396. package/dist/esm/components/atoms/Tag/styled.js.map +1 -1
  397. package/dist/esm/components/atoms/Text/Text.js +16 -12
  398. package/dist/esm/components/atoms/Text/Text.js.map +1 -1
  399. package/dist/esm/components/atoms/Text/styled.js.map +1 -1
  400. package/dist/esm/components/molecules/Calendar/Calendar.d.ts +3 -3
  401. package/dist/esm/components/molecules/Calendar/Calendar.js +45 -39
  402. package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
  403. package/dist/esm/components/molecules/Calendar/components/MonthWeek.js +14 -16
  404. package/dist/esm/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  405. package/dist/esm/components/molecules/Calendar/components/Weekdays.js +14 -13
  406. package/dist/esm/components/molecules/Calendar/components/Weekdays.js.map +1 -1
  407. package/dist/esm/components/molecules/Calendar/styled.d.ts +0 -6
  408. package/dist/esm/components/molecules/DatePicker/DatePicker.js +29 -28
  409. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  410. package/dist/esm/components/molecules/DatePicker/styled.d.ts +0 -4
  411. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +40 -40
  412. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  413. package/dist/esm/components/molecules/DateTimePicker/styled.d.ts +0 -2
  414. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.d.ts +1 -1
  415. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +70 -73
  416. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  417. package/dist/esm/components/molecules/DateTimeSelector/Selector.d.ts +1 -1
  418. package/dist/esm/components/molecules/DateTimeSelector/Selector.js +34 -28
  419. package/dist/esm/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  420. package/dist/esm/components/molecules/DateTimeSelector/styled.d.ts +0 -4
  421. package/dist/esm/components/molecules/Grid/functions.js.map +1 -1
  422. package/dist/esm/components/molecules/Grid/index.d.ts +6 -6
  423. package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js +14 -16
  424. package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  425. package/dist/esm/components/molecules/IconTextButton/IconComponent.js +8 -5
  426. package/dist/esm/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  427. package/dist/esm/components/molecules/IconTextButton/IconTextButton.d.ts +1 -1
  428. package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js +10 -10
  429. package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  430. package/dist/esm/components/molecules/InputPassword/styled.d.ts +0 -2
  431. package/dist/esm/components/molecules/LabeledSwitch/LabeledSwitch.d.ts +2 -2
  432. package/dist/esm/components/molecules/Snackbar/Snackbar.d.ts +3 -2
  433. package/dist/esm/components/molecules/Snackbar/Snackbar.js +35 -30
  434. package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  435. package/dist/esm/components/molecules/Snackbar/styled.d.ts +0 -6
  436. package/dist/esm/components/molecules/Snackbar/styled.js.map +1 -1
  437. package/dist/esm/components/molecules/TextArea/TextArea.js +35 -32
  438. package/dist/esm/components/molecules/TextArea/TextArea.js.map +1 -1
  439. package/dist/esm/hooks/useDebouncedState.js.map +1 -1
  440. package/dist/esm/styles/ThemeProvider.js +1 -3
  441. package/dist/esm/styles/ThemeProvider.js.map +1 -1
  442. package/dist/esm/styles/definitions.d.ts +1 -1
  443. package/dist/esm/styles/definitions.js +23 -0
  444. package/dist/esm/styles/definitions.js.map +1 -1
  445. package/dist/esm/types/defaults.d.ts +26 -26
  446. package/dist/esm/utils/IPhoneXHelper.js +1 -1
  447. package/dist/esm/utils/IPhoneXHelper.js.map +1 -1
  448. package/dist/esm/utils/lightenDarkenColor.js.map +1 -1
  449. package/package.json +8 -7
@@ -12,6 +12,7 @@ import HintInputContainer from '../HintInputContainer/HintInputContainer.js';
12
12
  import { getStyledTextComponent, CalendarIcon } from './styled.js';
13
13
 
14
14
  function DatePicker({
15
+ /** DatePicker props */
15
16
  month,
16
17
  year,
17
18
  onChange,
@@ -71,34 +72,34 @@ function DatePicker({
71
72
  lowest && highest && setTimeout(requestCloseCalendar, 200);
72
73
  }
73
74
  }, [value, closeOnPick, type, requestCloseCalendar]);
74
- const calendar = /* @__PURE__ */ React.createElement(CalendarComponent, {
75
- pointerEvents: "box-none",
76
- type,
77
- value,
78
- month,
79
- year,
80
- onChange,
81
- locale
82
- });
83
- return /* @__PURE__ */ React.createElement(React.Fragment, null, controlComponent ? controlComponent(handleShowCalendar, getDisplayValue()) : /* @__PURE__ */ React.createElement(HintInputContainer, {
84
- focused,
85
- viewStyle: style,
86
- onPress: handleShowCalendar,
87
- disabled,
88
- hintComponent,
89
- LabelComponent: TextComponent,
90
- variant,
91
- hint,
92
- rightComponent: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CalendarIcon, {
93
- name: "calendar-sharp",
94
- type: "ionicon",
95
- size: "centi"
96
- }), rightComponent),
97
- ...rest
98
- }, /* @__PURE__ */ React.createElement(StyledText, {
99
- fontWeight: "bold",
100
- disabled
101
- }, getDisplayValue() || " ")), renderCalendar(calendar, handleBlur));
75
+ const calendar = /* @__PURE__ */ React.createElement(
76
+ CalendarComponent,
77
+ {
78
+ pointerEvents: "box-none",
79
+ type,
80
+ value,
81
+ month,
82
+ year,
83
+ onChange,
84
+ locale
85
+ }
86
+ );
87
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, controlComponent ? controlComponent(handleShowCalendar, getDisplayValue()) : /* @__PURE__ */ React.createElement(
88
+ HintInputContainer,
89
+ {
90
+ focused,
91
+ viewStyle: style,
92
+ onPress: handleShowCalendar,
93
+ disabled,
94
+ hintComponent,
95
+ LabelComponent: TextComponent,
96
+ variant,
97
+ hint,
98
+ rightComponent: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CalendarIcon, { name: "calendar-sharp", type: "ionicon", size: "centi" }), rightComponent),
99
+ ...rest
100
+ },
101
+ /* @__PURE__ */ React.createElement(StyledText, { fontWeight: "bold", disabled }, getDisplayValue() || " ")
102
+ ), renderCalendar(calendar, handleBlur));
102
103
  }
103
104
 
104
105
  export { DatePicker as default };
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sources":["../../../../../src/components/molecules/DatePicker/DatePicker.tsx"],"sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarProps, DateRange, SelectionType } from '../Calendar';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { CalendarIcon, getStyledTextComponent } from './styled';\n\nexport interface DatePickerProps<T extends SelectionType>\n extends InputContainerProps,\n Omit<CalendarProps<T>, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n CalendarComponent: React.FC<CalendarProps<T>>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n format?: string;\n closeOnPick?: boolean;\n renderCalendar: (\n calendar: React.ReactElement,\n blur?: () => void\n ) => JSX.Element | null;\n requestShowCalendar: () => void;\n requestCloseCalendar: () => void;\n}\n\nfunction DatePicker<T extends SelectionType>({\n /** DatePicker props */\n month,\n year,\n onChange,\n value,\n type,\n format = 'yyyy-MM-dd',\n placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant,\n TextComponent = Text,\n CalendarComponent,\n rightComponent,\n style,\n locale,\n closeOnPick = false,\n renderCalendar,\n requestShowCalendar,\n requestCloseCalendar,\n ...rest\n}: DatePickerProps<T>): JSX.Element {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowCalendar = React.useCallback(() => {\n requestShowCalendar();\n handleFocus();\n }, [handleFocus, requestShowCalendar]);\n\n const getDisplayValue = () => {\n if (!value) return placeholder;\n if (type === 'day') {\n return formatDate(value as Date, format, { locale: locale });\n } else {\n const { lowest, highest } = value as DateRange;\n if (highest)\n return `${formatDate(lowest, format, {\n locale: locale,\n })} - ${formatDate(highest, format, { locale: locale })}`;\n else return formatDate(lowest, format, { locale: locale });\n }\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n\n useEffect(() => {\n if (closeOnPick && value && type === 'day') {\n setTimeout(requestCloseCalendar, 200);\n }\n if (closeOnPick && value && type === 'range') {\n const { lowest, highest } = value as DateRange;\n lowest && highest && setTimeout(requestCloseCalendar, 200);\n }\n }, [value, closeOnPick, type, requestCloseCalendar]);\n\n const calendar = (\n <CalendarComponent\n pointerEvents={'box-none'}\n type={type}\n value={value}\n month={month}\n year={year}\n onChange={onChange}\n locale={locale}\n />\n );\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowCalendar, getDisplayValue())\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowCalendar}\n disabled={disabled}\n hintComponent={hintComponent}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {getDisplayValue() || ' '}\n </StyledText>\n </HintInputContainer>\n )}\n {renderCalendar(calendar, handleBlur)}\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["format","formatDate"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","sources":["../../../../../src/components/molecules/DatePicker/DatePicker.tsx"],"sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarProps, DateRange, SelectionType } from '../Calendar';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { CalendarIcon, getStyledTextComponent } from './styled';\n\nexport interface DatePickerProps<T extends SelectionType>\n extends InputContainerProps,\n Omit<CalendarProps<T>, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n CalendarComponent: React.FC<CalendarProps<T>>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n format?: string;\n closeOnPick?: boolean;\n renderCalendar: (\n calendar: React.ReactElement,\n blur?: () => void\n ) => JSX.Element | null;\n requestShowCalendar: () => void;\n requestCloseCalendar: () => void;\n}\n\nfunction DatePicker<T extends SelectionType>({\n /** DatePicker props */\n month,\n year,\n onChange,\n value,\n type,\n format = 'yyyy-MM-dd',\n placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant,\n TextComponent = Text,\n CalendarComponent,\n rightComponent,\n style,\n locale,\n closeOnPick = false,\n renderCalendar,\n requestShowCalendar,\n requestCloseCalendar,\n ...rest\n}: DatePickerProps<T>): JSX.Element {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowCalendar = React.useCallback(() => {\n requestShowCalendar();\n handleFocus();\n }, [handleFocus, requestShowCalendar]);\n\n const getDisplayValue = () => {\n if (!value) return placeholder;\n if (type === 'day') {\n return formatDate(value as Date, format, { locale: locale });\n } else {\n const { lowest, highest } = value as DateRange;\n if (highest)\n return `${formatDate(lowest, format, {\n locale: locale,\n })} - ${formatDate(highest, format, { locale: locale })}`;\n else return formatDate(lowest, format, { locale: locale });\n }\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n\n useEffect(() => {\n if (closeOnPick && value && type === 'day') {\n setTimeout(requestCloseCalendar, 200);\n }\n if (closeOnPick && value && type === 'range') {\n const { lowest, highest } = value as DateRange;\n lowest && highest && setTimeout(requestCloseCalendar, 200);\n }\n }, [value, closeOnPick, type, requestCloseCalendar]);\n\n const calendar = (\n <CalendarComponent\n pointerEvents={'box-none'}\n type={type}\n value={value}\n month={month}\n year={year}\n onChange={onChange}\n locale={locale}\n />\n );\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowCalendar, getDisplayValue())\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowCalendar}\n disabled={disabled}\n hintComponent={hintComponent}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {getDisplayValue() || ' '}\n </StyledText>\n </HintInputContainer>\n )}\n {renderCalendar(calendar, handleBlur)}\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["format","formatDate"],"mappings":"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"}
@@ -2,14 +2,10 @@ import { FC } from 'react';
2
2
  import { InputContainerProps } from '../../atoms/Input';
3
3
  import { TextProps } from '../../atoms/Text';
4
4
  export declare const getStyledTextComponent: (component: FC<TextProps>) => import("@emotion/native").StyledComponent<TextProps & {
5
- children?: import("react").ReactNode;
6
- } & {
7
5
  theme?: import("@emotion/react").Theme | undefined;
8
6
  as?: import("react").ElementType<any> | undefined;
9
7
  } & Partial<InputContainerProps> & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {}>;
10
8
  export declare const CalendarIcon: import("@emotion/native").StyledComponent<import("../../atoms/Icon").IconProps & {
11
- children?: import("react").ReactNode;
12
- } & {
13
9
  theme?: import("@emotion/react").Theme | undefined;
14
10
  as?: import("react").ElementType<any> | undefined;
15
11
  } & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {}>;
@@ -67,46 +67,46 @@ const DateTimePicker = ({
67
67
  const StyledDateTimeSelector = getStyledDateTimeSelector(
68
68
  DateTimeSelectorComponent
69
69
  );
70
- const dateTimeSelector = /* @__PURE__ */ React.createElement(StyledDateTimeSelector, {
71
- value,
72
- mode,
73
- format: format$1,
74
- locale,
75
- upperDateThreshold,
76
- lowerDateThreshold,
77
- offsetThreshold,
78
- upperOffsetThreshold,
79
- lowerOffsetThreshold,
80
- dateModalTitle,
81
- timeModalTitle,
82
- dateConfirmButtonText,
83
- timeConfirmButtonText,
84
- dayLabel,
85
- monthLabel,
86
- yearLabel,
87
- hourLabel,
88
- minuteLabel,
89
- onChange: handleChoosing
90
- });
91
- return /* @__PURE__ */ React.createElement(React.Fragment, null, controlComponent ? controlComponent(handleShowSelector, displayValue) : /* @__PURE__ */ React.createElement(HintInputContainer, {
92
- focused,
93
- viewStyle: style,
94
- onPress: handleShowSelector,
95
- disabled,
96
- LabelComponent: TextComponent,
97
- variant,
98
- hint,
99
- hintComponent,
100
- rightComponent: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CalendarIcon, {
101
- name: "calendar-sharp",
102
- type: "ionicon",
103
- size: "centi"
104
- }), rightComponent),
105
- ...rest
106
- }, /* @__PURE__ */ React.createElement(StyledText, {
107
- fontWeight: "bold",
108
- disabled
109
- }, displayValue)), renderSelector(dateTimeSelector, handleBlur));
70
+ const dateTimeSelector = /* @__PURE__ */ React.createElement(
71
+ StyledDateTimeSelector,
72
+ {
73
+ value,
74
+ mode,
75
+ format: format$1,
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
+ onChange: handleChoosing
92
+ }
93
+ );
94
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, controlComponent ? controlComponent(handleShowSelector, displayValue) : /* @__PURE__ */ React.createElement(
95
+ HintInputContainer,
96
+ {
97
+ focused,
98
+ viewStyle: style,
99
+ onPress: handleShowSelector,
100
+ disabled,
101
+ LabelComponent: TextComponent,
102
+ variant,
103
+ hint,
104
+ hintComponent,
105
+ rightComponent: /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(CalendarIcon, { name: "calendar-sharp", type: "ionicon", size: "centi" }), rightComponent),
106
+ ...rest
107
+ },
108
+ /* @__PURE__ */ React.createElement(StyledText, { fontWeight: "bold", disabled }, displayValue)
109
+ ), renderSelector(dateTimeSelector, handleBlur));
110
110
  };
111
111
 
112
112
  export { DateTimePicker as default };
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.js","sources":["../../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarIcon, getStyledTextComponent } from '../DatePicker/styled';\nimport { DateTimeSelector, DateTimeSelectorProps } from '../DateTimeSelector';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { getStyledDateTimeSelector } from './styled';\n\nexport interface DateTimePickerProps\n extends InputContainerProps,\n Omit<DateTimeSelectorProps, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n DateTimeSelectorComponent: React.FC<DateTimeSelectorProps>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n renderSelector: (\n selector: React.ReactElement,\n blur?: () => void\n ) => JSX.Element | null;\n requestShowSelector: () => void;\n requestCloseSelector: () => void;\n}\n\nconst DateTimePicker: React.FC<DateTimePickerProps> = ({\n onChange,\n value,\n mode = 'date',\n format = 'yyyy-MM-dd hh:mm:ss',\n locale,\n upperDateThreshold,\n 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 placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant = 'default',\n TextComponent = Text,\n DateTimeSelectorComponent = DateTimeSelector,\n rightComponent,\n style,\n renderSelector,\n requestShowSelector,\n requestCloseSelector,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowSelector = () => {\n requestShowSelector();\n handleFocus();\n };\n\n const handleChoosing = (value: Date) => {\n onChange?.(value);\n requestCloseSelector();\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n const displayValue =\n (value ? formatDate(value, format, { locale: locale }) : placeholder) ||\n ' ';\n const StyledDateTimeSelector = getStyledDateTimeSelector(\n DateTimeSelectorComponent\n );\n\n const dateTimeSelector = (\n <StyledDateTimeSelector\n value={value}\n mode={mode}\n format={format}\n locale={locale}\n upperDateThreshold={upperDateThreshold}\n lowerDateThreshold={lowerDateThreshold}\n offsetThreshold={offsetThreshold}\n upperOffsetThreshold={upperOffsetThreshold}\n lowerOffsetThreshold={lowerOffsetThreshold}\n dateModalTitle={dateModalTitle}\n timeModalTitle={timeModalTitle}\n dateConfirmButtonText={dateConfirmButtonText}\n timeConfirmButtonText={timeConfirmButtonText}\n dayLabel={dayLabel}\n monthLabel={monthLabel}\n yearLabel={yearLabel}\n hourLabel={hourLabel}\n minuteLabel={minuteLabel}\n onChange={handleChoosing}\n />\n );\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowSelector, displayValue)\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowSelector}\n disabled={disabled}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {displayValue}\n </StyledText>\n </HintInputContainer>\n )}\n {renderSelector(dateTimeSelector, handleBlur)}\n </>\n );\n};\n\nexport default DateTimePicker;\n"],"names":["format","value","formatDate"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimePicker.js","sources":["../../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarIcon, getStyledTextComponent } from '../DatePicker/styled';\nimport { DateTimeSelector, DateTimeSelectorProps } from '../DateTimeSelector';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { getStyledDateTimeSelector } from './styled';\n\nexport interface DateTimePickerProps\n extends InputContainerProps,\n Omit<DateTimeSelectorProps, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n DateTimeSelectorComponent: React.FC<DateTimeSelectorProps>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n renderSelector: (\n selector: React.ReactElement,\n blur?: () => void\n ) => JSX.Element | null;\n requestShowSelector: () => void;\n requestCloseSelector: () => void;\n}\n\nconst DateTimePicker: React.FC<DateTimePickerProps> = ({\n onChange,\n value,\n mode = 'date',\n format = 'yyyy-MM-dd hh:mm:ss',\n locale,\n upperDateThreshold,\n 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 placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant = 'default',\n TextComponent = Text,\n DateTimeSelectorComponent = DateTimeSelector,\n rightComponent,\n style,\n renderSelector,\n requestShowSelector,\n requestCloseSelector,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowSelector = () => {\n requestShowSelector();\n handleFocus();\n };\n\n const handleChoosing = (value: Date) => {\n onChange?.(value);\n requestCloseSelector();\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n const displayValue =\n (value ? formatDate(value, format, { locale: locale }) : placeholder) ||\n ' ';\n const StyledDateTimeSelector = getStyledDateTimeSelector(\n DateTimeSelectorComponent\n );\n\n const dateTimeSelector = (\n <StyledDateTimeSelector\n value={value}\n mode={mode}\n format={format}\n locale={locale}\n upperDateThreshold={upperDateThreshold}\n lowerDateThreshold={lowerDateThreshold}\n offsetThreshold={offsetThreshold}\n upperOffsetThreshold={upperOffsetThreshold}\n lowerOffsetThreshold={lowerOffsetThreshold}\n dateModalTitle={dateModalTitle}\n timeModalTitle={timeModalTitle}\n dateConfirmButtonText={dateConfirmButtonText}\n timeConfirmButtonText={timeConfirmButtonText}\n dayLabel={dayLabel}\n monthLabel={monthLabel}\n yearLabel={yearLabel}\n hourLabel={hourLabel}\n minuteLabel={minuteLabel}\n onChange={handleChoosing}\n />\n );\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowSelector, displayValue)\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowSelector}\n disabled={disabled}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {displayValue}\n </StyledText>\n </HintInputContainer>\n )}\n {renderSelector(dateTimeSelector, handleBlur)}\n </>\n );\n};\n\nexport default DateTimePicker;\n"],"names":["format","value","formatDate"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { DateTimeSelectorProps } from '../DateTimeSelector';
3
3
  export declare const getStyledDateTimeSelector: (component: FC<DateTimeSelectorProps>) => import("@emotion/native").StyledComponent<DateTimeSelectorProps & {
4
- children?: import("react").ReactNode;
5
- } & {
6
4
  theme?: import("@emotion/react").Theme | undefined;
7
5
  as?: import("react").ElementType<any> | undefined;
8
6
  } & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {}>;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ViewProps } from 'react-native';
3
3
  import { TextProps } from '../../atoms/Text';
4
- export declare type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';
4
+ export type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';
5
5
  export interface DateTimeSelectorProps extends ViewProps {
6
6
  TextComponent?: React.FC<TextProps>;
7
7
  value?: Date;
@@ -90,79 +90,76 @@ const DateTimeSelector = ({
90
90
  const handlePressBack = () => {
91
91
  setCurrentMode(0);
92
92
  };
93
- return /* @__PURE__ */ React.createElement(Root, {
94
- ...rest
95
- }, /* @__PURE__ */ React.createElement(Header, null, currentMode === 1 && /* @__PURE__ */ React.createElement(BackButton, {
96
- onPress: handlePressBack
97
- }, /* @__PURE__ */ React.createElement(Icon, {
98
- type: "material-community",
99
- name: "chevron-left",
100
- size: "mega",
101
- colorVariant: "secondary"
102
- })), /* @__PURE__ */ React.createElement(TextComponent, {
103
- typography: "base",
104
- colorVariant: "secondary"
105
- }, modalTitle)), isDate ? /* @__PURE__ */ React.createElement(Content, null, mode !== "month" && /* @__PURE__ */ React.createElement(SelectorContainer, {
106
- isFirst: true
107
- }, /* @__PURE__ */ React.createElement(Selector, {
108
- TextComponent,
109
- onChange: handleChange("date"),
110
- referenceDate: date,
111
- value: date.getDate(),
112
- label: dayLabel || "Day",
113
- granularity: "date",
114
- getDisplayValue: getDisplayedValue("date"),
115
- preventUpper: upperDateThreshold ? isSameDay(upperDateThreshold, date) : false,
116
- preventLower: lowerDateThreshold ? isSameDay(lowerDateThreshold, date) : false
117
- })), /* @__PURE__ */ React.createElement(SelectorContainer, null, /* @__PURE__ */ React.createElement(Selector, {
118
- TextComponent,
119
- onChange: handleChange("month"),
120
- referenceDate: date,
121
- value: date.getMonth(),
122
- label: monthLabel || "Month",
123
- granularity: "month",
124
- getDisplayValue: getDisplayedValue("month"),
125
- preventUpper: upperDateThreshold ? isSameMonth(upperDateThreshold, date) : false,
126
- preventLower: lowerDateThreshold ? isSameMonth(lowerDateThreshold, date) : false
127
- })), /* @__PURE__ */ React.createElement(SelectorContainer, {
128
- isLast: true
129
- }, /* @__PURE__ */ React.createElement(Selector, {
130
- TextComponent,
131
- onChange: handleChange("year"),
132
- referenceDate: date,
133
- value: date.getFullYear(),
134
- label: yearLabel || "Year",
135
- granularity: "year",
136
- getDisplayValue: getDisplayedValue("year"),
137
- preventUpper: upperDateThreshold ? isSameYear(upperDateThreshold, date) : false,
138
- preventLower: lowerDateThreshold ? isSameYear(lowerDateThreshold, date) : false
139
- }))) : /* @__PURE__ */ React.createElement(Content, null, /* @__PURE__ */ React.createElement(SelectorContainer, {
140
- isFirst: true
141
- }, /* @__PURE__ */ React.createElement(Selector, {
142
- TextComponent,
143
- onChange: handleChange("hours"),
144
- referenceDate: date,
145
- value: date.getHours(),
146
- label: hourLabel || "Hour",
147
- granularity: "hours",
148
- getDisplayValue: getDisplayedValue("hours")
149
- })), /* @__PURE__ */ React.createElement(SelectorContainer, {
150
- isLast: true
151
- }, /* @__PURE__ */ React.createElement(Selector, {
152
- TextComponent,
153
- onChange: handleChange("minutes"),
154
- referenceDate: date,
155
- value: date.getMinutes(),
156
- label: minuteLabel || "Minute",
157
- granularity: "minutes",
158
- getDisplayValue: getDisplayedValue("minutes")
159
- }))), /* @__PURE__ */ React.createElement(Button, {
160
- color: "primary",
161
- onPress: handlePressConfirm
162
- }, /* @__PURE__ */ React.createElement(TextComponent, {
163
- fontWeight: "bold",
164
- fontColor: "light"
165
- }, confirmButtonText || "OK")));
93
+ return /* @__PURE__ */ React.createElement(Root, { ...rest }, /* @__PURE__ */ React.createElement(Header, null, currentMode === 1 && /* @__PURE__ */ React.createElement(BackButton, { onPress: handlePressBack }, /* @__PURE__ */ React.createElement(
94
+ Icon,
95
+ {
96
+ type: "material-community",
97
+ name: "chevron-left",
98
+ size: "mega",
99
+ colorVariant: "secondary"
100
+ }
101
+ )), /* @__PURE__ */ React.createElement(TextComponent, { typography: "base", colorVariant: "secondary" }, modalTitle)), isDate ? /* @__PURE__ */ React.createElement(Content, null, mode !== "month" && /* @__PURE__ */ React.createElement(SelectorContainer, { isFirst: true }, /* @__PURE__ */ React.createElement(
102
+ Selector,
103
+ {
104
+ TextComponent,
105
+ onChange: handleChange("date"),
106
+ referenceDate: date,
107
+ value: date.getDate(),
108
+ label: dayLabel || "Day",
109
+ granularity: "date",
110
+ getDisplayValue: getDisplayedValue("date"),
111
+ preventUpper: upperDateThreshold ? isSameDay(upperDateThreshold, date) : false,
112
+ preventLower: lowerDateThreshold ? isSameDay(lowerDateThreshold, date) : false
113
+ }
114
+ )), /* @__PURE__ */ React.createElement(SelectorContainer, null, /* @__PURE__ */ React.createElement(
115
+ Selector,
116
+ {
117
+ TextComponent,
118
+ onChange: handleChange("month"),
119
+ referenceDate: date,
120
+ value: date.getMonth(),
121
+ label: monthLabel || "Month",
122
+ granularity: "month",
123
+ getDisplayValue: getDisplayedValue("month"),
124
+ preventUpper: upperDateThreshold ? isSameMonth(upperDateThreshold, date) : false,
125
+ preventLower: lowerDateThreshold ? isSameMonth(lowerDateThreshold, date) : false
126
+ }
127
+ )), /* @__PURE__ */ React.createElement(SelectorContainer, { isLast: true }, /* @__PURE__ */ React.createElement(
128
+ Selector,
129
+ {
130
+ TextComponent,
131
+ onChange: handleChange("year"),
132
+ referenceDate: date,
133
+ value: date.getFullYear(),
134
+ label: yearLabel || "Year",
135
+ granularity: "year",
136
+ getDisplayValue: getDisplayedValue("year"),
137
+ preventUpper: upperDateThreshold ? isSameYear(upperDateThreshold, date) : false,
138
+ preventLower: lowerDateThreshold ? isSameYear(lowerDateThreshold, date) : false
139
+ }
140
+ ))) : /* @__PURE__ */ React.createElement(Content, null, /* @__PURE__ */ React.createElement(SelectorContainer, { isFirst: true }, /* @__PURE__ */ React.createElement(
141
+ Selector,
142
+ {
143
+ TextComponent,
144
+ onChange: handleChange("hours"),
145
+ referenceDate: date,
146
+ value: date.getHours(),
147
+ label: hourLabel || "Hour",
148
+ granularity: "hours",
149
+ getDisplayValue: getDisplayedValue("hours")
150
+ }
151
+ )), /* @__PURE__ */ React.createElement(SelectorContainer, { isLast: true }, /* @__PURE__ */ React.createElement(
152
+ Selector,
153
+ {
154
+ TextComponent,
155
+ onChange: handleChange("minutes"),
156
+ referenceDate: date,
157
+ value: date.getMinutes(),
158
+ label: minuteLabel || "Minute",
159
+ granularity: "minutes",
160
+ getDisplayValue: getDisplayedValue("minutes")
161
+ }
162
+ ))), /* @__PURE__ */ React.createElement(Button, { color: "primary", onPress: handlePressConfirm }, /* @__PURE__ */ React.createElement(TextComponent, { fontWeight: "bold", fontColor: "light" }, confirmButtonText || "OK")));
166
163
  };
167
164
 
168
165
  export { DateTimeSelector as default };
@@ -1 +1 @@
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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"}
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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"}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ViewProps } from 'react-native';
3
3
  import { TextProps } from '../../atoms/Text';
4
- export declare type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';
4
+ export type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';
5
5
  interface SelectorProps extends ViewProps {
6
6
  TextComponent: React.FC<TextProps>;
7
7
  granularity: Granularity;
@@ -54,34 +54,40 @@ const Selector = ({
54
54
  const handlePressOut = () => {
55
55
  pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);
56
56
  };
57
- return /* @__PURE__ */ React.createElement(SelectorRoot, {
58
- ...rest
59
- }, /* @__PURE__ */ React.createElement(Control, {
60
- onPressIn: () => requestAnimationFrame(() => handlePressInNext()),
61
- onPressOut: handlePressOut,
62
- disabled: preventUpper
63
- }, /* @__PURE__ */ React.createElement(Icon, {
64
- name: "chevron-up",
65
- type: "material-community",
66
- size: "mega",
67
- colorVariant: "primary"
68
- })), /* @__PURE__ */ React.createElement(SelectorValue, null, /* @__PURE__ */ React.createElement(TextComponent, {
69
- colorVariant: "secondary",
70
- typography: "sub"
71
- }, label), /* @__PURE__ */ React.createElement(TextComponent, {
72
- fontWeight: "bold",
73
- typography: "h5"
74
- }, getDisplayValue(value))), /* @__PURE__ */ React.createElement(Control, {
75
- onPressIn: () => requestAnimationFrame(() => handlePressInPrev()),
76
- onPressOut: handlePressOut,
77
- disabled: preventLower,
78
- style: { opacity: preventLower ? 0 : 1 }
79
- }, /* @__PURE__ */ React.createElement(Icon, {
80
- name: "chevron-down",
81
- type: "material-community",
82
- size: "mega",
83
- colorVariant: "primary"
84
- })));
57
+ return /* @__PURE__ */ React.createElement(SelectorRoot, { ...rest }, /* @__PURE__ */ React.createElement(
58
+ Control,
59
+ {
60
+ onPressIn: () => requestAnimationFrame(() => handlePressInNext()),
61
+ onPressOut: handlePressOut,
62
+ disabled: preventUpper
63
+ },
64
+ /* @__PURE__ */ React.createElement(
65
+ Icon,
66
+ {
67
+ name: "chevron-up",
68
+ type: "material-community",
69
+ size: "mega",
70
+ colorVariant: "primary"
71
+ }
72
+ )
73
+ ), /* @__PURE__ */ React.createElement(SelectorValue, null, /* @__PURE__ */ React.createElement(TextComponent, { colorVariant: "secondary", typography: "sub" }, label), /* @__PURE__ */ React.createElement(TextComponent, { fontWeight: "bold", typography: "h5" }, getDisplayValue(value))), /* @__PURE__ */ React.createElement(
74
+ Control,
75
+ {
76
+ onPressIn: () => requestAnimationFrame(() => handlePressInPrev()),
77
+ onPressOut: handlePressOut,
78
+ disabled: preventLower,
79
+ style: { opacity: preventLower ? 0 : 1 }
80
+ },
81
+ /* @__PURE__ */ React.createElement(
82
+ Icon,
83
+ {
84
+ name: "chevron-down",
85
+ type: "material-community",
86
+ size: "mega",
87
+ colorVariant: "primary"
88
+ }
89
+ )
90
+ ));
85
91
  };
86
92
 
87
93
  export { Selector };