@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,246 +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
- import React, { useState } from 'react';
39
- import { View, Text, TouchableOpacity, StyleSheet, Modal, useWindowDimensions, } from 'react-native';
40
- import DateTimePicker from '@react-native-community/datetimepicker';
41
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
42
- import { useAppDesignTokens } from '@umituz/react-native-theme';
43
- import { useResponsive } from '../hooks/useResponsive';
44
- import { AtomicIcon } from './AtomicIcon';
45
- /**
46
- * AtomicDatePicker - Universal date/time picker component
47
- *
48
- * Wraps @react-native-community/datetimepicker with:
49
- * - Theme integration
50
- * - Platform-specific modal handling
51
- * - Error states
52
- * - Disabled states
53
- * - Responsive sizing
54
- */
55
- export const AtomicDatePicker = ({ value, onChange, label, error, disabled = false, minimumDate, maximumDate, mode = 'date', placeholder = 'Select date', testID, }) => {
56
- const tokens = useAppDesignTokens();
57
- const { height } = useWindowDimensions();
58
- const insets = useSafeAreaInsets();
59
- const { isTabletDevice } = useResponsive();
60
- const [show, setShow] = useState(false);
61
- /**
62
- * Handle date/time change
63
- * Universal handler that works across all platforms
64
- * Note: event.type can be 'set', 'dismissed', or 'neutralButtonPressed'
65
- */
66
- const handleChange = (event, selectedDate) => {
67
- // Close picker when user confirms or dismisses
68
- // iOS: Stays open until "Done" button (handled separately)
69
- // Android/Web: Auto-closes on selection
70
- if (event.type === 'set' || event.type === 'dismissed') {
71
- setShow(false);
72
- }
73
- // Update value only if date was selected (not dismissed)
74
- if (event.type === 'set' && selectedDate) {
75
- onChange(selectedDate);
76
- }
77
- };
78
- /**
79
- * Format date based on mode
80
- * Uses native Date formatting (locale-aware)
81
- */
82
- const formatDate = (date) => {
83
- if (mode === 'time') {
84
- // Format time only
85
- return date.toLocaleTimeString([], {
86
- hour: '2-digit',
87
- minute: '2-digit'
88
- });
89
- }
90
- if (mode === 'datetime') {
91
- // Format date + time
92
- const dateStr = date.toLocaleDateString([], {
93
- year: 'numeric',
94
- month: 'short',
95
- day: 'numeric',
96
- });
97
- const timeStr = date.toLocaleTimeString([], {
98
- hour: '2-digit',
99
- minute: '2-digit'
100
- });
101
- return `${dateStr} ${timeStr}`;
102
- }
103
- // Format date only
104
- return date.toLocaleDateString([], {
105
- year: 'numeric',
106
- month: 'long',
107
- day: 'numeric',
108
- });
109
- };
110
- /**
111
- * Determine icon color based on state
112
- */
113
- const getIconColor = () => {
114
- if (disabled)
115
- return 'secondary';
116
- if (error)
117
- return 'error';
118
- return 'primary';
119
- };
120
- const styles = getStyles(tokens, height, insets);
121
- return (<View style={styles.container} testID={testID}>
122
- {label && (<Text style={styles.label} testID={testID ? `${testID}-label` : undefined}>
123
- {label}
124
- </Text>)}
125
-
126
- <TouchableOpacity style={[
127
- styles.button,
128
- error ? styles.buttonError : undefined,
129
- disabled ? styles.buttonDisabled : undefined,
130
- ]} onPress={() => !disabled && setShow(true)} disabled={disabled} testID={testID ? `${testID}-button` : undefined} accessibilityLabel={label || placeholder} accessibilityRole="button" accessibilityState={{ disabled }}>
131
- <AtomicIcon name="calendar" color={getIconColor()} size="md"/>
132
- <Text style={[
133
- styles.text,
134
- disabled ? styles.textDisabled : undefined,
135
- error ? styles.textError : undefined,
136
- ]}>
137
- {value ? formatDate(value) : placeholder}
138
- </Text>
139
- </TouchableOpacity>
140
-
141
- {error && (<Text style={styles.errorText} testID={testID ? `${testID}-error` : undefined}>
142
- {error}
143
- </Text>)}
144
-
145
- {/* Universal DatePicker - Works across iOS, Android, Web */}
146
- {show && (<Modal transparent animationType={isTabletDevice ? 'fade' : 'slide'} visible={show} onRequestClose={() => setShow(false)}>
147
- <TouchableOpacity style={styles.modalOverlay} activeOpacity={1} onPress={() => setShow(false)} accessibilityLabel="Close date picker" accessibilityRole="button">
148
- <View style={styles.pickerContainer} onStartShouldSetResponder={() => true}>
149
- <DateTimePicker value={value || new Date()} mode={mode} display="spinner" onChange={handleChange} minimumDate={minimumDate} maximumDate={maximumDate} testID={testID ? `${testID}-picker` : undefined}/>
150
- <View style={styles.buttonContainer}>
151
- <TouchableOpacity style={styles.doneButton} onPress={() => setShow(false)} testID={testID ? `${testID}-done` : undefined} accessibilityLabel="Done" accessibilityRole="button">
152
- <Text style={styles.doneText}>Done</Text>
153
- </TouchableOpacity>
154
- </View>
155
- </View>
156
- </TouchableOpacity>
157
- </Modal>)}
158
- </View>);
159
- };
160
- /**
161
- * Get component styles based on design tokens
162
- */
163
- const getStyles = (tokens, height, insets) => {
164
- // Responsive button sizing based on device height
165
- const buttonMinWidth = height <= 667 ? Math.min(height * 0.25, 150) : 200;
166
- return StyleSheet.create({
167
- container: {
168
- marginBottom: tokens.spacing.md,
169
- },
170
- label: {
171
- fontSize: tokens.typography.bodyMedium.fontSize,
172
- fontWeight: tokens.typography.semibold,
173
- color: tokens.colors.textPrimary,
174
- marginBottom: tokens.spacing.sm,
175
- },
176
- button: {
177
- flexDirection: 'row',
178
- alignItems: 'center',
179
- backgroundColor: tokens.colors.surface,
180
- borderWidth: 1,
181
- borderColor: tokens.colors.border,
182
- borderRadius: tokens.borders.radius.lg,
183
- paddingHorizontal: tokens.spacing.md,
184
- paddingVertical: tokens.spacing.md,
185
- gap: tokens.spacing.sm,
186
- minHeight: 48, // Apple HIG minimum touch target
187
- },
188
- buttonError: {
189
- borderColor: tokens.colors.error,
190
- borderWidth: tokens.borders.width.medium,
191
- },
192
- buttonDisabled: {
193
- backgroundColor: tokens.colors.surfaceDisabled,
194
- opacity: tokens.opacity.disabled,
195
- },
196
- text: {
197
- flex: 1,
198
- fontSize: tokens.typography.bodyLarge.fontSize,
199
- color: tokens.colors.textPrimary,
200
- },
201
- textDisabled: {
202
- color: tokens.colors.textDisabled,
203
- },
204
- textError: {
205
- color: tokens.colors.error,
206
- },
207
- errorText: {
208
- fontSize: tokens.typography.bodySmall.fontSize,
209
- color: tokens.colors.error,
210
- marginTop: tokens.spacing.xs,
211
- marginLeft: tokens.spacing.xs,
212
- },
213
- modalOverlay: {
214
- flex: 1,
215
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
216
- justifyContent: 'flex-start',
217
- },
218
- pickerContainer: {
219
- backgroundColor: tokens.colors.surface,
220
- borderTopLeftRadius: tokens.borders.radius.xl,
221
- borderTopRightRadius: tokens.borders.radius.xl,
222
- paddingTop: tokens.spacing.lg,
223
- paddingBottom: Math.max(insets.bottom + tokens.spacing.md, tokens.spacing.xl),
224
- },
225
- buttonContainer: {
226
- alignItems: 'center',
227
- marginTop: tokens.spacing.md,
228
- paddingHorizontal: tokens.spacing.lg,
229
- },
230
- doneButton: {
231
- backgroundColor: tokens.colors.primary,
232
- paddingHorizontal: tokens.spacing.xl,
233
- paddingVertical: tokens.spacing.sm,
234
- borderRadius: tokens.borders.radius.lg,
235
- minWidth: buttonMinWidth,
236
- alignItems: 'center',
237
- minHeight: 44, // Apple HIG minimum touch target
238
- },
239
- doneText: {
240
- color: tokens.colors.onPrimary,
241
- fontSize: tokens.typography.bodyLarge.fontSize,
242
- fontWeight: tokens.typography.semibold,
243
- },
244
- });
245
- };
246
- //# sourceMappingURL=AtomicDatePicker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AtomicDatePicker.js","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicDatePicker.tsx"],"names":[],"mappings":"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"}
@@ -1,45 +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
- import React from 'react';
18
- import { ViewStyle } from 'react-native';
19
- export interface AtomicDividerProps {
20
- /** Divider orientation */
21
- orientation?: 'horizontal' | 'vertical';
22
- /** Divider thickness */
23
- thickness?: 'thin' | 'medium' | 'thick';
24
- /** Divider color */
25
- color?: string;
26
- /** Divider length (for horizontal: width, for vertical: height) */
27
- length?: number | string;
28
- /** Margin around the divider */
29
- margin?: number;
30
- /** Margin top */
31
- marginTop?: number;
32
- /** Margin bottom */
33
- marginBottom?: number;
34
- /** Margin left */
35
- marginLeft?: number;
36
- /** Margin right */
37
- marginRight?: number;
38
- /** Style overrides */
39
- style?: ViewStyle;
40
- /** Test ID for testing */
41
- testID?: string;
42
- }
43
- export declare const AtomicDivider: React.FC<AtomicDividerProps>;
44
- export default AtomicDivider;
45
- //# sourceMappingURL=AtomicDivider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AtomicDivider.d.ts","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicDivider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAO3D,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqDtD,CAAC;AAMF,eAAe,aAAa,CAAC"}
@@ -1,58 +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
- import React from 'react';
18
- import { View } from 'react-native';
19
- import { useAppDesignTokens } from '@umituz/react-native-theme';
20
- // =============================================================================
21
- // COMPONENT IMPLEMENTATION
22
- // =============================================================================
23
- export const AtomicDivider = ({ orientation = 'horizontal', thickness = 'thin', color, length, margin, marginTop, marginBottom, marginLeft, marginRight, style, testID, }) => {
24
- const tokens = useAppDesignTokens();
25
- // Thickness mapping
26
- const thicknessMap = {
27
- thin: 1,
28
- medium: 2,
29
- thick: 4,
30
- };
31
- const dividerThickness = thicknessMap[thickness];
32
- const dividerColor = color || tokens.colors.border;
33
- // Compute final length values with proper type handling
34
- const finalLength = length !== undefined ? length : (orientation === 'horizontal' ? '100%' : 20);
35
- // Base styles for all dividers
36
- const baseStyle = {
37
- backgroundColor: dividerColor,
38
- margin: margin,
39
- marginTop: marginTop,
40
- marginBottom: marginBottom,
41
- marginLeft: marginLeft,
42
- marginRight: marginRight,
43
- };
44
- // Orientation-specific styles with explicit type casting
45
- const orientationStyle = (orientation === 'horizontal' ? {
46
- width: finalLength,
47
- height: dividerThickness,
48
- } : {
49
- width: dividerThickness,
50
- height: finalLength,
51
- });
52
- return (<View style={[baseStyle, orientationStyle, style]} testID={testID}/>);
53
- };
54
- // =============================================================================
55
- // EXPORTS
56
- // =============================================================================
57
- export default AtomicDivider;
58
- //# sourceMappingURL=AtomicDivider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AtomicDivider.js","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicDivider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAyB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AA+BhE,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,WAAW,GAAG,YAAY,EAC1B,SAAS,GAAG,MAAM,EAClB,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,KAAK,EACL,MAAM,GACP,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IAEpC,oBAAoB;IACpB,MAAM,YAAY,GAAG;QACnB,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAEnD,wDAAwD;IACxD,MAAM,WAAW,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjG,+BAA+B;IAC/B,MAAM,SAAS,GAAc;QAC3B,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,SAAS;QACpB,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,WAAW;KACzB,CAAC;IAEF,yDAAyD;IACzD,MAAM,gBAAgB,GAAc,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC;QAClE,KAAK,EAAE,WAAiC;QACxC,MAAM,EAAE,gBAAgB;KACzB,CAAC,CAAC,CAAC;QACF,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,WAAkC;KAC3C,CAAc,CAAC;IAEhB,OAAO,CACL,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAC5C,MAAM,CAAC,CAAC,MAAM,CAAC,EACf,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,eAAe,aAAa,CAAC"}
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { AtomicFabProps } from './fab/types';
3
- import { FAB_SIZES, getFabVariants, getFabIconSize, getFabBorder } from './fab/styles/fabStyles';
4
- export type { FabSize, FabVariant, FabVariantConfig, FabSizeConfig, AtomicFabProps } from './fab/types';
5
- export { FAB_SIZES, getFabVariants, getFabIconSize, getFabBorder };
6
- /**
7
- * AtomicFab - Floating Action Button Component
8
- *
9
- * A Material Design 3 compliant FAB component for primary actions.
10
- * Follows CLAUDE.md standards for responsive positioning.
11
- *
12
- * @example
13
- * ```tsx
14
- * // IMPORTANT: FAB must be used at screen level, NOT inside ScrollView
15
- * <ScreenLayout>
16
- * <ScrollView>
17
- * {/* Your content *\/}
18
- * </ScrollView>
19
- * <AtomicFab
20
- * icon="add"
21
- * onPress={handleAddItem}
22
- * variant="primary"
23
- * size="md"
24
- * />
25
- * </ScreenLayout>
26
- * ```
27
- *
28
- * Features:
29
- * - Material Design 3 sizes (sm: 40px, md: 56px, lg: 72px)
30
- * - Three variants: primary, secondary, surface
31
- * - Responsive positioning (above tab bar, safe area aware)
32
- * - Disabled state with opacity
33
- * - Theme-aware colors from design tokens
34
- * - Border for depth (no shadows per CLAUDE.md)
35
- */
36
- export declare const AtomicFab: React.FC<AtomicFabProps>;
37
- //# sourceMappingURL=AtomicFab.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AtomicFab.d.ts","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicFab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmD9C,CAAC"}
@@ -1,68 +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 { FAB_SIZES, getFabVariants, getFabIconSize, getFabBorder, } from './fab/styles/fabStyles';
7
- export { FAB_SIZES, getFabVariants, getFabIconSize, getFabBorder };
8
- /**
9
- * AtomicFab - Floating Action Button Component
10
- *
11
- * A Material Design 3 compliant FAB component for primary actions.
12
- * Follows CLAUDE.md standards for responsive positioning.
13
- *
14
- * @example
15
- * ```tsx
16
- * // IMPORTANT: FAB must be used at screen level, NOT inside ScrollView
17
- * <ScreenLayout>
18
- * <ScrollView>
19
- * {/* Your content *\/}
20
- * </ScrollView>
21
- * <AtomicFab
22
- * icon="add"
23
- * onPress={handleAddItem}
24
- * variant="primary"
25
- * size="md"
26
- * />
27
- * </ScreenLayout>
28
- * ```
29
- *
30
- * Features:
31
- * - Material Design 3 sizes (sm: 40px, md: 56px, lg: 72px)
32
- * - Three variants: primary, secondary, surface
33
- * - Responsive positioning (above tab bar, safe area aware)
34
- * - Disabled state with opacity
35
- * - Theme-aware colors from design tokens
36
- * - Border for depth (no shadows per CLAUDE.md)
37
- */
38
- export const AtomicFab = ({ icon, onPress, variant = 'primary', size = 'md', disabled = false, style, testID, accessibilityLabel, }) => {
39
- const tokens = useAppDesignTokens();
40
- const responsive = useResponsive();
41
- const isDisabled = disabled;
42
- // Get configurations
43
- const sizeConfig = FAB_SIZES[size];
44
- const variants = getFabVariants(tokens);
45
- const variantConfig = variants[variant];
46
- const iconSize = getFabIconSize(size);
47
- // Combine styles
48
- const fabStyle = StyleSheet.flatten([
49
- {
50
- position: 'absolute',
51
- bottom: responsive.fabPosition.bottom,
52
- right: responsive.fabPosition.right,
53
- width: sizeConfig.width,
54
- height: sizeConfig.height,
55
- borderRadius: sizeConfig.borderRadius,
56
- backgroundColor: variantConfig.backgroundColor,
57
- alignItems: 'center',
58
- justifyContent: 'center',
59
- },
60
- getFabBorder(tokens),
61
- isDisabled ? { opacity: tokens.opacity.disabled } : undefined,
62
- style, // Custom style override
63
- ]);
64
- return (<TouchableOpacity style={fabStyle} onPress={onPress} disabled={isDisabled} activeOpacity={0.7} testID={testID} accessibilityLabel={accessibilityLabel || `${icon} button`} accessibilityRole="button">
65
- <AtomicIcon name={icon} size={iconSize} customColor={variantConfig.iconColor}/>
66
- </TouchableOpacity>);
67
- };
68
- //# sourceMappingURL=AtomicFab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AtomicFab.js","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicFab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAClD,IAAI,EACJ,OAAO,EACP,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,MAAM,EACN,kBAAkB,GACnB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,QAAQ,CAAC;IAE5B,qBAAqB;IACrB,MAAM,UAAU,GAAG,SAAS,CAAC,IAA0B,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAA8C,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,cAAc,CAAC,IAA0B,CAAC,CAAC;IAE5D,iBAAiB;IACjB,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC;YACE,QAAQ,EAAE,UAAmB;YAC7B,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM;YACrC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK;YACnC,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,eAAe,EAAE,aAAa,CAAC,eAAe;YAC9C,UAAU,EAAE,QAAiB;YAC7B,cAAc,EAAE,QAAiB;SAClC;QACD,YAAY,CAAC,MAAM,CAAC;QACpB,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7D,KAAK,EAAE,wBAAwB;KAChC,CAAC,CAAC;IAEH,OAAO,CACL,CAAC,gBAAgB,CACf,KAAK,CAAC,CAAC,QAAQ,CAAC,CAChB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,kBAAkB,CAAC,CAAC,kBAAkB,IAAI,GAAG,IAAI,SAAS,CAAC,CAC3D,iBAAiB,CAAC,QAAQ,CAE1B;MAAA,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,EAC/E;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { AtomicFilterProps } from './filter/types';
3
- export type { FilterOption, AtomicFilterProps } from './filter/types';
4
- export { getFilterContainerStyle, getClearAllContainerStyle, getScrollContentContainerStyle, } from './filter/styles/filterStyles';
5
- /**
6
- * AtomicFilter - Horizontal Filter Chip Component
7
- *
8
- * A Material Design 3 compliant filter component using chip selection.
9
- * Supports single and multi-select modes with "Clear All" functionality.
10
- *
11
- * @example
12
- * ```tsx
13
- * const [selectedFilters, setSelectedFilters] = useState<string[]>([]);
14
- *
15
- * <AtomicFilter
16
- * options={[
17
- * { id: 'active', label: 'Active', icon: 'check-circle' },
18
- * { id: 'completed', label: 'Completed', icon: 'check' },
19
- * { id: 'pending', label: 'Pending', icon: 'clock' },
20
- * ]}
21
- * selectedIds={selectedFilters}
22
- * onSelectionChange={setSelectedFilters}
23
- * multiSelect={true}
24
- * showClearAll={true}
25
- * />
26
- * ```
27
- *
28
- * Features:
29
- * - Horizontal scrollable filter chips
30
- * - Single/Multi-select modes
31
- * - Clear all button (when filters active)
32
- * - Theme-aware colors from design tokens
33
- * - Icon support per filter option
34
- * - Fully controlled component
35
- */
36
- export declare const AtomicFilter: React.FC<AtomicFilterProps>;
37
- //# sourceMappingURL=AtomicFilter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AtomicFilter.d.ts","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicFilter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,iBAAiB,EAAgB,MAAM,gBAAgB,CAAC;AAOjE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsGpD,CAAC"}
@@ -1,104 +0,0 @@
1
- import React from 'react';
2
- import { ScrollView, View, TouchableOpacity } from 'react-native';
3
- import { useAppDesignTokens } from '@umituz/react-native-theme';
4
- import { AtomicChip } from './AtomicChip';
5
- import { AtomicText } from './AtomicText';
6
- import { AtomicIcon } from './AtomicIcon';
7
- import { getFilterContainerStyle, getClearAllContainerStyle, getScrollContentContainerStyle, } from './filter/styles/filterStyles';
8
- export { getFilterContainerStyle, getClearAllContainerStyle, getScrollContentContainerStyle, } from './filter/styles/filterStyles';
9
- /**
10
- * AtomicFilter - Horizontal Filter Chip Component
11
- *
12
- * A Material Design 3 compliant filter component using chip selection.
13
- * Supports single and multi-select modes with "Clear All" functionality.
14
- *
15
- * @example
16
- * ```tsx
17
- * const [selectedFilters, setSelectedFilters] = useState<string[]>([]);
18
- *
19
- * <AtomicFilter
20
- * options={[
21
- * { id: 'active', label: 'Active', icon: 'check-circle' },
22
- * { id: 'completed', label: 'Completed', icon: 'check' },
23
- * { id: 'pending', label: 'Pending', icon: 'clock' },
24
- * ]}
25
- * selectedIds={selectedFilters}
26
- * onSelectionChange={setSelectedFilters}
27
- * multiSelect={true}
28
- * showClearAll={true}
29
- * />
30
- * ```
31
- *
32
- * Features:
33
- * - Horizontal scrollable filter chips
34
- * - Single/Multi-select modes
35
- * - Clear all button (when filters active)
36
- * - Theme-aware colors from design tokens
37
- * - Icon support per filter option
38
- * - Fully controlled component
39
- */
40
- export const AtomicFilter = ({ options, selectedIds, onSelectionChange, multiSelect = true, showClearAll = true, variant = 'outlined', color = 'primary', size = 'md', style, testID, }) => {
41
- const tokens = useAppDesignTokens();
42
- /**
43
- * Handle filter chip press
44
- */
45
- const handleFilterPress = (optionId) => {
46
- if (multiSelect) {
47
- // Multi-select mode: Toggle selection
48
- if (selectedIds.includes(optionId)) {
49
- // Deselect
50
- onSelectionChange(selectedIds.filter(id => id !== optionId));
51
- }
52
- else {
53
- // Select
54
- onSelectionChange([...selectedIds, optionId]);
55
- }
56
- }
57
- else {
58
- // Single-select mode: Replace selection
59
- if (selectedIds.includes(optionId)) {
60
- // Deselect (clear selection)
61
- onSelectionChange([]);
62
- }
63
- else {
64
- // Select (only this one)
65
- onSelectionChange([optionId]);
66
- }
67
- }
68
- };
69
- /**
70
- * Handle clear all button press
71
- */
72
- const handleClearAll = () => {
73
- onSelectionChange([]);
74
- };
75
- const hasActiveFilters = selectedIds.length > 0;
76
- return (<ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={getScrollContentContainerStyle()} style={[style]} testID={testID}>
77
- <View style={getFilterContainerStyle()}>
78
- {options.map((option) => {
79
- const isSelected = selectedIds.includes(option.id);
80
- return (<AtomicChip key={option.id} variant={isSelected ? 'filled' : variant} color={color} size={size} leadingIcon={option.icon} selected={isSelected} clickable={true} onPress={() => handleFilterPress(option.id)} testID={`filter-chip-${option.id}`}>
81
- {option.label}
82
- </AtomicChip>);
83
- })}
84
-
85
- {/* Clear All Button */}
86
- {showClearAll && hasActiveFilters && (<TouchableOpacity onPress={handleClearAll} style={[
87
- getClearAllContainerStyle(),
88
- {
89
- backgroundColor: tokens.colors.surfaceVariant,
90
- borderWidth: 1,
91
- borderColor: tokens.colors.outline,
92
- }
93
- ]} testID="clear-all-button">
94
- <View style={{ flexDirection: 'row', alignItems: 'center', gap: tokens.spacing.xs }}>
95
- <AtomicIcon name="X" size="xs" color="surfaceVariant"/>
96
- <AtomicText type="labelSmall" style={{ color: tokens.colors.textSecondary }}>
97
- Clear All
98
- </AtomicText>
99
- </View>
100
- </TouchableOpacity>)}
101
- </View>
102
- </ScrollView>);
103
- };
104
- //# sourceMappingURL=AtomicFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AtomicFilter.js","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicFilter.tsx"],"names":[],"mappings":"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"}