@umituz/react-native-design-system 1.8.0 → 1.8.2

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 (318) hide show
  1. package/README.md +2 -2
  2. package/package.json +56 -30
  3. package/src/index.ts +58 -269
  4. package/lib/index.d.ts +0 -61
  5. package/lib/index.d.ts.map +0 -1
  6. package/lib/index.js +0 -101
  7. package/lib/index.js.map +0 -1
  8. package/lib/presentation/atoms/AtomicAvatar.d.ts +0 -48
  9. package/lib/presentation/atoms/AtomicAvatar.d.ts.map +0 -1
  10. package/lib/presentation/atoms/AtomicAvatar.js +0 -85
  11. package/lib/presentation/atoms/AtomicAvatar.js.map +0 -1
  12. package/lib/presentation/atoms/AtomicAvatarGroup.d.ts +0 -56
  13. package/lib/presentation/atoms/AtomicAvatarGroup.d.ts.map +0 -1
  14. package/lib/presentation/atoms/AtomicAvatarGroup.js +0 -83
  15. package/lib/presentation/atoms/AtomicAvatarGroup.js.map +0 -1
  16. package/lib/presentation/atoms/AtomicBadge.d.ts +0 -42
  17. package/lib/presentation/atoms/AtomicBadge.d.ts.map +0 -1
  18. package/lib/presentation/atoms/AtomicBadge.js +0 -168
  19. package/lib/presentation/atoms/AtomicBadge.js.map +0 -1
  20. package/lib/presentation/atoms/AtomicButton.d.ts +0 -21
  21. package/lib/presentation/atoms/AtomicButton.d.ts.map +0 -1
  22. package/lib/presentation/atoms/AtomicButton.js +0 -172
  23. package/lib/presentation/atoms/AtomicButton.js.map +0 -1
  24. package/lib/presentation/atoms/AtomicCard.d.ts +0 -15
  25. package/lib/presentation/atoms/AtomicCard.d.ts.map +0 -1
  26. package/lib/presentation/atoms/AtomicCard.js +0 -70
  27. package/lib/presentation/atoms/AtomicCard.js.map +0 -1
  28. package/lib/presentation/atoms/AtomicChip.d.ts +0 -53
  29. package/lib/presentation/atoms/AtomicChip.d.ts.map +0 -1
  30. package/lib/presentation/atoms/AtomicChip.js +0 -131
  31. package/lib/presentation/atoms/AtomicChip.js.map +0 -1
  32. package/lib/presentation/atoms/AtomicDatePicker.d.ts +0 -75
  33. package/lib/presentation/atoms/AtomicDatePicker.d.ts.map +0 -1
  34. package/lib/presentation/atoms/AtomicDatePicker.js +0 -246
  35. package/lib/presentation/atoms/AtomicDatePicker.js.map +0 -1
  36. package/lib/presentation/atoms/AtomicDivider.d.ts +0 -45
  37. package/lib/presentation/atoms/AtomicDivider.d.ts.map +0 -1
  38. package/lib/presentation/atoms/AtomicDivider.js +0 -58
  39. package/lib/presentation/atoms/AtomicDivider.js.map +0 -1
  40. package/lib/presentation/atoms/AtomicFab.d.ts +0 -37
  41. package/lib/presentation/atoms/AtomicFab.d.ts.map +0 -1
  42. package/lib/presentation/atoms/AtomicFab.js +0 -68
  43. package/lib/presentation/atoms/AtomicFab.js.map +0 -1
  44. package/lib/presentation/atoms/AtomicFilter.d.ts +0 -37
  45. package/lib/presentation/atoms/AtomicFilter.d.ts.map +0 -1
  46. package/lib/presentation/atoms/AtomicFilter.js +0 -104
  47. package/lib/presentation/atoms/AtomicFilter.js.map +0 -1
  48. package/lib/presentation/atoms/AtomicFormError.d.ts +0 -30
  49. package/lib/presentation/atoms/AtomicFormError.d.ts.map +0 -1
  50. package/lib/presentation/atoms/AtomicFormError.js +0 -64
  51. package/lib/presentation/atoms/AtomicFormError.js.map +0 -1
  52. package/lib/presentation/atoms/AtomicIcon.d.ts +0 -35
  53. package/lib/presentation/atoms/AtomicIcon.d.ts.map +0 -1
  54. package/lib/presentation/atoms/AtomicIcon.js +0 -30
  55. package/lib/presentation/atoms/AtomicIcon.js.map +0 -1
  56. package/lib/presentation/atoms/AtomicImage.d.ts +0 -40
  57. package/lib/presentation/atoms/AtomicImage.d.ts.map +0 -1
  58. package/lib/presentation/atoms/AtomicImage.js +0 -92
  59. package/lib/presentation/atoms/AtomicImage.js.map +0 -1
  60. package/lib/presentation/atoms/AtomicInput.d.ts +0 -71
  61. package/lib/presentation/atoms/AtomicInput.d.ts.map +0 -1
  62. package/lib/presentation/atoms/AtomicInput.js +0 -196
  63. package/lib/presentation/atoms/AtomicInput.js.map +0 -1
  64. package/lib/presentation/atoms/AtomicNumberInput.d.ts +0 -69
  65. package/lib/presentation/atoms/AtomicNumberInput.d.ts.map +0 -1
  66. package/lib/presentation/atoms/AtomicNumberInput.js +0 -125
  67. package/lib/presentation/atoms/AtomicNumberInput.js.map +0 -1
  68. package/lib/presentation/atoms/AtomicPicker.d.ts +0 -52
  69. package/lib/presentation/atoms/AtomicPicker.d.ts.map +0 -1
  70. package/lib/presentation/atoms/AtomicPicker.js +0 -299
  71. package/lib/presentation/atoms/AtomicPicker.js.map +0 -1
  72. package/lib/presentation/atoms/AtomicProgress.d.ts +0 -44
  73. package/lib/presentation/atoms/AtomicProgress.d.ts.map +0 -1
  74. package/lib/presentation/atoms/AtomicProgress.js +0 -80
  75. package/lib/presentation/atoms/AtomicProgress.js.map +0 -1
  76. package/lib/presentation/atoms/AtomicSearchBar.d.ts +0 -19
  77. package/lib/presentation/atoms/AtomicSearchBar.d.ts.map +0 -1
  78. package/lib/presentation/atoms/AtomicSearchBar.js +0 -46
  79. package/lib/presentation/atoms/AtomicSearchBar.js.map +0 -1
  80. package/lib/presentation/atoms/AtomicSort.d.ts +0 -72
  81. package/lib/presentation/atoms/AtomicSort.d.ts.map +0 -1
  82. package/lib/presentation/atoms/AtomicSort.js +0 -77
  83. package/lib/presentation/atoms/AtomicSort.js.map +0 -1
  84. package/lib/presentation/atoms/AtomicSwitch.d.ts +0 -43
  85. package/lib/presentation/atoms/AtomicSwitch.d.ts.map +0 -1
  86. package/lib/presentation/atoms/AtomicSwitch.js +0 -104
  87. package/lib/presentation/atoms/AtomicSwitch.js.map +0 -1
  88. package/lib/presentation/atoms/AtomicText.d.ts +0 -14
  89. package/lib/presentation/atoms/AtomicText.d.ts.map +0 -1
  90. package/lib/presentation/atoms/AtomicText.js +0 -36
  91. package/lib/presentation/atoms/AtomicText.js.map +0 -1
  92. package/lib/presentation/atoms/AtomicTextArea.d.ts +0 -85
  93. package/lib/presentation/atoms/AtomicTextArea.d.ts.map +0 -1
  94. package/lib/presentation/atoms/AtomicTextArea.js +0 -196
  95. package/lib/presentation/atoms/AtomicTextArea.js.map +0 -1
  96. package/lib/presentation/atoms/AtomicTouchable.d.ts +0 -77
  97. package/lib/presentation/atoms/AtomicTouchable.d.ts.map +0 -1
  98. package/lib/presentation/atoms/AtomicTouchable.js +0 -138
  99. package/lib/presentation/atoms/AtomicTouchable.js.map +0 -1
  100. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts +0 -23
  101. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts.map +0 -1
  102. package/lib/presentation/atoms/fab/styles/fabStyles.js +0 -63
  103. package/lib/presentation/atoms/fab/styles/fabStyles.js.map +0 -1
  104. package/lib/presentation/atoms/fab/types/index.d.ts +0 -71
  105. package/lib/presentation/atoms/fab/types/index.d.ts.map +0 -1
  106. package/lib/presentation/atoms/fab/types/index.js +0 -2
  107. package/lib/presentation/atoms/fab/types/index.js.map +0 -1
  108. package/lib/presentation/atoms/filter/styles/filterStyles.d.ts +0 -15
  109. package/lib/presentation/atoms/filter/styles/filterStyles.d.ts.map +0 -1
  110. package/lib/presentation/atoms/filter/styles/filterStyles.js +0 -29
  111. package/lib/presentation/atoms/filter/styles/filterStyles.js.map +0 -1
  112. package/lib/presentation/atoms/filter/types/index.d.ts +0 -76
  113. package/lib/presentation/atoms/filter/types/index.d.ts.map +0 -1
  114. package/lib/presentation/atoms/filter/types/index.js +0 -2
  115. package/lib/presentation/atoms/filter/types/index.js.map +0 -1
  116. package/lib/presentation/atoms/index.d.ts +0 -273
  117. package/lib/presentation/atoms/index.d.ts.map +0 -1
  118. package/lib/presentation/atoms/index.js +0 -146
  119. package/lib/presentation/atoms/index.js.map +0 -1
  120. package/lib/presentation/atoms/input/hooks/useInputState.d.ts +0 -7
  121. package/lib/presentation/atoms/input/hooks/useInputState.d.ts.map +0 -1
  122. package/lib/presentation/atoms/input/hooks/useInputState.js +0 -13
  123. package/lib/presentation/atoms/input/hooks/useInputState.js.map +0 -1
  124. package/lib/presentation/atoms/input/styles/inputStyles.d.ts +0 -13
  125. package/lib/presentation/atoms/input/styles/inputStyles.d.ts.map +0 -1
  126. package/lib/presentation/atoms/input/styles/inputStyles.js +0 -59
  127. package/lib/presentation/atoms/input/styles/inputStyles.js.map +0 -1
  128. package/lib/presentation/atoms/input/types/index.d.ts +0 -24
  129. package/lib/presentation/atoms/input/types/index.d.ts.map +0 -1
  130. package/lib/presentation/atoms/input/types/index.js +0 -2
  131. package/lib/presentation/atoms/input/types/index.js.map +0 -1
  132. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts +0 -85
  133. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts.map +0 -1
  134. package/lib/presentation/atoms/picker/styles/pickerStyles.js +0 -177
  135. package/lib/presentation/atoms/picker/styles/pickerStyles.js.map +0 -1
  136. package/lib/presentation/atoms/picker/types/index.d.ts +0 -38
  137. package/lib/presentation/atoms/picker/types/index.d.ts.map +0 -1
  138. package/lib/presentation/atoms/picker/types/index.js +0 -2
  139. package/lib/presentation/atoms/picker/types/index.js.map +0 -1
  140. package/lib/presentation/atoms/touchable/styles/touchableStyles.d.ts +0 -31
  141. package/lib/presentation/atoms/touchable/styles/touchableStyles.d.ts.map +0 -1
  142. package/lib/presentation/atoms/touchable/styles/touchableStyles.js +0 -54
  143. package/lib/presentation/atoms/touchable/styles/touchableStyles.js.map +0 -1
  144. package/lib/presentation/atoms/touchable/types/index.d.ts +0 -134
  145. package/lib/presentation/atoms/touchable/types/index.d.ts.map +0 -1
  146. package/lib/presentation/atoms/touchable/types/index.js +0 -2
  147. package/lib/presentation/atoms/touchable/types/index.js.map +0 -1
  148. package/lib/presentation/hooks/useResponsive.d.ts +0 -80
  149. package/lib/presentation/hooks/useResponsive.d.ts.map +0 -1
  150. package/lib/presentation/hooks/useResponsive.js +0 -82
  151. package/lib/presentation/hooks/useResponsive.js.map +0 -1
  152. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts +0 -73
  153. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts.map +0 -1
  154. package/lib/presentation/molecules/AtomicConfirmationModal.js +0 -154
  155. package/lib/presentation/molecules/AtomicConfirmationModal.js.map +0 -1
  156. package/lib/presentation/molecules/EmptyState.d.ts +0 -41
  157. package/lib/presentation/molecules/EmptyState.d.ts.map +0 -1
  158. package/lib/presentation/molecules/EmptyState.js +0 -68
  159. package/lib/presentation/molecules/EmptyState.js.map +0 -1
  160. package/lib/presentation/molecules/FormField.d.ts +0 -22
  161. package/lib/presentation/molecules/FormField.d.ts.map +0 -1
  162. package/lib/presentation/molecules/FormField.js +0 -76
  163. package/lib/presentation/molecules/FormField.js.map +0 -1
  164. package/lib/presentation/molecules/GridContainer.d.ts +0 -40
  165. package/lib/presentation/molecules/GridContainer.d.ts.map +0 -1
  166. package/lib/presentation/molecules/GridContainer.js +0 -77
  167. package/lib/presentation/molecules/GridContainer.js.map +0 -1
  168. package/lib/presentation/molecules/IconContainer.d.ts +0 -29
  169. package/lib/presentation/molecules/IconContainer.d.ts.map +0 -1
  170. package/lib/presentation/molecules/IconContainer.js +0 -60
  171. package/lib/presentation/molecules/IconContainer.js.map +0 -1
  172. package/lib/presentation/molecules/ListItem.d.ts +0 -5
  173. package/lib/presentation/molecules/ListItem.d.ts.map +0 -1
  174. package/lib/presentation/molecules/ListItem.js +0 -24
  175. package/lib/presentation/molecules/ListItem.js.map +0 -1
  176. package/lib/presentation/molecules/ScreenHeader.d.ts +0 -55
  177. package/lib/presentation/molecules/ScreenHeader.d.ts.map +0 -1
  178. package/lib/presentation/molecules/ScreenHeader.js +0 -94
  179. package/lib/presentation/molecules/ScreenHeader.js.map +0 -1
  180. package/lib/presentation/molecules/SearchBar.d.ts +0 -18
  181. package/lib/presentation/molecules/SearchBar.d.ts.map +0 -1
  182. package/lib/presentation/molecules/SearchBar.js +0 -47
  183. package/lib/presentation/molecules/SearchBar.js.map +0 -1
  184. package/lib/presentation/molecules/SectionCard.d.ts +0 -25
  185. package/lib/presentation/molecules/SectionCard.d.ts.map +0 -1
  186. package/lib/presentation/molecules/SectionCard.js +0 -47
  187. package/lib/presentation/molecules/SectionCard.js.map +0 -1
  188. package/lib/presentation/molecules/SectionContainer.d.ts +0 -33
  189. package/lib/presentation/molecules/SectionContainer.d.ts.map +0 -1
  190. package/lib/presentation/molecules/SectionContainer.js +0 -64
  191. package/lib/presentation/molecules/SectionContainer.js.map +0 -1
  192. package/lib/presentation/molecules/SectionHeader.d.ts +0 -37
  193. package/lib/presentation/molecules/SectionHeader.d.ts.map +0 -1
  194. package/lib/presentation/molecules/SectionHeader.js +0 -73
  195. package/lib/presentation/molecules/SectionHeader.js.map +0 -1
  196. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +0 -50
  197. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts.map +0 -1
  198. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.js +0 -115
  199. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.js.map +0 -1
  200. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts +0 -86
  201. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts.map +0 -1
  202. package/lib/presentation/molecules/confirmation-modal/types/index.js +0 -7
  203. package/lib/presentation/molecules/confirmation-modal/types/index.js.map +0 -1
  204. package/lib/presentation/molecules/index.d.ts +0 -27
  205. package/lib/presentation/molecules/index.d.ts.map +0 -1
  206. package/lib/presentation/molecules/index.js +0 -17
  207. package/lib/presentation/molecules/index.js.map +0 -1
  208. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts +0 -12
  209. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts.map +0 -1
  210. package/lib/presentation/molecules/listitem/styles/listItemStyles.js +0 -15
  211. package/lib/presentation/molecules/listitem/styles/listItemStyles.js.map +0 -1
  212. package/lib/presentation/molecules/listitem/types/index.d.ts +0 -17
  213. package/lib/presentation/molecules/listitem/types/index.d.ts.map +0 -1
  214. package/lib/presentation/molecules/listitem/types/index.js +0 -2
  215. package/lib/presentation/molecules/listitem/types/index.js.map +0 -1
  216. package/lib/presentation/organisms/AppHeader.d.ts +0 -31
  217. package/lib/presentation/organisms/AppHeader.d.ts.map +0 -1
  218. package/lib/presentation/organisms/AppHeader.js +0 -78
  219. package/lib/presentation/organisms/AppHeader.js.map +0 -1
  220. package/lib/presentation/organisms/FormContainer.d.ts +0 -76
  221. package/lib/presentation/organisms/FormContainer.d.ts.map +0 -1
  222. package/lib/presentation/organisms/FormContainer.js +0 -127
  223. package/lib/presentation/organisms/FormContainer.js.map +0 -1
  224. package/lib/presentation/organisms/ScreenLayout.d.ts +0 -84
  225. package/lib/presentation/organisms/ScreenLayout.d.ts.map +0 -1
  226. package/lib/presentation/organisms/ScreenLayout.js +0 -69
  227. package/lib/presentation/organisms/ScreenLayout.js.map +0 -1
  228. package/lib/presentation/organisms/index.d.ts +0 -16
  229. package/lib/presentation/organisms/index.d.ts.map +0 -1
  230. package/lib/presentation/organisms/index.js +0 -14
  231. package/lib/presentation/organisms/index.js.map +0 -1
  232. package/lib/presentation/tokens/commonStyles.d.ts +0 -122
  233. package/lib/presentation/tokens/commonStyles.d.ts.map +0 -1
  234. package/lib/presentation/tokens/commonStyles.js +0 -220
  235. package/lib/presentation/tokens/commonStyles.js.map +0 -1
  236. package/lib/presentation/utils/platformConstants.d.ts +0 -100
  237. package/lib/presentation/utils/platformConstants.d.ts.map +0 -1
  238. package/lib/presentation/utils/platformConstants.js +0 -114
  239. package/lib/presentation/utils/platformConstants.js.map +0 -1
  240. package/lib/presentation/utils/responsive.d.ts +0 -218
  241. package/lib/presentation/utils/responsive.d.ts.map +0 -1
  242. package/lib/presentation/utils/responsive.js +0 -452
  243. package/lib/presentation/utils/responsive.js.map +0 -1
  244. package/lib/presentation/utils/variants/compound.d.ts +0 -10
  245. package/lib/presentation/utils/variants/compound.d.ts.map +0 -1
  246. package/lib/presentation/utils/variants/compound.js +0 -16
  247. package/lib/presentation/utils/variants/compound.js.map +0 -1
  248. package/lib/presentation/utils/variants/core.d.ts +0 -15
  249. package/lib/presentation/utils/variants/core.d.ts.map +0 -1
  250. package/lib/presentation/utils/variants/core.js +0 -23
  251. package/lib/presentation/utils/variants/core.js.map +0 -1
  252. package/lib/presentation/utils/variants/helpers.d.ts +0 -5
  253. package/lib/presentation/utils/variants/helpers.d.ts.map +0 -1
  254. package/lib/presentation/utils/variants/helpers.js +0 -10
  255. package/lib/presentation/utils/variants/helpers.js.map +0 -1
  256. package/lib/presentation/utils/variants.d.ts +0 -4
  257. package/lib/presentation/utils/variants.d.ts.map +0 -1
  258. package/lib/presentation/utils/variants.js +0 -4
  259. package/lib/presentation/utils/variants.js.map +0 -1
  260. package/src/presentation/atoms/AtomicAvatar.tsx +0 -157
  261. package/src/presentation/atoms/AtomicAvatarGroup.tsx +0 -169
  262. package/src/presentation/atoms/AtomicBadge.tsx +0 -232
  263. package/src/presentation/atoms/AtomicButton.tsx +0 -236
  264. package/src/presentation/atoms/AtomicCard.tsx +0 -107
  265. package/src/presentation/atoms/AtomicChip.tsx +0 -223
  266. package/src/presentation/atoms/AtomicDatePicker.tsx +0 -354
  267. package/src/presentation/atoms/AtomicDivider.tsx +0 -114
  268. package/src/presentation/atoms/AtomicFab.tsx +0 -98
  269. package/src/presentation/atoms/AtomicFilter.tsx +0 -154
  270. package/src/presentation/atoms/AtomicFormError.tsx +0 -105
  271. package/src/presentation/atoms/AtomicIcon.tsx +0 -40
  272. package/src/presentation/atoms/AtomicImage.tsx +0 -149
  273. package/src/presentation/atoms/AtomicInput.tsx +0 -350
  274. package/src/presentation/atoms/AtomicNumberInput.tsx +0 -182
  275. package/src/presentation/atoms/AtomicPicker.tsx +0 -458
  276. package/src/presentation/atoms/AtomicProgress.tsx +0 -139
  277. package/src/presentation/atoms/AtomicSearchBar.tsx +0 -114
  278. package/src/presentation/atoms/AtomicSort.tsx +0 -145
  279. package/src/presentation/atoms/AtomicSwitch.tsx +0 -166
  280. package/src/presentation/atoms/AtomicText.tsx +0 -82
  281. package/src/presentation/atoms/AtomicTextArea.tsx +0 -313
  282. package/src/presentation/atoms/AtomicTouchable.tsx +0 -209
  283. package/src/presentation/atoms/fab/styles/fabStyles.ts +0 -69
  284. package/src/presentation/atoms/fab/types/index.ts +0 -82
  285. package/src/presentation/atoms/filter/styles/filterStyles.ts +0 -32
  286. package/src/presentation/atoms/filter/types/index.ts +0 -89
  287. package/src/presentation/atoms/index.ts +0 -366
  288. package/src/presentation/atoms/input/hooks/useInputState.ts +0 -15
  289. package/src/presentation/atoms/input/styles/inputStyles.ts +0 -66
  290. package/src/presentation/atoms/input/types/index.ts +0 -25
  291. package/src/presentation/atoms/picker/styles/pickerStyles.ts +0 -207
  292. package/src/presentation/atoms/picker/types/index.ts +0 -40
  293. package/src/presentation/atoms/touchable/styles/touchableStyles.ts +0 -62
  294. package/src/presentation/atoms/touchable/types/index.ts +0 -155
  295. package/src/presentation/hooks/useResponsive.ts +0 -180
  296. package/src/presentation/molecules/AtomicConfirmationModal.tsx +0 -243
  297. package/src/presentation/molecules/EmptyState.tsx +0 -130
  298. package/src/presentation/molecules/FormField.tsx +0 -128
  299. package/src/presentation/molecules/GridContainer.tsx +0 -124
  300. package/src/presentation/molecules/IconContainer.tsx +0 -94
  301. package/src/presentation/molecules/ListItem.tsx +0 -36
  302. package/src/presentation/molecules/ScreenHeader.tsx +0 -140
  303. package/src/presentation/molecules/SearchBar.tsx +0 -85
  304. package/src/presentation/molecules/SectionCard.tsx +0 -74
  305. package/src/presentation/molecules/SectionContainer.tsx +0 -106
  306. package/src/presentation/molecules/SectionHeader.tsx +0 -125
  307. package/src/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.ts +0 -133
  308. package/src/presentation/molecules/confirmation-modal/types/index.ts +0 -105
  309. package/src/presentation/molecules/index.ts +0 -41
  310. package/src/presentation/molecules/listitem/styles/listItemStyles.ts +0 -19
  311. package/src/presentation/molecules/listitem/types/index.ts +0 -17
  312. package/src/presentation/organisms/AppHeader.tsx +0 -137
  313. package/src/presentation/organisms/FormContainer.tsx +0 -180
  314. package/src/presentation/organisms/ScreenLayout.tsx +0 -171
  315. package/src/presentation/organisms/index.ts +0 -25
  316. package/src/presentation/tokens/commonStyles.ts +0 -253
  317. package/src/presentation/utils/platformConstants.ts +0 -124
  318. package/src/presentation/utils/responsive.ts +0 -516
@@ -1,350 +0,0 @@
1
- import React, { useState } from 'react';
2
- import { View, TextInput, Pressable, StyleSheet, StyleProp, ViewStyle, TextStyle } from 'react-native';
3
- import { useAppDesignTokens } from '@umituz/react-native-theme';
4
- import { AtomicIcon } from './AtomicIcon';
5
- import { AtomicText } from './AtomicText';
6
- import type { AtomicIconName, AtomicIconSize } from './AtomicIcon';
7
-
8
- export type AtomicInputVariant = 'outlined' | 'filled' | 'flat';
9
- export type AtomicInputState = 'default' | 'error' | 'success' | 'disabled';
10
- export type AtomicInputSize = 'sm' | 'md' | 'lg';
11
-
12
- export interface AtomicInputProps {
13
- /** Input label */
14
- label?: string;
15
- /** Current input value */
16
- value?: string;
17
- /** Value change callback */
18
- onChangeText?: (text: string) => void;
19
- /** Input variant (outlined, filled, flat) */
20
- variant?: AtomicInputVariant;
21
- /** Input state (default, error, success, disabled) */
22
- state?: AtomicInputState;
23
- /** Input size (sm, md, lg) */
24
- size?: AtomicInputSize;
25
- /** Placeholder text */
26
- placeholder?: string;
27
- /** Helper text below input */
28
- helperText?: string;
29
- /** Leading icon (Lucide icon name) */
30
- leadingIcon?: AtomicIconName;
31
- /** Trailing icon (Lucide icon name) */
32
- trailingIcon?: AtomicIconName;
33
- /** Callback when trailing icon is pressed */
34
- onTrailingIconPress?: () => void;
35
- /** Show password toggle for secure inputs */
36
- showPasswordToggle?: boolean;
37
- /** Secure text entry (password field) */
38
- secureTextEntry?: boolean;
39
- /** Maximum character length */
40
- maxLength?: number;
41
- /** Show character counter */
42
- showCharacterCount?: boolean;
43
- /** Keyboard type */
44
- keyboardType?: 'default' | 'email-address' | 'numeric' | 'phone-pad' | 'url' | 'number-pad' | 'decimal-pad';
45
- /** Auto-capitalize */
46
- autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';
47
- /** Auto-correct */
48
- autoCorrect?: boolean;
49
- /** Disabled state */
50
- disabled?: boolean;
51
- /** Container style */
52
- style?: StyleProp<ViewStyle>;
53
- /** Input text style */
54
- inputStyle?: StyleProp<TextStyle>;
55
- /** Test ID for E2E testing */
56
- testID?: string;
57
- /** Blur callback */
58
- onBlur?: () => void;
59
- /** Focus callback */
60
- onFocus?: () => void;
61
- }
62
-
63
- /**
64
- * AtomicInput - Pure React Native Text Input
65
- *
66
- * Features:
67
- * - Pure React Native implementation (no Paper dependency)
68
- * - Lucide icons for password toggle and custom icons
69
- * - Outlined/filled/flat variants
70
- * - Error, success, disabled states
71
- * - Character counter
72
- * - Responsive sizing
73
- * - Full accessibility support
74
- */
75
- export const AtomicInput: React.FC<AtomicInputProps> = ({
76
- variant = 'outlined',
77
- state = 'default',
78
- size = 'md',
79
- label,
80
- value = '',
81
- onChangeText,
82
- placeholder,
83
- helperText,
84
- leadingIcon,
85
- trailingIcon,
86
- onTrailingIconPress,
87
- showPasswordToggle = false,
88
- secureTextEntry = false,
89
- maxLength,
90
- showCharacterCount = false,
91
- keyboardType = 'default',
92
- autoCapitalize = 'sentences',
93
- autoCorrect = true,
94
- disabled = false,
95
- style,
96
- inputStyle,
97
- testID,
98
- onBlur,
99
- onFocus,
100
- }) => {
101
- const tokens = useAppDesignTokens();
102
- const [isPasswordVisible, setIsPasswordVisible] = useState(false);
103
- const [isFocused, setIsFocused] = useState(false);
104
- const isDisabled = state === 'disabled' || disabled;
105
- const characterCount = value?.toString().length || 0;
106
- const hasError = state === 'error';
107
- const hasSuccess = state === 'success';
108
-
109
- // Size configuration
110
- const sizeConfig = {
111
- sm: {
112
- paddingVertical: tokens.spacing.xs,
113
- paddingHorizontal: tokens.spacing.sm,
114
- fontSize: tokens.typography.bodySmall.fontSize,
115
- iconSize: 16,
116
- minHeight: 40,
117
- },
118
- md: {
119
- paddingVertical: tokens.spacing.sm,
120
- paddingHorizontal: tokens.spacing.md,
121
- fontSize: tokens.typography.bodyMedium.fontSize,
122
- iconSize: 20,
123
- minHeight: 48,
124
- },
125
- lg: {
126
- paddingVertical: tokens.spacing.md,
127
- paddingHorizontal: tokens.spacing.lg,
128
- fontSize: tokens.typography.bodyLarge.fontSize,
129
- iconSize: 24,
130
- minHeight: 56,
131
- },
132
- };
133
-
134
- const config = sizeConfig[size];
135
-
136
- // Get variant styles
137
- const getVariantStyle = (): ViewStyle => {
138
- const baseStyle: ViewStyle = {
139
- backgroundColor: tokens.colors.surface,
140
- borderRadius: tokens.borders.radius.md,
141
- };
142
-
143
- let borderColor = tokens.colors.border;
144
- if (isFocused) borderColor = tokens.colors.primary;
145
- if (hasError) borderColor = tokens.colors.error;
146
- if (hasSuccess) borderColor = tokens.colors.success;
147
- if (isDisabled) borderColor = tokens.colors.borderDisabled;
148
-
149
- switch (variant) {
150
- case 'outlined':
151
- return {
152
- ...baseStyle,
153
- borderWidth: isFocused ? 2 : 1,
154
- borderColor,
155
- };
156
-
157
- case 'filled':
158
- return {
159
- ...baseStyle,
160
- backgroundColor: tokens.colors.surfaceSecondary,
161
- borderWidth: 0,
162
- borderBottomWidth: isFocused ? 2 : 1,
163
- borderBottomColor: borderColor,
164
- };
165
-
166
- case 'flat':
167
- return {
168
- ...baseStyle,
169
- backgroundColor: 'transparent',
170
- borderWidth: 0,
171
- borderBottomWidth: 1,
172
- borderBottomColor: borderColor,
173
- borderRadius: 0,
174
- };
175
-
176
- default:
177
- return baseStyle;
178
- }
179
- };
180
-
181
- // Get text color based on state
182
- const getTextColor = () => {
183
- if (isDisabled) return tokens.colors.textDisabled;
184
- if (hasError) return tokens.colors.error;
185
- if (hasSuccess) return tokens.colors.success;
186
- return tokens.colors.textPrimary;
187
- };
188
-
189
- const iconColor = isDisabled ? tokens.colors.textDisabled : tokens.colors.textSecondary;
190
-
191
- const containerStyle: StyleProp<ViewStyle> = [
192
- styles.container,
193
- getVariantStyle(),
194
- {
195
- paddingVertical: config.paddingVertical,
196
- paddingHorizontal: config.paddingHorizontal,
197
- minHeight: config.minHeight,
198
- opacity: isDisabled ? 0.5 : 1,
199
- },
200
- style,
201
- ];
202
-
203
- const textInputStyle: StyleProp<TextStyle> = [
204
- styles.input,
205
- {
206
- fontSize: config.fontSize,
207
- color: getTextColor(),
208
- },
209
- leadingIcon ? { paddingLeft: config.iconSize + 8 } : undefined,
210
- (trailingIcon || showPasswordToggle) ? { paddingRight: config.iconSize + 8 } : undefined,
211
- inputStyle,
212
- ];
213
-
214
- return (
215
- <View testID={testID}>
216
- {label && (
217
- <AtomicText
218
- type="labelMedium"
219
- color={hasError ? 'error' : hasSuccess ? 'success' : 'secondary'}
220
- style={styles.label}
221
- >
222
- {label}
223
- </AtomicText>
224
- )}
225
-
226
- <View style={containerStyle}>
227
- {leadingIcon && (
228
- <View style={styles.leadingIcon}>
229
- <AtomicIcon
230
- name={leadingIcon}
231
- customSize={config.iconSize}
232
- customColor={iconColor}
233
- />
234
- </View>
235
- )}
236
-
237
- <TextInput
238
- value={value}
239
- onChangeText={onChangeText}
240
- placeholder={placeholder}
241
- placeholderTextColor={tokens.colors.textSecondary}
242
- secureTextEntry={secureTextEntry && !isPasswordVisible}
243
- maxLength={maxLength}
244
- keyboardType={keyboardType}
245
- autoCapitalize={autoCapitalize}
246
- autoCorrect={autoCorrect}
247
- editable={!isDisabled}
248
- style={textInputStyle}
249
- onBlur={() => {
250
- setIsFocused(false);
251
- onBlur?.();
252
- }}
253
- onFocus={() => {
254
- setIsFocused(true);
255
- onFocus?.();
256
- }}
257
- testID={testID ? `${testID}-input` : undefined}
258
- />
259
-
260
- {(showPasswordToggle && secureTextEntry) && (
261
- <Pressable
262
- onPress={() => setIsPasswordVisible(!isPasswordVisible)}
263
- style={styles.trailingIcon}
264
- >
265
- <AtomicIcon
266
- name={isPasswordVisible ? "EyeOff" : "Eye"}
267
- customSize={config.iconSize}
268
- customColor={iconColor}
269
- />
270
- </Pressable>
271
- )}
272
-
273
- {trailingIcon && !showPasswordToggle && (
274
- <Pressable
275
- onPress={onTrailingIconPress}
276
- style={styles.trailingIcon}
277
- disabled={!onTrailingIconPress}
278
- >
279
- <AtomicIcon
280
- name={trailingIcon}
281
- customSize={config.iconSize}
282
- customColor={iconColor}
283
- />
284
- </Pressable>
285
- )}
286
- </View>
287
-
288
- {(helperText || showCharacterCount) && (
289
- <View style={styles.helperRow}>
290
- {helperText && (
291
- <AtomicText
292
- type="bodySmall"
293
- color={hasError ? 'error' : 'secondary'}
294
- style={styles.helperText}
295
- testID={testID ? `${testID}-helper` : undefined}
296
- >
297
- {helperText}
298
- </AtomicText>
299
- )}
300
- {showCharacterCount && maxLength && (
301
- <AtomicText
302
- type="bodySmall"
303
- color="secondary"
304
- style={styles.characterCount}
305
- testID={testID ? `${testID}-count` : undefined}
306
- >
307
- {characterCount}/{maxLength}
308
- </AtomicText>
309
- )}
310
- </View>
311
- )}
312
- </View>
313
- );
314
- };
315
-
316
- const styles = StyleSheet.create({
317
- container: {
318
- flexDirection: 'row',
319
- alignItems: 'center',
320
- },
321
- input: {
322
- flex: 1,
323
- },
324
- label: {
325
- marginBottom: 4,
326
- },
327
- leadingIcon: {
328
- position: 'absolute',
329
- left: 12,
330
- zIndex: 1,
331
- },
332
- trailingIcon: {
333
- position: 'absolute',
334
- right: 12,
335
- zIndex: 1,
336
- },
337
- helperRow: {
338
- flexDirection: 'row',
339
- justifyContent: 'space-between',
340
- marginTop: 4,
341
- },
342
- helperText: {
343
- flex: 1,
344
- },
345
- characterCount: {
346
- marginLeft: 8,
347
- },
348
- });
349
-
350
- export type { AtomicInputProps as InputProps };
@@ -1,182 +0,0 @@
1
- /**
2
- * AtomicNumberInput Component
3
- *
4
- * A specialized number input component that wraps AtomicInput with
5
- * number-specific validation and keyboard handling.
6
- *
7
- * Features:
8
- * - Numeric keyboard (integer or decimal)
9
- * - Min/max validation
10
- * - Step increment support
11
- * - Automatic error states for invalid numbers
12
- * - Parsed number callback (onValueChange)
13
- * - Consistent styling with AtomicInput
14
- * - All AtomicInput features (variants, states, sizes)
15
- *
16
- * Usage:
17
- * ```tsx
18
- * const [age, setAge] = useState<number | null>(null);
19
- *
20
- * <AtomicNumberInput
21
- * value={age?.toString() || ''}
22
- * onValueChange={setAge}
23
- * label="Age"
24
- * min={0}
25
- * max={150}
26
- * helperText="Enter your age"
27
- * />
28
- * ```
29
- *
30
- * Why This Component:
31
- * - Separation of concerns (text vs number input)
32
- * - Built-in number validation
33
- * - Type-safe number callbacks
34
- * - Prevents non-numeric input via keyboard
35
- * - Consistent with AtomicInput styling
36
- *
37
- * @module AtomicNumberInput
38
- */
39
-
40
- import React, { useState, useEffect } from 'react';
41
- import { AtomicInput, AtomicInputProps } from './AtomicInput';
42
-
43
- /**
44
- * Props for AtomicNumberInput component
45
- * Extends AtomicInput but removes text-specific props
46
- */
47
- export interface AtomicNumberInputProps
48
- extends Omit<
49
- AtomicInputProps,
50
- 'keyboardType' | 'secureTextEntry' | 'showPasswordToggle' | 'onChangeText'
51
- > {
52
- /** Minimum allowed value */
53
- min?: number;
54
- /** Maximum allowed value */
55
- max?: number;
56
- /** Step increment (for spinners, future feature) */
57
- step?: number;
58
- /** Allow decimal numbers (default: false for integers only) */
59
- allowDecimal?: boolean;
60
- /** Callback when valid number is entered (null if invalid/empty) */
61
- onValueChange?: (value: number | null) => void;
62
- /** Callback when raw text changes (optional) */
63
- onTextChange?: (text: string) => void;
64
- }
65
-
66
- /**
67
- * AtomicNumberInput - Specialized numeric input component
68
- *
69
- * Wraps AtomicInput with:
70
- * - Numeric keyboard
71
- * - Number validation (min, max, format)
72
- * - Parsed number callbacks
73
- * - Automatic error states
74
- */
75
- export const AtomicNumberInput: React.FC<AtomicNumberInputProps> = ({
76
- min,
77
- max,
78
- step = 1,
79
- allowDecimal = false,
80
- onValueChange,
81
- onTextChange,
82
- value = '',
83
- state: externalState,
84
- helperText: externalHelperText,
85
- ...props
86
- }) => {
87
- const [internalError, setInternalError] = useState<string | undefined>(undefined);
88
-
89
- /**
90
- * Validate number and return error message if invalid
91
- */
92
- const validateNumber = (text: string): string | undefined => {
93
- // Empty is valid (null value)
94
- if (!text || text === '' || text === '-' || text === '.') {
95
- return undefined;
96
- }
97
-
98
- // Parse number
99
- const num = parseFloat(text);
100
-
101
- // Check if valid number
102
- if (isNaN(num)) {
103
- return 'Invalid number';
104
- }
105
-
106
- // Check min constraint
107
- if (min !== undefined && num < min) {
108
- return `Minimum value is ${min}`;
109
- }
110
-
111
- // Check max constraint
112
- if (max !== undefined && num > max) {
113
- return `Maximum value is ${max}`;
114
- }
115
-
116
- return undefined;
117
- };
118
-
119
- /**
120
- * Handle text change with validation
121
- */
122
- const handleChangeText = (text: string) => {
123
- // Allow empty, minus sign, and decimal point during typing
124
- if (text === '' || text === '-' || (allowDecimal && text === '.')) {
125
- setInternalError(undefined);
126
- onTextChange?.(text);
127
- onValueChange?.(null);
128
- return;
129
- }
130
-
131
- // Validate format
132
- const decimalRegex = allowDecimal ? /^-?\d*\.?\d*$/ : /^-?\d*$/;
133
- if (!decimalRegex.test(text)) {
134
- // Invalid format, don't update
135
- return;
136
- }
137
-
138
- // Validate number
139
- const error = validateNumber(text);
140
- setInternalError(error);
141
-
142
- // Call text callback
143
- onTextChange?.(text);
144
-
145
- // Call value callback with parsed number
146
- if (!error && text !== '' && text !== '-' && text !== '.') {
147
- const num = parseFloat(text);
148
- onValueChange?.(isNaN(num) ? null : num);
149
- } else {
150
- onValueChange?.(null);
151
- }
152
- };
153
-
154
- /**
155
- * Validate on mount and when value/constraints change
156
- */
157
- useEffect(() => {
158
- if (value) {
159
- const error = validateNumber(value.toString());
160
- setInternalError(error);
161
- } else {
162
- setInternalError(undefined);
163
- }
164
- }, [value, min, max]);
165
-
166
- // Determine final state (external state overrides internal error)
167
- const finalState = externalState || (internalError ? 'error' : 'default');
168
-
169
- // Determine final helper text (internal error overrides external helper)
170
- const finalHelperText = internalError || externalHelperText;
171
-
172
- return (
173
- <AtomicInput
174
- {...props}
175
- value={value}
176
- onChangeText={handleChangeText}
177
- keyboardType={allowDecimal ? 'decimal-pad' : 'numeric'}
178
- state={finalState}
179
- helperText={finalHelperText}
180
- />
181
- );
182
- };