@umituz/react-native-design-system 1.7.1 → 1.7.3

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 +71 -271
  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,354 +0,0 @@
1
- /**
2
- * AtomicDatePicker Component
3
- *
4
- * A reusable date picker component that wraps the native date picker
5
- * with consistent styling and behavior across platforms.
6
- *
7
- * Features:
8
- * - Platform-specific native pickers (iOS wheel, Android dialog)
9
- * - Consistent styling with design tokens
10
- * - Locale-aware date/time formatting (native Date methods)
11
- * - Timezone-aware (respects device timezone)
12
- * - Automatic language integration (native locale support)
13
- * - Optional label and error states
14
- * - Minimum and maximum date constraints
15
- * - Disabled state support
16
- * - Theme-aware styling
17
- * - Proper keyboard avoidance on iOS
18
- *
19
- * Usage:
20
- * ```tsx
21
- * const [selectedDate, setSelectedDate] = useState(new Date());
22
- *
23
- * <AtomicDatePicker
24
- * value={selectedDate}
25
- * onChange={setSelectedDate}
26
- * label="Birth Date"
27
- * minimumDate={new Date(1900, 0, 1)}
28
- * maximumDate={new Date()}
29
- * />
30
- * ```
31
- *
32
- * Platform Behavior:
33
- * - iOS: Opens modal with spinner wheel, requires "Done" button
34
- * - Android: Opens native dialog, auto-closes on selection
35
- *
36
- * @module AtomicDatePicker
37
- */
38
-
39
- import React, { useState } from 'react';
40
- import {
41
- View,
42
- Text,
43
- TouchableOpacity,
44
- StyleSheet,
45
- Modal,
46
- useWindowDimensions,
47
- } from 'react-native';
48
- import DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';
49
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
50
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
51
- import { useResponsive } from '../hooks/useResponsive';
52
- import { AtomicIcon, type AtomicIconColor } from './AtomicIcon';
53
-
54
- /**
55
- * Props for AtomicDatePicker component
56
- */
57
- export interface AtomicDatePickerProps {
58
- /** Selected date value */
59
- value: Date;
60
- /** Callback when date changes */
61
- onChange: (date: Date) => void;
62
- /** Optional label displayed above picker */
63
- label?: string;
64
- /** Optional error message displayed below picker */
65
- error?: string;
66
- /** Disable picker interaction */
67
- disabled?: boolean;
68
- /** Minimum selectable date */
69
- minimumDate?: Date;
70
- /** Maximum selectable date */
71
- maximumDate?: Date;
72
- /** Picker mode - date, time, or datetime (iOS only) */
73
- mode?: 'date' | 'time' | 'datetime';
74
- /** Placeholder text when no value selected */
75
- placeholder?: string;
76
- /** Optional test ID for E2E testing */
77
- testID?: string;
78
- }
79
-
80
- /**
81
- * AtomicDatePicker - Universal date/time picker component
82
- *
83
- * Wraps @react-native-community/datetimepicker with:
84
- * - Theme integration
85
- * - Platform-specific modal handling
86
- * - Error states
87
- * - Disabled states
88
- * - Responsive sizing
89
- */
90
- export const AtomicDatePicker: React.FC<AtomicDatePickerProps> = ({
91
- value,
92
- onChange,
93
- label,
94
- error,
95
- disabled = false,
96
- minimumDate,
97
- maximumDate,
98
- mode = 'date',
99
- placeholder = 'Select date',
100
- testID,
101
- }) => {
102
- const tokens = useAppDesignTokens();
103
- const { height } = useWindowDimensions();
104
- const insets = useSafeAreaInsets();
105
- const { isTabletDevice } = useResponsive();
106
- const [show, setShow] = useState(false);
107
-
108
- /**
109
- * Handle date/time change
110
- * Universal handler that works across all platforms
111
- * Note: event.type can be 'set', 'dismissed', or 'neutralButtonPressed'
112
- */
113
- const handleChange = (event: DateTimePickerEvent, selectedDate?: Date) => {
114
- // Close picker when user confirms or dismisses
115
- // iOS: Stays open until "Done" button (handled separately)
116
- // Android/Web: Auto-closes on selection
117
- if (event.type === 'set' || event.type === 'dismissed') {
118
- setShow(false);
119
- }
120
-
121
- // Update value only if date was selected (not dismissed)
122
- if (event.type === 'set' && selectedDate) {
123
- onChange(selectedDate);
124
- }
125
- };
126
-
127
- /**
128
- * Format date based on mode
129
- * Uses native Date formatting (locale-aware)
130
- */
131
- const formatDate = (date: Date): string => {
132
- if (mode === 'time') {
133
- // Format time only
134
- return date.toLocaleTimeString([], {
135
- hour: '2-digit',
136
- minute: '2-digit'
137
- });
138
- }
139
- if (mode === 'datetime') {
140
- // Format date + time
141
- const dateStr = date.toLocaleDateString([], {
142
- year: 'numeric',
143
- month: 'short',
144
- day: 'numeric',
145
- });
146
- const timeStr = date.toLocaleTimeString([], {
147
- hour: '2-digit',
148
- minute: '2-digit'
149
- });
150
- return `${dateStr} ${timeStr}`;
151
- }
152
- // Format date only
153
- return date.toLocaleDateString([], {
154
- year: 'numeric',
155
- month: 'long',
156
- day: 'numeric',
157
- });
158
- };
159
-
160
- /**
161
- * Determine icon color based on state
162
- */
163
- const getIconColor = (): AtomicIconColor => {
164
- if (disabled) return 'secondary';
165
- if (error) return 'error';
166
- return 'primary';
167
- };
168
-
169
- const styles = getStyles(tokens, height, insets);
170
-
171
- return (
172
- <View style={styles.container} testID={testID}>
173
- {label && (
174
- <Text style={styles.label} testID={testID ? `${testID}-label` : undefined}>
175
- {label}
176
- </Text>
177
- )}
178
-
179
- <TouchableOpacity
180
- style={[
181
- styles.button,
182
- error ? styles.buttonError : undefined,
183
- disabled ? styles.buttonDisabled : undefined,
184
- ]}
185
- onPress={() => !disabled && setShow(true)}
186
- disabled={disabled}
187
- testID={testID ? `${testID}-button` : undefined}
188
- accessibilityLabel={label || placeholder}
189
- accessibilityRole="button"
190
- accessibilityState={{ disabled }}
191
- >
192
- <AtomicIcon
193
- name="calendar"
194
- color={getIconColor()}
195
- size="md"
196
- />
197
- <Text
198
- style={[
199
- styles.text,
200
- disabled ? styles.textDisabled : undefined,
201
- error ? styles.textError : undefined,
202
- ]}
203
- >
204
- {value ? formatDate(value) : placeholder}
205
- </Text>
206
- </TouchableOpacity>
207
-
208
- {error && (
209
- <Text style={styles.errorText} testID={testID ? `${testID}-error` : undefined}>
210
- {error}
211
- </Text>
212
- )}
213
-
214
- {/* Universal DatePicker - Works across iOS, Android, Web */}
215
- {show && (
216
- <Modal
217
- transparent
218
- animationType={isTabletDevice ? 'fade' : 'slide'}
219
- visible={show}
220
- onRequestClose={() => setShow(false)}
221
- >
222
- <TouchableOpacity
223
- style={styles.modalOverlay}
224
- activeOpacity={1}
225
- onPress={() => setShow(false)}
226
- accessibilityLabel="Close date picker"
227
- accessibilityRole="button"
228
- >
229
- <View
230
- style={styles.pickerContainer}
231
- onStartShouldSetResponder={() => true}
232
- >
233
- <DateTimePicker
234
- value={value || new Date()}
235
- mode={mode}
236
- display="spinner"
237
- onChange={handleChange}
238
- minimumDate={minimumDate}
239
- maximumDate={maximumDate}
240
- testID={testID ? `${testID}-picker` : undefined}
241
- />
242
- <View style={styles.buttonContainer}>
243
- <TouchableOpacity
244
- style={styles.doneButton}
245
- onPress={() => setShow(false)}
246
- testID={testID ? `${testID}-done` : undefined}
247
- accessibilityLabel="Done"
248
- accessibilityRole="button"
249
- >
250
- <Text style={styles.doneText}>Done</Text>
251
- </TouchableOpacity>
252
- </View>
253
- </View>
254
- </TouchableOpacity>
255
- </Modal>
256
- )}
257
- </View>
258
- );
259
- };
260
-
261
- /**
262
- * Get component styles based on design tokens
263
- */
264
- const getStyles = (
265
- tokens: ReturnType<typeof useAppDesignTokens>,
266
- height: number,
267
- insets: { top: number; bottom: number; left: number; right: number },
268
- ) => {
269
- // Responsive button sizing based on device height
270
- const buttonMinWidth = height <= 667 ? Math.min(height * 0.25, 150) : 200;
271
-
272
- return StyleSheet.create({
273
- container: {
274
- marginBottom: tokens.spacing.md,
275
- },
276
- label: {
277
- fontSize: tokens.typography.bodyMedium.fontSize,
278
- fontWeight: tokens.typography.semibold,
279
- color: tokens.colors.textPrimary,
280
- marginBottom: tokens.spacing.sm,
281
- },
282
- button: {
283
- flexDirection: 'row',
284
- alignItems: 'center',
285
- backgroundColor: tokens.colors.surface,
286
- borderWidth: 1,
287
- borderColor: tokens.colors.border,
288
- borderRadius: tokens.borders.radius.lg,
289
- paddingHorizontal: tokens.spacing.md,
290
- paddingVertical: tokens.spacing.md,
291
- gap: tokens.spacing.sm,
292
- minHeight: 48, // Apple HIG minimum touch target
293
- },
294
- buttonError: {
295
- borderColor: tokens.colors.error,
296
- borderWidth: tokens.borders.width.medium,
297
- },
298
- buttonDisabled: {
299
- backgroundColor: tokens.colors.surfaceDisabled,
300
- opacity: tokens.opacity.disabled,
301
- },
302
- text: {
303
- flex: 1,
304
- fontSize: tokens.typography.bodyLarge.fontSize,
305
- color: tokens.colors.textPrimary,
306
- },
307
- textDisabled: {
308
- color: tokens.colors.textDisabled,
309
- },
310
- textError: {
311
- color: tokens.colors.error,
312
- },
313
- errorText: {
314
- fontSize: tokens.typography.bodySmall.fontSize,
315
- color: tokens.colors.error,
316
- marginTop: tokens.spacing.xs,
317
- marginLeft: tokens.spacing.xs,
318
- },
319
- modalOverlay: {
320
- flex: 1,
321
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
322
- justifyContent: 'flex-start',
323
- },
324
- pickerContainer: {
325
- backgroundColor: tokens.colors.surface,
326
- borderTopLeftRadius: tokens.borders.radius.xl,
327
- borderTopRightRadius: tokens.borders.radius.xl,
328
- paddingTop: tokens.spacing.lg,
329
- paddingBottom: Math.max(
330
- insets.bottom + tokens.spacing.md,
331
- tokens.spacing.xl,
332
- ),
333
- },
334
- buttonContainer: {
335
- alignItems: 'center',
336
- marginTop: tokens.spacing.md,
337
- paddingHorizontal: tokens.spacing.lg,
338
- },
339
- doneButton: {
340
- backgroundColor: tokens.colors.primary,
341
- paddingHorizontal: tokens.spacing.xl,
342
- paddingVertical: tokens.spacing.sm,
343
- borderRadius: tokens.borders.radius.lg,
344
- minWidth: buttonMinWidth,
345
- alignItems: 'center',
346
- minHeight: 44, // Apple HIG minimum touch target
347
- },
348
- doneText: {
349
- color: tokens.colors.onPrimary,
350
- fontSize: tokens.typography.bodyLarge.fontSize,
351
- fontWeight: tokens.typography.semibold,
352
- },
353
- });
354
- };
@@ -1,114 +0,0 @@
1
- /**
2
- * AtomicDivider - Universal Divider Component
3
- *
4
- * Displays horizontal or vertical dividers for content separation
5
- * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
- *
7
- * Atomic Design Level: ATOM
8
- * Purpose: Content separation and visual hierarchy
9
- *
10
- * Usage:
11
- * - Section separators
12
- * - List item dividers
13
- * - Card separators
14
- * - Menu dividers
15
- * - Form field separators
16
- */
17
-
18
- import React from 'react';
19
- import { View, StyleSheet, ViewStyle } from 'react-native';
20
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
21
-
22
- // =============================================================================
23
- // TYPE DEFINITIONS
24
- // =============================================================================
25
-
26
- export interface AtomicDividerProps {
27
- /** Divider orientation */
28
- orientation?: 'horizontal' | 'vertical';
29
- /** Divider thickness */
30
- thickness?: 'thin' | 'medium' | 'thick';
31
- /** Divider color */
32
- color?: string;
33
- /** Divider length (for horizontal: width, for vertical: height) */
34
- length?: number | string;
35
- /** Margin around the divider */
36
- margin?: number;
37
- /** Margin top */
38
- marginTop?: number;
39
- /** Margin bottom */
40
- marginBottom?: number;
41
- /** Margin left */
42
- marginLeft?: number;
43
- /** Margin right */
44
- marginRight?: number;
45
- /** Style overrides */
46
- style?: ViewStyle;
47
- /** Test ID for testing */
48
- testID?: string;
49
- }
50
-
51
- // =============================================================================
52
- // COMPONENT IMPLEMENTATION
53
- // =============================================================================
54
-
55
- export const AtomicDivider: React.FC<AtomicDividerProps> = ({
56
- orientation = 'horizontal',
57
- thickness = 'thin',
58
- color,
59
- length,
60
- margin,
61
- marginTop,
62
- marginBottom,
63
- marginLeft,
64
- marginRight,
65
- style,
66
- testID,
67
- }) => {
68
- const tokens = useAppDesignTokens();
69
-
70
- // Thickness mapping
71
- const thicknessMap = {
72
- thin: 1,
73
- medium: 2,
74
- thick: 4,
75
- };
76
-
77
- const dividerThickness = thicknessMap[thickness];
78
- const dividerColor = color || tokens.colors.border;
79
-
80
- // Compute final length values with proper type handling
81
- const finalLength = length !== undefined ? length : (orientation === 'horizontal' ? '100%' : 20);
82
-
83
- // Base styles for all dividers
84
- const baseStyle: ViewStyle = {
85
- backgroundColor: dividerColor,
86
- margin: margin,
87
- marginTop: marginTop,
88
- marginBottom: marginBottom,
89
- marginLeft: marginLeft,
90
- marginRight: marginRight,
91
- };
92
-
93
- // Orientation-specific styles with explicit type casting
94
- const orientationStyle: ViewStyle = (orientation === 'horizontal' ? {
95
- width: finalLength as ViewStyle['width'],
96
- height: dividerThickness,
97
- } : {
98
- width: dividerThickness,
99
- height: finalLength as ViewStyle['height'],
100
- }) as ViewStyle;
101
-
102
- return (
103
- <View
104
- style={[baseStyle, orientationStyle, style]}
105
- testID={testID}
106
- />
107
- );
108
- };
109
-
110
- // =============================================================================
111
- // EXPORTS
112
- // =============================================================================
113
-
114
- export default AtomicDivider;
@@ -1,98 +0,0 @@
1
- import React from 'react';
2
- import { TouchableOpacity, StyleSheet } from 'react-native';
3
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
4
- import { useResponsive } from '../hooks/useResponsive';
5
- import { AtomicIcon } from './AtomicIcon';
6
- import { AtomicFabProps } from './fab/types';
7
- import {
8
- FAB_SIZES,
9
- getFabVariants,
10
- getFabIconSize,
11
- getFabBorder,
12
- } from './fab/styles/fabStyles';
13
-
14
- export type { FabSize, FabVariant, FabVariantConfig, FabSizeConfig, AtomicFabProps } from './fab/types';
15
- export { FAB_SIZES, getFabVariants, getFabIconSize, getFabBorder };
16
-
17
- /**
18
- * AtomicFab - Floating Action Button Component
19
- *
20
- * A Material Design 3 compliant FAB component for primary actions.
21
- * Follows CLAUDE.md standards for responsive positioning.
22
- *
23
- * @example
24
- * ```tsx
25
- * // IMPORTANT: FAB must be used at screen level, NOT inside ScrollView
26
- * <ScreenLayout>
27
- * <ScrollView>
28
- * {/* Your content *\/}
29
- * </ScrollView>
30
- * <AtomicFab
31
- * icon="add"
32
- * onPress={handleAddItem}
33
- * variant="primary"
34
- * size="md"
35
- * />
36
- * </ScreenLayout>
37
- * ```
38
- *
39
- * Features:
40
- * - Material Design 3 sizes (sm: 40px, md: 56px, lg: 72px)
41
- * - Three variants: primary, secondary, surface
42
- * - Responsive positioning (above tab bar, safe area aware)
43
- * - Disabled state with opacity
44
- * - Theme-aware colors from design tokens
45
- * - Border for depth (no shadows per CLAUDE.md)
46
- */
47
- export const AtomicFab: React.FC<AtomicFabProps> = ({
48
- icon,
49
- onPress,
50
- variant = 'primary',
51
- size = 'md',
52
- disabled = false,
53
- style,
54
- testID,
55
- accessibilityLabel,
56
- }) => {
57
- const tokens = useAppDesignTokens();
58
- const responsive = useResponsive();
59
- const isDisabled = disabled;
60
-
61
- // Get configurations
62
- const sizeConfig = FAB_SIZES[size as 'sm' | 'md' | 'lg'];
63
- const variants = getFabVariants(tokens);
64
- const variantConfig = variants[variant as 'primary' | 'secondary' | 'surface'];
65
- const iconSize = getFabIconSize(size as 'sm' | 'md' | 'lg');
66
-
67
- // Combine styles
68
- const fabStyle = StyleSheet.flatten([
69
- {
70
- position: 'absolute' as const,
71
- bottom: responsive.fabPosition.bottom,
72
- right: responsive.fabPosition.right,
73
- width: sizeConfig.width,
74
- height: sizeConfig.height,
75
- borderRadius: sizeConfig.borderRadius,
76
- backgroundColor: variantConfig.backgroundColor,
77
- alignItems: 'center' as const,
78
- justifyContent: 'center' as const,
79
- },
80
- getFabBorder(tokens),
81
- isDisabled ? { opacity: tokens.opacity.disabled } : undefined,
82
- style, // Custom style override
83
- ]);
84
-
85
- return (
86
- <TouchableOpacity
87
- style={fabStyle}
88
- onPress={onPress}
89
- disabled={isDisabled}
90
- activeOpacity={0.7}
91
- testID={testID}
92
- accessibilityLabel={accessibilityLabel || `${icon} button`}
93
- accessibilityRole="button"
94
- >
95
- <AtomicIcon name={icon} size={iconSize} customColor={variantConfig.iconColor} />
96
- </TouchableOpacity>
97
- );
98
- };