@umituz/react-native-design-system 1.3.1 → 1.3.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 (349) hide show
  1. package/lib/domains/icons/domain/config/IconLibraryConfig.d.ts +91 -0
  2. package/lib/domains/icons/domain/config/IconLibraryConfig.d.ts.map +1 -0
  3. package/lib/domains/icons/domain/config/IconLibraryConfig.js +85 -0
  4. package/lib/domains/icons/domain/config/IconLibraryConfig.js.map +1 -0
  5. package/lib/domains/icons/domain/entities/Icon.d.ts +111 -0
  6. package/lib/domains/icons/domain/entities/Icon.d.ts.map +1 -0
  7. package/lib/domains/icons/domain/entities/Icon.js +87 -0
  8. package/lib/domains/icons/domain/entities/Icon.js.map +1 -0
  9. package/lib/domains/icons/domain/interfaces/IIconAdapter.d.ts +114 -0
  10. package/lib/domains/icons/domain/interfaces/IIconAdapter.d.ts.map +1 -0
  11. package/lib/domains/icons/domain/interfaces/IIconAdapter.js +17 -0
  12. package/lib/domains/icons/domain/interfaces/IIconAdapter.js.map +1 -0
  13. package/lib/domains/icons/index.d.ts +84 -0
  14. package/lib/domains/icons/index.d.ts.map +1 -0
  15. package/lib/domains/icons/index.js +89 -0
  16. package/lib/domains/icons/index.js.map +1 -0
  17. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.d.ts +24 -0
  18. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.d.ts.map +1 -0
  19. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.js +85 -0
  20. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.js.map +1 -0
  21. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.d.ts +23 -0
  22. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.d.ts.map +1 -0
  23. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.js +178 -0
  24. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.js.map +1 -0
  25. package/lib/domains/icons/presentation/components/Icon.d.ts +42 -0
  26. package/lib/domains/icons/presentation/components/Icon.d.ts.map +1 -0
  27. package/lib/domains/icons/presentation/components/Icon.js +86 -0
  28. package/lib/domains/icons/presentation/components/Icon.js.map +1 -0
  29. package/lib/domains/icons/presentation/hooks/useIconLibrary.d.ts +38 -0
  30. package/lib/domains/icons/presentation/hooks/useIconLibrary.d.ts.map +1 -0
  31. package/lib/domains/icons/presentation/hooks/useIconLibrary.js +114 -0
  32. package/lib/domains/icons/presentation/hooks/useIconLibrary.js.map +1 -0
  33. package/lib/index.d.ts +66 -0
  34. package/lib/index.d.ts.map +1 -0
  35. package/lib/index.js +106 -0
  36. package/lib/index.js.map +1 -0
  37. package/lib/infrastructure/theme/globalThemeStore.d.ts +42 -0
  38. package/lib/infrastructure/theme/globalThemeStore.d.ts.map +1 -0
  39. package/lib/infrastructure/theme/globalThemeStore.js +38 -0
  40. package/lib/infrastructure/theme/globalThemeStore.js.map +1 -0
  41. package/lib/presentation/atoms/AtomicAvatar.d.ts +48 -0
  42. package/lib/presentation/atoms/AtomicAvatar.d.ts.map +1 -0
  43. package/lib/presentation/atoms/AtomicAvatar.js +85 -0
  44. package/lib/presentation/atoms/AtomicAvatar.js.map +1 -0
  45. package/lib/presentation/atoms/AtomicAvatarGroup.d.ts +56 -0
  46. package/lib/presentation/atoms/AtomicAvatarGroup.d.ts.map +1 -0
  47. package/lib/presentation/atoms/AtomicAvatarGroup.js +83 -0
  48. package/lib/presentation/atoms/AtomicAvatarGroup.js.map +1 -0
  49. package/lib/presentation/atoms/AtomicBadge.d.ts +42 -0
  50. package/lib/presentation/atoms/AtomicBadge.d.ts.map +1 -0
  51. package/lib/presentation/atoms/AtomicBadge.js +168 -0
  52. package/lib/presentation/atoms/AtomicBadge.js.map +1 -0
  53. package/lib/presentation/atoms/AtomicButton.d.ts +22 -0
  54. package/lib/presentation/atoms/AtomicButton.d.ts.map +1 -0
  55. package/lib/presentation/atoms/AtomicButton.js +193 -0
  56. package/lib/presentation/atoms/AtomicButton.js.map +1 -0
  57. package/lib/presentation/atoms/AtomicCard.d.ts +15 -0
  58. package/lib/presentation/atoms/AtomicCard.d.ts.map +1 -0
  59. package/lib/presentation/atoms/AtomicCard.js +89 -0
  60. package/lib/presentation/atoms/AtomicCard.js.map +1 -0
  61. package/lib/presentation/atoms/AtomicChip.d.ts +53 -0
  62. package/lib/presentation/atoms/AtomicChip.d.ts.map +1 -0
  63. package/lib/presentation/atoms/AtomicChip.js +131 -0
  64. package/lib/presentation/atoms/AtomicChip.js.map +1 -0
  65. package/lib/presentation/atoms/AtomicDatePicker.d.ts +75 -0
  66. package/lib/presentation/atoms/AtomicDatePicker.d.ts.map +1 -0
  67. package/lib/presentation/atoms/AtomicDatePicker.js +246 -0
  68. package/lib/presentation/atoms/AtomicDatePicker.js.map +1 -0
  69. package/lib/presentation/atoms/AtomicDivider.d.ts +45 -0
  70. package/lib/presentation/atoms/AtomicDivider.d.ts.map +1 -0
  71. package/lib/presentation/atoms/AtomicDivider.js +58 -0
  72. package/lib/presentation/atoms/AtomicDivider.js.map +1 -0
  73. package/lib/presentation/atoms/AtomicFab.d.ts +38 -0
  74. package/lib/presentation/atoms/AtomicFab.d.ts.map +1 -0
  75. package/lib/presentation/atoms/AtomicFab.js +69 -0
  76. package/lib/presentation/atoms/AtomicFab.js.map +1 -0
  77. package/lib/presentation/atoms/AtomicFilter.d.ts +37 -0
  78. package/lib/presentation/atoms/AtomicFilter.d.ts.map +1 -0
  79. package/lib/presentation/atoms/AtomicFilter.js +104 -0
  80. package/lib/presentation/atoms/AtomicFilter.js.map +1 -0
  81. package/lib/presentation/atoms/AtomicFormError.d.ts +30 -0
  82. package/lib/presentation/atoms/AtomicFormError.d.ts.map +1 -0
  83. package/lib/presentation/atoms/AtomicFormError.js +64 -0
  84. package/lib/presentation/atoms/AtomicFormError.js.map +1 -0
  85. package/lib/presentation/atoms/AtomicIcon.d.ts +36 -0
  86. package/lib/presentation/atoms/AtomicIcon.d.ts.map +1 -0
  87. package/lib/presentation/atoms/AtomicIcon.js +30 -0
  88. package/lib/presentation/atoms/AtomicIcon.js.map +1 -0
  89. package/lib/presentation/atoms/AtomicImage.d.ts +40 -0
  90. package/lib/presentation/atoms/AtomicImage.d.ts.map +1 -0
  91. package/lib/presentation/atoms/AtomicImage.js +92 -0
  92. package/lib/presentation/atoms/AtomicImage.js.map +1 -0
  93. package/lib/presentation/atoms/AtomicInput.d.ts +71 -0
  94. package/lib/presentation/atoms/AtomicInput.d.ts.map +1 -0
  95. package/lib/presentation/atoms/AtomicInput.js +196 -0
  96. package/lib/presentation/atoms/AtomicInput.js.map +1 -0
  97. package/lib/presentation/atoms/AtomicNumberInput.d.ts +69 -0
  98. package/lib/presentation/atoms/AtomicNumberInput.d.ts.map +1 -0
  99. package/lib/presentation/atoms/AtomicNumberInput.js +125 -0
  100. package/lib/presentation/atoms/AtomicNumberInput.js.map +1 -0
  101. package/lib/presentation/atoms/AtomicPicker.d.ts +52 -0
  102. package/lib/presentation/atoms/AtomicPicker.d.ts.map +1 -0
  103. package/lib/presentation/atoms/AtomicPicker.js +299 -0
  104. package/lib/presentation/atoms/AtomicPicker.js.map +1 -0
  105. package/lib/presentation/atoms/AtomicProgress.d.ts +47 -0
  106. package/lib/presentation/atoms/AtomicProgress.d.ts.map +1 -0
  107. package/lib/presentation/atoms/AtomicProgress.js +81 -0
  108. package/lib/presentation/atoms/AtomicProgress.js.map +1 -0
  109. package/lib/presentation/atoms/AtomicSearchBar.d.ts +19 -0
  110. package/lib/presentation/atoms/AtomicSearchBar.d.ts.map +1 -0
  111. package/lib/presentation/atoms/AtomicSearchBar.js +46 -0
  112. package/lib/presentation/atoms/AtomicSearchBar.js.map +1 -0
  113. package/lib/presentation/atoms/AtomicSkeleton.d.ts +43 -0
  114. package/lib/presentation/atoms/AtomicSkeleton.d.ts.map +1 -0
  115. package/lib/presentation/atoms/AtomicSkeleton.js +84 -0
  116. package/lib/presentation/atoms/AtomicSkeleton.js.map +1 -0
  117. package/lib/presentation/atoms/AtomicSort.d.ts +72 -0
  118. package/lib/presentation/atoms/AtomicSort.d.ts.map +1 -0
  119. package/lib/presentation/atoms/AtomicSort.js +77 -0
  120. package/lib/presentation/atoms/AtomicSort.js.map +1 -0
  121. package/lib/presentation/atoms/AtomicSwitch.d.ts +43 -0
  122. package/lib/presentation/atoms/AtomicSwitch.d.ts.map +1 -0
  123. package/lib/presentation/atoms/AtomicSwitch.js +104 -0
  124. package/lib/presentation/atoms/AtomicSwitch.js.map +1 -0
  125. package/lib/presentation/atoms/AtomicText.d.ts +14 -0
  126. package/lib/presentation/atoms/AtomicText.d.ts.map +1 -0
  127. package/lib/presentation/atoms/AtomicText.js +36 -0
  128. package/lib/presentation/atoms/AtomicText.js.map +1 -0
  129. package/lib/presentation/atoms/AtomicTextArea.d.ts +85 -0
  130. package/lib/presentation/atoms/AtomicTextArea.d.ts.map +1 -0
  131. package/lib/presentation/atoms/AtomicTextArea.js +196 -0
  132. package/lib/presentation/atoms/AtomicTextArea.js.map +1 -0
  133. package/lib/presentation/atoms/AtomicTouchable.d.ts +87 -0
  134. package/lib/presentation/atoms/AtomicTouchable.d.ts.map +1 -0
  135. package/lib/presentation/atoms/AtomicTouchable.js +151 -0
  136. package/lib/presentation/atoms/AtomicTouchable.js.map +1 -0
  137. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts +23 -0
  138. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts.map +1 -0
  139. package/lib/presentation/atoms/fab/styles/fabStyles.js +63 -0
  140. package/lib/presentation/atoms/fab/styles/fabStyles.js.map +1 -0
  141. package/lib/presentation/atoms/fab/types/index.d.ts +76 -0
  142. package/lib/presentation/atoms/fab/types/index.d.ts.map +1 -0
  143. package/lib/presentation/atoms/fab/types/index.js +2 -0
  144. package/lib/presentation/atoms/fab/types/index.js.map +1 -0
  145. package/lib/presentation/atoms/filter/styles/filterStyles.d.ts +15 -0
  146. package/lib/presentation/atoms/filter/styles/filterStyles.d.ts.map +1 -0
  147. package/lib/presentation/atoms/filter/styles/filterStyles.js +29 -0
  148. package/lib/presentation/atoms/filter/styles/filterStyles.js.map +1 -0
  149. package/lib/presentation/atoms/filter/types/index.d.ts +76 -0
  150. package/lib/presentation/atoms/filter/types/index.d.ts.map +1 -0
  151. package/lib/presentation/atoms/filter/types/index.js +2 -0
  152. package/lib/presentation/atoms/filter/types/index.js.map +1 -0
  153. package/lib/presentation/atoms/index.d.ts +276 -0
  154. package/lib/presentation/atoms/index.d.ts.map +1 -0
  155. package/lib/presentation/atoms/index.js +149 -0
  156. package/lib/presentation/atoms/index.js.map +1 -0
  157. package/lib/presentation/atoms/input/hooks/useInputState.d.ts +7 -0
  158. package/lib/presentation/atoms/input/hooks/useInputState.d.ts.map +1 -0
  159. package/lib/presentation/atoms/input/hooks/useInputState.js +13 -0
  160. package/lib/presentation/atoms/input/hooks/useInputState.js.map +1 -0
  161. package/lib/presentation/atoms/input/styles/inputStyles.d.ts +13 -0
  162. package/lib/presentation/atoms/input/styles/inputStyles.d.ts.map +1 -0
  163. package/lib/presentation/atoms/input/styles/inputStyles.js +59 -0
  164. package/lib/presentation/atoms/input/styles/inputStyles.js.map +1 -0
  165. package/lib/presentation/atoms/input/types/index.d.ts +24 -0
  166. package/lib/presentation/atoms/input/types/index.d.ts.map +1 -0
  167. package/lib/presentation/atoms/input/types/index.js +2 -0
  168. package/lib/presentation/atoms/input/types/index.js.map +1 -0
  169. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts +96 -0
  170. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts.map +1 -0
  171. package/lib/presentation/atoms/picker/styles/pickerStyles.js +177 -0
  172. package/lib/presentation/atoms/picker/styles/pickerStyles.js.map +1 -0
  173. package/lib/presentation/atoms/picker/types/index.d.ts +38 -0
  174. package/lib/presentation/atoms/picker/types/index.d.ts.map +1 -0
  175. package/lib/presentation/atoms/picker/types/index.js +2 -0
  176. package/lib/presentation/atoms/picker/types/index.js.map +1 -0
  177. package/lib/presentation/atoms/touchable/styles/touchableStyles.d.ts +36 -0
  178. package/lib/presentation/atoms/touchable/styles/touchableStyles.d.ts.map +1 -0
  179. package/lib/presentation/atoms/touchable/styles/touchableStyles.js +62 -0
  180. package/lib/presentation/atoms/touchable/styles/touchableStyles.js.map +1 -0
  181. package/lib/presentation/atoms/touchable/types/index.d.ts +140 -0
  182. package/lib/presentation/atoms/touchable/types/index.d.ts.map +1 -0
  183. package/lib/presentation/atoms/touchable/types/index.js +2 -0
  184. package/lib/presentation/atoms/touchable/types/index.js.map +1 -0
  185. package/lib/presentation/hooks/useAppDesignTokens.d.ts +34 -0
  186. package/lib/presentation/hooks/useAppDesignTokens.d.ts.map +1 -0
  187. package/lib/presentation/hooks/useAppDesignTokens.js +39 -0
  188. package/lib/presentation/hooks/useAppDesignTokens.js.map +1 -0
  189. package/lib/presentation/hooks/useResponsive.d.ts +80 -0
  190. package/lib/presentation/hooks/useResponsive.d.ts.map +1 -0
  191. package/lib/presentation/hooks/useResponsive.js +82 -0
  192. package/lib/presentation/hooks/useResponsive.js.map +1 -0
  193. package/lib/presentation/loading/index.d.ts +23 -0
  194. package/lib/presentation/loading/index.d.ts.map +1 -0
  195. package/lib/presentation/loading/index.js +26 -0
  196. package/lib/presentation/loading/index.js.map +1 -0
  197. package/lib/presentation/loading/presentation/components/LoadingSpinner.d.ts +28 -0
  198. package/lib/presentation/loading/presentation/components/LoadingSpinner.d.ts.map +1 -0
  199. package/lib/presentation/loading/presentation/components/LoadingSpinner.js +77 -0
  200. package/lib/presentation/loading/presentation/components/LoadingSpinner.js.map +1 -0
  201. package/lib/presentation/loading/presentation/components/LoadingState.d.ts +39 -0
  202. package/lib/presentation/loading/presentation/components/LoadingState.d.ts.map +1 -0
  203. package/lib/presentation/loading/presentation/components/LoadingState.js +123 -0
  204. package/lib/presentation/loading/presentation/components/LoadingState.js.map +1 -0
  205. package/lib/presentation/loading/presentation/hooks/useLoading.d.ts +50 -0
  206. package/lib/presentation/loading/presentation/hooks/useLoading.d.ts.map +1 -0
  207. package/lib/presentation/loading/presentation/hooks/useLoading.js +49 -0
  208. package/lib/presentation/loading/presentation/hooks/useLoading.js.map +1 -0
  209. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts +73 -0
  210. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts.map +1 -0
  211. package/lib/presentation/molecules/AtomicConfirmationModal.js +172 -0
  212. package/lib/presentation/molecules/AtomicConfirmationModal.js.map +1 -0
  213. package/lib/presentation/molecules/EmptyState.d.ts +41 -0
  214. package/lib/presentation/molecules/EmptyState.d.ts.map +1 -0
  215. package/lib/presentation/molecules/EmptyState.js +68 -0
  216. package/lib/presentation/molecules/EmptyState.js.map +1 -0
  217. package/lib/presentation/molecules/FormField.d.ts +22 -0
  218. package/lib/presentation/molecules/FormField.d.ts.map +1 -0
  219. package/lib/presentation/molecules/FormField.js +76 -0
  220. package/lib/presentation/molecules/FormField.js.map +1 -0
  221. package/lib/presentation/molecules/GridContainer.d.ts +40 -0
  222. package/lib/presentation/molecules/GridContainer.d.ts.map +1 -0
  223. package/lib/presentation/molecules/GridContainer.js +77 -0
  224. package/lib/presentation/molecules/GridContainer.js.map +1 -0
  225. package/lib/presentation/molecules/IconContainer.d.ts +29 -0
  226. package/lib/presentation/molecules/IconContainer.d.ts.map +1 -0
  227. package/lib/presentation/molecules/IconContainer.js +60 -0
  228. package/lib/presentation/molecules/IconContainer.js.map +1 -0
  229. package/lib/presentation/molecules/LanguageSwitcher.d.ts +10 -0
  230. package/lib/presentation/molecules/LanguageSwitcher.d.ts.map +1 -0
  231. package/lib/presentation/molecules/LanguageSwitcher.js +24 -0
  232. package/lib/presentation/molecules/LanguageSwitcher.js.map +1 -0
  233. package/lib/presentation/molecules/ListItem.d.ts +5 -0
  234. package/lib/presentation/molecules/ListItem.d.ts.map +1 -0
  235. package/lib/presentation/molecules/ListItem.js +24 -0
  236. package/lib/presentation/molecules/ListItem.js.map +1 -0
  237. package/lib/presentation/molecules/ScreenHeader.d.ts +55 -0
  238. package/lib/presentation/molecules/ScreenHeader.d.ts.map +1 -0
  239. package/lib/presentation/molecules/ScreenHeader.js +94 -0
  240. package/lib/presentation/molecules/ScreenHeader.js.map +1 -0
  241. package/lib/presentation/molecules/SearchBar.d.ts +18 -0
  242. package/lib/presentation/molecules/SearchBar.d.ts.map +1 -0
  243. package/lib/presentation/molecules/SearchBar.js +47 -0
  244. package/lib/presentation/molecules/SearchBar.js.map +1 -0
  245. package/lib/presentation/molecules/SectionCard.d.ts +25 -0
  246. package/lib/presentation/molecules/SectionCard.d.ts.map +1 -0
  247. package/lib/presentation/molecules/SectionCard.js +47 -0
  248. package/lib/presentation/molecules/SectionCard.js.map +1 -0
  249. package/lib/presentation/molecules/SectionContainer.d.ts +33 -0
  250. package/lib/presentation/molecules/SectionContainer.d.ts.map +1 -0
  251. package/lib/presentation/molecules/SectionContainer.js +64 -0
  252. package/lib/presentation/molecules/SectionContainer.js.map +1 -0
  253. package/lib/presentation/molecules/SectionHeader.d.ts +37 -0
  254. package/lib/presentation/molecules/SectionHeader.d.ts.map +1 -0
  255. package/lib/presentation/molecules/SectionHeader.js +73 -0
  256. package/lib/presentation/molecules/SectionHeader.js.map +1 -0
  257. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +50 -0
  258. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts.map +1 -0
  259. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.js +115 -0
  260. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.js.map +1 -0
  261. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts +88 -0
  262. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts.map +1 -0
  263. package/lib/presentation/molecules/confirmation-modal/types/index.js +7 -0
  264. package/lib/presentation/molecules/confirmation-modal/types/index.js.map +1 -0
  265. package/lib/presentation/molecules/index.d.ts +28 -0
  266. package/lib/presentation/molecules/index.d.ts.map +1 -0
  267. package/lib/presentation/molecules/index.js +18 -0
  268. package/lib/presentation/molecules/index.js.map +1 -0
  269. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.d.ts +11 -0
  270. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.d.ts.map +1 -0
  271. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.js +6 -0
  272. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.js.map +1 -0
  273. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.d.ts +5 -0
  274. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.d.ts.map +1 -0
  275. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.js +12 -0
  276. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.js.map +1 -0
  277. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts +12 -0
  278. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts.map +1 -0
  279. package/lib/presentation/molecules/listitem/styles/listItemStyles.js +15 -0
  280. package/lib/presentation/molecules/listitem/styles/listItemStyles.js.map +1 -0
  281. package/lib/presentation/molecules/listitem/types/index.d.ts +17 -0
  282. package/lib/presentation/molecules/listitem/types/index.d.ts.map +1 -0
  283. package/lib/presentation/molecules/listitem/types/index.js +2 -0
  284. package/lib/presentation/molecules/listitem/types/index.js.map +1 -0
  285. package/lib/presentation/organisms/AppHeader.d.ts +30 -0
  286. package/lib/presentation/organisms/AppHeader.d.ts.map +1 -0
  287. package/lib/presentation/organisms/AppHeader.js +78 -0
  288. package/lib/presentation/organisms/AppHeader.js.map +1 -0
  289. package/lib/presentation/organisms/FormContainer.d.ts +76 -0
  290. package/lib/presentation/organisms/FormContainer.d.ts.map +1 -0
  291. package/lib/presentation/organisms/FormContainer.js +127 -0
  292. package/lib/presentation/organisms/FormContainer.js.map +1 -0
  293. package/lib/presentation/organisms/ScreenLayout.d.ts +99 -0
  294. package/lib/presentation/organisms/ScreenLayout.d.ts.map +1 -0
  295. package/lib/presentation/organisms/ScreenLayout.js +78 -0
  296. package/lib/presentation/organisms/ScreenLayout.js.map +1 -0
  297. package/lib/presentation/organisms/index.d.ts +16 -0
  298. package/lib/presentation/organisms/index.d.ts.map +1 -0
  299. package/lib/presentation/organisms/index.js +14 -0
  300. package/lib/presentation/organisms/index.js.map +1 -0
  301. package/lib/presentation/tokens/AppDesignTokens.d.ts +14 -0
  302. package/lib/presentation/tokens/AppDesignTokens.d.ts.map +1 -0
  303. package/lib/presentation/tokens/AppDesignTokens.js +23 -0
  304. package/lib/presentation/tokens/AppDesignTokens.js.map +1 -0
  305. package/lib/presentation/tokens/commonStyles.d.ts +122 -0
  306. package/lib/presentation/tokens/commonStyles.d.ts.map +1 -0
  307. package/lib/presentation/tokens/commonStyles.js +220 -0
  308. package/lib/presentation/tokens/commonStyles.js.map +1 -0
  309. package/lib/presentation/tokens/core/BaseTokens.d.ts +337 -0
  310. package/lib/presentation/tokens/core/BaseTokens.d.ts.map +1 -0
  311. package/lib/presentation/tokens/core/BaseTokens.js +322 -0
  312. package/lib/presentation/tokens/core/BaseTokens.js.map +1 -0
  313. package/lib/presentation/tokens/core/ColorPalette.d.ts +216 -0
  314. package/lib/presentation/tokens/core/ColorPalette.d.ts.map +1 -0
  315. package/lib/presentation/tokens/core/ColorPalette.js +330 -0
  316. package/lib/presentation/tokens/core/ColorPalette.js.map +1 -0
  317. package/lib/presentation/tokens/core/TokenFactory.d.ts +229 -0
  318. package/lib/presentation/tokens/core/TokenFactory.d.ts.map +1 -0
  319. package/lib/presentation/tokens/core/TokenFactory.js +87 -0
  320. package/lib/presentation/tokens/core/TokenFactory.js.map +1 -0
  321. package/lib/presentation/utils/platformConstants.d.ts +100 -0
  322. package/lib/presentation/utils/platformConstants.d.ts.map +1 -0
  323. package/lib/presentation/utils/platformConstants.js +114 -0
  324. package/lib/presentation/utils/platformConstants.js.map +1 -0
  325. package/lib/presentation/utils/responsive.d.ts +218 -0
  326. package/lib/presentation/utils/responsive.d.ts.map +1 -0
  327. package/lib/presentation/utils/responsive.js +452 -0
  328. package/lib/presentation/utils/responsive.js.map +1 -0
  329. package/lib/presentation/utils/variants/compound.d.ts +10 -0
  330. package/lib/presentation/utils/variants/compound.d.ts.map +1 -0
  331. package/lib/presentation/utils/variants/compound.js +16 -0
  332. package/lib/presentation/utils/variants/compound.js.map +1 -0
  333. package/lib/presentation/utils/variants/core.d.ts +15 -0
  334. package/lib/presentation/utils/variants/core.d.ts.map +1 -0
  335. package/lib/presentation/utils/variants/core.js +23 -0
  336. package/lib/presentation/utils/variants/core.js.map +1 -0
  337. package/lib/presentation/utils/variants/helpers.d.ts +5 -0
  338. package/lib/presentation/utils/variants/helpers.d.ts.map +1 -0
  339. package/lib/presentation/utils/variants/helpers.js +10 -0
  340. package/lib/presentation/utils/variants/helpers.js.map +1 -0
  341. package/lib/presentation/utils/variants.d.ts +4 -0
  342. package/lib/presentation/utils/variants.d.ts.map +1 -0
  343. package/lib/presentation/utils/variants.js +4 -0
  344. package/lib/presentation/utils/variants.js.map +1 -0
  345. package/package.json +38 -4
  346. package/src/domains/icons/domain/interfaces/IIconAdapter.ts +5 -3
  347. package/src/domains/icons/infrastructure/adapters/LucideAdapter.ts +1 -1
  348. package/src/presentation/molecules/AtomicConfirmationModal.tsx +1 -1
  349. package/src/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.ts +1 -2
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Icons Domain - Centralized Icon System
3
+ *
4
+ * 🎯 SINGLE SOURCE OF TRUTH FOR ALL ICONS
5
+ *
6
+ * Universal icon library system with easy library switching.
7
+ * Change icon library = change one config file!
8
+ *
9
+ * @domain icons
10
+ * @enabled true (All apps)
11
+ *
12
+ * ARCHITECTURE:
13
+ * ```
14
+ * domains/icons/
15
+ * ├── domain/
16
+ * │ ├── config/
17
+ * │ │ └── IconLibraryConfig.ts 🔧 Change library here!
18
+ * │ └── interfaces/
19
+ * │ └── IIconAdapter.ts Interface for adapters
20
+ * ├── infrastructure/
21
+ * │ └── adapters/
22
+ * │ ├── LucideAdapter.ts Current: Lucide (1,639 icons)
23
+ * │ ├── MaterialAdapter.ts Future: Material Icons
24
+ * │ └── FontAwesomeAdapter.ts Future: Font Awesome
25
+ * └── presentation/
26
+ * └── components/
27
+ * └── Icon.tsx Universal Icon component
28
+ * ```
29
+ *
30
+ * USAGE:
31
+ * ```typescript
32
+ * import { Icon } from '@domains/icons';
33
+ *
34
+ * // Basic usage
35
+ * <Icon name="Settings" size="md" color="primary" />
36
+ *
37
+ * // Custom size and color
38
+ * <Icon name="Heart" customSize={32} customColor="#FF0000" />
39
+ *
40
+ * // With background
41
+ * <Icon name="Info" size="lg" withBackground backgroundColor="#667eea" />
42
+ * ```
43
+ *
44
+ * 🔧 TO CHANGE ICON LIBRARY:
45
+ *
46
+ * Step 1: Update package.json
47
+ * ```json
48
+ * {
49
+ * "dependencies": {
50
+ * "new-icon-library": "^1.0.0"
51
+ * }
52
+ * }
53
+ * ```
54
+ *
55
+ * Step 2: Change CURRENT_LIBRARY in domain/config/IconLibraryConfig.ts
56
+ * ```typescript
57
+ * export const CURRENT_LIBRARY: IconLibraryType = 'material'; // Changed!
58
+ * ```
59
+ *
60
+ * Step 3: Create adapter (if needed)
61
+ * ```typescript
62
+ * // infrastructure/adapters/MaterialAdapter.ts
63
+ * export const MaterialAdapter: IIconAdapter = {
64
+ * getIconComponent: (name) => MaterialIcons[name],
65
+ * // ... implement interface
66
+ * };
67
+ * ```
68
+ *
69
+ * Step 4: Done! All apps use new library automatically ✅
70
+ *
71
+ * CURRENT LIBRARY: Lucide (1,639 icons)
72
+ * @see https://lucide.dev/icons/
73
+ *
74
+ * DEPENDENCIES:
75
+ * - lucide-react-native: ^0.468.0 (Current library)
76
+ */
77
+ // ============================================================================
78
+ // PRESENTATION LAYER - Universal Icon Component
79
+ // ============================================================================
80
+ export { Icon } from './presentation/components/Icon';
81
+ // ============================================================================
82
+ // DOMAIN LAYER - Configuration & Interfaces
83
+ // ============================================================================
84
+ export { CURRENT_LIBRARY, ICON_LIBRARY_CONFIG, getCurrentLibrary, isLucideLibrary, } from './domain/config/IconLibraryConfig';
85
+ // ============================================================================
86
+ // INFRASTRUCTURE LAYER - Adapters
87
+ // ============================================================================
88
+ export { LucideAdapter } from './infrastructure/adapters/LucideAdapter';
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domains/icons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAEH,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAQtD,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAK3C,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Lucide Icon Library Adapter
3
+ *
4
+ * Adapter for lucide-react-native library (1,639 icons).
5
+ * Implements IIconAdapter interface for seamless library switching.
6
+ *
7
+ * @library lucide-react-native
8
+ * @version ^0.468.0
9
+ * @icons 1,639
10
+ * @type outline
11
+ *
12
+ * @see https://lucide.dev/icons/
13
+ */
14
+ import { icons } from 'lucide-react-native';
15
+ import type { IIconAdapter } from '../../domain/interfaces/IIconAdapter';
16
+ /**
17
+ * Lucide Adapter Implementation
18
+ */
19
+ export declare const LucideAdapter: IIconAdapter;
20
+ /**
21
+ * Lucide icon names type (for TypeScript autocomplete)
22
+ */
23
+ export type LucideIconName = keyof typeof icons;
24
+ //# sourceMappingURL=LucideAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LucideAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/infrastructure/adapters/LucideAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,sCAAsC,CAAC;AAe9F;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,YA6D3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,KAAK,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Lucide Icon Library Adapter
3
+ *
4
+ * Adapter for lucide-react-native library (1,639 icons).
5
+ * Implements IIconAdapter interface for seamless library switching.
6
+ *
7
+ * @library lucide-react-native
8
+ * @version ^0.468.0
9
+ * @icons 1,639
10
+ * @type outline
11
+ *
12
+ * @see https://lucide.dev/icons/
13
+ */
14
+ import { icons } from 'lucide-react-native';
15
+ /**
16
+ * Size mapping: Semantic → Pixels
17
+ */
18
+ const SIZE_MAP = {
19
+ xs: 16,
20
+ sm: 20,
21
+ md: 24,
22
+ lg: 28,
23
+ xl: 32,
24
+ xxl: 40,
25
+ };
26
+ /**
27
+ * Lucide Adapter Implementation
28
+ */
29
+ export const LucideAdapter = {
30
+ /**
31
+ * Get Lucide icon component by name
32
+ */
33
+ getIconComponent: (name) => {
34
+ const IconComponent = icons[name];
35
+ if (!IconComponent) {
36
+ console.warn(`[LucideAdapter] Icon "${name}" not found in Lucide library`);
37
+ return null;
38
+ }
39
+ return IconComponent;
40
+ },
41
+ /**
42
+ * Get icon size in pixels
43
+ */
44
+ getIconSize: (size, customSize) => {
45
+ return customSize || SIZE_MAP[size];
46
+ },
47
+ /**
48
+ * Get icon color from theme
49
+ */
50
+ getIconColor: (color, tokens, customColor) => {
51
+ if (customColor)
52
+ return customColor;
53
+ const colorMap = {
54
+ primary: tokens.colors.primary,
55
+ secondary: tokens.colors.secondary,
56
+ success: tokens.colors.success,
57
+ warning: tokens.colors.warning,
58
+ error: tokens.colors.error,
59
+ info: tokens.colors.info,
60
+ onSurface: tokens.colors.onSurface,
61
+ surfaceVariant: tokens.colors.surfaceVariant,
62
+ onPrimary: tokens.colors.onPrimary,
63
+ onSecondary: tokens.colors.onSecondary,
64
+ textInverse: tokens.colors.textInverse,
65
+ };
66
+ return colorMap[color];
67
+ },
68
+ /**
69
+ * Get all available Lucide icon names
70
+ */
71
+ getAllIcons: () => {
72
+ return Object.keys(icons);
73
+ },
74
+ /**
75
+ * Check if icon exists in Lucide library
76
+ */
77
+ hasIcon: (name) => {
78
+ return name in icons;
79
+ },
80
+ /**
81
+ * Default stroke width for Lucide outline icons
82
+ */
83
+ getStrokeWidth: () => 2,
84
+ };
85
+ //# sourceMappingURL=LucideAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LucideAdapter.js","sourceRoot":"","sources":["../../../../../src/domains/icons/infrastructure/adapters/LucideAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C;;GAEG;AACH,MAAM,QAAQ,GAA6B;IACzC,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,EAAE;CACR,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC;;OAEG;IACH,gBAAgB,EAAE,CAAC,IAAY,EAAE,EAAE;QACjC,MAAM,aAAa,GAAG,KAAK,CAAC,IAA0B,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,+BAA+B,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,WAAW,EAAE,CAAC,IAAc,EAAE,UAAmB,EAAE,EAAE;QACnD,OAAO,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,YAAY,EAAE,CAAC,KAAgB,EAAE,MAAoB,EAAE,WAAoB,EAAE,EAAE;QAC7E,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QAEpC,MAAM,QAAQ,GAA8B;YAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;YAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;YACxB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;SACvC,CAAC;QAEF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW,EAAE,GAAG,EAAE;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;QACxB,OAAO,IAAI,IAAI,KAAK,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;CACxB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Icons Domain - Expo Vector Icons Registry
3
+ *
4
+ * Registry for @expo/vector-icons (Material, FontAwesome, Ionicons).
5
+ * Provides metadata and search capabilities for 1000+ icons.
6
+ *
7
+ * @domain icons
8
+ * @layer infrastructure
9
+ */
10
+ import type { IIconRegistry, IconMetadata } from '@domains/icons/domain/entities/Icon';
11
+ import { IconCategory } from '@domains/icons/domain/entities/Icon';
12
+ /**
13
+ * Expo vector icons registry
14
+ * Maps common Material Design, FontAwesome, and Ionicons
15
+ */
16
+ export declare class ExpoIconRegistry implements IIconRegistry {
17
+ private icons;
18
+ getAllIcons(): IconMetadata[];
19
+ getIconsByCategory(category: IconCategory): IconMetadata[];
20
+ searchIcons(query: string): IconMetadata[];
21
+ getIconMetadata(name: string): IconMetadata | null;
22
+ }
23
+ //# sourceMappingURL=ExpoIconRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoIconRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/infrastructure/registries/ExpoIconRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAe,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,KAAK,CAwIX;IAEF,WAAW,IAAI,YAAY,EAAE;IAI7B,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAO1D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;IAoB1C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;CAGnD"}
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Icons Domain - Expo Vector Icons Registry
3
+ *
4
+ * Registry for @expo/vector-icons (Material, FontAwesome, Ionicons).
5
+ * Provides metadata and search capabilities for 1000+ icons.
6
+ *
7
+ * @domain icons
8
+ * @layer infrastructure
9
+ */
10
+ import { IconLibrary, IconCategory } from '@domains/icons/domain/entities/Icon';
11
+ /**
12
+ * Expo vector icons registry
13
+ * Maps common Material Design, FontAwesome, and Ionicons
14
+ */
15
+ export class ExpoIconRegistry {
16
+ constructor() {
17
+ this.icons = [
18
+ // Navigation icons (Material Design)
19
+ {
20
+ name: 'home',
21
+ library: IconLibrary.MATERIAL,
22
+ category: IconCategory.NAVIGATION,
23
+ tags: ['house', 'main', 'start'],
24
+ searchTerms: ['home', 'house', 'main', 'dashboard'],
25
+ },
26
+ {
27
+ name: 'arrow-back',
28
+ library: IconLibrary.MATERIAL,
29
+ category: IconCategory.NAVIGATION,
30
+ tags: ['back', 'previous', 'return'],
31
+ searchTerms: ['arrow', 'back', 'previous', 'navigate'],
32
+ },
33
+ {
34
+ name: 'menu',
35
+ library: IconLibrary.MATERIAL,
36
+ category: IconCategory.NAVIGATION,
37
+ tags: ['hamburger', 'drawer', 'navigation'],
38
+ searchTerms: ['menu', 'hamburger', 'navigation', 'drawer'],
39
+ },
40
+ {
41
+ name: 'search',
42
+ library: IconLibrary.MATERIAL,
43
+ category: IconCategory.ACTION,
44
+ tags: ['find', 'lookup', 'query'],
45
+ searchTerms: ['search', 'find', 'lookup', 'magnify'],
46
+ },
47
+ // Action icons (Material Design)
48
+ {
49
+ name: 'add',
50
+ library: IconLibrary.MATERIAL,
51
+ category: IconCategory.ACTION,
52
+ tags: ['plus', 'create', 'new'],
53
+ searchTerms: ['add', 'plus', 'create', 'new'],
54
+ },
55
+ {
56
+ name: 'delete',
57
+ library: IconLibrary.MATERIAL,
58
+ category: IconCategory.ACTION,
59
+ tags: ['remove', 'trash', 'bin'],
60
+ searchTerms: ['delete', 'remove', 'trash', 'garbage'],
61
+ },
62
+ {
63
+ name: 'edit',
64
+ library: IconLibrary.MATERIAL,
65
+ category: IconCategory.ACTION,
66
+ tags: ['pencil', 'modify', 'update'],
67
+ searchTerms: ['edit', 'pencil', 'modify', 'write'],
68
+ },
69
+ {
70
+ name: 'settings',
71
+ library: IconLibrary.MATERIAL,
72
+ category: IconCategory.ACTION,
73
+ tags: ['gear', 'preferences', 'config'],
74
+ searchTerms: ['settings', 'gear', 'preferences', 'options'],
75
+ },
76
+ {
77
+ name: 'favorite',
78
+ library: IconLibrary.MATERIAL,
79
+ category: IconCategory.ACTION,
80
+ tags: ['heart', 'like', 'love'],
81
+ searchTerms: ['favorite', 'heart', 'like', 'love'],
82
+ },
83
+ // Social icons (FontAwesome)
84
+ {
85
+ name: 'facebook',
86
+ library: IconLibrary.FONTAWESOME,
87
+ category: IconCategory.SOCIAL,
88
+ tags: ['fb', 'social', 'network'],
89
+ searchTerms: ['facebook', 'fb', 'social', 'meta'],
90
+ },
91
+ {
92
+ name: 'twitter',
93
+ library: IconLibrary.FONTAWESOME,
94
+ category: IconCategory.SOCIAL,
95
+ tags: ['x', 'social', 'tweet'],
96
+ searchTerms: ['twitter', 'x', 'social', 'tweet'],
97
+ },
98
+ {
99
+ name: 'instagram',
100
+ library: IconLibrary.FONTAWESOME,
101
+ category: IconCategory.SOCIAL,
102
+ tags: ['ig', 'social', 'photo'],
103
+ searchTerms: ['instagram', 'ig', 'social', 'photo'],
104
+ },
105
+ // Communication icons (Ionicons)
106
+ {
107
+ name: 'mail',
108
+ library: IconLibrary.IONICONS,
109
+ category: IconCategory.COMMUNICATION,
110
+ tags: ['email', 'message', 'envelope'],
111
+ searchTerms: ['mail', 'email', 'message', 'contact'],
112
+ },
113
+ {
114
+ name: 'call',
115
+ library: IconLibrary.IONICONS,
116
+ category: IconCategory.COMMUNICATION,
117
+ tags: ['phone', 'telephone', 'dial'],
118
+ searchTerms: ['call', 'phone', 'telephone', 'dial'],
119
+ },
120
+ {
121
+ name: 'notifications',
122
+ library: IconLibrary.IONICONS,
123
+ category: IconCategory.COMMUNICATION,
124
+ tags: ['bell', 'alert', 'reminder'],
125
+ searchTerms: ['notifications', 'bell', 'alert', 'reminder'],
126
+ },
127
+ // Media icons (Material Design)
128
+ {
129
+ name: 'camera',
130
+ library: IconLibrary.MATERIAL,
131
+ category: IconCategory.MEDIA,
132
+ tags: ['photo', 'picture', 'snapshot'],
133
+ searchTerms: ['camera', 'photo', 'picture', 'image'],
134
+ },
135
+ {
136
+ name: 'image',
137
+ library: IconLibrary.MATERIAL,
138
+ category: IconCategory.MEDIA,
139
+ tags: ['photo', 'picture', 'gallery'],
140
+ searchTerms: ['image', 'photo', 'picture', 'gallery'],
141
+ },
142
+ {
143
+ name: 'videocam',
144
+ library: IconLibrary.MATERIAL,
145
+ category: IconCategory.MEDIA,
146
+ tags: ['video', 'camera', 'record'],
147
+ searchTerms: ['video', 'camera', 'record', 'film'],
148
+ },
149
+ ];
150
+ }
151
+ getAllIcons() {
152
+ return this.icons;
153
+ }
154
+ getIconsByCategory(category) {
155
+ if (category === IconCategory.ALL) {
156
+ return this.icons;
157
+ }
158
+ return this.icons.filter(icon => icon.category === category);
159
+ }
160
+ searchIcons(query) {
161
+ if (!query.trim()) {
162
+ return this.icons;
163
+ }
164
+ const normalizedQuery = query.toLowerCase().replace(/[^a-z0-9]/g, '');
165
+ return this.icons.filter(icon => {
166
+ const normalizedName = icon.name.toLowerCase().replace(/[^a-z0-9]/g, '');
167
+ const normalizedTags = icon.tags.map(tag => tag.toLowerCase().replace(/[^a-z0-9]/g, ''));
168
+ const normalizedTerms = icon.searchTerms.map(term => term.toLowerCase().replace(/[^a-z0-9]/g, ''));
169
+ return (normalizedName.includes(normalizedQuery) ||
170
+ normalizedTags.some(tag => tag.includes(normalizedQuery)) ||
171
+ normalizedTerms.some(term => term.includes(normalizedQuery)));
172
+ });
173
+ }
174
+ getIconMetadata(name) {
175
+ return this.icons.find(icon => icon.name === name) || null;
176
+ }
177
+ }
178
+ //# sourceMappingURL=ExpoIconRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpoIconRegistry.js","sourceRoot":"","sources":["../../../../../src/domains/icons/infrastructure/registries/ExpoIconRegistry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Universal Icon Component
3
+ *
4
+ * 🎯 SINGLE ICON COMPONENT FOR ALL APPS
5
+ *
6
+ * Automatically uses the icon library configured in IconLibraryConfig.
7
+ * Change library = change config, no code changes needed!
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { Icon } from '@domains/icons';
12
+ *
13
+ * // Basic usage
14
+ * <Icon name="Settings" size="md" color="primary" />
15
+ *
16
+ * // Custom size and color
17
+ * <Icon name="Heart" customSize={32} customColor="#FF0000" />
18
+ *
19
+ * // With background
20
+ * <Icon name="Info" size="lg" withBackground backgroundColor="#667eea" />
21
+ * ```
22
+ *
23
+ * 🔧 To change icon library:
24
+ * 1. Update CURRENT_LIBRARY in domain/config/IconLibraryConfig.ts
25
+ * 2. Done! All apps use new library automatically
26
+ */
27
+ import React from 'react';
28
+ import type { IconProps } from '../../domain/interfaces/IIconAdapter';
29
+ /**
30
+ * Universal Icon Component
31
+ */
32
+ export declare const Icon: React.FC<IconProps>;
33
+ /**
34
+ * Export icon types for convenience
35
+ */
36
+ export type { IconProps } from '../../domain/interfaces/IIconAdapter';
37
+ export { type IconSize, type IconColor } from '../../domain/interfaces/IIconAdapter';
38
+ /**
39
+ * Export current library's icon names for TypeScript autocomplete
40
+ */
41
+ export type { LucideIconName as IconName } from '../../infrastructure/adapters/LucideAdapter';
42
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/presentation/components/Icon.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAmBtE;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAkEpC,CAAC;AAEF;;GAEG;AACH,YAAY,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAErF;;GAEG;AACH,YAAY,EAAE,cAAc,IAAI,QAAQ,EAAE,MAAM,6CAA6C,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Universal Icon Component
3
+ *
4
+ * 🎯 SINGLE ICON COMPONENT FOR ALL APPS
5
+ *
6
+ * Automatically uses the icon library configured in IconLibraryConfig.
7
+ * Change library = change config, no code changes needed!
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { Icon } from '@domains/icons';
12
+ *
13
+ * // Basic usage
14
+ * <Icon name="Settings" size="md" color="primary" />
15
+ *
16
+ * // Custom size and color
17
+ * <Icon name="Heart" customSize={32} customColor="#FF0000" />
18
+ *
19
+ * // With background
20
+ * <Icon name="Info" size="lg" withBackground backgroundColor="#667eea" />
21
+ * ```
22
+ *
23
+ * 🔧 To change icon library:
24
+ * 1. Update CURRENT_LIBRARY in domain/config/IconLibraryConfig.ts
25
+ * 2. Done! All apps use new library automatically
26
+ */
27
+ import React from 'react';
28
+ import { View } from 'react-native';
29
+ import { useAppDesignTokens } from '../../../../presentation/hooks/useAppDesignTokens';
30
+ import { CURRENT_LIBRARY } from '../../domain/config/IconLibraryConfig';
31
+ import { LucideAdapter } from '../../infrastructure/adapters/LucideAdapter';
32
+ /**
33
+ * Get adapter based on current library configuration
34
+ */
35
+ const getAdapter = () => {
36
+ switch (CURRENT_LIBRARY) {
37
+ case 'lucide':
38
+ return LucideAdapter;
39
+ // Future: Add more adapters here
40
+ // case 'material':
41
+ // return MaterialAdapter;
42
+ // case 'fontawesome':
43
+ // return FontAwesomeAdapter;
44
+ default:
45
+ return LucideAdapter;
46
+ }
47
+ };
48
+ /**
49
+ * Universal Icon Component
50
+ */
51
+ export const Icon = ({ name, size = 'md', customSize, color = 'onSurface', customColor, strokeWidth, withBackground = false, backgroundColor, accessibilityLabel, testID, style, }) => {
52
+ const tokens = useAppDesignTokens();
53
+ const adapter = getAdapter();
54
+ // Get icon component from adapter
55
+ const IconComponent = adapter.getIconComponent(name);
56
+ if (!IconComponent) {
57
+ return null;
58
+ }
59
+ // Calculate icon size
60
+ const iconSize = adapter.getIconSize(size, customSize);
61
+ // Get icon color from theme
62
+ const iconColor = adapter.getIconColor(color, tokens, customColor);
63
+ // Get stroke width (for outline icons)
64
+ const iconStrokeWidth = strokeWidth || adapter.getStrokeWidth?.() || 2;
65
+ // Container size (slightly larger than icon)
66
+ const containerSize = iconSize + 8;
67
+ const containerStyles = [
68
+ withBackground && {
69
+ width: containerSize,
70
+ height: containerSize,
71
+ borderRadius: containerSize / 2,
72
+ backgroundColor: backgroundColor || tokens.colors.surfaceVariant,
73
+ justifyContent: 'center',
74
+ alignItems: 'center',
75
+ },
76
+ style,
77
+ ];
78
+ const IconElement = (<IconComponent size={iconSize} color={iconColor} strokeWidth={iconStrokeWidth} accessibilityLabel={accessibilityLabel || `${name} icon`} testID={testID}/>);
79
+ if (withBackground) {
80
+ return (<View style={containerStyles} testID={`${testID}-container`}>
81
+ {IconElement}
82
+ </View>);
83
+ }
84
+ return IconElement;
85
+ };
86
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../../src/domains/icons/presentation/components/Icon.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAoC,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E;;GAEG;AACH,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,iCAAiC;QACjC,mBAAmB;QACnB,4BAA4B;QAC5B,sBAAsB;QACtB,+BAA+B;QAC/B;YACE,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EACxC,IAAI,EACJ,IAAI,GAAG,IAAI,EACX,UAAU,EACV,KAAK,GAAG,WAAW,EACnB,WAAW,EACX,WAAW,EACX,cAAc,GAAG,KAAK,EACtB,eAAe,EACf,kBAAkB,EAClB,MAAM,EACN,KAAK,GACN,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAE7B,kCAAkC;IAClC,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAErD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAEvD,4BAA4B;IAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAEnE,uCAAuC;IACvC,MAAM,eAAe,GAAG,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;IAEvE,6CAA6C;IAC7C,MAAM,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAyB;QAC5C,cAAc,IAAI;YAChB,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,aAAa;YACrB,YAAY,EAAE,aAAa,GAAG,CAAC;YAC/B,eAAe,EAAE,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc;YAChE,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;SACrB;QACD,KAAK;KACN,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,CAAC,aAAa,CACZ,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,KAAK,CAAC,CAAC,SAAS,CAAC,CACjB,WAAW,CAAC,CAAC,eAAe,CAAC,CAC7B,kBAAkB,CAAC,CAAC,kBAAkB,IAAI,GAAG,IAAI,OAAO,CAAC,CACzD,MAAM,CAAC,CAAC,MAAM,CAAC,EACf,CACH,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC,CAC1D;QAAA,CAAC,WAAW,CACd;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Icons Domain - useIconLibrary Hook
3
+ *
4
+ * React hook for accessing icon libraries (Lucide + Expo vector icons).
5
+ * Provides search, filter, and metadata access for all available icons.
6
+ *
7
+ * @domain icons
8
+ * @layer presentation
9
+ */
10
+ import type { IconMetadata } from '@domains/icons/domain/entities/Icon';
11
+ import { IconLibrary, IconCategory } from '@domains/icons/domain/entities/Icon';
12
+ /**
13
+ * Hook for icon library access and search
14
+ *
15
+ * @example
16
+ * const { icons, searchIcons, filterByCategory } = useIconLibrary();
17
+ *
18
+ * // Search icons
19
+ * const results = searchIcons('home');
20
+ *
21
+ * // Filter by category
22
+ * const navIcons = filterByCategory(IconCategory.NAVIGATION);
23
+ */
24
+ export declare const useIconLibrary: (defaultLibrary?: IconLibrary) => {
25
+ selectedLibrary: IconLibrary;
26
+ selectedCategory: IconCategory;
27
+ icons: IconMetadata[];
28
+ searchIcons: (query: string) => IconMetadata[];
29
+ filterByCategory: (category: IconCategory) => IconMetadata[];
30
+ getIconMetadata: (name: string) => IconMetadata | null;
31
+ switchLibrary: (library: IconLibrary) => void;
32
+ switchCategory: (category: IconCategory) => void;
33
+ availableCategories: IconCategory[];
34
+ availableLibraries: IconLibrary[];
35
+ IconLibrary: typeof IconLibrary;
36
+ IconCategory: typeof IconCategory;
37
+ };
38
+ //# sourceMappingURL=useIconLibrary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIconLibrary.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/presentation/hooks/useIconLibrary.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAA6B,MAAM,qCAAqC,CAAC;AAG3G;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GAAI,iBAAgB,WAA4C;;;;yBA4B/E,MAAM,KAAG,YAAY,EAAE;iCAoBpB,YAAY,KAAG,YAAY,EAAE;4BAUjC,MAAM,KAAG,YAAY,GAAG,IAAI;6BAuBO,WAAW;+BAOT,YAAY;;;;;CAyB3D,CAAC"}