@tecsinapse/react-core 1.21.7 → 1.21.8

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 (221) hide show
  1. package/dist/cjs/components/atoms/BoxContent/BoxContent.js +4 -31
  2. package/dist/cjs/components/atoms/BoxContent/BoxContent.js.map +1 -1
  3. package/dist/cjs/components/atoms/BoxContent/styled.js +1 -1
  4. package/dist/cjs/components/atoms/BoxContent/styled.js.map +1 -1
  5. package/dist/cjs/components/atoms/Button/Button.js +18 -61
  6. package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
  7. package/dist/cjs/components/atoms/Button/States/Error.js +5 -23
  8. package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
  9. package/dist/cjs/components/atoms/Button/States/Success.js +3 -21
  10. package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
  11. package/dist/cjs/components/atoms/Card/Card.js +12 -45
  12. package/dist/cjs/components/atoms/Card/Card.js.map +1 -1
  13. package/dist/cjs/components/atoms/Checkbox/Checkbox.js +13 -51
  14. package/dist/cjs/components/atoms/Checkbox/Checkbox.js.map +1 -1
  15. package/dist/cjs/components/atoms/Divider/Divider.js +4 -31
  16. package/dist/cjs/components/atoms/Divider/Divider.js.map +1 -1
  17. package/dist/cjs/components/atoms/GroupButton/GroupButton.js +19 -57
  18. package/dist/cjs/components/atoms/GroupButton/GroupButton.js.map +1 -1
  19. package/dist/cjs/components/atoms/GroupButton/styled.js +11 -11
  20. package/dist/cjs/components/atoms/GroupButton/styled.js.map +1 -1
  21. package/dist/cjs/components/atoms/Icon/AntDesign.js +4 -35
  22. package/dist/cjs/components/atoms/Icon/AntDesign.js.map +1 -1
  23. package/dist/cjs/components/atoms/Icon/Entypo.js +4 -35
  24. package/dist/cjs/components/atoms/Icon/Entypo.js.map +1 -1
  25. package/dist/cjs/components/atoms/Icon/Evil.js +4 -35
  26. package/dist/cjs/components/atoms/Icon/Evil.js.map +1 -1
  27. package/dist/cjs/components/atoms/Icon/Feather.js +4 -35
  28. package/dist/cjs/components/atoms/Icon/Feather.js.map +1 -1
  29. package/dist/cjs/components/atoms/Icon/FontAwesome.js +4 -35
  30. package/dist/cjs/components/atoms/Icon/FontAwesome.js.map +1 -1
  31. package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js +4 -35
  32. package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
  33. package/dist/cjs/components/atoms/Icon/Fontisto.js +4 -35
  34. package/dist/cjs/components/atoms/Icon/Fontisto.js.map +1 -1
  35. package/dist/cjs/components/atoms/Icon/Foundation.js +4 -35
  36. package/dist/cjs/components/atoms/Icon/Foundation.js.map +1 -1
  37. package/dist/cjs/components/atoms/Icon/Icon.js +13 -51
  38. package/dist/cjs/components/atoms/Icon/Icon.js.map +1 -1
  39. package/dist/cjs/components/atoms/Icon/Ionicon.js +4 -35
  40. package/dist/cjs/components/atoms/Icon/Ionicon.js.map +1 -1
  41. package/dist/cjs/components/atoms/Icon/Material.js +4 -35
  42. package/dist/cjs/components/atoms/Icon/Material.js.map +1 -1
  43. package/dist/cjs/components/atoms/Icon/MaterialCommunity.js +9 -43
  44. package/dist/cjs/components/atoms/Icon/MaterialCommunity.js.map +1 -1
  45. package/dist/cjs/components/atoms/Icon/Octicon.js +4 -35
  46. package/dist/cjs/components/atoms/Icon/Octicon.js.map +1 -1
  47. package/dist/cjs/components/atoms/Icon/SimpleLine.js +4 -35
  48. package/dist/cjs/components/atoms/Icon/SimpleLine.js.map +1 -1
  49. package/dist/cjs/components/atoms/Icon/Zocial.js +4 -35
  50. package/dist/cjs/components/atoms/Icon/Zocial.js.map +1 -1
  51. package/dist/cjs/components/atoms/Icon/functions.js +1 -1
  52. package/dist/cjs/components/atoms/Icon/functions.js.map +1 -1
  53. package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js +21 -67
  54. package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  55. package/dist/cjs/components/atoms/Input/InputElement/InputElement.js +11 -47
  56. package/dist/cjs/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  57. package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js +15 -52
  58. package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  59. package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +11 -43
  60. package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  61. package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js +1 -17
  62. package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  63. package/dist/cjs/components/atoms/Input/hooks/useStringMask.js +2 -2
  64. package/dist/cjs/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  65. package/dist/cjs/components/atoms/Input/styled.js +1 -1
  66. package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
  67. package/dist/cjs/components/atoms/Paper/Paper.js +8 -43
  68. package/dist/cjs/components/atoms/Paper/Paper.js.map +1 -1
  69. package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js +12 -49
  70. package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  71. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js +16 -52
  72. package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  73. package/dist/cjs/components/atoms/RadioButton/RadioButton.js +13 -51
  74. package/dist/cjs/components/atoms/RadioButton/RadioButton.js.map +1 -1
  75. package/dist/cjs/components/atoms/Switch/Switch.js +14 -53
  76. package/dist/cjs/components/atoms/Switch/Switch.js.map +1 -1
  77. package/dist/cjs/components/atoms/Tag/Tag.js +16 -52
  78. package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
  79. package/dist/cjs/components/atoms/Text/Text.js +17 -59
  80. package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
  81. package/dist/cjs/components/molecules/Calendar/Calendar.js +20 -60
  82. package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
  83. package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js +3 -3
  84. package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  85. package/dist/cjs/components/molecules/Calendar/styled.js +5 -8
  86. package/dist/cjs/components/molecules/Calendar/styled.js.map +1 -1
  87. package/dist/cjs/components/molecules/DatePicker/DatePicker.js +30 -81
  88. package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
  89. package/dist/cjs/components/molecules/DatePicker/styled.js +3 -6
  90. package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
  91. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +42 -104
  92. package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  93. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +26 -72
  94. package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  95. package/dist/cjs/components/molecules/DateTimeSelector/Selector.js +15 -51
  96. package/dist/cjs/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  97. package/dist/cjs/components/molecules/Grid/functions.js +1 -2
  98. package/dist/cjs/components/molecules/Grid/functions.js.map +1 -1
  99. package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js +17 -55
  100. package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  101. package/dist/cjs/components/molecules/IconTextButton/IconComponent.js +5 -21
  102. package/dist/cjs/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  103. package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js +8 -41
  104. package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  105. package/dist/cjs/components/molecules/Snackbar/Snackbar.js +8 -25
  106. package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
  107. package/dist/cjs/styles/light.js +7 -20
  108. package/dist/cjs/styles/light.js.map +1 -1
  109. package/dist/cjs/utils/masks.js +2 -2
  110. package/dist/cjs/utils/masks.js.map +1 -1
  111. package/dist/esm/components/atoms/BoxContent/BoxContent.js +4 -31
  112. package/dist/esm/components/atoms/BoxContent/BoxContent.js.map +1 -1
  113. package/dist/esm/components/atoms/BoxContent/styled.js +1 -1
  114. package/dist/esm/components/atoms/BoxContent/styled.js.map +1 -1
  115. package/dist/esm/components/atoms/Button/Button.js +18 -61
  116. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  117. package/dist/esm/components/atoms/Button/States/Error.js +5 -23
  118. package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
  119. package/dist/esm/components/atoms/Button/States/Success.js +3 -21
  120. package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
  121. package/dist/esm/components/atoms/Card/Card.js +12 -45
  122. package/dist/esm/components/atoms/Card/Card.js.map +1 -1
  123. package/dist/esm/components/atoms/Checkbox/Checkbox.js +13 -51
  124. package/dist/esm/components/atoms/Checkbox/Checkbox.js.map +1 -1
  125. package/dist/esm/components/atoms/Divider/Divider.js +4 -31
  126. package/dist/esm/components/atoms/Divider/Divider.js.map +1 -1
  127. package/dist/esm/components/atoms/GroupButton/GroupButton.js +19 -57
  128. package/dist/esm/components/atoms/GroupButton/GroupButton.js.map +1 -1
  129. package/dist/esm/components/atoms/GroupButton/styled.js +11 -11
  130. package/dist/esm/components/atoms/GroupButton/styled.js.map +1 -1
  131. package/dist/esm/components/atoms/Icon/AntDesign.js +4 -35
  132. package/dist/esm/components/atoms/Icon/AntDesign.js.map +1 -1
  133. package/dist/esm/components/atoms/Icon/Entypo.js +4 -35
  134. package/dist/esm/components/atoms/Icon/Entypo.js.map +1 -1
  135. package/dist/esm/components/atoms/Icon/Evil.js +4 -35
  136. package/dist/esm/components/atoms/Icon/Evil.js.map +1 -1
  137. package/dist/esm/components/atoms/Icon/Feather.js +4 -35
  138. package/dist/esm/components/atoms/Icon/Feather.js.map +1 -1
  139. package/dist/esm/components/atoms/Icon/FontAwesome.js +4 -35
  140. package/dist/esm/components/atoms/Icon/FontAwesome.js.map +1 -1
  141. package/dist/esm/components/atoms/Icon/FontAwesomeFive.js +4 -35
  142. package/dist/esm/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
  143. package/dist/esm/components/atoms/Icon/Fontisto.js +4 -35
  144. package/dist/esm/components/atoms/Icon/Fontisto.js.map +1 -1
  145. package/dist/esm/components/atoms/Icon/Foundation.js +4 -35
  146. package/dist/esm/components/atoms/Icon/Foundation.js.map +1 -1
  147. package/dist/esm/components/atoms/Icon/Icon.js +13 -51
  148. package/dist/esm/components/atoms/Icon/Icon.js.map +1 -1
  149. package/dist/esm/components/atoms/Icon/Ionicon.js +4 -35
  150. package/dist/esm/components/atoms/Icon/Ionicon.js.map +1 -1
  151. package/dist/esm/components/atoms/Icon/Material.js +4 -35
  152. package/dist/esm/components/atoms/Icon/Material.js.map +1 -1
  153. package/dist/esm/components/atoms/Icon/MaterialCommunity.js +9 -43
  154. package/dist/esm/components/atoms/Icon/MaterialCommunity.js.map +1 -1
  155. package/dist/esm/components/atoms/Icon/Octicon.js +4 -35
  156. package/dist/esm/components/atoms/Icon/Octicon.js.map +1 -1
  157. package/dist/esm/components/atoms/Icon/SimpleLine.js +4 -35
  158. package/dist/esm/components/atoms/Icon/SimpleLine.js.map +1 -1
  159. package/dist/esm/components/atoms/Icon/Zocial.js +4 -35
  160. package/dist/esm/components/atoms/Icon/Zocial.js.map +1 -1
  161. package/dist/esm/components/atoms/Icon/functions.js +1 -1
  162. package/dist/esm/components/atoms/Icon/functions.js.map +1 -1
  163. package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js +21 -67
  164. package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
  165. package/dist/esm/components/atoms/Input/InputElement/InputElement.js +11 -47
  166. package/dist/esm/components/atoms/Input/InputElement/InputElement.js.map +1 -1
  167. package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js +15 -52
  168. package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
  169. package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +11 -43
  170. package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
  171. package/dist/esm/components/atoms/Input/hooks/useNumberMask.js +1 -17
  172. package/dist/esm/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
  173. package/dist/esm/components/atoms/Input/hooks/useStringMask.js +2 -2
  174. package/dist/esm/components/atoms/Input/hooks/useStringMask.js.map +1 -1
  175. package/dist/esm/components/atoms/Input/styled.js +1 -1
  176. package/dist/esm/components/atoms/Input/styled.js.map +1 -1
  177. package/dist/esm/components/atoms/Paper/Paper.js +8 -43
  178. package/dist/esm/components/atoms/Paper/Paper.js.map +1 -1
  179. package/dist/esm/components/atoms/PressableSurface/PressableSurface.js +12 -49
  180. package/dist/esm/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
  181. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +16 -52
  182. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  183. package/dist/esm/components/atoms/RadioButton/RadioButton.js +13 -51
  184. package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
  185. package/dist/esm/components/atoms/Switch/Switch.js +14 -53
  186. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  187. package/dist/esm/components/atoms/Tag/Tag.js +16 -52
  188. package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
  189. package/dist/esm/components/atoms/Text/Text.js +17 -59
  190. package/dist/esm/components/atoms/Text/Text.js.map +1 -1
  191. package/dist/esm/components/molecules/Calendar/Calendar.js +20 -60
  192. package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
  193. package/dist/esm/components/molecules/Calendar/components/MonthWeek.js +3 -3
  194. package/dist/esm/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
  195. package/dist/esm/components/molecules/Calendar/styled.js +5 -8
  196. package/dist/esm/components/molecules/Calendar/styled.js.map +1 -1
  197. package/dist/esm/components/molecules/DatePicker/DatePicker.js +30 -81
  198. package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
  199. package/dist/esm/components/molecules/DatePicker/styled.js +3 -6
  200. package/dist/esm/components/molecules/DatePicker/styled.js.map +1 -1
  201. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +42 -104
  202. package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
  203. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +26 -72
  204. package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
  205. package/dist/esm/components/molecules/DateTimeSelector/Selector.js +15 -51
  206. package/dist/esm/components/molecules/DateTimeSelector/Selector.js.map +1 -1
  207. package/dist/esm/components/molecules/Grid/functions.js +1 -2
  208. package/dist/esm/components/molecules/Grid/functions.js.map +1 -1
  209. package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js +17 -55
  210. package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
  211. package/dist/esm/components/molecules/IconTextButton/IconComponent.js +5 -21
  212. package/dist/esm/components/molecules/IconTextButton/IconComponent.js.map +1 -1
  213. package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js +8 -41
  214. package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
  215. package/dist/esm/components/molecules/Snackbar/Snackbar.js +8 -25
  216. package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
  217. package/dist/esm/styles/light.js +8 -21
  218. package/dist/esm/styles/light.js.map +1 -1
  219. package/dist/esm/utils/masks.js +2 -2
  220. package/dist/esm/utils/masks.js.map +1 -1
  221. package/package.json +2 -2
@@ -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":["useInputFocus","value","getStyledTextComponent","formatDate","getStyledDateTimeSelector","React","CalendarIcon"],"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":["useInputFocus","value","getStyledTextComponent","formatDate","getStyledDateTimeSelector","React","CalendarIcon"],"mappings":"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"}
@@ -30,34 +30,6 @@ function _interopNamespace(e) {
30
30
 
31
31
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
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
- };
61
33
  function getThresholdUnit(mode, threshold) {
62
34
  if (!threshold)
63
35
  return {};
@@ -69,48 +41,28 @@ function getThresholdUnit(mode, threshold) {
69
41
  return { hours: threshold };
70
42
  }
71
43
  }
72
- const DateTimeSelector = (_a) => {
73
- var _b = _a, {
74
- TextComponent = Text,
75
- value,
76
- onChange,
77
- mode = "date",
78
- locale,
79
- upperDateThreshold: _upperDateThreshold,
80
- lowerDateThreshold: _lowerDateThreshold,
81
- offsetThreshold,
82
- upperOffsetThreshold,
83
- lowerOffsetThreshold,
84
- dateModalTitle,
85
- timeModalTitle,
86
- dateConfirmButtonText,
87
- timeConfirmButtonText,
88
- dayLabel,
89
- monthLabel,
90
- yearLabel,
91
- hourLabel,
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
- ]);
44
+ const DateTimeSelector = ({
45
+ TextComponent = Text,
46
+ value,
47
+ onChange,
48
+ mode = "date",
49
+ locale,
50
+ upperDateThreshold: _upperDateThreshold,
51
+ lowerDateThreshold: _lowerDateThreshold,
52
+ offsetThreshold,
53
+ upperOffsetThreshold,
54
+ lowerOffsetThreshold,
55
+ dateModalTitle,
56
+ timeModalTitle,
57
+ dateConfirmButtonText,
58
+ timeConfirmButtonText,
59
+ dayLabel,
60
+ monthLabel,
61
+ yearLabel,
62
+ hourLabel,
63
+ minuteLabel,
64
+ ...rest
65
+ }) => {
114
66
  const lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && dateFns.sub(
115
67
  new Date(),
116
68
  getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)
@@ -154,13 +106,15 @@ const DateTimeSelector = (_a) => {
154
106
  if (mode === "datetime" && currentMode === 0) {
155
107
  setCurrentMode(1);
156
108
  } else {
157
- onChange == null ? void 0 : onChange(date);
109
+ onChange?.(date);
158
110
  }
159
111
  };
160
112
  const handlePressBack = () => {
161
113
  setCurrentMode(0);
162
114
  };
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, {
115
+ return /* @__PURE__ */ React__namespace.createElement(styled.Root, {
116
+ ...rest
117
+ }, /* @__PURE__ */ React__namespace.createElement(styled.Header, null, currentMode === 1 && /* @__PURE__ */ React__namespace.createElement(styled.BackButton, {
164
118
  onPress: handlePressBack
165
119
  }, /* @__PURE__ */ React__namespace.createElement(Icon, {
166
120
  type: "material-community",
@@ -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":["sub","add","React","date","set","getDaysInMonth","compareAsc","value","formatDate","Root","Header","BackButton","Content","SelectorContainer","Selector","isSameDay","isSameMonth","isSameYear"],"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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"}
@@ -27,34 +27,6 @@ function _interopNamespace(e) {
27
27
 
28
28
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
29
 
30
- var __defProp = Object.defineProperty;
31
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
32
- var __hasOwnProp = Object.prototype.hasOwnProperty;
33
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
34
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
35
- var __spreadValues = (a, b) => {
36
- for (var prop in b || (b = {}))
37
- if (__hasOwnProp.call(b, prop))
38
- __defNormalProp(a, prop, b[prop]);
39
- if (__getOwnPropSymbols)
40
- for (var prop of __getOwnPropSymbols(b)) {
41
- if (__propIsEnum.call(b, prop))
42
- __defNormalProp(a, prop, b[prop]);
43
- }
44
- return a;
45
- };
46
- var __objRest = (source, exclude) => {
47
- var target = {};
48
- for (var prop in source)
49
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
50
- target[prop] = source[prop];
51
- if (source != null && __getOwnPropSymbols)
52
- for (var prop of __getOwnPropSymbols(source)) {
53
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
54
- target[prop] = source[prop];
55
- }
56
- return target;
57
- };
58
30
  function getPrevAndNext(value, granularity, daysInMonth, multiplier = 1) {
59
31
  let next = value + multiplier, prev = value - multiplier;
60
32
  if (granularity === "date") {
@@ -72,28 +44,18 @@ function getPrevAndNext(value, granularity, daysInMonth, multiplier = 1) {
72
44
  }
73
45
  return [prev, next];
74
46
  }
75
- const Selector = (_a) => {
76
- var _b = _a, {
77
- granularity,
78
- label,
79
- value,
80
- onChange,
81
- getDisplayValue,
82
- referenceDate,
83
- preventUpper,
84
- preventLower,
85
- TextComponent
86
- } = _b, rest = __objRest(_b, [
87
- "granularity",
88
- "label",
89
- "value",
90
- "onChange",
91
- "getDisplayValue",
92
- "referenceDate",
93
- "preventUpper",
94
- "preventLower",
95
- "TextComponent"
96
- ]);
47
+ const Selector = ({
48
+ granularity,
49
+ label,
50
+ value,
51
+ onChange,
52
+ getDisplayValue,
53
+ referenceDate,
54
+ preventUpper,
55
+ preventLower,
56
+ TextComponent,
57
+ ...rest
58
+ }) => {
97
59
  const pressInTimeoutRef = React__namespace.useRef();
98
60
  const handlePressInNext = (_next) => {
99
61
  const daysInMonth = dateFns.getDaysInMonth(referenceDate);
@@ -116,7 +78,9 @@ const Selector = (_a) => {
116
78
  const handlePressOut = () => {
117
79
  pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);
118
80
  };
119
- return /* @__PURE__ */ React__namespace.createElement(styled.SelectorRoot, __spreadValues({}, rest), /* @__PURE__ */ React__namespace.createElement(styled.Control, {
81
+ return /* @__PURE__ */ React__namespace.createElement(styled.SelectorRoot, {
82
+ ...rest
83
+ }, /* @__PURE__ */ React__namespace.createElement(styled.Control, {
120
84
  onPressIn: () => requestAnimationFrame(() => handlePressInNext()),
121
85
  onPressOut: handlePressOut,
122
86
  disabled: preventUpper
@@ -1 +1 @@
1
- {"version":3,"file":"Selector.js","sources":["../../../../../src/components/molecules/DateTimeSelector/Selector.tsx"],"sourcesContent":["import { getDaysInMonth } from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Icon } from '../../atoms/Icon';\nimport { TextProps } from '../../atoms/Text';\nimport { Control, SelectorRoot, SelectorValue } from './styled';\n\nexport type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';\n\ninterface SelectorProps extends ViewProps {\n TextComponent: React.FC<TextProps>;\n granularity: Granularity;\n referenceDate: Date;\n label: string;\n value: number;\n getDisplayValue: (value: number) => string;\n onChange: (value: number) => void | never;\n preventUpper?: boolean;\n preventLower?: boolean;\n}\n\nfunction getPrevAndNext(\n value: number,\n granularity: Granularity,\n daysInMonth: number,\n multiplier = 1\n): [number, number] {\n let next = value + multiplier,\n prev = value - multiplier;\n\n if (granularity === 'date') {\n next = next > daysInMonth ? 1 : next;\n prev = prev < 1 ? daysInMonth : prev;\n } else if (granularity === 'month') {\n next = next > 11 ? 0 : next;\n prev = prev < 0 ? 11 : prev;\n } else if (granularity === 'hours') {\n next = next > 23 ? 0 : next;\n prev = prev < 0 ? 23 : prev;\n } else if (granularity === 'minutes') {\n next = next > 59 ? 0 : next;\n prev = prev < 0 ? 59 : prev;\n }\n\n return [prev, next];\n}\nexport const Selector: React.FC<SelectorProps> = ({\n granularity,\n label,\n value,\n onChange,\n getDisplayValue,\n referenceDate,\n preventUpper,\n preventLower,\n TextComponent,\n ...rest\n}) => {\n const pressInTimeoutRef = React.useRef<number>();\n\n const handlePressInNext = (_next?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const next = _next || getPrevAndNext(value, granularity, daysInMonth)[1];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInNext(getPrevAndNext(next, granularity, daysInMonth, 3)[1]);\n }, 500);\n onChange(next);\n };\n\n const handlePressInPrev = (_prev?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const prev = _prev || getPrevAndNext(value, granularity, daysInMonth)[0];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInPrev(getPrevAndNext(prev, granularity, daysInMonth, 3)[0]);\n }, 500);\n onChange(prev);\n };\n\n const handlePressOut = () => {\n pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);\n };\n\n return (\n <SelectorRoot {...rest}>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInNext())}\n onPressOut={handlePressOut}\n disabled={preventUpper}\n >\n <Icon\n name={'chevron-up'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n <SelectorValue>\n <TextComponent colorVariant={'secondary'} typography={'sub'}>\n {label}\n </TextComponent>\n <TextComponent fontWeight={'bold'} typography={'h5'}>\n {getDisplayValue(value)}\n </TextComponent>\n </SelectorValue>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInPrev())}\n onPressOut={handlePressOut}\n disabled={preventLower}\n style={{ opacity: preventLower ? 0 : 1 }}\n >\n <Icon\n name={'chevron-down'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n </SelectorRoot>\n );\n};\n"],"names":["React","getDaysInMonth","SelectorRoot","Control","SelectorValue"],"mappings":"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"}
1
+ {"version":3,"file":"Selector.js","sources":["../../../../../src/components/molecules/DateTimeSelector/Selector.tsx"],"sourcesContent":["import { getDaysInMonth } from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Icon } from '../../atoms/Icon';\nimport { TextProps } from '../../atoms/Text';\nimport { Control, SelectorRoot, SelectorValue } from './styled';\n\nexport type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';\n\ninterface SelectorProps extends ViewProps {\n TextComponent: React.FC<TextProps>;\n granularity: Granularity;\n referenceDate: Date;\n label: string;\n value: number;\n getDisplayValue: (value: number) => string;\n onChange: (value: number) => void | never;\n preventUpper?: boolean;\n preventLower?: boolean;\n}\n\nfunction getPrevAndNext(\n value: number,\n granularity: Granularity,\n daysInMonth: number,\n multiplier = 1\n): [number, number] {\n let next = value + multiplier,\n prev = value - multiplier;\n\n if (granularity === 'date') {\n next = next > daysInMonth ? 1 : next;\n prev = prev < 1 ? daysInMonth : prev;\n } else if (granularity === 'month') {\n next = next > 11 ? 0 : next;\n prev = prev < 0 ? 11 : prev;\n } else if (granularity === 'hours') {\n next = next > 23 ? 0 : next;\n prev = prev < 0 ? 23 : prev;\n } else if (granularity === 'minutes') {\n next = next > 59 ? 0 : next;\n prev = prev < 0 ? 59 : prev;\n }\n\n return [prev, next];\n}\nexport const Selector: React.FC<SelectorProps> = ({\n granularity,\n label,\n value,\n onChange,\n getDisplayValue,\n referenceDate,\n preventUpper,\n preventLower,\n TextComponent,\n ...rest\n}) => {\n const pressInTimeoutRef = React.useRef<number>();\n\n const handlePressInNext = (_next?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const next = _next || getPrevAndNext(value, granularity, daysInMonth)[1];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInNext(getPrevAndNext(next, granularity, daysInMonth, 3)[1]);\n }, 500);\n onChange(next);\n };\n\n const handlePressInPrev = (_prev?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const prev = _prev || getPrevAndNext(value, granularity, daysInMonth)[0];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInPrev(getPrevAndNext(prev, granularity, daysInMonth, 3)[0]);\n }, 500);\n onChange(prev);\n };\n\n const handlePressOut = () => {\n pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);\n };\n\n return (\n <SelectorRoot {...rest}>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInNext())}\n onPressOut={handlePressOut}\n disabled={preventUpper}\n >\n <Icon\n name={'chevron-up'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n <SelectorValue>\n <TextComponent colorVariant={'secondary'} typography={'sub'}>\n {label}\n </TextComponent>\n <TextComponent fontWeight={'bold'} typography={'h5'}>\n {getDisplayValue(value)}\n </TextComponent>\n </SelectorValue>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInPrev())}\n onPressOut={handlePressOut}\n disabled={preventLower}\n style={{ opacity: preventLower ? 0 : 1 }}\n >\n <Icon\n name={'chevron-down'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n </SelectorRoot>\n );\n};\n"],"names":["React","getDaysInMonth","SelectorRoot","Control","SelectorValue"],"mappings":"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"}
@@ -13,12 +13,11 @@ require('../../atoms/Input/PressableInputContainer/styled.js');
13
13
  require('react-native');
14
14
 
15
15
  const getGridItemPadding = (pos, _spacing, themeSpacing) => {
16
- var _a;
17
16
  if (_spacing) {
18
17
  if (typeof _spacing === "string")
19
18
  return extractNumbersFromString.extractNumbersFromString(themeSpacing[_spacing]);
20
19
  else if (typeof _spacing === "object" && _spacing[pos]) {
21
- return extractNumbersFromString.extractNumbersFromString(themeSpacing[(_a = _spacing[pos]) != null ? _a : "0"]);
20
+ return extractNumbersFromString.extractNumbersFromString(themeSpacing[_spacing[pos] ?? "0"]);
22
21
  } else
23
22
  return void 0;
24
23
  } else
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sources":["../../../../../src/components/molecules/Grid/functions.ts"],"sourcesContent":["import { GridSpacing, PaddingPosition, Spacing } from '@tecsinapse/react-core';\nimport { extractNumbersFromString } from '../../../utils';\n\nexport const getGridItemPadding = (\n pos: PaddingPosition,\n _spacing: GridSpacing | undefined,\n themeSpacing: Spacing\n): number | undefined => {\n if (_spacing) {\n if (typeof _spacing === 'string')\n return extractNumbersFromString(themeSpacing[_spacing]);\n else if (typeof _spacing === 'object' && _spacing[pos]) {\n return extractNumbersFromString(themeSpacing[_spacing[pos] ?? '0']);\n } else return undefined;\n } else return undefined;\n};\n\n/**\n * Calc the basis width percentage for a given item\n * @param columns - number of grid columns\n * @param span - number of columns to merge\n * @returns {number} - value in %\n */\nexport const getGridItemColumSpan = (columns: number, span: number): number =>\n 100 / (columns / span);\n"],"names":["extractNumbersFromString"],"mappings":";;;;;;;;;;;;;;AAGO,MAAM,kBAAqB,GAAA,CAChC,GACA,EAAA,QAAA,EACA,YACuB,KAAA;AAPzB,EAAA,IAAA,EAAA,CAAA;AAQE,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,IAAI,OAAO,QAAa,KAAA,QAAA;AACtB,MAAO,OAAAA,iDAAA,CAAyB,aAAa,QAAS,CAAA,CAAA,CAAA;AAAA,SAAA,IAC/C,OAAO,QAAA,KAAa,QAAY,IAAA,QAAA,CAAS,GAAM,CAAA,EAAA;AACtD,MAAA,OAAOA,iDAAyB,CAAA,YAAA,CAAA,CAAa,EAAS,GAAA,QAAA,CAAA,GAAA,CAAA,KAAT,YAAiB,GAAI,CAAA,CAAA,CAAA;AAAA,KACpE;AAAO,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GAChB;AAAO,IAAO,OAAA,KAAA,CAAA,CAAA;AAChB,EAAA;AAQO,MAAM,oBAAuB,GAAA,CAAC,OAAiB,EAAA,IAAA,KACpD,OAAO,OAAU,GAAA,IAAA;;;;;"}
1
+ {"version":3,"file":"functions.js","sources":["../../../../../src/components/molecules/Grid/functions.ts"],"sourcesContent":["import { GridSpacing, PaddingPosition, Spacing } from '@tecsinapse/react-core';\nimport { extractNumbersFromString } from '../../../utils';\n\nexport const getGridItemPadding = (\n pos: PaddingPosition,\n _spacing: GridSpacing | undefined,\n themeSpacing: Spacing\n): number | undefined => {\n if (_spacing) {\n if (typeof _spacing === 'string')\n return extractNumbersFromString(themeSpacing[_spacing]);\n else if (typeof _spacing === 'object' && _spacing[pos]) {\n return extractNumbersFromString(themeSpacing[_spacing[pos] ?? '0']);\n } else return undefined;\n } else return undefined;\n};\n\n/**\n * Calc the basis width percentage for a given item\n * @param columns - number of grid columns\n * @param span - number of columns to merge\n * @returns {number} - value in %\n */\nexport const getGridItemColumSpan = (columns: number, span: number): number =>\n 100 / (columns / span);\n"],"names":["extractNumbersFromString"],"mappings":";;;;;;;;;;;;;;AAGO,MAAM,kBAAqB,GAAA,CAChC,GACA,EAAA,QAAA,EACA,YACuB,KAAA;AACvB,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,IAAI,OAAO,QAAa,KAAA,QAAA;AACtB,MAAO,OAAAA,iDAAA,CAAyB,aAAa,QAAS,CAAA,CAAA,CAAA;AAAA,SAAA,IAC/C,OAAO,QAAA,KAAa,QAAY,IAAA,QAAA,CAAS,GAAM,CAAA,EAAA;AACtD,MAAA,OAAOA,iDAAyB,CAAA,YAAA,CAAa,QAAS,CAAA,GAAA,CAAA,IAAQ,GAAI,CAAA,CAAA,CAAA;AAAA,KACpE;AAAO,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GAChB;AAAO,IAAO,OAAA,KAAA,CAAA,CAAA;AAChB,EAAA;AAQO,MAAM,oBAAuB,GAAA,CAAC,OAAiB,EAAA,IAAA,KACpD,OAAO,OAAU,GAAA,IAAA;;;;;"}
@@ -30,58 +30,19 @@ function _interopNamespace(e) {
30
30
 
31
31
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
32
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
- };
61
- const HintInputContainer = (_a) => {
62
- var _b = _a, {
63
- viewStyle,
64
- onPress,
65
- focused,
66
- disabled,
67
- LabelComponent,
68
- variant = "default",
69
- rightComponent,
70
- children,
71
- hint,
72
- hintComponent
73
- } = _b, rest = __objRest(_b, [
74
- "viewStyle",
75
- "onPress",
76
- "focused",
77
- "disabled",
78
- "LabelComponent",
79
- "variant",
80
- "rightComponent",
81
- "children",
82
- "hint",
83
- "hintComponent"
84
- ]);
33
+ const HintInputContainer = ({
34
+ viewStyle,
35
+ onPress,
36
+ focused,
37
+ disabled,
38
+ LabelComponent,
39
+ variant = "default",
40
+ rightComponent,
41
+ children,
42
+ hint,
43
+ hintComponent,
44
+ ...rest
45
+ }) => {
85
46
  const _hint = hintComponent || /* @__PURE__ */ React__namespace.createElement(Hint, {
86
47
  TextComponent: LabelComponent,
87
48
  text: hint,
@@ -89,14 +50,15 @@ const HintInputContainer = (_a) => {
89
50
  });
90
51
  return /* @__PURE__ */ React__namespace.createElement(reactNative.View, {
91
52
  style: viewStyle
92
- }, /* @__PURE__ */ React__namespace.createElement(PressableInputContainer, __spreadValues({
53
+ }, /* @__PURE__ */ React__namespace.createElement(PressableInputContainer, {
93
54
  onPress,
94
55
  focused,
95
56
  disabled,
96
57
  LabelComponent,
97
58
  variant,
98
- rightComponent
99
- }, rest), children), hint && _hint);
59
+ rightComponent,
60
+ ...rest
61
+ }, children), hint && _hint);
100
62
  };
101
63
 
102
64
  module.exports = HintInputContainer;
@@ -1 +1 @@
1
- {"version":3,"file":"HintInputContainer.js","sources":["../../../../../src/components/molecules/HintInputContainer/HintInputContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport {\n Hint,\n InputVariantType,\n PressableInputContainer,\n PressableInputContainerProps,\n} from '../../atoms/Input';\nimport { TextProps } from '../../atoms/Text';\n\nexport interface HintInputContainerProps extends PressableInputContainerProps {\n viewStyle?: StyleProp<ViewStyle>;\n focused: boolean;\n LabelComponent?: React.FC<TextProps>;\n onPress?: () => void | never;\n disabled?: boolean;\n hint?: string;\n hintComponent?: JSX.Element;\n variant?: InputVariantType;\n rightComponent?: JSX.Element;\n}\n\nconst HintInputContainer: React.FC<HintInputContainerProps> = ({\n viewStyle,\n onPress,\n focused,\n disabled,\n LabelComponent,\n variant = 'default',\n rightComponent,\n children,\n hint,\n hintComponent,\n ...rest\n}) => {\n const _hint = hintComponent || (\n <Hint TextComponent={LabelComponent} text={hint} variant={variant} />\n );\n\n return (\n <View style={viewStyle}>\n <PressableInputContainer\n onPress={onPress}\n focused={focused}\n disabled={disabled}\n LabelComponent={LabelComponent}\n variant={variant}\n rightComponent={rightComponent}\n {...rest}\n >\n {children}\n </PressableInputContainer>\n {hint && _hint}\n </View>\n );\n};\n\nexport default HintInputContainer;\n"],"names":["React","View"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBM,MAAA,kBAAA,GAAwD,CAAC,EAYzD,KAAA;AAZyD,EAC7D,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAU,GAAA,SAAA;AAAA,IACV,cAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,aAAA;AAAA,GAhCF,GAsB+D,EAW1D,EAAA,IAAA,GAAA,SAAA,CAX0D,EAW1D,EAAA;AAAA,IAVH,WAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,IACA,SAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA,MAAA;AAAA,IACA,eAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAM,MAAA,KAAA,GAAQ,iCACXA,gBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,aAAe,EAAA,cAAA;AAAA,IAAgB,IAAM,EAAA,IAAA;AAAA,IAAM,OAAA;AAAA,GAAkB,CAAA,CAAA;AAGrE,EAAA,uBACGA,gBAAA,CAAA,aAAA,CAAAC,gBAAA,EAAA;AAAA,IAAK,KAAO,EAAA,SAAA;AAAA,GAAA,kBACVD,gBAAA,CAAA,aAAA,CAAA,uBAAA,EAAA,cAAA,CAAA;AAAA,IACC,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,GAAA,EACI,IAEH,CAAA,EAAA,QACH,CACC,EAAA,IAAA,IAAQ,KACX,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"HintInputContainer.js","sources":["../../../../../src/components/molecules/HintInputContainer/HintInputContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport {\n Hint,\n InputVariantType,\n PressableInputContainer,\n PressableInputContainerProps,\n} from '../../atoms/Input';\nimport { TextProps } from '../../atoms/Text';\n\nexport interface HintInputContainerProps extends PressableInputContainerProps {\n viewStyle?: StyleProp<ViewStyle>;\n focused: boolean;\n LabelComponent?: React.FC<TextProps>;\n onPress?: () => void | never;\n disabled?: boolean;\n hint?: string;\n hintComponent?: JSX.Element;\n variant?: InputVariantType;\n rightComponent?: JSX.Element;\n}\n\nconst HintInputContainer: React.FC<HintInputContainerProps> = ({\n viewStyle,\n onPress,\n focused,\n disabled,\n LabelComponent,\n variant = 'default',\n rightComponent,\n children,\n hint,\n hintComponent,\n ...rest\n}) => {\n const _hint = hintComponent || (\n <Hint TextComponent={LabelComponent} text={hint} variant={variant} />\n );\n\n return (\n <View style={viewStyle}>\n <PressableInputContainer\n onPress={onPress}\n focused={focused}\n disabled={disabled}\n LabelComponent={LabelComponent}\n variant={variant}\n rightComponent={rightComponent}\n {...rest}\n >\n {children}\n </PressableInputContainer>\n {hint && _hint}\n </View>\n );\n};\n\nexport default HintInputContainer;\n"],"names":["React","View"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,qBAAwD,CAAC;AAAA,EAC7D,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,cAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,aAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAM,MAAA,KAAA,GAAQ,iCACXA,gBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,aAAe,EAAA,cAAA;AAAA,IAAgB,IAAM,EAAA,IAAA;AAAA,IAAM,OAAA;AAAA,GAAkB,CAAA,CAAA;AAGrE,EAAA,uBACGA,gBAAA,CAAA,aAAA,CAAAC,gBAAA,EAAA;AAAA,IAAK,KAAO,EAAA,SAAA;AAAA,GAAA,kBACVD,gBAAA,CAAA,aAAA,CAAA,uBAAA,EAAA;AAAA,IACC,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,IACC,GAAG,IAAA;AAAA,GAEH,EAAA,QACH,CACC,EAAA,IAAA,IAAQ,KACX,CAAA,CAAA;AAEJ;;;;"}
@@ -7,32 +7,16 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
7
7
 
8
8
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
9
9
 
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
- var __hasOwnProp = Object.prototype.hasOwnProperty;
13
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
- var __spreadValues = (a, b) => {
16
- for (var prop in b || (b = {}))
17
- if (__hasOwnProp.call(b, prop))
18
- __defNormalProp(a, prop, b[prop]);
19
- if (__getOwnPropSymbols)
20
- for (var prop of __getOwnPropSymbols(b)) {
21
- if (__propIsEnum.call(b, prop))
22
- __defNormalProp(a, prop, b[prop]);
23
- }
24
- return a;
25
- };
26
10
  const IconComponent = ({
27
11
  iconProps,
28
12
  size = "default",
29
13
  defaultFontColor
30
14
  }) => {
31
- var _a, _b;
32
- return iconProps ? /* @__PURE__ */ React__default["default"].createElement(Icon, __spreadValues({
33
- size: ((_a = iconProps.size) != null ? _a : size === "small") ? "deca" : "kilo",
34
- fontColor: (_b = iconProps.fontColor) != null ? _b : defaultFontColor
35
- }, iconProps)) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null);
15
+ return iconProps ? /* @__PURE__ */ React__default["default"].createElement(Icon, {
16
+ size: iconProps.size ?? size === "small" ? "deca" : "kilo",
17
+ fontColor: iconProps.fontColor ?? defaultFontColor,
18
+ ...iconProps
19
+ }) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null);
36
20
  };
37
21
  var IconComponent$1 = React__default["default"].memo(IconComponent);
38
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"IconComponent.js","sources":["../../../../../src/components/molecules/IconTextButton/IconComponent.tsx"],"sourcesContent":["import { ButtonSizeType, FontColor, IconProps } from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { Icon } from '../../atoms/Icon';\n\ninterface IconComponentProps {\n iconProps?: IconProps;\n size?: ButtonSizeType;\n defaultFontColor: keyof FontColor;\n}\n\nconst IconComponent: FC<IconComponentProps> = ({\n iconProps,\n size = 'default',\n defaultFontColor,\n}) => {\n return iconProps ? (\n <Icon\n size={iconProps.size ?? size === 'small' ? 'deca' : 'kilo'}\n fontColor={iconProps.fontColor ?? defaultFontColor}\n {...iconProps}\n />\n ) : (\n <></>\n );\n};\n\nexport default React.memo(IconComponent);\n"],"names":["React"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,gBAAwC,CAAC;AAAA,EAC7C,SAAA;AAAA,EACA,IAAO,GAAA,SAAA;AAAA,EACP,gBAAA;AACF,CAAM,KAAA;AAdN,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAeE,EAAA,OAAO,4BACJA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA,cAAA,CAAA;AAAA,IACC,QAAM,EAAU,GAAA,SAAA,CAAA,IAAA,KAAV,IAAkB,GAAA,EAAA,GAAA,IAAA,KAAS,WAAU,MAAS,GAAA,MAAA;AAAA,IACpD,SAAA,EAAA,CAAW,EAAU,GAAA,SAAA,CAAA,SAAA,KAAV,IAAuB,GAAA,EAAA,GAAA,gBAAA;AAAA,GAC9B,EAAA,SAAA,CACN,oBAEEA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEN,CAAA,CAAA;AAEA,sBAAeA,yBAAA,CAAM,KAAK,aAAa,CAAA;;;;"}
1
+ {"version":3,"file":"IconComponent.js","sources":["../../../../../src/components/molecules/IconTextButton/IconComponent.tsx"],"sourcesContent":["import { ButtonSizeType, FontColor, IconProps } from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { Icon } from '../../atoms/Icon';\n\ninterface IconComponentProps {\n iconProps?: IconProps;\n size?: ButtonSizeType;\n defaultFontColor: keyof FontColor;\n}\n\nconst IconComponent: FC<IconComponentProps> = ({\n iconProps,\n size = 'default',\n defaultFontColor,\n}) => {\n return iconProps ? (\n <Icon\n size={iconProps.size ?? size === 'small' ? 'deca' : 'kilo'}\n fontColor={iconProps.fontColor ?? defaultFontColor}\n {...iconProps}\n />\n ) : (\n <></>\n );\n};\n\nexport default React.memo(IconComponent);\n"],"names":["React"],"mappings":";;;;;;;;;AAUA,MAAM,gBAAwC,CAAC;AAAA,EAC7C,SAAA;AAAA,EACA,IAAO,GAAA,SAAA;AAAA,EACP,gBAAA;AACF,CAAM,KAAA;AACJ,EAAA,OAAO,4BACJA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,IAAM,EAAA,SAAA,CAAU,IAAQ,IAAA,IAAA,KAAS,UAAU,MAAS,GAAA,MAAA;AAAA,IACpD,SAAA,EAAW,UAAU,SAAa,IAAA,gBAAA;AAAA,IACjC,GAAG,SAAA;AAAA,GACN,oBAEEA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEN,CAAA,CAAA;AAEA,sBAAeA,yBAAA,CAAM,KAAK,aAAa,CAAA;;;;"}
@@ -8,51 +8,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
8
8
 
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
11
- var __defProp = Object.defineProperty;
12
- var __defProps = Object.defineProperties;
13
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
14
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
17
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18
- var __spreadValues = (a, b) => {
19
- for (var prop in b || (b = {}))
20
- if (__hasOwnProp.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- if (__getOwnPropSymbols)
23
- for (var prop of __getOwnPropSymbols(b)) {
24
- if (__propIsEnum.call(b, prop))
25
- __defNormalProp(a, prop, b[prop]);
26
- }
27
- return a;
28
- };
29
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
30
- var __objRest = (source, exclude) => {
31
- var target = {};
32
- for (var prop in source)
33
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
34
- target[prop] = source[prop];
35
- if (source != null && __getOwnPropSymbols)
36
- for (var prop of __getOwnPropSymbols(source)) {
37
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
38
- target[prop] = source[prop];
39
- }
40
- return target;
41
- };
42
- const InputPasswordIcon = (_a) => {
43
- var _b = _a, {
44
- revealed,
45
- onChangeState
46
- } = _b, rest = __objRest(_b, [
47
- "revealed",
48
- "onChangeState"
49
- ]);
11
+ const InputPasswordIcon = ({
12
+ revealed,
13
+ onChangeState,
14
+ ...rest
15
+ }) => {
50
16
  const icon = revealed ? "eye-outline" : "eye-off-outline";
51
- return /* @__PURE__ */ React__default["default"].createElement(styled.StyledPasswordButtonIcon, __spreadProps(__spreadValues({}, rest), {
17
+ return /* @__PURE__ */ React__default["default"].createElement(styled.StyledPasswordButtonIcon, {
18
+ ...rest,
52
19
  variant: "text",
53
20
  size: "small",
54
21
  onPress: () => onChangeState(!revealed)
55
- }), /* @__PURE__ */ React__default["default"].createElement(Icon, {
22
+ }, /* @__PURE__ */ React__default["default"].createElement(Icon, {
56
23
  name: icon,
57
24
  type: "ionicon",
58
25
  size: "centi"
@@ -1 +1 @@
1
- {"version":3,"file":"InputPasswordIcon.js","sources":["../../../../../src/components/molecules/InputPassword/InputPasswordIcon.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { ButtonProps } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { StyledPasswordButtonIcon } from './styled';\n\ninterface InputPasswordIconProps extends ButtonProps {\n revealed: boolean;\n onChangeState: (revealed: boolean) => void;\n}\n\nconst InputPasswordIcon: FC<InputPasswordIconProps> = ({\n revealed,\n onChangeState,\n ...rest\n}) => {\n const icon = revealed ? 'eye-outline' : 'eye-off-outline';\n return (\n <StyledPasswordButtonIcon\n {...rest}\n variant=\"text\"\n size=\"small\"\n onPress={() => onChangeState(!revealed)}\n >\n <Icon name={icon} type=\"ionicon\" size=\"centi\" />\n </StyledPasswordButtonIcon>\n );\n};\n\nexport default InputPasswordIcon;\n"],"names":["React","StyledPasswordButtonIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUM,MAAA,iBAAA,GAAgD,CAAC,EAIjD,KAAA;AAJiD,EACrD,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,aAAA;AAAA,GAZF,GAUuD,EAGlD,EAAA,IAAA,GAAA,SAAA,CAHkD,EAGlD,EAAA;AAAA,IAFH,UAAA;AAAA,IACA,eAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAM,MAAA,IAAA,GAAO,WAAW,aAAgB,GAAA,iBAAA,CAAA;AACxC,EACE,uBAAAA,yBAAA,CAAA,aAAA,CAACC,kEACK,IADL,CAAA,EAAA;AAAA,IAEC,OAAQ,EAAA,MAAA;AAAA,IACR,IAAK,EAAA,OAAA;AAAA,IACL,OAAS,EAAA,MAAM,aAAc,CAAA,CAAC,QAAQ,CAAA;AAAA,GAAA,CAAA,kBAErCD,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,IAAM,EAAA,IAAA;AAAA,IAAM,IAAK,EAAA,SAAA;AAAA,IAAU,IAAK,EAAA,OAAA;AAAA,GAAQ,CAChD,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"InputPasswordIcon.js","sources":["../../../../../src/components/molecules/InputPassword/InputPasswordIcon.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { ButtonProps } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { StyledPasswordButtonIcon } from './styled';\n\ninterface InputPasswordIconProps extends ButtonProps {\n revealed: boolean;\n onChangeState: (revealed: boolean) => void;\n}\n\nconst InputPasswordIcon: FC<InputPasswordIconProps> = ({\n revealed,\n onChangeState,\n ...rest\n}) => {\n const icon = revealed ? 'eye-outline' : 'eye-off-outline';\n return (\n <StyledPasswordButtonIcon\n {...rest}\n variant=\"text\"\n size=\"small\"\n onPress={() => onChangeState(!revealed)}\n >\n <Icon name={icon} type=\"ionicon\" size=\"centi\" />\n </StyledPasswordButtonIcon>\n );\n};\n\nexport default InputPasswordIcon;\n"],"names":["React","StyledPasswordButtonIcon"],"mappings":";;;;;;;;;;AAUA,MAAM,oBAAgD,CAAC;AAAA,EACrD,QAAA;AAAA,EACA,aAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAM,MAAA,IAAA,GAAO,WAAW,aAAgB,GAAA,iBAAA,CAAA;AACxC,EAAA,uBACGA,yBAAA,CAAA,aAAA,CAAAC,+BAAA,EAAA;AAAA,IACE,GAAG,IAAA;AAAA,IACJ,OAAQ,EAAA,MAAA;AAAA,IACR,IAAK,EAAA,OAAA;AAAA,IACL,OAAS,EAAA,MAAM,aAAc,CAAA,CAAC,QAAQ,CAAA;AAAA,GAAA,kBAErCD,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,IAAM,EAAA,IAAA;AAAA,IAAM,IAAK,EAAA,SAAA;AAAA,IAAU,IAAK,EAAA,OAAA;AAAA,GAAQ,CAChD,CAAA,CAAA;AAEJ;;;;"}