@umituz/react-native-design-system 1.7.0 → 1.7.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 (323) hide show
  1. package/README.md +2 -2
  2. package/package.json +61 -35
  3. package/src/index.ts +72 -272
  4. package/lib/index.d.ts +0 -59
  5. package/lib/index.d.ts.map +0 -1
  6. package/lib/index.js +0 -99
  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/useAppDesignTokens.d.ts +0 -13
  149. package/lib/presentation/hooks/useAppDesignTokens.d.ts.map +0 -1
  150. package/lib/presentation/hooks/useAppDesignTokens.js +0 -13
  151. package/lib/presentation/hooks/useAppDesignTokens.js.map +0 -1
  152. package/lib/presentation/hooks/useResponsive.d.ts +0 -80
  153. package/lib/presentation/hooks/useResponsive.d.ts.map +0 -1
  154. package/lib/presentation/hooks/useResponsive.js +0 -82
  155. package/lib/presentation/hooks/useResponsive.js.map +0 -1
  156. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts +0 -73
  157. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts.map +0 -1
  158. package/lib/presentation/molecules/AtomicConfirmationModal.js +0 -154
  159. package/lib/presentation/molecules/AtomicConfirmationModal.js.map +0 -1
  160. package/lib/presentation/molecules/EmptyState.d.ts +0 -41
  161. package/lib/presentation/molecules/EmptyState.d.ts.map +0 -1
  162. package/lib/presentation/molecules/EmptyState.js +0 -68
  163. package/lib/presentation/molecules/EmptyState.js.map +0 -1
  164. package/lib/presentation/molecules/FormField.d.ts +0 -22
  165. package/lib/presentation/molecules/FormField.d.ts.map +0 -1
  166. package/lib/presentation/molecules/FormField.js +0 -76
  167. package/lib/presentation/molecules/FormField.js.map +0 -1
  168. package/lib/presentation/molecules/GridContainer.d.ts +0 -40
  169. package/lib/presentation/molecules/GridContainer.d.ts.map +0 -1
  170. package/lib/presentation/molecules/GridContainer.js +0 -77
  171. package/lib/presentation/molecules/GridContainer.js.map +0 -1
  172. package/lib/presentation/molecules/IconContainer.d.ts +0 -29
  173. package/lib/presentation/molecules/IconContainer.d.ts.map +0 -1
  174. package/lib/presentation/molecules/IconContainer.js +0 -60
  175. package/lib/presentation/molecules/IconContainer.js.map +0 -1
  176. package/lib/presentation/molecules/ListItem.d.ts +0 -5
  177. package/lib/presentation/molecules/ListItem.d.ts.map +0 -1
  178. package/lib/presentation/molecules/ListItem.js +0 -24
  179. package/lib/presentation/molecules/ListItem.js.map +0 -1
  180. package/lib/presentation/molecules/ScreenHeader.d.ts +0 -55
  181. package/lib/presentation/molecules/ScreenHeader.d.ts.map +0 -1
  182. package/lib/presentation/molecules/ScreenHeader.js +0 -94
  183. package/lib/presentation/molecules/ScreenHeader.js.map +0 -1
  184. package/lib/presentation/molecules/SearchBar.d.ts +0 -18
  185. package/lib/presentation/molecules/SearchBar.d.ts.map +0 -1
  186. package/lib/presentation/molecules/SearchBar.js +0 -47
  187. package/lib/presentation/molecules/SearchBar.js.map +0 -1
  188. package/lib/presentation/molecules/SectionCard.d.ts +0 -25
  189. package/lib/presentation/molecules/SectionCard.d.ts.map +0 -1
  190. package/lib/presentation/molecules/SectionCard.js +0 -47
  191. package/lib/presentation/molecules/SectionCard.js.map +0 -1
  192. package/lib/presentation/molecules/SectionContainer.d.ts +0 -33
  193. package/lib/presentation/molecules/SectionContainer.d.ts.map +0 -1
  194. package/lib/presentation/molecules/SectionContainer.js +0 -64
  195. package/lib/presentation/molecules/SectionContainer.js.map +0 -1
  196. package/lib/presentation/molecules/SectionHeader.d.ts +0 -37
  197. package/lib/presentation/molecules/SectionHeader.d.ts.map +0 -1
  198. package/lib/presentation/molecules/SectionHeader.js +0 -73
  199. package/lib/presentation/molecules/SectionHeader.js.map +0 -1
  200. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +0 -50
  201. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts.map +0 -1
  202. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.js +0 -115
  203. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.js.map +0 -1
  204. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts +0 -86
  205. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts.map +0 -1
  206. package/lib/presentation/molecules/confirmation-modal/types/index.js +0 -7
  207. package/lib/presentation/molecules/confirmation-modal/types/index.js.map +0 -1
  208. package/lib/presentation/molecules/index.d.ts +0 -27
  209. package/lib/presentation/molecules/index.d.ts.map +0 -1
  210. package/lib/presentation/molecules/index.js +0 -17
  211. package/lib/presentation/molecules/index.js.map +0 -1
  212. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts +0 -12
  213. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts.map +0 -1
  214. package/lib/presentation/molecules/listitem/styles/listItemStyles.js +0 -15
  215. package/lib/presentation/molecules/listitem/styles/listItemStyles.js.map +0 -1
  216. package/lib/presentation/molecules/listitem/types/index.d.ts +0 -17
  217. package/lib/presentation/molecules/listitem/types/index.d.ts.map +0 -1
  218. package/lib/presentation/molecules/listitem/types/index.js +0 -2
  219. package/lib/presentation/molecules/listitem/types/index.js.map +0 -1
  220. package/lib/presentation/organisms/AppHeader.d.ts +0 -31
  221. package/lib/presentation/organisms/AppHeader.d.ts.map +0 -1
  222. package/lib/presentation/organisms/AppHeader.js +0 -78
  223. package/lib/presentation/organisms/AppHeader.js.map +0 -1
  224. package/lib/presentation/organisms/FormContainer.d.ts +0 -76
  225. package/lib/presentation/organisms/FormContainer.d.ts.map +0 -1
  226. package/lib/presentation/organisms/FormContainer.js +0 -127
  227. package/lib/presentation/organisms/FormContainer.js.map +0 -1
  228. package/lib/presentation/organisms/ScreenLayout.d.ts +0 -84
  229. package/lib/presentation/organisms/ScreenLayout.d.ts.map +0 -1
  230. package/lib/presentation/organisms/ScreenLayout.js +0 -69
  231. package/lib/presentation/organisms/ScreenLayout.js.map +0 -1
  232. package/lib/presentation/organisms/index.d.ts +0 -16
  233. package/lib/presentation/organisms/index.d.ts.map +0 -1
  234. package/lib/presentation/organisms/index.js +0 -14
  235. package/lib/presentation/organisms/index.js.map +0 -1
  236. package/lib/presentation/tokens/commonStyles.d.ts +0 -122
  237. package/lib/presentation/tokens/commonStyles.d.ts.map +0 -1
  238. package/lib/presentation/tokens/commonStyles.js +0 -220
  239. package/lib/presentation/tokens/commonStyles.js.map +0 -1
  240. package/lib/presentation/utils/platformConstants.d.ts +0 -100
  241. package/lib/presentation/utils/platformConstants.d.ts.map +0 -1
  242. package/lib/presentation/utils/platformConstants.js +0 -114
  243. package/lib/presentation/utils/platformConstants.js.map +0 -1
  244. package/lib/presentation/utils/responsive.d.ts +0 -218
  245. package/lib/presentation/utils/responsive.d.ts.map +0 -1
  246. package/lib/presentation/utils/responsive.js +0 -452
  247. package/lib/presentation/utils/responsive.js.map +0 -1
  248. package/lib/presentation/utils/variants/compound.d.ts +0 -10
  249. package/lib/presentation/utils/variants/compound.d.ts.map +0 -1
  250. package/lib/presentation/utils/variants/compound.js +0 -16
  251. package/lib/presentation/utils/variants/compound.js.map +0 -1
  252. package/lib/presentation/utils/variants/core.d.ts +0 -15
  253. package/lib/presentation/utils/variants/core.d.ts.map +0 -1
  254. package/lib/presentation/utils/variants/core.js +0 -23
  255. package/lib/presentation/utils/variants/core.js.map +0 -1
  256. package/lib/presentation/utils/variants/helpers.d.ts +0 -5
  257. package/lib/presentation/utils/variants/helpers.d.ts.map +0 -1
  258. package/lib/presentation/utils/variants/helpers.js +0 -10
  259. package/lib/presentation/utils/variants/helpers.js.map +0 -1
  260. package/lib/presentation/utils/variants.d.ts +0 -4
  261. package/lib/presentation/utils/variants.d.ts.map +0 -1
  262. package/lib/presentation/utils/variants.js +0 -4
  263. package/lib/presentation/utils/variants.js.map +0 -1
  264. package/src/presentation/atoms/AtomicAvatar.tsx +0 -157
  265. package/src/presentation/atoms/AtomicAvatarGroup.tsx +0 -169
  266. package/src/presentation/atoms/AtomicBadge.tsx +0 -232
  267. package/src/presentation/atoms/AtomicButton.tsx +0 -236
  268. package/src/presentation/atoms/AtomicCard.tsx +0 -107
  269. package/src/presentation/atoms/AtomicChip.tsx +0 -223
  270. package/src/presentation/atoms/AtomicDatePicker.tsx +0 -354
  271. package/src/presentation/atoms/AtomicDivider.tsx +0 -114
  272. package/src/presentation/atoms/AtomicFab.tsx +0 -98
  273. package/src/presentation/atoms/AtomicFilter.tsx +0 -154
  274. package/src/presentation/atoms/AtomicFormError.tsx +0 -105
  275. package/src/presentation/atoms/AtomicIcon.tsx +0 -40
  276. package/src/presentation/atoms/AtomicImage.tsx +0 -149
  277. package/src/presentation/atoms/AtomicInput.tsx +0 -350
  278. package/src/presentation/atoms/AtomicNumberInput.tsx +0 -182
  279. package/src/presentation/atoms/AtomicPicker.tsx +0 -458
  280. package/src/presentation/atoms/AtomicProgress.tsx +0 -139
  281. package/src/presentation/atoms/AtomicSearchBar.tsx +0 -114
  282. package/src/presentation/atoms/AtomicSort.tsx +0 -145
  283. package/src/presentation/atoms/AtomicSwitch.tsx +0 -166
  284. package/src/presentation/atoms/AtomicText.tsx +0 -82
  285. package/src/presentation/atoms/AtomicTextArea.tsx +0 -313
  286. package/src/presentation/atoms/AtomicTouchable.tsx +0 -209
  287. package/src/presentation/atoms/fab/styles/fabStyles.ts +0 -69
  288. package/src/presentation/atoms/fab/types/index.ts +0 -82
  289. package/src/presentation/atoms/filter/styles/filterStyles.ts +0 -32
  290. package/src/presentation/atoms/filter/types/index.ts +0 -89
  291. package/src/presentation/atoms/index.ts +0 -366
  292. package/src/presentation/atoms/input/hooks/useInputState.ts +0 -15
  293. package/src/presentation/atoms/input/styles/inputStyles.ts +0 -66
  294. package/src/presentation/atoms/input/types/index.ts +0 -25
  295. package/src/presentation/atoms/picker/styles/pickerStyles.ts +0 -220
  296. package/src/presentation/atoms/picker/types/index.ts +0 -40
  297. package/src/presentation/atoms/touchable/styles/touchableStyles.ts +0 -62
  298. package/src/presentation/atoms/touchable/types/index.ts +0 -155
  299. package/src/presentation/hooks/useAppDesignTokens.ts +0 -13
  300. package/src/presentation/hooks/useResponsive.ts +0 -180
  301. package/src/presentation/molecules/AtomicConfirmationModal.tsx +0 -243
  302. package/src/presentation/molecules/EmptyState.tsx +0 -130
  303. package/src/presentation/molecules/FormField.tsx +0 -128
  304. package/src/presentation/molecules/GridContainer.tsx +0 -124
  305. package/src/presentation/molecules/IconContainer.tsx +0 -94
  306. package/src/presentation/molecules/ListItem.tsx +0 -36
  307. package/src/presentation/molecules/ScreenHeader.tsx +0 -140
  308. package/src/presentation/molecules/SearchBar.tsx +0 -85
  309. package/src/presentation/molecules/SectionCard.tsx +0 -74
  310. package/src/presentation/molecules/SectionContainer.tsx +0 -106
  311. package/src/presentation/molecules/SectionHeader.tsx +0 -125
  312. package/src/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.ts +0 -133
  313. package/src/presentation/molecules/confirmation-modal/types/index.ts +0 -105
  314. package/src/presentation/molecules/index.ts +0 -41
  315. package/src/presentation/molecules/listitem/styles/listItemStyles.ts +0 -19
  316. package/src/presentation/molecules/listitem/types/index.ts +0 -17
  317. package/src/presentation/organisms/AppHeader.tsx +0 -137
  318. package/src/presentation/organisms/FormContainer.tsx +0 -180
  319. package/src/presentation/organisms/ScreenLayout.tsx +0 -171
  320. package/src/presentation/organisms/index.ts +0 -25
  321. package/src/presentation/tokens/commonStyles.ts +0 -253
  322. package/src/presentation/utils/platformConstants.ts +0 -124
  323. 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 '../hooks/useAppDesignTokens';
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
- };