@umituz/react-native-design-system 1.3.0 → 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 (351) 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 +6 -3
  347. package/src/domains/icons/infrastructure/adapters/LucideAdapter.ts +1 -1
  348. package/src/presentation/atoms/AtomicButton.tsx +1 -1
  349. package/src/presentation/molecules/AtomicConfirmationModal.tsx +1 -1
  350. package/src/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.ts +1 -2
  351. package/src/presentation/tokens/core/ColorPalette.ts +2 -0
@@ -0,0 +1,114 @@
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 { useMemo, useState, useCallback } from 'react';
11
+ import { IconLibrary, IconCategory, IconUtils, ICON_CONSTANTS } from '@domains/icons/domain/entities/Icon';
12
+ import { ExpoIconRegistry } from '@domains/icons/infrastructure/registries/ExpoIconRegistry';
13
+ /**
14
+ * Hook for icon library access and search
15
+ *
16
+ * @example
17
+ * const { icons, searchIcons, filterByCategory } = useIconLibrary();
18
+ *
19
+ * // Search icons
20
+ * const results = searchIcons('home');
21
+ *
22
+ * // Filter by category
23
+ * const navIcons = filterByCategory(IconCategory.NAVIGATION);
24
+ */
25
+ export const useIconLibrary = (defaultLibrary = ICON_CONSTANTS.DEFAULT_LIBRARY) => {
26
+ const [selectedLibrary, setSelectedLibrary] = useState(defaultLibrary);
27
+ const [selectedCategory, setSelectedCategory] = useState(IconCategory.ALL);
28
+ // Initialize registry
29
+ const registry = useMemo(() => new ExpoIconRegistry(), []);
30
+ /**
31
+ * Get all icons from the selected library
32
+ */
33
+ const icons = useMemo(() => {
34
+ const allIcons = registry.getAllIcons();
35
+ return selectedLibrary === IconLibrary.LUCIDE
36
+ ? [] // Lucide icons are in design-system/AtomicIcon
37
+ : allIcons.filter(icon => icon.library === selectedLibrary);
38
+ }, [registry, selectedLibrary]);
39
+ /**
40
+ * Get icons filtered by category
41
+ */
42
+ const iconsByCategory = useMemo(() => {
43
+ return IconUtils.filterByCategory(icons, selectedCategory);
44
+ }, [icons, selectedCategory]);
45
+ /**
46
+ * Search icons by query
47
+ */
48
+ const searchIcons = useCallback((query) => {
49
+ if (!query.trim()) {
50
+ return iconsByCategory;
51
+ }
52
+ const results = registry.searchIcons(query);
53
+ const filteredResults = selectedLibrary === IconLibrary.LUCIDE
54
+ ? results
55
+ : results.filter(icon => icon.library === selectedLibrary);
56
+ return IconUtils.filterByCategory(filteredResults, selectedCategory)
57
+ .slice(0, ICON_CONSTANTS.MAX_SEARCH_RESULTS);
58
+ }, [registry, selectedLibrary, selectedCategory, iconsByCategory]);
59
+ /**
60
+ * Filter icons by category
61
+ */
62
+ const filterByCategory = useCallback((category) => {
63
+ return IconUtils.filterByCategory(icons, category);
64
+ }, [icons]);
65
+ /**
66
+ * Get icon metadata by name
67
+ */
68
+ const getIconMetadata = useCallback((name) => {
69
+ return registry.getIconMetadata(name);
70
+ }, [registry]);
71
+ /**
72
+ * Get all available categories
73
+ */
74
+ const availableCategories = useMemo(() => {
75
+ return Object.values(IconCategory);
76
+ }, []);
77
+ /**
78
+ * Get all available libraries
79
+ */
80
+ const availableLibraries = useMemo(() => {
81
+ return Object.values(IconLibrary);
82
+ }, []);
83
+ /**
84
+ * Switch library
85
+ */
86
+ const switchLibrary = useCallback((library) => {
87
+ setSelectedLibrary(library);
88
+ }, []);
89
+ /**
90
+ * Switch category
91
+ */
92
+ const switchCategory = useCallback((category) => {
93
+ setSelectedCategory(category);
94
+ }, []);
95
+ return {
96
+ // Current state
97
+ selectedLibrary,
98
+ selectedCategory,
99
+ icons: iconsByCategory,
100
+ // Search & filter
101
+ searchIcons,
102
+ filterByCategory,
103
+ getIconMetadata,
104
+ // Library & category management
105
+ switchLibrary,
106
+ switchCategory,
107
+ availableCategories,
108
+ availableLibraries,
109
+ // Constants
110
+ IconLibrary,
111
+ IconCategory,
112
+ };
113
+ };
114
+ //# sourceMappingURL=useIconLibrary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIconLibrary.js","sourceRoot":"","sources":["../../../../../src/domains/icons/presentation/hooks/useIconLibrary.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @umituz/react-native-design-system - Public API
3
+ *
4
+ * Universal UI component library for React Native apps
5
+ * Domain-Driven Design (DDD) Architecture
6
+ *
7
+ * This is the SINGLE SOURCE OF TRUTH for all UI components.
8
+ * ALL imports from the design system MUST go through this file.
9
+ *
10
+ * Architecture:
11
+ * - presentation/atoms: Primitive UI components (AtomicButton, AtomicText, etc.)
12
+ * - presentation/molecules: Composite components (SearchBar, ListItem, etc.)
13
+ * - presentation/organisms: Complex patterns (ScreenLayout, AppHeader, FormContainer)
14
+ * - presentation/loading: Loading states (LoadingState, LoadingSpinner)
15
+ * - presentation/tokens: Design tokens (colors, typography, spacing, etc.)
16
+ * - presentation/utils: Utility functions and helpers
17
+ *
18
+ * Usage:
19
+ * import { AtomicButton, AtomicFilter, AtomicTouchable, SearchBar, LoadingState, STATIC_TOKENS } from '@umituz/react-native-design-system';
20
+ */
21
+ export { AtomicButton, type AtomicButtonProps, type ButtonVariant, type ButtonSize, } from './presentation/atoms/AtomicButton';
22
+ export { AtomicText, type AtomicTextProps, } from './presentation/atoms/AtomicText';
23
+ export { AtomicCard, type AtomicCardProps, type AtomicCardVariant, type AtomicCardPadding, } from './presentation/atoms/AtomicCard';
24
+ export { AtomicInput, type AtomicInputProps, type AtomicInputVariant, type AtomicInputState, type AtomicInputSize, } from './presentation/atoms/AtomicInput';
25
+ export { AtomicNumberInput, type AtomicNumberInputProps, } from './presentation/atoms/AtomicNumberInput';
26
+ export { AtomicSwitch, type AtomicSwitchProps, } from './presentation/atoms/AtomicSwitch';
27
+ export { AtomicIcon, type AtomicIconProps, type AtomicIconSize, type AtomicIconColor, } from './presentation/atoms/AtomicIcon';
28
+ export { AtomicFormError, type AtomicFormErrorProps, } from './presentation/atoms/AtomicFormError';
29
+ export { AtomicDatePicker, type AtomicDatePickerProps, } from './presentation/atoms/AtomicDatePicker';
30
+ export { AtomicPicker, type AtomicPickerProps, type PickerOption, type PickerSize, } from './presentation/atoms/AtomicPicker';
31
+ export { AtomicTextArea, type AtomicTextAreaProps, } from './presentation/atoms/AtomicTextArea';
32
+ export { AtomicBadge, type AtomicBadgeProps, } from './presentation/atoms/AtomicBadge';
33
+ export { AtomicProgress, type AtomicProgressProps, } from './presentation/atoms/AtomicProgress';
34
+ export { AtomicDivider, type AtomicDividerProps, } from './presentation/atoms/AtomicDivider';
35
+ export { AtomicFab, type AtomicFabProps, type FabSize, type FabVariant, getFabVariants, } from './presentation/atoms/AtomicFab';
36
+ export { AtomicFilter, type AtomicFilterProps, type FilterOption, getFilterContainerStyle, getClearAllContainerStyle, getScrollContentContainerStyle, } from './presentation/atoms/AtomicFilter';
37
+ export { AtomicTouchable, type AtomicTouchableProps, type TouchableFeedback, type FeedbackStrength, type HitSlop, TouchablePresets, getOpacityValue, normalizeHitSlop, } from './presentation/atoms/AtomicTouchable';
38
+ export { AtomicSearchBar, type AtomicSearchBarProps, } from './presentation/atoms/AtomicSearchBar';
39
+ export { AtomicSort, type AtomicSortProps, type SortOption, type SortDirection, } from './presentation/atoms/AtomicSort';
40
+ export { FormField, type FormFieldProps, } from './presentation/molecules/FormField';
41
+ export { ListItem, type ListItemProps, } from './presentation/molecules/ListItem';
42
+ export { SearchBar, type SearchBarProps, } from './presentation/molecules/SearchBar';
43
+ export { LanguageSwitcher, } from './presentation/molecules/LanguageSwitcher';
44
+ export { SectionCard, } from './presentation/molecules/SectionCard';
45
+ export { IconContainer, } from './presentation/molecules/IconContainer';
46
+ export { SectionHeader, } from './presentation/molecules/SectionHeader';
47
+ export { EmptyState, } from './presentation/molecules/EmptyState';
48
+ export { GridContainer, } from './presentation/molecules/GridContainer';
49
+ export { SectionContainer, } from './presentation/molecules/SectionContainer';
50
+ export { ScreenHeader, type ScreenHeaderProps, } from './presentation/molecules/ScreenHeader';
51
+ export { AtomicConfirmationModal, useConfirmationModal, type AtomicConfirmationModalProps, type ConfirmationModalVariant, } from './presentation/molecules/AtomicConfirmationModal';
52
+ export { ScreenLayout, type ScreenLayoutProps, } from './presentation/organisms/ScreenLayout';
53
+ export { AppHeader, type AppHeaderProps, } from './presentation/organisms/AppHeader';
54
+ export { FormContainer, type FormContainerProps, } from './presentation/organisms/FormContainer';
55
+ export { LoadingState, type LoadingStateProps, type LoadingStateSize, } from './presentation/loading/presentation/components/LoadingState';
56
+ export { LoadingSpinner, type LoadingSpinnerProps, type LoadingSpinnerSize, type LoadingSpinnerColor, } from './presentation/loading/presentation/components/LoadingSpinner';
57
+ export { useLoading, type LoadingConfig, type UseLoadingReturn, } from './presentation/loading/presentation/hooks/useLoading';
58
+ export { STATIC_TOKENS, BASE_TOKENS, createDesignTokens, withAlpha, lightColors, darkColors, getColorPalette, spacing, typography, animations, borders, type DesignTokens, type ThemeMode, type ColorPalette, type Spacing, type Typography, type Animations, type Borders, type BaseTokens, } from './presentation/tokens/AppDesignTokens';
59
+ export { useAppDesignTokens } from './presentation/hooks/useAppDesignTokens';
60
+ export { useCommonStyles, } from './presentation/tokens/commonStyles';
61
+ export { IOS_HIG, ANDROID_MATERIAL, PLATFORM_CONSTANTS, isValidTouchTarget, getMinTouchTarget, } from './presentation/utils/platformConstants';
62
+ export { useResponsive, useResponsiveSizes, useDeviceType, type UseResponsiveReturn, } from './presentation/hooks/useResponsive';
63
+ export { getScreenDimensions, isSmallPhone, isTablet, getResponsiveLogoSize, getResponsiveInputHeight, getResponsiveHorizontalPadding, getResponsiveBottomPosition, getResponsiveFABPosition, getResponsiveModalMaxHeight, getResponsiveMinModalHeight, getResponsiveIconContainerSize, getResponsiveGridColumns, getResponsiveMaxWidth, getResponsiveFontSize, isLandscape, getKeyboardBehavior, getDeviceType, getMinTouchTargetSize, getSpacingMultiplier, getOnboardingIconMarginTop, getOnboardingIconMarginBottom, getOnboardingTitleMarginBottom, getOnboardingTextPadding, getOnboardingDescriptionMarginTop, DeviceType, } from './presentation/utils/responsive';
64
+ export { useDesignSystemTheme, } from './infrastructure/theme/globalThemeStore';
65
+ export { Icon, type IconProps, type IconSize, type IconColor, type IconName, } from './domains/icons/presentation/components/Icon';
66
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js ADDED
@@ -0,0 +1,106 @@
1
+ /**
2
+ * @umituz/react-native-design-system - Public API
3
+ *
4
+ * Universal UI component library for React Native apps
5
+ * Domain-Driven Design (DDD) Architecture
6
+ *
7
+ * This is the SINGLE SOURCE OF TRUTH for all UI components.
8
+ * ALL imports from the design system MUST go through this file.
9
+ *
10
+ * Architecture:
11
+ * - presentation/atoms: Primitive UI components (AtomicButton, AtomicText, etc.)
12
+ * - presentation/molecules: Composite components (SearchBar, ListItem, etc.)
13
+ * - presentation/organisms: Complex patterns (ScreenLayout, AppHeader, FormContainer)
14
+ * - presentation/loading: Loading states (LoadingState, LoadingSpinner)
15
+ * - presentation/tokens: Design tokens (colors, typography, spacing, etc.)
16
+ * - presentation/utils: Utility functions and helpers
17
+ *
18
+ * Usage:
19
+ * import { AtomicButton, AtomicFilter, AtomicTouchable, SearchBar, LoadingState, STATIC_TOKENS } from '@umituz/react-native-design-system';
20
+ */
21
+ // =============================================================================
22
+ // ATOMS - Primitive UI Components
23
+ // =============================================================================
24
+ export { AtomicButton, } from './presentation/atoms/AtomicButton';
25
+ export { AtomicText, } from './presentation/atoms/AtomicText';
26
+ export { AtomicCard, } from './presentation/atoms/AtomicCard';
27
+ export { AtomicInput, } from './presentation/atoms/AtomicInput';
28
+ export { AtomicNumberInput, } from './presentation/atoms/AtomicNumberInput';
29
+ export { AtomicSwitch, } from './presentation/atoms/AtomicSwitch';
30
+ export { AtomicIcon, } from './presentation/atoms/AtomicIcon';
31
+ export { AtomicFormError, } from './presentation/atoms/AtomicFormError';
32
+ export { AtomicDatePicker, } from './presentation/atoms/AtomicDatePicker';
33
+ export { AtomicPicker, } from './presentation/atoms/AtomicPicker';
34
+ export { AtomicTextArea, } from './presentation/atoms/AtomicTextArea';
35
+ export { AtomicBadge, } from './presentation/atoms/AtomicBadge';
36
+ export { AtomicProgress, } from './presentation/atoms/AtomicProgress';
37
+ export { AtomicDivider, } from './presentation/atoms/AtomicDivider';
38
+ export { AtomicFab, getFabVariants, } from './presentation/atoms/AtomicFab';
39
+ export { AtomicFilter, getFilterContainerStyle, getClearAllContainerStyle, getScrollContentContainerStyle, } from './presentation/atoms/AtomicFilter';
40
+ export { AtomicTouchable, TouchablePresets, getOpacityValue, normalizeHitSlop, } from './presentation/atoms/AtomicTouchable';
41
+ export { AtomicSearchBar, } from './presentation/atoms/AtomicSearchBar';
42
+ export { AtomicSort, } from './presentation/atoms/AtomicSort';
43
+ // =============================================================================
44
+ // MOLECULES - Composite Components
45
+ // =============================================================================
46
+ export { FormField, } from './presentation/molecules/FormField';
47
+ export { ListItem, } from './presentation/molecules/ListItem';
48
+ export { SearchBar, } from './presentation/molecules/SearchBar';
49
+ export { LanguageSwitcher, } from './presentation/molecules/LanguageSwitcher';
50
+ // SettingItem moved to @domains/settings/presentation/components/SettingItem
51
+ // Import directly: import { SettingItem } from '@domains/settings/presentation/components/SettingItem';
52
+ export { SectionCard, } from './presentation/molecules/SectionCard';
53
+ export { IconContainer, } from './presentation/molecules/IconContainer';
54
+ export { SectionHeader, } from './presentation/molecules/SectionHeader';
55
+ export { EmptyState, } from './presentation/molecules/EmptyState';
56
+ export { GridContainer, } from './presentation/molecules/GridContainer';
57
+ export { SectionContainer, } from './presentation/molecules/SectionContainer';
58
+ export { ScreenHeader, } from './presentation/molecules/ScreenHeader';
59
+ export { AtomicConfirmationModal, useConfirmationModal, } from './presentation/molecules/AtomicConfirmationModal';
60
+ // =============================================================================
61
+ // ORGANISMS - Complex Patterns
62
+ // =============================================================================
63
+ export { ScreenLayout, } from './presentation/organisms/ScreenLayout';
64
+ export { AppHeader, } from './presentation/organisms/AppHeader';
65
+ export { FormContainer, } from './presentation/organisms/FormContainer';
66
+ // Note: FeedbackModal moved to @domains/feedback
67
+ // Import from feedback domain: import { FeedbackModal } from '@domains/feedback';
68
+ // =============================================================================
69
+ // LOADING - Loading States
70
+ // =============================================================================
71
+ export { LoadingState, } from './presentation/loading/presentation/components/LoadingState';
72
+ export { LoadingSpinner, } from './presentation/loading/presentation/components/LoadingSpinner';
73
+ export { useLoading, } from './presentation/loading/presentation/hooks/useLoading';
74
+ // =============================================================================
75
+ // TOKENS - Design Tokens (Refactored with ZERO duplication)
76
+ // =============================================================================
77
+ export {
78
+ // Static tokens (don't change with theme)
79
+ STATIC_TOKENS, BASE_TOKENS,
80
+ // Token factory
81
+ createDesignTokens,
82
+ // Color utilities
83
+ withAlpha, lightColors, darkColors, getColorPalette,
84
+ // Individual base tokens
85
+ spacing, typography, animations, borders, } from './presentation/tokens/AppDesignTokens';
86
+ // Hook for dynamic theme-aware tokens (exported separately to avoid cycle)
87
+ export { useAppDesignTokens } from './presentation/hooks/useAppDesignTokens';
88
+ export { useCommonStyles, } from './presentation/tokens/commonStyles';
89
+ // =============================================================================
90
+ // UTILITIES - Helper Functions
91
+ // =============================================================================
92
+ export { IOS_HIG, ANDROID_MATERIAL, PLATFORM_CONSTANTS, isValidTouchTarget, getMinTouchTarget, } from './presentation/utils/platformConstants';
93
+ // =============================================================================
94
+ // RESPONSIVE UTILITIES - Centralized Responsive Management
95
+ // =============================================================================
96
+ export { useResponsive, useResponsiveSizes, useDeviceType, } from './presentation/hooks/useResponsive';
97
+ export { getScreenDimensions, isSmallPhone, isTablet, getResponsiveLogoSize, getResponsiveInputHeight, getResponsiveHorizontalPadding, getResponsiveBottomPosition, getResponsiveFABPosition, getResponsiveModalMaxHeight, getResponsiveMinModalHeight, getResponsiveIconContainerSize, getResponsiveGridColumns, getResponsiveMaxWidth, getResponsiveFontSize, isLandscape, getKeyboardBehavior, getDeviceType, getMinTouchTargetSize, getSpacingMultiplier, getOnboardingIconMarginTop, getOnboardingIconMarginBottom, getOnboardingTitleMarginBottom, getOnboardingTextPadding, getOnboardingDescriptionMarginTop, DeviceType, } from './presentation/utils/responsive';
98
+ // =============================================================================
99
+ // THEME MANAGEMENT - Global Theme Store
100
+ // =============================================================================
101
+ export { useDesignSystemTheme, } from './infrastructure/theme/globalThemeStore';
102
+ // =============================================================================
103
+ // ICONS DOMAIN - Universal Icon System
104
+ // =============================================================================
105
+ export { Icon, } from './domains/icons/presentation/components/Icon';
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAEhF,OAAO,EACL,YAAY,GAIb,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,UAAU,GAEX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,UAAU,GAIX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,WAAW,GAKZ,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,iBAAiB,GAElB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,UAAU,GAIX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,eAAe,GAEhB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,gBAAgB,GAEjB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,YAAY,GAIb,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,cAAc,GAEf,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,WAAW,GAEZ,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,cAAc,GAEf,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,GAEd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,SAAS,EAIT,cAAc,GACf,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,YAAY,EAGZ,uBAAuB,EACvB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,eAAe,EAKf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,eAAe,GAEhB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,UAAU,GAIX,MAAM,iCAAiC,CAAC;AAEzC,gFAAgF;AAChF,mCAAmC;AACnC,gFAAgF;AAEhF,OAAO,EACL,SAAS,GAEV,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,QAAQ,GAET,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,SAAS,GAEV,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,gBAAgB,GACjB,MAAM,2CAA2C,CAAC;AAEnD,6EAA6E;AAC7E,wGAAwG;AAExG,OAAO,EACL,WAAW,GACZ,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,aAAa,GACd,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,aAAa,GACd,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,UAAU,GACX,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,GACd,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EACL,gBAAgB,GACjB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,YAAY,GAEb,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GAGrB,MAAM,kDAAkD,CAAC;AAE1D,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF,OAAO,EACL,YAAY,GAEb,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,SAAS,GAEV,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,aAAa,GAEd,MAAM,wCAAwC,CAAC;AAEhD,iDAAiD;AACjD,kFAAkF;AAElF,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF,OAAO,EACL,YAAY,GAGb,MAAM,6DAA6D,CAAC;AAErE,OAAO,EACL,cAAc,GAIf,MAAM,+DAA+D,CAAC;AAEvE,OAAO,EACL,UAAU,GAGX,MAAM,sDAAsD,CAAC;AAE9D,gFAAgF;AAChF,4DAA4D;AAC5D,gFAAgF;AAEhF,OAAO;AACL,0CAA0C;AAC1C,aAAa,EACb,WAAW;AAEX,gBAAgB;AAChB,kBAAkB;AAElB,kBAAkB;AAClB,SAAS,EACT,WAAW,EACX,UAAU,EACV,eAAe;AAEf,yBAAyB;AACzB,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,GAWR,MAAM,uCAAuC,CAAC;AAE/C,2EAA2E;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,OAAO,EACL,eAAe,GAChB,MAAM,oCAAoC,CAAC;AAE5C,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wCAAwC,CAAC;AAEhD,gFAAgF;AAChF,2DAA2D;AAC3D,gFAAgF;AAEhF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,GAEd,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,8BAA8B,EAC9B,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,wBAAwB,EACxB,iCAAiC,EACjC,UAAU,GACX,MAAM,iCAAiC,CAAC;AAEzC,gFAAgF;AAChF,wCAAwC;AACxC,gFAAgF;AAEhF,OAAO,EACL,oBAAoB,GACrB,MAAM,yCAAyC,CAAC;AAEjD,gFAAgF;AAChF,uCAAuC;AACvC,gFAAgF;AAEhF,OAAO,EACL,IAAI,GAKL,MAAM,8CAA8C,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Global Theme Store for Design System
3
+ *
4
+ * Minimal Zustand store for theme state management.
5
+ * Apps can sync their theme state with this global store.
6
+ *
7
+ * WHY THIS EXISTS:
8
+ * - ScreenLayout needs to know current theme mode
9
+ * - Without prop drilling or Context API
10
+ * - Single source of truth for design system components
11
+ * - Apps control theme, design system reacts
12
+ *
13
+ * USAGE IN APP:
14
+ * ```typescript
15
+ * import { useDesignSystemTheme } from '@umituz/react-native-design-system';
16
+ * import { useTheme } from '@domains/theme';
17
+ *
18
+ * // Sync app theme with design system
19
+ * const { themeMode } = useTheme();
20
+ * const { setThemeMode } = useDesignSystemTheme();
21
+ *
22
+ * useEffect(() => {
23
+ * setThemeMode(themeMode);
24
+ * }, [themeMode]);
25
+ * ```
26
+ */
27
+ import type { ThemeMode } from '../../presentation/tokens/core/ColorPalette';
28
+ interface GlobalThemeStore {
29
+ /** Current theme mode */
30
+ themeMode: ThemeMode;
31
+ /** Update theme mode (called by app when theme changes) */
32
+ setThemeMode: (mode: ThemeMode) => void;
33
+ }
34
+ /**
35
+ * Global theme store for design system components
36
+ *
37
+ * This is a MINIMAL store - app has the real theme logic.
38
+ * Design system just mirrors the current theme for its components.
39
+ */
40
+ export declare const useDesignSystemTheme: import("zustand").UseBoundStore<import("zustand").StoreApi<GlobalThemeStore>>;
41
+ export type { ThemeMode };
42
+ //# sourceMappingURL=globalThemeStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalThemeStore.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/theme/globalThemeStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAE7E,UAAU,gBAAgB;IACxB,yBAAyB;IACzB,SAAS,EAAE,SAAS,CAAC;IAErB,2DAA2D;IAC3D,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,+EAG9B,CAAC;AAGJ,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Global Theme Store for Design System
3
+ *
4
+ * Minimal Zustand store for theme state management.
5
+ * Apps can sync their theme state with this global store.
6
+ *
7
+ * WHY THIS EXISTS:
8
+ * - ScreenLayout needs to know current theme mode
9
+ * - Without prop drilling or Context API
10
+ * - Single source of truth for design system components
11
+ * - Apps control theme, design system reacts
12
+ *
13
+ * USAGE IN APP:
14
+ * ```typescript
15
+ * import { useDesignSystemTheme } from '@umituz/react-native-design-system';
16
+ * import { useTheme } from '@domains/theme';
17
+ *
18
+ * // Sync app theme with design system
19
+ * const { themeMode } = useTheme();
20
+ * const { setThemeMode } = useDesignSystemTheme();
21
+ *
22
+ * useEffect(() => {
23
+ * setThemeMode(themeMode);
24
+ * }, [themeMode]);
25
+ * ```
26
+ */
27
+ import { create } from 'zustand';
28
+ /**
29
+ * Global theme store for design system components
30
+ *
31
+ * This is a MINIMAL store - app has the real theme logic.
32
+ * Design system just mirrors the current theme for its components.
33
+ */
34
+ export const useDesignSystemTheme = create((set) => ({
35
+ themeMode: 'light',
36
+ setThemeMode: (mode) => set({ themeMode: mode }),
37
+ }));
38
+ //# sourceMappingURL=globalThemeStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalThemeStore.js","sourceRoot":"","sources":["../../../src/infrastructure/theme/globalThemeStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAWjC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACrE,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,CAAC,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;CAC5D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * AtomicAvatar - Universal Avatar Component
3
+ *
4
+ * Displays user profile images with fallback to initials
5
+ * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
+ *
7
+ * Atomic Design Level: ATOM
8
+ * Purpose: User profile image display
9
+ *
10
+ * Usage:
11
+ * - User profile pictures
12
+ * - Contact avatars
13
+ * - Group member avatars
14
+ * - Default user placeholders
15
+ */
16
+ import React from 'react';
17
+ import { ViewStyle, ImageStyle } from 'react-native';
18
+ export interface AtomicAvatarProps {
19
+ /** Image source (URI or require) */
20
+ source?: {
21
+ uri: string;
22
+ } | number;
23
+ /** User's name for fallback initials */
24
+ name?: string;
25
+ /** Size of the avatar */
26
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
27
+ /** Custom size in pixels */
28
+ customSize?: number;
29
+ /** Background color for fallback */
30
+ backgroundColor?: string;
31
+ /** Text color for initials */
32
+ textColor?: string;
33
+ /** Border radius (default: circular) */
34
+ borderRadius?: number;
35
+ /** Border width */
36
+ borderWidth?: number;
37
+ /** Border color */
38
+ borderColor?: string;
39
+ /** Style overrides */
40
+ style?: ViewStyle | ViewStyle[];
41
+ /** Image style overrides */
42
+ imageStyle?: ImageStyle | ImageStyle[];
43
+ /** Test ID for testing */
44
+ testID?: string;
45
+ }
46
+ export declare const AtomicAvatar: React.FC<AtomicAvatarProps>;
47
+ export default AtomicAvatar;
48
+ //# sourceMappingURL=AtomicAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomicAvatar.d.ts","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicAvatar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoB,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AASvE,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAClC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChD,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAChC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;IACvC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6FpD,CAAC;AAMF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * AtomicAvatar - Universal Avatar Component
3
+ *
4
+ * Displays user profile images with fallback to initials
5
+ * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
+ *
7
+ * Atomic Design Level: ATOM
8
+ * Purpose: User profile image display
9
+ *
10
+ * Usage:
11
+ * - User profile pictures
12
+ * - Contact avatars
13
+ * - Group member avatars
14
+ * - Default user placeholders
15
+ */
16
+ import React from 'react';
17
+ import { View, StyleSheet } from 'react-native';
18
+ import { AtomicImage } from './AtomicImage';
19
+ import { AtomicText } from './AtomicText';
20
+ import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
21
+ // =============================================================================
22
+ // COMPONENT IMPLEMENTATION
23
+ // =============================================================================
24
+ export const AtomicAvatar = ({ source, name, size = 'md', customSize, backgroundColor, textColor, borderRadius, borderWidth = 0, borderColor, style, imageStyle, testID, }) => {
25
+ const tokens = useAppDesignTokens();
26
+ const avatarSize = customSize || tokens.avatarSizes[size];
27
+ const avatarRadius = borderRadius ?? avatarSize / 2;
28
+ // Generate initials from name
29
+ const getInitials = (name) => {
30
+ return name
31
+ .split(' ')
32
+ .map(word => word.charAt(0))
33
+ .join('')
34
+ .toUpperCase()
35
+ .slice(0, 2);
36
+ };
37
+ // Default colors
38
+ const defaultBackgroundColor = backgroundColor || tokens.colors.primary;
39
+ const defaultTextColor = textColor || tokens.colors.onPrimary;
40
+ const defaultBorderColor = borderColor || tokens.colors.border;
41
+ const avatarStyle = {
42
+ width: avatarSize,
43
+ height: avatarSize,
44
+ borderRadius: avatarRadius,
45
+ backgroundColor: defaultBackgroundColor,
46
+ borderWidth,
47
+ borderColor: defaultBorderColor,
48
+ alignItems: 'center',
49
+ justifyContent: 'center',
50
+ overflow: 'hidden',
51
+ };
52
+ const imageStyleFinal = {
53
+ width: avatarSize,
54
+ height: avatarSize,
55
+ borderRadius: avatarRadius,
56
+ };
57
+ // Font size based on avatar size
58
+ const getFontSize = (size) => {
59
+ if (size <= 32)
60
+ return 12;
61
+ if (size <= 48)
62
+ return 16;
63
+ if (size <= 64)
64
+ return 20;
65
+ return 24;
66
+ };
67
+ return (<View style={[avatarStyle, style]} testID={testID}>
68
+ {source ? (<AtomicImage source={source} style={StyleSheet.flatten([imageStyleFinal, imageStyle])} resizeMode="cover"/>) : name ? (<AtomicText type="labelLarge" color={defaultTextColor} style={{
69
+ fontSize: getFontSize(avatarSize),
70
+ fontWeight: tokens.typography.semibold,
71
+ }}>
72
+ {getInitials(name)}
73
+ </AtomicText>) : (<AtomicText type="labelLarge" color={defaultTextColor} style={{
74
+ fontSize: getFontSize(avatarSize),
75
+ fontWeight: tokens.typography.semibold,
76
+ }}>
77
+ ?
78
+ </AtomicText>)}
79
+ </View>);
80
+ };
81
+ // =============================================================================
82
+ // EXPORTS
83
+ // =============================================================================
84
+ export default AtomicAvatar;
85
+ //# sourceMappingURL=AtomicAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomicAvatar.js","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicAvatar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * AtomicAvatarGroup - Universal Avatar Group Component
3
+ *
4
+ * Displays multiple avatars in a group with overlap and overflow handling
5
+ * Theme: {{THEME_NAME}} ({{CATEGORY}} category)
6
+ *
7
+ * Atomic Design Level: ATOM
8
+ * Purpose: Multiple avatar display with group behavior
9
+ *
10
+ * Usage:
11
+ * - Team member avatars
12
+ * - Group chat participants
13
+ * - Project collaborators
14
+ * - Event attendees
15
+ * - Social connections
16
+ */
17
+ import React from 'react';
18
+ import { ViewStyle } from 'react-native';
19
+ export interface AvatarData {
20
+ id: string;
21
+ source?: {
22
+ uri: string;
23
+ } | number;
24
+ name?: string;
25
+ backgroundColor?: string;
26
+ textColor?: string;
27
+ }
28
+ export interface AtomicAvatarGroupProps {
29
+ /** Array of avatar data */
30
+ avatars: AvatarData[];
31
+ /** Maximum number of avatars to show */
32
+ maxVisible?: number;
33
+ /** Avatar size */
34
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
35
+ /** Custom avatar size */
36
+ customSize?: number;
37
+ /** Spacing between avatars */
38
+ spacing?: number;
39
+ /** Whether to show overflow count */
40
+ showOverflow?: boolean;
41
+ /** Overflow count background color */
42
+ overflowBackgroundColor?: string;
43
+ /** Overflow count text color */
44
+ overflowTextColor?: string;
45
+ /** Avatar border width */
46
+ borderWidth?: number;
47
+ /** Avatar border color */
48
+ borderColor?: string;
49
+ /** Style overrides */
50
+ style?: ViewStyle;
51
+ /** Test ID for testing */
52
+ testID?: string;
53
+ }
54
+ export declare const AtomicAvatarGroup: React.FC<AtomicAvatarGroupProps>;
55
+ export default AtomicAvatarGroup;
56
+ //# sourceMappingURL=AtomicAvatarGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AtomicAvatarGroup.d.ts","sourceRoot":"","sources":["../../../src/presentation/atoms/AtomicAvatarGroup.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAS3D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChD,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sCAAsC;IACtC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,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,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgG9D,CAAC;AAMF,eAAe,iBAAiB,CAAC"}