@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,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 '@umituz/react-native-theme';
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 '@umituz/react-native-theme';
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 '@umituz/react-native-theme';
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
- };