@umituz/react-native-design-system 1.4.3 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (236) hide show
  1. package/README.md +0 -1
  2. package/lib/index.d.ts +4 -5
  3. package/lib/index.d.ts.map +1 -1
  4. package/lib/index.js +14 -17
  5. package/lib/index.js.map +1 -1
  6. package/lib/presentation/atoms/AtomicAvatar.js +1 -1
  7. package/lib/presentation/atoms/AtomicAvatar.js.map +1 -1
  8. package/lib/presentation/atoms/AtomicAvatarGroup.js +1 -1
  9. package/lib/presentation/atoms/AtomicAvatarGroup.js.map +1 -1
  10. package/lib/presentation/atoms/AtomicBadge.js +1 -1
  11. package/lib/presentation/atoms/AtomicBadge.js.map +1 -1
  12. package/lib/presentation/atoms/AtomicButton.d.ts +1 -1
  13. package/lib/presentation/atoms/AtomicButton.d.ts.map +1 -1
  14. package/lib/presentation/atoms/AtomicButton.js +2 -2
  15. package/lib/presentation/atoms/AtomicButton.js.map +1 -1
  16. package/lib/presentation/atoms/AtomicCard.js +1 -1
  17. package/lib/presentation/atoms/AtomicCard.js.map +1 -1
  18. package/lib/presentation/atoms/AtomicChip.js +1 -1
  19. package/lib/presentation/atoms/AtomicChip.js.map +1 -1
  20. package/lib/presentation/atoms/AtomicDatePicker.js +1 -1
  21. package/lib/presentation/atoms/AtomicDatePicker.js.map +1 -1
  22. package/lib/presentation/atoms/AtomicDivider.js +1 -1
  23. package/lib/presentation/atoms/AtomicDivider.js.map +1 -1
  24. package/lib/presentation/atoms/AtomicFab.js +1 -1
  25. package/lib/presentation/atoms/AtomicFab.js.map +1 -1
  26. package/lib/presentation/atoms/AtomicFilter.js +1 -1
  27. package/lib/presentation/atoms/AtomicFilter.js.map +1 -1
  28. package/lib/presentation/atoms/AtomicFormError.js +2 -2
  29. package/lib/presentation/atoms/AtomicFormError.js.map +1 -1
  30. package/lib/presentation/atoms/AtomicIcon.d.ts +2 -3
  31. package/lib/presentation/atoms/AtomicIcon.d.ts.map +1 -1
  32. package/lib/presentation/atoms/AtomicIcon.js +1 -1
  33. package/lib/presentation/atoms/AtomicIcon.js.map +1 -1
  34. package/lib/presentation/atoms/AtomicImage.js +1 -1
  35. package/lib/presentation/atoms/AtomicImage.js.map +1 -1
  36. package/lib/presentation/atoms/AtomicInput.js +1 -1
  37. package/lib/presentation/atoms/AtomicInput.js.map +1 -1
  38. package/lib/presentation/atoms/AtomicPicker.js +1 -1
  39. package/lib/presentation/atoms/AtomicPicker.js.map +1 -1
  40. package/lib/presentation/atoms/AtomicProgress.js +1 -1
  41. package/lib/presentation/atoms/AtomicProgress.js.map +1 -1
  42. package/lib/presentation/atoms/AtomicSearchBar.js +1 -1
  43. package/lib/presentation/atoms/AtomicSearchBar.js.map +1 -1
  44. package/lib/presentation/atoms/AtomicSort.js +1 -1
  45. package/lib/presentation/atoms/AtomicSort.js.map +1 -1
  46. package/lib/presentation/atoms/AtomicSwitch.js +1 -1
  47. package/lib/presentation/atoms/AtomicSwitch.js.map +1 -1
  48. package/lib/presentation/atoms/AtomicText.d.ts +21 -1
  49. package/lib/presentation/atoms/AtomicText.d.ts.map +1 -1
  50. package/lib/presentation/atoms/AtomicText.js +31 -10
  51. package/lib/presentation/atoms/AtomicText.js.map +1 -1
  52. package/lib/presentation/atoms/AtomicTextArea.js +1 -1
  53. package/lib/presentation/atoms/AtomicTextArea.js.map +1 -1
  54. package/lib/presentation/atoms/AtomicTouchable.js +1 -1
  55. package/lib/presentation/atoms/AtomicTouchable.js.map +1 -1
  56. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts +1 -1
  57. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts.map +1 -1
  58. package/lib/presentation/atoms/index.d.ts +1 -1
  59. package/lib/presentation/atoms/input/styles/inputStyles.d.ts +1 -1
  60. package/lib/presentation/atoms/input/styles/inputStyles.d.ts.map +1 -1
  61. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts +12 -23
  62. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts.map +1 -1
  63. package/lib/presentation/atoms/picker/styles/pickerStyles.js.map +1 -1
  64. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts +2 -2
  65. package/lib/presentation/molecules/AtomicConfirmationModal.d.ts.map +1 -1
  66. package/lib/presentation/molecules/AtomicConfirmationModal.js +3 -22
  67. package/lib/presentation/molecules/AtomicConfirmationModal.js.map +1 -1
  68. package/lib/presentation/molecules/EmptyState.js +1 -1
  69. package/lib/presentation/molecules/EmptyState.js.map +1 -1
  70. package/lib/presentation/molecules/FormField.js +1 -1
  71. package/lib/presentation/molecules/FormField.js.map +1 -1
  72. package/lib/presentation/molecules/IconContainer.js +1 -1
  73. package/lib/presentation/molecules/IconContainer.js.map +1 -1
  74. package/lib/presentation/molecules/ListItem.js +1 -1
  75. package/lib/presentation/molecules/ListItem.js.map +1 -1
  76. package/lib/presentation/molecules/ScreenHeader.js +1 -1
  77. package/lib/presentation/molecules/ScreenHeader.js.map +1 -1
  78. package/lib/presentation/molecules/SearchBar.js +1 -1
  79. package/lib/presentation/molecules/SearchBar.js.map +1 -1
  80. package/lib/presentation/molecules/SectionCard.js +1 -1
  81. package/lib/presentation/molecules/SectionCard.js.map +1 -1
  82. package/lib/presentation/molecules/SectionContainer.js +1 -1
  83. package/lib/presentation/molecules/SectionContainer.js.map +1 -1
  84. package/lib/presentation/molecules/SectionHeader.js +1 -1
  85. package/lib/presentation/molecules/SectionHeader.js.map +1 -1
  86. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +1 -1
  87. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts.map +1 -1
  88. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts +4 -6
  89. package/lib/presentation/molecules/confirmation-modal/types/index.d.ts.map +1 -1
  90. package/lib/presentation/molecules/index.d.ts +0 -1
  91. package/lib/presentation/molecules/index.d.ts.map +1 -1
  92. package/lib/presentation/molecules/index.js +0 -1
  93. package/lib/presentation/molecules/index.js.map +1 -1
  94. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts +1 -1
  95. package/lib/presentation/molecules/listitem/styles/listItemStyles.d.ts.map +1 -1
  96. package/lib/presentation/organisms/AppHeader.d.ts +3 -2
  97. package/lib/presentation/organisms/AppHeader.d.ts.map +1 -1
  98. package/lib/presentation/organisms/AppHeader.js +1 -1
  99. package/lib/presentation/organisms/AppHeader.js.map +1 -1
  100. package/lib/presentation/organisms/FormContainer.js +1 -1
  101. package/lib/presentation/organisms/FormContainer.js.map +1 -1
  102. package/lib/presentation/organisms/ScreenLayout.js +1 -1
  103. package/lib/presentation/organisms/ScreenLayout.js.map +1 -1
  104. package/lib/presentation/tokens/commonStyles.d.ts +1 -1
  105. package/lib/presentation/tokens/commonStyles.js +2 -2
  106. package/lib/presentation/tokens/commonStyles.js.map +1 -1
  107. package/package.json +2 -6
  108. package/src/index.ts +17 -26
  109. package/src/presentation/atoms/AtomicAvatar.tsx +1 -1
  110. package/src/presentation/atoms/AtomicAvatarGroup.tsx +1 -1
  111. package/src/presentation/atoms/AtomicBadge.tsx +2 -2
  112. package/src/presentation/atoms/AtomicButton.tsx +3 -3
  113. package/src/presentation/atoms/AtomicCard.tsx +1 -1
  114. package/src/presentation/atoms/AtomicChip.tsx +1 -1
  115. package/src/presentation/atoms/AtomicDatePicker.tsx +1 -1
  116. package/src/presentation/atoms/AtomicDivider.tsx +1 -1
  117. package/src/presentation/atoms/AtomicFab.tsx +1 -1
  118. package/src/presentation/atoms/AtomicFilter.tsx +1 -1
  119. package/src/presentation/atoms/AtomicFormError.tsx +2 -2
  120. package/src/presentation/atoms/AtomicIcon.tsx +3 -4
  121. package/src/presentation/atoms/AtomicImage.tsx +1 -1
  122. package/src/presentation/atoms/AtomicInput.tsx +1 -1
  123. package/src/presentation/atoms/AtomicPicker.tsx +1 -1
  124. package/src/presentation/atoms/AtomicProgress.tsx +1 -1
  125. package/src/presentation/atoms/AtomicSearchBar.tsx +1 -1
  126. package/src/presentation/atoms/AtomicSort.tsx +1 -1
  127. package/src/presentation/atoms/AtomicSwitch.tsx +1 -1
  128. package/src/presentation/atoms/AtomicText.tsx +80 -14
  129. package/src/presentation/atoms/AtomicTextArea.tsx +1 -1
  130. package/src/presentation/atoms/AtomicTouchable.tsx +2 -2
  131. package/src/presentation/atoms/fab/styles/fabStyles.ts +1 -1
  132. package/src/presentation/atoms/input/styles/inputStyles.ts +1 -1
  133. package/src/presentation/atoms/picker/styles/pickerStyles.ts +13 -6
  134. package/src/presentation/molecules/AtomicConfirmationModal.tsx +5 -26
  135. package/src/presentation/molecules/EmptyState.tsx +1 -1
  136. package/src/presentation/molecules/FormField.tsx +1 -1
  137. package/src/presentation/molecules/IconContainer.tsx +1 -1
  138. package/src/presentation/molecules/ListItem.tsx +1 -1
  139. package/src/presentation/molecules/ScreenHeader.tsx +1 -1
  140. package/src/presentation/molecules/SearchBar.tsx +1 -1
  141. package/src/presentation/molecules/SectionCard.tsx +1 -1
  142. package/src/presentation/molecules/SectionContainer.tsx +1 -1
  143. package/src/presentation/molecules/SectionHeader.tsx +1 -1
  144. package/src/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.ts +1 -1
  145. package/src/presentation/molecules/confirmation-modal/types/index.ts +4 -6
  146. package/src/presentation/molecules/index.ts +0 -1
  147. package/src/presentation/molecules/listitem/styles/listItemStyles.ts +1 -1
  148. package/src/presentation/organisms/AppHeader.tsx +4 -3
  149. package/src/presentation/organisms/FormContainer.tsx +1 -1
  150. package/src/presentation/organisms/ScreenLayout.tsx +1 -1
  151. package/src/presentation/tokens/commonStyles.ts +2 -2
  152. package/lib/domains/icons/domain/config/IconLibraryConfig.d.ts +0 -91
  153. package/lib/domains/icons/domain/config/IconLibraryConfig.d.ts.map +0 -1
  154. package/lib/domains/icons/domain/config/IconLibraryConfig.js +0 -85
  155. package/lib/domains/icons/domain/config/IconLibraryConfig.js.map +0 -1
  156. package/lib/domains/icons/domain/entities/Icon.d.ts +0 -111
  157. package/lib/domains/icons/domain/entities/Icon.d.ts.map +0 -1
  158. package/lib/domains/icons/domain/entities/Icon.js +0 -87
  159. package/lib/domains/icons/domain/entities/Icon.js.map +0 -1
  160. package/lib/domains/icons/domain/interfaces/IIconAdapter.d.ts +0 -114
  161. package/lib/domains/icons/domain/interfaces/IIconAdapter.d.ts.map +0 -1
  162. package/lib/domains/icons/domain/interfaces/IIconAdapter.js +0 -17
  163. package/lib/domains/icons/domain/interfaces/IIconAdapter.js.map +0 -1
  164. package/lib/domains/icons/index.d.ts +0 -84
  165. package/lib/domains/icons/index.d.ts.map +0 -1
  166. package/lib/domains/icons/index.js +0 -89
  167. package/lib/domains/icons/index.js.map +0 -1
  168. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.d.ts +0 -24
  169. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.d.ts.map +0 -1
  170. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.js +0 -85
  171. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.js.map +0 -1
  172. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.d.ts +0 -23
  173. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.d.ts.map +0 -1
  174. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.js +0 -178
  175. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.js.map +0 -1
  176. package/lib/domains/icons/presentation/components/Icon.d.ts +0 -42
  177. package/lib/domains/icons/presentation/components/Icon.d.ts.map +0 -1
  178. package/lib/domains/icons/presentation/components/Icon.js +0 -86
  179. package/lib/domains/icons/presentation/components/Icon.js.map +0 -1
  180. package/lib/domains/icons/presentation/hooks/useIconLibrary.d.ts +0 -38
  181. package/lib/domains/icons/presentation/hooks/useIconLibrary.d.ts.map +0 -1
  182. package/lib/domains/icons/presentation/hooks/useIconLibrary.js +0 -114
  183. package/lib/domains/icons/presentation/hooks/useIconLibrary.js.map +0 -1
  184. package/lib/infrastructure/theme/globalThemeStore.d.ts +0 -42
  185. package/lib/infrastructure/theme/globalThemeStore.d.ts.map +0 -1
  186. package/lib/infrastructure/theme/globalThemeStore.js +0 -38
  187. package/lib/infrastructure/theme/globalThemeStore.js.map +0 -1
  188. package/lib/presentation/hooks/useAppDesignTokens.d.ts +0 -34
  189. package/lib/presentation/hooks/useAppDesignTokens.d.ts.map +0 -1
  190. package/lib/presentation/hooks/useAppDesignTokens.js +0 -39
  191. package/lib/presentation/hooks/useAppDesignTokens.js.map +0 -1
  192. package/lib/presentation/molecules/LanguageSwitcher.d.ts +0 -10
  193. package/lib/presentation/molecules/LanguageSwitcher.d.ts.map +0 -1
  194. package/lib/presentation/molecules/LanguageSwitcher.js +0 -24
  195. package/lib/presentation/molecules/LanguageSwitcher.js.map +0 -1
  196. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.d.ts +0 -11
  197. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.d.ts.map +0 -1
  198. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.js +0 -6
  199. package/lib/presentation/molecules/languageswitcher/config/languageSwitcherConfig.js.map +0 -1
  200. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.d.ts +0 -5
  201. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.d.ts.map +0 -1
  202. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.js +0 -14
  203. package/lib/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.js.map +0 -1
  204. package/lib/presentation/tokens/AppDesignTokens.d.ts +0 -14
  205. package/lib/presentation/tokens/AppDesignTokens.d.ts.map +0 -1
  206. package/lib/presentation/tokens/AppDesignTokens.js +0 -23
  207. package/lib/presentation/tokens/AppDesignTokens.js.map +0 -1
  208. package/lib/presentation/tokens/core/BaseTokens.d.ts +0 -312
  209. package/lib/presentation/tokens/core/BaseTokens.d.ts.map +0 -1
  210. package/lib/presentation/tokens/core/BaseTokens.js +0 -307
  211. package/lib/presentation/tokens/core/BaseTokens.js.map +0 -1
  212. package/lib/presentation/tokens/core/ColorPalette.d.ts +0 -216
  213. package/lib/presentation/tokens/core/ColorPalette.d.ts.map +0 -1
  214. package/lib/presentation/tokens/core/ColorPalette.js +0 -330
  215. package/lib/presentation/tokens/core/ColorPalette.js.map +0 -1
  216. package/lib/presentation/tokens/core/TokenFactory.d.ts +0 -216
  217. package/lib/presentation/tokens/core/TokenFactory.d.ts.map +0 -1
  218. package/lib/presentation/tokens/core/TokenFactory.js +0 -86
  219. package/lib/presentation/tokens/core/TokenFactory.js.map +0 -1
  220. package/src/domains/icons/domain/config/IconLibraryConfig.ts +0 -93
  221. package/src/domains/icons/domain/entities/Icon.ts +0 -143
  222. package/src/domains/icons/domain/interfaces/IIconAdapter.ts +0 -147
  223. package/src/domains/icons/index.ts +0 -109
  224. package/src/domains/icons/infrastructure/adapters/LucideAdapter.ts +0 -100
  225. package/src/domains/icons/infrastructure/registries/ExpoIconRegistry.ts +0 -191
  226. package/src/domains/icons/presentation/components/Icon.tsx +0 -132
  227. package/src/domains/icons/presentation/hooks/useIconLibrary.ts +0 -141
  228. package/src/infrastructure/theme/globalThemeStore.ts +0 -51
  229. package/src/presentation/hooks/useAppDesignTokens.ts +0 -40
  230. package/src/presentation/molecules/LanguageSwitcher.tsx +0 -42
  231. package/src/presentation/molecules/languageswitcher/config/languageSwitcherConfig.ts +0 -5
  232. package/src/presentation/molecules/languageswitcher/hooks/useLanguageNavigation.ts +0 -16
  233. package/src/presentation/tokens/AppDesignTokens.ts +0 -55
  234. package/src/presentation/tokens/core/BaseTokens.ts +0 -376
  235. package/src/presentation/tokens/core/ColorPalette.ts +0 -400
  236. package/src/presentation/tokens/core/TokenFactory.ts +0 -118
@@ -19,7 +19,7 @@ import { View, StyleSheet, TouchableOpacity, ViewStyle } from 'react-native';
19
19
  import { useNavigation } from '@react-navigation/native';
20
20
  import { AtomicIcon } from '../atoms/AtomicIcon';
21
21
  import { AtomicText } from '../atoms/AtomicText';
22
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
22
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
23
23
 
24
24
  export interface ScreenHeaderProps {
25
25
  /** Screen title (centered) */
@@ -10,7 +10,7 @@
10
10
 
11
11
  import React from 'react';
12
12
  import { View, TouchableOpacity, ViewStyle } from 'react-native';
13
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
13
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
14
14
  import { AtomicInput, AtomicInputProps } from '../atoms/AtomicInput';
15
15
  import { AtomicIcon } from '../atoms/AtomicIcon';
16
16
 
@@ -15,7 +15,7 @@
15
15
 
16
16
  import React from 'react';
17
17
  import { View, StyleSheet } from 'react-native';
18
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
18
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
19
19
  import { AtomicCard } from '../atoms/AtomicCard';
20
20
  import { AtomicText } from '../atoms/AtomicText';
21
21
 
@@ -17,7 +17,7 @@
17
17
  import React from 'react';
18
18
  import { View, StyleSheet, ViewStyle, TextStyle } from 'react-native';
19
19
  import { AtomicText } from '../atoms/AtomicText';
20
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
20
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
21
21
 
22
22
  // =============================================================================
23
23
  // TYPE DEFINITIONS
@@ -17,7 +17,7 @@
17
17
  import React from 'react';
18
18
  import { View, StyleSheet, ViewStyle, TextStyle } from 'react-native';
19
19
  import { AtomicText } from '../atoms/AtomicText';
20
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
20
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
21
21
 
22
22
  // =============================================================================
23
23
  // TYPE DEFINITIONS
@@ -6,7 +6,7 @@
6
6
 
7
7
  import { ViewStyle } from 'react-native';
8
8
  import { ConfirmationModalVariant, ConfirmationModalVariantConfig } from '../types';
9
- import type { DesignTokens } from '../../../tokens/AppDesignTokens';
9
+ import type { DesignTokens } from '@umituz/react-native-theme';
10
10
 
11
11
  /**
12
12
  * Get variant configuration (icon and color only)
@@ -45,16 +45,14 @@ export interface AtomicConfirmationModalProps {
45
45
  variant?: ConfirmationModalVariant;
46
46
 
47
47
  /**
48
- * Confirm button text
49
- * @default 'Confirm' (or variant-specific default)
48
+ * Confirm button text (required)
50
49
  */
51
- confirmText?: string;
50
+ confirmText: string;
52
51
 
53
52
  /**
54
- * Cancel button text
55
- * @default 'Cancel'
53
+ * Cancel button text (required)
56
54
  */
57
- cancelText?: string;
55
+ cancelText: string;
58
56
 
59
57
  /**
60
58
  * Icon name to display at top (MaterialIcons name)
@@ -11,7 +11,6 @@
11
11
  export { FormField } from './FormField';
12
12
  export { ListItem } from './ListItem';
13
13
  export { SearchBar } from './SearchBar';
14
- export { LanguageSwitcher } from './LanguageSwitcher';
15
14
  export { SectionCard } from './SectionCard';
16
15
  export { IconContainer } from './IconContainer';
17
16
  export { ScreenHeader } from './ScreenHeader';
@@ -1,5 +1,5 @@
1
1
  import { ViewStyle } from 'react-native';
2
- import { useAppDesignTokens } from '../../../hooks/useAppDesignTokens';
2
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
3
3
 
4
4
  type DesignTokens = ReturnType<typeof useAppDesignTokens>;
5
5
 
@@ -10,10 +10,11 @@
10
10
 
11
11
  import React from 'react';
12
12
  import { View, ViewStyle, SafeAreaView } from 'react-native';
13
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
13
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
14
14
  import { AtomicText } from '../atoms/AtomicText';
15
15
  import { AtomicButton } from '../atoms/AtomicButton';
16
16
  import { AtomicIcon } from '../atoms/AtomicIcon';
17
+ import type { IconName } from '@umituz/react-native-icon';
17
18
 
18
19
  // =============================================================================
19
20
  // TYPE DEFINITIONS
@@ -28,9 +29,9 @@ import { AtomicIcon } from '../atoms/AtomicIcon';
28
29
  export interface AppHeaderProps {
29
30
  title: string;
30
31
  subtitle?: string;
31
- leftIcon?: string; // MaterialIcons name
32
+ leftIcon?: IconName;
32
33
  onLeftPress?: () => void;
33
- rightIcon?: string; // MaterialIcons name
34
+ rightIcon?: IconName;
34
35
  onRightPress?: () => void;
35
36
  showShadow?: boolean;
36
37
  backgroundColor?: string;
@@ -52,7 +52,7 @@ import {
52
52
  ViewStyle,
53
53
  } from 'react-native';
54
54
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
55
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
55
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
56
56
  import { useResponsive } from '../hooks/useResponsive';
57
57
 
58
58
  /**
@@ -26,7 +26,7 @@
26
26
  import React, { useMemo } from 'react';
27
27
  import { View, ScrollView, StyleSheet, ViewStyle } from 'react-native';
28
28
  import { SafeAreaView, Edge } from 'react-native-safe-area-context';
29
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
29
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
30
30
 
31
31
  export interface ScreenLayoutProps {
32
32
  /**
@@ -16,7 +16,7 @@
16
16
  */
17
17
 
18
18
  import { ViewStyle, TextStyle } from 'react-native';
19
- import { useAppDesignTokens } from '../hooks/useAppDesignTokens';
19
+ import { useAppDesignTokens } from '@umituz/react-native-theme';
20
20
 
21
21
  /**
22
22
  * Hook to get common styles with dynamic theme support
@@ -96,7 +96,7 @@ export const useCommonStyles = () => {
96
96
 
97
97
  /**
98
98
  * Centered container - both horizontal and vertical
99
- * Perfect for empty states, loading screens, splash screens
99
+ * Perfect for empty states, splash screens
100
100
  */
101
101
  centerContainer: {
102
102
  flex: 1,
@@ -1,91 +0,0 @@
1
- /**
2
- * Icon Library Configuration
3
- *
4
- * 🔧 SINGLE SOURCE OF TRUTH FOR ICON LIBRARY SELECTION
5
- *
6
- * To change icon library:
7
- * 1. Update package.json with new library
8
- * 2. Change CURRENT_LIBRARY below
9
- * 3. Create adapter if needed (infrastructure/adapters/)
10
- * 4. Done! All apps automatically use new library
11
- *
12
- * @example
13
- * // Switch to Material Icons:
14
- * export const CURRENT_LIBRARY: IconLibraryType = 'material';
15
- */
16
- export type IconLibraryType = 'lucide' | 'material' | 'fontawesome' | 'ionicons';
17
- /**
18
- * 🔧 CHANGE THIS TO SWITCH ICON LIBRARY
19
- */
20
- export declare const CURRENT_LIBRARY: IconLibraryType;
21
- /**
22
- * Icon Library Configuration
23
- */
24
- export declare const ICON_LIBRARY_CONFIG: {
25
- /**
26
- * Current icon library in use
27
- */
28
- readonly library: "lucide";
29
- /**
30
- * Default icon size (in pixels)
31
- */
32
- readonly defaultSize: 24;
33
- /**
34
- * Default stroke width for outline icons
35
- */
36
- readonly defaultStrokeWidth: 2;
37
- /**
38
- * Library metadata
39
- */
40
- readonly libraries: {
41
- readonly lucide: {
42
- readonly name: "Lucide";
43
- readonly package: "lucide-react-native";
44
- readonly version: "^0.468.0";
45
- readonly iconCount: 1639;
46
- readonly type: "outline";
47
- readonly adapter: "LucideAdapter";
48
- };
49
- readonly material: {
50
- readonly name: "Material Icons";
51
- readonly package: "@expo/vector-icons";
52
- readonly version: "^14.0.0";
53
- readonly iconCount: 2000;
54
- readonly type: "filled";
55
- readonly adapter: "MaterialAdapter";
56
- };
57
- readonly fontawesome: {
58
- readonly name: "Font Awesome";
59
- readonly package: "@expo/vector-icons";
60
- readonly version: "^14.0.0";
61
- readonly iconCount: 1500;
62
- readonly type: "solid";
63
- readonly adapter: "FontAwesomeAdapter";
64
- };
65
- readonly ionicons: {
66
- readonly name: "Ionicons";
67
- readonly package: "@expo/vector-icons";
68
- readonly version: "^14.0.0";
69
- readonly iconCount: 1300;
70
- readonly type: "outline";
71
- readonly adapter: "IoniconsAdapter";
72
- };
73
- };
74
- };
75
- /**
76
- * Get current library metadata
77
- */
78
- export declare const getCurrentLibrary: () => {
79
- readonly name: "Lucide";
80
- readonly package: "lucide-react-native";
81
- readonly version: "^0.468.0";
82
- readonly iconCount: 1639;
83
- readonly type: "outline";
84
- readonly adapter: "LucideAdapter";
85
- };
86
- /**
87
- * Type-safe library check
88
- * Factory uses Lucide icons only
89
- */
90
- export declare const isLucideLibrary: () => boolean;
91
- //# sourceMappingURL=IconLibraryConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconLibraryConfig.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/domain/config/IconLibraryConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,UAAU,CAAC;AAEjF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,eAA0B,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC9B;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCK,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;CAE7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,eAAa,CAAC"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Icon Library Configuration
3
- *
4
- * 🔧 SINGLE SOURCE OF TRUTH FOR ICON LIBRARY SELECTION
5
- *
6
- * To change icon library:
7
- * 1. Update package.json with new library
8
- * 2. Change CURRENT_LIBRARY below
9
- * 3. Create adapter if needed (infrastructure/adapters/)
10
- * 4. Done! All apps automatically use new library
11
- *
12
- * @example
13
- * // Switch to Material Icons:
14
- * export const CURRENT_LIBRARY: IconLibraryType = 'material';
15
- */
16
- /**
17
- * 🔧 CHANGE THIS TO SWITCH ICON LIBRARY
18
- */
19
- export const CURRENT_LIBRARY = 'lucide';
20
- /**
21
- * Icon Library Configuration
22
- */
23
- export const ICON_LIBRARY_CONFIG = {
24
- /**
25
- * Current icon library in use
26
- */
27
- library: CURRENT_LIBRARY,
28
- /**
29
- * Default icon size (in pixels)
30
- */
31
- defaultSize: 24,
32
- /**
33
- * Default stroke width for outline icons
34
- */
35
- defaultStrokeWidth: 2,
36
- /**
37
- * Library metadata
38
- */
39
- libraries: {
40
- lucide: {
41
- name: 'Lucide',
42
- package: 'lucide-react-native',
43
- version: '^0.468.0',
44
- iconCount: 1639,
45
- type: 'outline',
46
- adapter: 'LucideAdapter',
47
- },
48
- material: {
49
- name: 'Material Icons',
50
- package: '@expo/vector-icons',
51
- version: '^14.0.0',
52
- iconCount: 2000,
53
- type: 'filled',
54
- adapter: 'MaterialAdapter',
55
- },
56
- fontawesome: {
57
- name: 'Font Awesome',
58
- package: '@expo/vector-icons',
59
- version: '^14.0.0',
60
- iconCount: 1500,
61
- type: 'solid',
62
- adapter: 'FontAwesomeAdapter',
63
- },
64
- ionicons: {
65
- name: 'Ionicons',
66
- package: '@expo/vector-icons',
67
- version: '^14.0.0',
68
- iconCount: 1300,
69
- type: 'outline',
70
- adapter: 'IoniconsAdapter',
71
- },
72
- },
73
- };
74
- /**
75
- * Get current library metadata
76
- */
77
- export const getCurrentLibrary = () => {
78
- return ICON_LIBRARY_CONFIG.libraries[CURRENT_LIBRARY];
79
- };
80
- /**
81
- * Type-safe library check
82
- * Factory uses Lucide icons only
83
- */
84
- export const isLucideLibrary = () => true;
85
- //# sourceMappingURL=IconLibraryConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconLibraryConfig.js","sourceRoot":"","sources":["../../../../../src/domains/icons/domain/config/IconLibraryConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,eAAe;IAExB;;OAEG;IACH,WAAW,EAAE,EAAE;IAEf;;OAEG;IACH,kBAAkB,EAAE,CAAC;IAErB;;OAEG;IACH,SAAS,EAAE;QACT,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,eAAe;SACzB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iBAAiB;SAC3B;QACD,WAAW,EAAE;YACX,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,oBAAoB;SAC9B;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,iBAAiB;SAC3B;KACF;CACO,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,OAAO,mBAAmB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC"}
@@ -1,111 +0,0 @@
1
- /**
2
- * Icons Domain - Entities
3
- *
4
- * Core icon types and interfaces for the App Factory.
5
- * Provides unified access to Lucide icons (design-system) + Expo vector icons.
6
- *
7
- * @domain icons
8
- * @layer domain
9
- */
10
- /**
11
- * Icon library types
12
- * - lucide: Lucide React Native icons (already in design-system/AtomicIcon)
13
- * - material: Material Design icons (@expo/vector-icons)
14
- * - fontawesome: FontAwesome icons (@expo/vector-icons)
15
- * - ionicons: Ionicons (@expo/vector-icons)
16
- */
17
- export declare enum IconLibrary {
18
- LUCIDE = "lucide",
19
- MATERIAL = "material",
20
- FONTAWESOME = "fontawesome",
21
- IONICONS = "ionicons"
22
- }
23
- /**
24
- * Icon category for organization
25
- */
26
- export declare enum IconCategory {
27
- ALL = "all",
28
- NAVIGATION = "navigation",
29
- ACTION = "action",
30
- SOCIAL = "social",
31
- COMMUNICATION = "communication",
32
- MEDIA = "media",
33
- BUSINESS = "business",
34
- WEATHER = "weather",
35
- SYMBOLS = "symbols",
36
- EMOJI = "emoji"
37
- }
38
- /**
39
- * Icon metadata for registry
40
- */
41
- export interface IconMetadata {
42
- name: string;
43
- library: IconLibrary;
44
- category: IconCategory;
45
- tags: string[];
46
- searchTerms: string[];
47
- }
48
- /**
49
- * Icon registry interface
50
- */
51
- export interface IIconRegistry {
52
- /**
53
- * Get all icons in the library
54
- */
55
- getAllIcons(): IconMetadata[];
56
- /**
57
- * Get icons by category
58
- */
59
- getIconsByCategory(category: IconCategory): IconMetadata[];
60
- /**
61
- * Search icons by query
62
- */
63
- searchIcons(query: string): IconMetadata[];
64
- /**
65
- * Get icon metadata by name
66
- */
67
- getIconMetadata(name: string): IconMetadata | null;
68
- }
69
- /**
70
- * Icon picker configuration
71
- */
72
- export interface IconPickerConfig {
73
- libraries: IconLibrary[];
74
- categories: IconCategory[];
75
- showSearch: boolean;
76
- multiSelect: boolean;
77
- maxSelections?: number;
78
- onSelect: (icons: IconMetadata[]) => void;
79
- onCancel?: () => void;
80
- }
81
- /**
82
- * Icon constants
83
- */
84
- export declare const ICON_CONSTANTS: {
85
- readonly DEFAULT_SIZE: 24;
86
- readonly DEFAULT_COLOR: "onSurface";
87
- readonly DEFAULT_LIBRARY: IconLibrary.LUCIDE;
88
- readonly MAX_SEARCH_RESULTS: 50;
89
- };
90
- /**
91
- * Icon utility functions
92
- */
93
- export declare const IconUtils: {
94
- /**
95
- * Normalize icon name for search
96
- */
97
- normalizeIconName: (name: string) => string;
98
- /**
99
- * Match search query against icon metadata
100
- */
101
- matchesSearch: (icon: IconMetadata, query: string) => boolean;
102
- /**
103
- * Filter icons by category
104
- */
105
- filterByCategory: (icons: IconMetadata[], category: IconCategory) => IconMetadata[];
106
- /**
107
- * Sort icons alphabetically
108
- */
109
- sortByName: (icons: IconMetadata[]) => IconMetadata[];
110
- };
111
- //# sourceMappingURL=Icon.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/domain/entities/Icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACtB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE,CAAC;IAE9B;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IAE3D;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IAE3C;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,SAAS;IACpB;;OAEG;8BACuB,MAAM,KAAG,MAAM;IAIzC;;OAEG;0BACmB,YAAY,SAAS,MAAM,KAAG,OAAO;IAa3D;;OAEG;8BACuB,YAAY,EAAE,YAAY,YAAY,KAAG,YAAY,EAAE;IAOjF;;OAEG;wBACiB,YAAY,EAAE,KAAG,YAAY,EAAE;CAGpD,CAAC"}
@@ -1,87 +0,0 @@
1
- /**
2
- * Icons Domain - Entities
3
- *
4
- * Core icon types and interfaces for the App Factory.
5
- * Provides unified access to Lucide icons (design-system) + Expo vector icons.
6
- *
7
- * @domain icons
8
- * @layer domain
9
- */
10
- /**
11
- * Icon library types
12
- * - lucide: Lucide React Native icons (already in design-system/AtomicIcon)
13
- * - material: Material Design icons (@expo/vector-icons)
14
- * - fontawesome: FontAwesome icons (@expo/vector-icons)
15
- * - ionicons: Ionicons (@expo/vector-icons)
16
- */
17
- export var IconLibrary;
18
- (function (IconLibrary) {
19
- IconLibrary["LUCIDE"] = "lucide";
20
- IconLibrary["MATERIAL"] = "material";
21
- IconLibrary["FONTAWESOME"] = "fontawesome";
22
- IconLibrary["IONICONS"] = "ionicons";
23
- })(IconLibrary || (IconLibrary = {}));
24
- /**
25
- * Icon category for organization
26
- */
27
- export var IconCategory;
28
- (function (IconCategory) {
29
- IconCategory["ALL"] = "all";
30
- IconCategory["NAVIGATION"] = "navigation";
31
- IconCategory["ACTION"] = "action";
32
- IconCategory["SOCIAL"] = "social";
33
- IconCategory["COMMUNICATION"] = "communication";
34
- IconCategory["MEDIA"] = "media";
35
- IconCategory["BUSINESS"] = "business";
36
- IconCategory["WEATHER"] = "weather";
37
- IconCategory["SYMBOLS"] = "symbols";
38
- IconCategory["EMOJI"] = "emoji";
39
- })(IconCategory || (IconCategory = {}));
40
- /**
41
- * Icon constants
42
- */
43
- export const ICON_CONSTANTS = {
44
- DEFAULT_SIZE: 24,
45
- DEFAULT_COLOR: 'onSurface',
46
- DEFAULT_LIBRARY: IconLibrary.LUCIDE,
47
- MAX_SEARCH_RESULTS: 50,
48
- };
49
- /**
50
- * Icon utility functions
51
- */
52
- export const IconUtils = {
53
- /**
54
- * Normalize icon name for search
55
- */
56
- normalizeIconName: (name) => {
57
- return name.toLowerCase().replace(/[^a-z0-9]/g, '');
58
- },
59
- /**
60
- * Match search query against icon metadata
61
- */
62
- matchesSearch: (icon, query) => {
63
- const normalizedQuery = IconUtils.normalizeIconName(query);
64
- const normalizedName = IconUtils.normalizeIconName(icon.name);
65
- const normalizedTags = icon.tags.map(tag => IconUtils.normalizeIconName(tag));
66
- const normalizedTerms = icon.searchTerms.map(term => IconUtils.normalizeIconName(term));
67
- return (normalizedName.includes(normalizedQuery) ||
68
- normalizedTags.some(tag => tag.includes(normalizedQuery)) ||
69
- normalizedTerms.some(term => term.includes(normalizedQuery)));
70
- },
71
- /**
72
- * Filter icons by category
73
- */
74
- filterByCategory: (icons, category) => {
75
- if (category === IconCategory.ALL) {
76
- return icons;
77
- }
78
- return icons.filter(icon => icon.category === category);
79
- },
80
- /**
81
- * Sort icons alphabetically
82
- */
83
- sortByName: (icons) => {
84
- return [...icons].sort((a, b) => a.name.localeCompare(b.name));
85
- },
86
- };
87
- //# sourceMappingURL=Icon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../../../src/domains/icons/domain/entities/Icon.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,0CAA2B,CAAA;IAC3B,oCAAqB,CAAA;AACvB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,yCAAyB,CAAA;IACzB,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,+CAA+B,CAAA;IAC/B,+BAAe,CAAA;IACf,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,+BAAe,CAAA;AACjB,CAAC,EAXW,YAAY,KAAZ,YAAY,QAWvB;AAmDD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,WAAW;IAC1B,eAAe,EAAE,WAAW,CAAC,MAAM;IACnC,kBAAkB,EAAE,EAAE;CACd,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB;;OAEG;IACH,iBAAiB,EAAE,CAAC,IAAY,EAAU,EAAE;QAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,aAAa,EAAE,CAAC,IAAkB,EAAE,KAAa,EAAW,EAAE;QAC5D,MAAM,eAAe,GAAG,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,OAAO,CACL,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC;YACxC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACzD,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,EAAE,CAAC,KAAqB,EAAE,QAAsB,EAAkB,EAAE;QAClF,IAAI,QAAQ,KAAK,YAAY,CAAC,GAAG,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,UAAU,EAAE,CAAC,KAAqB,EAAkB,EAAE;QACpD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;CACF,CAAC"}
@@ -1,114 +0,0 @@
1
- /**
2
- * Icon Adapter Interface
3
- *
4
- * Universal interface that all icon library adapters must implement.
5
- * This allows seamless switching between icon libraries.
6
- *
7
- * @example
8
- * // Implementing for a new library:
9
- * export const MyLibraryAdapter: IIconAdapter = {
10
- * getIconComponent: (name) => MyIcons[name],
11
- * getIconSize: (size) => sizeMap[size],
12
- * getIconColor: (color, tokens) => colorMap[color],
13
- * getAllIcons: () => Object.keys(MyIcons),
14
- * };
15
- */
16
- import type { ComponentType } from 'react';
17
- import type { ViewStyle } from 'react-native';
18
- import type { DesignTokens } from '../../../../presentation/tokens/core/TokenFactory';
19
- export type IconName = string;
20
- export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
21
- export type IconColor = 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'info' | 'onSurface' | 'surfaceVariant' | 'onPrimary' | 'onSecondary' | 'textInverse';
22
- /**
23
- * Icon Adapter Interface
24
- * All icon library adapters must implement this interface
25
- */
26
- export interface IIconAdapter {
27
- /**
28
- * Get the icon component for a given icon name
29
- * @param name - Icon name (library-specific)
30
- * @returns Icon component or null if not found
31
- */
32
- getIconComponent: (name: string) => ComponentType<any> | null;
33
- /**
34
- * Convert semantic size to pixel size
35
- * @param size - Semantic size (xs, sm, md, lg, xl, xxl)
36
- * @param customSize - Optional custom pixel size
37
- * @returns Pixel size
38
- */
39
- getIconSize: (size: IconSize, customSize?: number) => number;
40
- /**
41
- * Convert semantic color to hex color
42
- * @param color - Semantic color name
43
- * @param tokens - Design tokens for theme colors
44
- * @param customColor - Optional custom hex color
45
- * @returns Hex color string
46
- */
47
- getIconColor: (color: IconColor, tokens: DesignTokens, customColor?: string) => string;
48
- /**
49
- * Get all available icon names for this library
50
- * @returns Array of icon names
51
- */
52
- getAllIcons: () => string[];
53
- /**
54
- * Check if an icon exists in the library
55
- * @param name - Icon name to check
56
- * @returns True if icon exists
57
- */
58
- hasIcon: (name: string) => boolean;
59
- /**
60
- * Get default stroke width for outline icons
61
- * @returns Stroke width number
62
- */
63
- getStrokeWidth?: () => number;
64
- }
65
- /**
66
- * Icon Props - Universal props for Icon component
67
- */
68
- export interface IconProps {
69
- /**
70
- * Icon name (library-specific)
71
- */
72
- name: string;
73
- /**
74
- * Icon size preset
75
- */
76
- size?: IconSize;
77
- /**
78
- * Custom pixel size (overrides size preset)
79
- */
80
- customSize?: number;
81
- /**
82
- * Semantic color
83
- */
84
- color?: IconColor;
85
- /**
86
- * Custom hex color (overrides semantic color)
87
- */
88
- customColor?: string;
89
- /**
90
- * Stroke width for outline icons
91
- */
92
- strokeWidth?: number;
93
- /**
94
- * Background circle for icon
95
- */
96
- withBackground?: boolean;
97
- /**
98
- * Background color
99
- */
100
- backgroundColor?: string;
101
- /**
102
- * Accessibility label
103
- */
104
- accessibilityLabel?: string;
105
- /**
106
- * Test ID
107
- */
108
- testID?: string;
109
- /**
110
- * Custom styles
111
- */
112
- style?: ViewStyle;
113
- }
114
- //# sourceMappingURL=IIconAdapter.d.ts.map