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

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 +67 -265
  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,130 +0,0 @@
1
- /**
2
- * EmptyState Molecule - Universal Empty State Display
3
- *
4
- * Displays icon, title, and subtitle for empty data scenarios
5
- * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
- *
7
- * Atomic Design Level: MOLECULE
8
- * Composition: Icon + AtomicText + Layout
9
- *
10
- * Usage:
11
- * - Empty lists
12
- * - Empty grids
13
- * - No search results
14
- * - No data states
15
- */
16
-
17
- import React from 'react';
18
- import { View, StyleSheet, ViewStyle, TextStyle } from 'react-native';
19
- import { AtomicText, AtomicIcon } from '../atoms';
20
- import { useAppDesignTokens } from '@umituz/react-native-theme';
21
-
22
- // =============================================================================
23
- // TYPE DEFINITIONS
24
- // =============================================================================
25
-
26
- export interface EmptyStateProps {
27
- /** Material icon name */
28
- icon: string;
29
- /** Icon size (default: xl) */
30
- iconSize?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
31
- /** Main heading text */
32
- title: string;
33
- /** Descriptive subtitle text */
34
- subtitle?: string;
35
- /** Custom icon color (default: textTertiary) */
36
- iconColor?: string;
37
- /** Custom title color (default: textPrimary) */
38
- titleColor?: string;
39
- /** Custom subtitle color (default: textSecondary) */
40
- subtitleColor?: string;
41
- /** Container style override */
42
- style?: ViewStyle;
43
- /** Title style override */
44
- titleStyle?: TextStyle;
45
- /** Subtitle style override */
46
- subtitleStyle?: TextStyle;
47
- }
48
-
49
- // =============================================================================
50
- // COMPONENT IMPLEMENTATION
51
- // =============================================================================
52
-
53
- export const EmptyState: React.FC<EmptyStateProps> = ({
54
- icon,
55
- iconSize = 'xl',
56
- title,
57
- subtitle,
58
- iconColor,
59
- titleColor,
60
- subtitleColor,
61
- style,
62
- titleStyle,
63
- subtitleStyle,
64
- }) => {
65
- const tokens = useAppDesignTokens();
66
- const styles = getStyles(tokens);
67
-
68
- return (
69
- <View style={[styles.container, style]}>
70
- <AtomicIcon
71
- name={icon}
72
- size={iconSize}
73
- customColor={iconColor || tokens.colors.textSecondary}
74
- />
75
- <AtomicText
76
- type="headlineMedium"
77
- color={titleColor || tokens.colors.textPrimary}
78
- style={StyleSheet.flatten([
79
- styles.title,
80
- titleStyle,
81
- ])}
82
- >
83
- {title}
84
- </AtomicText>
85
- {subtitle && (
86
- <AtomicText
87
- type="bodyMedium"
88
- color={subtitleColor || tokens.colors.textSecondary}
89
- style={StyleSheet.flatten([
90
- styles.subtitle,
91
- subtitleStyle,
92
- ])}
93
- >
94
- {subtitle}
95
- </AtomicText>
96
- )}
97
- </View>
98
- );
99
- };
100
-
101
- // =============================================================================
102
- // STYLES
103
- // =============================================================================
104
-
105
- const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) =>
106
- StyleSheet.create({
107
- container: {
108
- flex: 1,
109
- justifyContent: 'center',
110
- alignItems: 'center',
111
- paddingVertical: tokens.spacing.xl,
112
- paddingHorizontal: tokens.spacing.lg,
113
- },
114
- title: {
115
- fontSize: tokens.typography.headingMedium.fontSize,
116
- fontWeight: tokens.typography.headingMedium.fontWeight,
117
- marginTop: tokens.spacing.md,
118
- textAlign: 'center',
119
- },
120
- subtitle: {
121
- fontSize: tokens.typography.bodySmall.fontSize,
122
- marginTop: tokens.spacing.xs,
123
- textAlign: 'center',
124
- },
125
- });
126
-
127
- // =============================================================================
128
- // EXPORTS
129
- // =============================================================================
130
-
@@ -1,128 +0,0 @@
1
- /**
2
- * FormField Molecule - Complete Form Input with Label and Error
3
- *
4
- * Combines AtomicText (label/error) + AtomicInput (field)
5
- * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
- *
7
- * Atomic Design Level: MOLECULE
8
- * Composition: AtomicText + AtomicInput
9
- */
10
-
11
- import React from 'react';
12
- import { View, ViewStyle } from 'react-native';
13
- import { useAppDesignTokens } from '@umituz/react-native-theme';
14
- import { AtomicText } from '../atoms/AtomicText';
15
- import { AtomicInput, AtomicInputProps } from '../atoms/AtomicInput';
16
-
17
- // =============================================================================
18
- // TYPE DEFINITIONS
19
- // =============================================================================
20
-
21
- export interface FormFieldProps extends Omit<AtomicInputProps, 'state' | 'label'> {
22
- label?: string;
23
- error?: string;
24
- helperText?: string;
25
- required?: boolean;
26
- containerStyle?: ViewStyle;
27
- style?: ViewStyle; // Alias for containerStyle (for convenience)
28
- }
29
-
30
- // =============================================================================
31
- // COMPONENT IMPLEMENTATION
32
- // =============================================================================
33
-
34
- export const FormField: React.FC<FormFieldProps> = ({
35
- label,
36
- error,
37
- helperText,
38
- required = false,
39
- containerStyle,
40
- style, // Accept both style and containerStyle
41
- ...inputProps
42
- }) => {
43
- const tokens = useAppDesignTokens();
44
- const inputState = error ? 'error' : 'default';
45
-
46
- const styles = getStyles(tokens);
47
-
48
- return (
49
- <View style={[styles.container, containerStyle || style]}>
50
- {/* Label */}
51
- {label && (
52
- <View style={styles.labelContainer}>
53
- <AtomicText type="labelMedium" color="primary" style={styles.label}>
54
- {label}
55
- </AtomicText>
56
- {required && (
57
- <AtomicText type="labelMedium" color="error">
58
- {' *'}
59
- </AtomicText>
60
- )}
61
- </View>
62
- )}
63
-
64
- {/* Input Field */}
65
- <AtomicInput
66
- {...inputProps}
67
- label={label || ''}
68
- state={inputState}
69
- />
70
-
71
- {/* Error Message */}
72
- {error && (
73
- <AtomicText
74
- type="bodySmall"
75
-
76
- color="error"
77
- style={styles.errorText}
78
- >
79
- {error}
80
- </AtomicText>
81
- )}
82
-
83
- {/* Helper Text */}
84
- {!error && helperText && (
85
- <AtomicText
86
- type="bodySmall"
87
-
88
- color="secondary"
89
- style={styles.helperText}
90
- >
91
- {helperText}
92
- </AtomicText>
93
- )}
94
- </View>
95
- );
96
- };
97
-
98
- // =============================================================================
99
- // STYLES
100
- // =============================================================================
101
-
102
- const getStyles = (tokens: ReturnType<typeof useAppDesignTokens>) => ({
103
- container: {
104
- marginBottom: tokens.spacing.md,
105
- } as ViewStyle,
106
- labelContainer: {
107
- flexDirection: 'row',
108
- marginBottom: tokens.spacing.sm,
109
- } as ViewStyle,
110
- label: {
111
- fontWeight: tokens.typography.labelMedium.fontWeight,
112
- color: tokens.colors.textPrimary,
113
- } as ViewStyle,
114
- inputError: {
115
- borderColor: tokens.colors.error,
116
- } as ViewStyle,
117
- errorText: {
118
- marginTop: tokens.spacing.xs,
119
- } as ViewStyle,
120
- helperText: {
121
- marginTop: tokens.spacing.xs,
122
- } as ViewStyle,
123
- });
124
-
125
- // =============================================================================
126
- // EXPORTS
127
- // =============================================================================
128
-
@@ -1,124 +0,0 @@
1
- /**
2
- * GridContainer Molecule - Responsive Grid Layout
3
- *
4
- * Provides flexible grid layout with configurable columns and gap
5
- * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
- *
7
- * Atomic Design Level: MOLECULE
8
- * Composition: View + Responsive Layout
9
- *
10
- * Usage:
11
- * - Stats grids (2 columns)
12
- * - Action grids (2 columns)
13
- * - Product grids (2-3 columns)
14
- * - Gallery grids (3-4 columns)
15
- */
16
-
17
- import React from 'react';
18
- import { View, StyleSheet, ViewStyle, DimensionValue } from 'react-native';
19
-
20
- // =============================================================================
21
- // TYPE DEFINITIONS
22
- // =============================================================================
23
-
24
- export interface GridContainerProps {
25
- /** Number of columns (default: 2) */
26
- columns?: 2 | 3 | 4;
27
- /** Gap between items in pixels (default: 8) */
28
- gap?: number;
29
- /** Container style override */
30
- style?: ViewStyle;
31
- /** Grid items to render */
32
- children: React.ReactNode;
33
- }
34
-
35
- export interface GridItemProps {
36
- /** Item content */
37
- children: React.ReactNode;
38
- /** Item style override */
39
- style?: ViewStyle;
40
- }
41
-
42
- // =============================================================================
43
- // COMPONENT IMPLEMENTATION
44
- // =============================================================================
45
-
46
- const GridContainerComponent: React.FC<GridContainerProps> = ({
47
- columns = 2,
48
- gap = 8,
49
- style,
50
- children,
51
- }) => {
52
- const styles = getStyles(gap);
53
-
54
- return (
55
- <View style={[styles.container, style]}>
56
- {React.Children.map(children, (child) => {
57
- if (React.isValidElement<GridItemProps>(child)) {
58
- const childStyle = child.props.style;
59
- const itemStyle = getItemStyle(columns, gap);
60
- return React.cloneElement(child, {
61
- style: StyleSheet.flatten([itemStyle, childStyle]),
62
- });
63
- }
64
- return child;
65
- })}
66
- </View>
67
- );
68
- };
69
-
70
- // =============================================================================
71
- // GRID ITEM COMPONENT
72
- // =============================================================================
73
-
74
- export const GridItem: React.FC<GridItemProps> = ({ children, style }) => {
75
- return <View style={style}>{children}</View>;
76
- };
77
-
78
- // Export GridContainer with Item property
79
- export const GridContainer = GridContainerComponent as typeof GridContainerComponent & {
80
- Item: typeof GridItem;
81
- };
82
-
83
- // Attach GridItem to GridContainer for convenient usage
84
- GridContainer.Item = GridItem;
85
-
86
- // =============================================================================
87
- // HELPERS
88
- // =============================================================================
89
-
90
- const getItemStyle = (columns: number, gap: number): ViewStyle => {
91
- // Calculate width: (100% - total gap space) / columns
92
- // For 2 columns with 8px gap: (100% - 8px) / 2 = ~48%
93
- // For 3 columns with 8px gap: (100% - 16px) / 3 = ~31.33%
94
-
95
- const widthMap: Record<number, DimensionValue> = {
96
- 2: '48%' as DimensionValue,
97
- 3: '31.33%' as DimensionValue,
98
- 4: '23%' as DimensionValue,
99
- };
100
-
101
- return {
102
- width: widthMap[columns] || ('48%' as DimensionValue),
103
- marginHorizontal: gap / 2,
104
- marginBottom: gap * 1.5,
105
- };
106
- };
107
-
108
- // =============================================================================
109
- // STYLES
110
- // =============================================================================
111
-
112
- const getStyles = (gap: number) =>
113
- StyleSheet.create({
114
- container: {
115
- flexDirection: 'row' as const,
116
- flexWrap: 'wrap' as const,
117
- marginHorizontal: -(gap / 2),
118
- },
119
- });
120
-
121
- // =============================================================================
122
- // EXPORTS
123
- // =============================================================================
124
-
@@ -1,94 +0,0 @@
1
- /**
2
- * IconContainer Molecule Component
3
- *
4
- * Standardized icon container with consistent sizing and styling.
5
- * Used throughout app for icon displays in lists, cards, and settings.
6
- *
7
- * Features:
8
- * - Consistent sizing system
9
- * - Optional background circle
10
- * - Optional gradient background
11
- * - Theme-aware colors
12
- * - Accessibility support
13
- *
14
- * Atomic Design: Molecule (View + Icon)
15
- */
16
-
17
- import React from 'react';
18
- import { View, StyleSheet } from 'react-native';
19
- import { useAppDesignTokens } from '@umituz/react-native-theme';
20
- import { LinearGradient } from 'expo-linear-gradient';
21
-
22
- interface IconContainerProps {
23
- icon: React.ReactNode;
24
- size?: 'sm' | 'md' | 'lg' | 'xl';
25
- backgroundColor?: string;
26
- gradient?: string[];
27
- withBorder?: boolean;
28
- borderColor?: string;
29
- style?: object;
30
- testID?: string;
31
- }
32
-
33
- const getSizeMap = (tokens: ReturnType<typeof useAppDesignTokens>) => ({
34
- sm: tokens.iconSizes.sm,
35
- md: tokens.iconSizes.md,
36
- lg: tokens.iconSizes.lg,
37
- xl: tokens.iconSizes.xl,
38
- });
39
-
40
- export const IconContainer: React.FC<IconContainerProps> = ({
41
- icon,
42
- size = 'md',
43
- backgroundColor,
44
- gradient,
45
- withBorder = false,
46
- borderColor,
47
- style,
48
- testID,
49
- }) => {
50
- const tokens = useAppDesignTokens();
51
- const sizeMap = getSizeMap(tokens);
52
- const containerSize = sizeMap[size];
53
- const borderRadius = containerSize / 2;
54
-
55
- const containerStyle = [
56
- styles.container,
57
- {
58
- width: containerSize,
59
- height: containerSize,
60
- borderRadius,
61
- backgroundColor: backgroundColor || (gradient ? undefined : tokens.colors.surfaceVariant),
62
- },
63
- withBorder && {
64
- borderWidth: 1,
65
- borderColor: borderColor || tokens.colors.border,
66
- },
67
- style,
68
- ];
69
-
70
- if (gradient) {
71
- return (
72
- <LinearGradient
73
- colors={gradient}
74
- style={containerStyle}
75
- testID={testID}
76
- >
77
- {icon}
78
- </LinearGradient>
79
- );
80
- }
81
-
82
- return (
83
- <View style={containerStyle} testID={testID}>
84
- {icon}
85
- </View>
86
- );
87
- };
88
-
89
- const styles = StyleSheet.create({
90
- container: {
91
- alignItems: 'center',
92
- justifyContent: 'center',
93
- },
94
- });
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { TouchableOpacity, View } from 'react-native';
3
- import { useAppDesignTokens } from '@umituz/react-native-theme';
4
- import { AtomicText } from '../atoms/AtomicText';
5
- import { AtomicIcon } from '../atoms/AtomicIcon';
6
- import { ListItemProps } from './listitem/types';
7
- import { getListItemStyles } from './listitem/styles/listItemStyles';
8
-
9
- export type { ListItemProps };
10
-
11
- export const ListItem: React.FC<ListItemProps> = ({
12
- title, subtitle, leftIcon, rightIcon = 'forward', onPress, disabled = false, style,
13
- }) => {
14
- const tokens = useAppDesignTokens();
15
- const listItemStyles = getListItemStyles(tokens);
16
- const Component: React.ComponentType<any> = onPress ? TouchableOpacity : View;
17
-
18
- return (
19
- <Component style={[listItemStyles.container, disabled ? listItemStyles.disabled : undefined, style]} onPress={onPress} disabled={disabled} activeOpacity={0.7}>
20
- {leftIcon && (
21
- <View style={listItemStyles.iconContainer}>
22
- <AtomicIcon name={leftIcon} color={disabled ? 'surfaceVariant' : 'primary'} />
23
- </View>
24
- )}
25
- <View style={listItemStyles.content}>
26
- <AtomicText type="bodyLarge" color={disabled ? 'surfaceVariant' : 'onSurface'} numberOfLines={1}>{title}</AtomicText>
27
- {subtitle && <AtomicText type="bodySmall" color="surfaceVariant" numberOfLines={2} style={listItemStyles.subtitle}>{subtitle}</AtomicText>}
28
- </View>
29
- {rightIcon && onPress && (
30
- <View style={listItemStyles.iconContainer}>
31
- <AtomicIcon name={rightIcon} color="surfaceVariant" />
32
- </View>
33
- )}
34
- </Component>
35
- );
36
- };
@@ -1,140 +0,0 @@
1
- /**
2
- * ScreenHeader Component - {{APP_NAME}}
3
- *
4
- * Reusable screen header with consistent back button placement
5
- * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
- *
7
- * Features:
8
- * - Top-left back button (arrow-back icon)
9
- * - Centered title text
10
- * - Optional right action button
11
- * - Consistent spacing and layout
12
- * - Works with all 100+ generated apps
13
- *
14
- * CRITICAL: Back button MUST ALWAYS be top-left (never bottom, never center)
15
- */
16
-
17
- import React from 'react';
18
- import { View, StyleSheet, TouchableOpacity, ViewStyle } from 'react-native';
19
- import { useNavigation } from '@react-navigation/native';
20
- import { AtomicIcon } from '../atoms/AtomicIcon';
21
- import { AtomicText } from '../atoms/AtomicText';
22
- import { useAppDesignTokens } from '@umituz/react-native-theme';
23
-
24
- export interface ScreenHeaderProps {
25
- /** Screen title (centered) */
26
- title: string;
27
-
28
- /** Optional right action button */
29
- rightAction?: React.ReactNode;
30
-
31
- /** Custom back button action (default: navigation.goBack()) */
32
- onBackPress?: () => void;
33
-
34
- /** Hide back button (rare cases only) */
35
- hideBackButton?: boolean;
36
-
37
- /** Additional header style */
38
- style?: ViewStyle;
39
-
40
- /** Test ID for E2E testing */
41
- testID?: string;
42
- }
43
-
44
- /**
45
- * ScreenHeader Component
46
- *
47
- * @example
48
- * // Basic usage (most common)
49
- * <ScreenHeader title="Settings" />
50
- *
51
- * @example
52
- * // With right action
53
- * <ScreenHeader
54
- * title="Edit Profile"
55
- * rightAction={<TouchableOpacity onPress={handleSave}><Text>Save</Text></TouchableOpacity>}
56
- * />
57
- *
58
- * @example
59
- * // Custom back action
60
- * <ScreenHeader
61
- * title="Unsaved Changes"
62
- * onBackPress={handleUnsavedChanges}
63
- * />
64
- */
65
- export const ScreenHeader: React.FC<ScreenHeaderProps> = ({
66
- title,
67
- rightAction,
68
- onBackPress,
69
- hideBackButton = false,
70
- style,
71
- testID = 'screen-header',
72
- }) => {
73
- const navigation = useNavigation();
74
- const tokens = useAppDesignTokens();
75
-
76
- const handleBackPress = () => {
77
- if (onBackPress) {
78
- onBackPress();
79
- } else {
80
- navigation.goBack();
81
- }
82
- };
83
-
84
- return (
85
- <View
86
- style={[
87
- {
88
- flexDirection: 'row',
89
- alignItems: 'center',
90
- justifyContent: 'space-between',
91
- paddingHorizontal: tokens.spacing.screenPadding,
92
- paddingVertical: tokens.spacing.md,
93
- borderBottomWidth: 0.5,
94
- backgroundColor: tokens.colors.backgroundPrimary,
95
- borderBottomColor: tokens.colors.border,
96
- },
97
- style
98
- ]}
99
- testID={testID}
100
- >
101
- {/* Left: Back Button (ALWAYS top-left when visible) */}
102
- <View style={{ width: 40, alignItems: 'flex-start' }}>
103
- {!hideBackButton && (
104
- <TouchableOpacity
105
- onPress={handleBackPress}
106
- hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }}
107
- testID={`${testID}-back-button`}
108
- >
109
- <AtomicIcon name="arrow-back" color="primary" />
110
- </TouchableOpacity>
111
- )}
112
- </View>
113
-
114
- {/* Center: Title */}
115
- <View style={{ flex: 1, alignItems: 'center', paddingHorizontal: tokens.spacing.sm }}>
116
- <AtomicText
117
- type="headlineMedium"
118
- style={[
119
- {
120
- fontWeight: tokens.typography.bold,
121
- textAlign: 'center',
122
- color: tokens.colors.textPrimary,
123
- }
124
- ]}
125
- numberOfLines={1}
126
- testID={`${testID}-title`}
127
- >
128
- {title}
129
- </AtomicText>
130
- </View>
131
-
132
- {/* Right: Optional Action or Placeholder */}
133
- <View style={{ width: 40, alignItems: 'flex-start' }}>
134
- {rightAction || <View style={{ width: 40 }} />}
135
- </View>
136
- </View>
137
- );
138
- };
139
-
140
- export default ScreenHeader;