@umituz/react-native-design-system 1.5.0 → 1.7.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 (105) hide show
  1. package/lib/index.d.ts +2 -4
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js +17 -17
  4. package/lib/index.js.map +1 -1
  5. package/lib/presentation/atoms/AtomicButton.d.ts +1 -1
  6. package/lib/presentation/atoms/AtomicButton.d.ts.map +1 -1
  7. package/lib/presentation/atoms/AtomicButton.js +1 -1
  8. package/lib/presentation/atoms/AtomicButton.js.map +1 -1
  9. package/lib/presentation/atoms/AtomicFormError.js +1 -1
  10. package/lib/presentation/atoms/AtomicFormError.js.map +1 -1
  11. package/lib/presentation/atoms/AtomicIcon.d.ts +2 -3
  12. package/lib/presentation/atoms/AtomicIcon.d.ts.map +1 -1
  13. package/lib/presentation/atoms/AtomicIcon.js +1 -1
  14. package/lib/presentation/atoms/AtomicIcon.js.map +1 -1
  15. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts +1 -1
  16. package/lib/presentation/atoms/fab/styles/fabStyles.d.ts.map +1 -1
  17. package/lib/presentation/atoms/index.d.ts +1 -1
  18. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts +4 -15
  19. package/lib/presentation/atoms/picker/styles/pickerStyles.d.ts.map +1 -1
  20. package/lib/presentation/atoms/picker/styles/pickerStyles.js.map +1 -1
  21. package/lib/presentation/hooks/useAppDesignTokens.d.ts +6 -27
  22. package/lib/presentation/hooks/useAppDesignTokens.d.ts.map +1 -1
  23. package/lib/presentation/hooks/useAppDesignTokens.js +6 -32
  24. package/lib/presentation/hooks/useAppDesignTokens.js.map +1 -1
  25. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts +1 -1
  26. package/lib/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.d.ts.map +1 -1
  27. package/lib/presentation/organisms/AppHeader.d.ts +3 -2
  28. package/lib/presentation/organisms/AppHeader.d.ts.map +1 -1
  29. package/lib/presentation/organisms/AppHeader.js.map +1 -1
  30. package/package.json +13 -3
  31. package/src/index.ts +34 -29
  32. package/src/presentation/atoms/AtomicBadge.tsx +1 -1
  33. package/src/presentation/atoms/AtomicButton.tsx +2 -2
  34. package/src/presentation/atoms/AtomicFormError.tsx +1 -1
  35. package/src/presentation/atoms/AtomicIcon.tsx +3 -4
  36. package/src/presentation/atoms/fab/styles/fabStyles.ts +1 -1
  37. package/src/presentation/atoms/picker/styles/pickerStyles.ts +25 -5
  38. package/src/presentation/hooks/useAppDesignTokens.ts +6 -33
  39. package/src/presentation/molecules/confirmation-modal/styles/confirmationModalStyles.ts +1 -1
  40. package/src/presentation/organisms/AppHeader.tsx +3 -2
  41. package/lib/domains/icons/domain/config/IconLibraryConfig.d.ts +0 -91
  42. package/lib/domains/icons/domain/config/IconLibraryConfig.d.ts.map +0 -1
  43. package/lib/domains/icons/domain/config/IconLibraryConfig.js +0 -85
  44. package/lib/domains/icons/domain/config/IconLibraryConfig.js.map +0 -1
  45. package/lib/domains/icons/domain/entities/Icon.d.ts +0 -111
  46. package/lib/domains/icons/domain/entities/Icon.d.ts.map +0 -1
  47. package/lib/domains/icons/domain/entities/Icon.js +0 -87
  48. package/lib/domains/icons/domain/entities/Icon.js.map +0 -1
  49. package/lib/domains/icons/domain/interfaces/IIconAdapter.d.ts +0 -114
  50. package/lib/domains/icons/domain/interfaces/IIconAdapter.d.ts.map +0 -1
  51. package/lib/domains/icons/domain/interfaces/IIconAdapter.js +0 -17
  52. package/lib/domains/icons/domain/interfaces/IIconAdapter.js.map +0 -1
  53. package/lib/domains/icons/index.d.ts +0 -84
  54. package/lib/domains/icons/index.d.ts.map +0 -1
  55. package/lib/domains/icons/index.js +0 -89
  56. package/lib/domains/icons/index.js.map +0 -1
  57. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.d.ts +0 -24
  58. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.d.ts.map +0 -1
  59. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.js +0 -85
  60. package/lib/domains/icons/infrastructure/adapters/LucideAdapter.js.map +0 -1
  61. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.d.ts +0 -23
  62. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.d.ts.map +0 -1
  63. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.js +0 -178
  64. package/lib/domains/icons/infrastructure/registries/ExpoIconRegistry.js.map +0 -1
  65. package/lib/domains/icons/presentation/components/Icon.d.ts +0 -42
  66. package/lib/domains/icons/presentation/components/Icon.d.ts.map +0 -1
  67. package/lib/domains/icons/presentation/components/Icon.js +0 -86
  68. package/lib/domains/icons/presentation/components/Icon.js.map +0 -1
  69. package/lib/domains/icons/presentation/hooks/useIconLibrary.d.ts +0 -38
  70. package/lib/domains/icons/presentation/hooks/useIconLibrary.d.ts.map +0 -1
  71. package/lib/domains/icons/presentation/hooks/useIconLibrary.js +0 -114
  72. package/lib/domains/icons/presentation/hooks/useIconLibrary.js.map +0 -1
  73. package/lib/infrastructure/theme/globalThemeStore.d.ts +0 -42
  74. package/lib/infrastructure/theme/globalThemeStore.d.ts.map +0 -1
  75. package/lib/infrastructure/theme/globalThemeStore.js +0 -38
  76. package/lib/infrastructure/theme/globalThemeStore.js.map +0 -1
  77. package/lib/presentation/tokens/AppDesignTokens.d.ts +0 -14
  78. package/lib/presentation/tokens/AppDesignTokens.d.ts.map +0 -1
  79. package/lib/presentation/tokens/AppDesignTokens.js +0 -23
  80. package/lib/presentation/tokens/AppDesignTokens.js.map +0 -1
  81. package/lib/presentation/tokens/core/BaseTokens.d.ts +0 -312
  82. package/lib/presentation/tokens/core/BaseTokens.d.ts.map +0 -1
  83. package/lib/presentation/tokens/core/BaseTokens.js +0 -304
  84. package/lib/presentation/tokens/core/BaseTokens.js.map +0 -1
  85. package/lib/presentation/tokens/core/ColorPalette.d.ts +0 -216
  86. package/lib/presentation/tokens/core/ColorPalette.d.ts.map +0 -1
  87. package/lib/presentation/tokens/core/ColorPalette.js +0 -330
  88. package/lib/presentation/tokens/core/ColorPalette.js.map +0 -1
  89. package/lib/presentation/tokens/core/TokenFactory.d.ts +0 -216
  90. package/lib/presentation/tokens/core/TokenFactory.d.ts.map +0 -1
  91. package/lib/presentation/tokens/core/TokenFactory.js +0 -86
  92. package/lib/presentation/tokens/core/TokenFactory.js.map +0 -1
  93. package/src/domains/icons/domain/config/IconLibraryConfig.ts +0 -93
  94. package/src/domains/icons/domain/entities/Icon.ts +0 -143
  95. package/src/domains/icons/domain/interfaces/IIconAdapter.ts +0 -147
  96. package/src/domains/icons/index.ts +0 -109
  97. package/src/domains/icons/infrastructure/adapters/LucideAdapter.ts +0 -100
  98. package/src/domains/icons/infrastructure/registries/ExpoIconRegistry.ts +0 -191
  99. package/src/domains/icons/presentation/components/Icon.tsx +0 -132
  100. package/src/domains/icons/presentation/hooks/useIconLibrary.ts +0 -141
  101. package/src/infrastructure/theme/globalThemeStore.ts +0 -51
  102. package/src/presentation/tokens/AppDesignTokens.ts +0 -55
  103. package/src/presentation/tokens/core/BaseTokens.ts +0 -372
  104. package/src/presentation/tokens/core/ColorPalette.ts +0 -400
  105. package/src/presentation/tokens/core/TokenFactory.ts +0 -118
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"IIconAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/domain/interfaces/IIconAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAEtF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAChE,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,WAAW,GACX,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,GACN,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,aAAa,CAAC;AAElB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAE7D;;;;;;OAMG;IACH,YAAY,EAAE,CACZ,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,MAAM,KACjB,MAAM,CAAC;IAEZ;;;OAGG;IACH,WAAW,EAAE,MAAM,MAAM,EAAE,CAAC;IAE5B;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAEnC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB"}
@@ -1,17 +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
- export {};
17
- //# sourceMappingURL=IIconAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IIconAdapter.js","sourceRoot":"","sources":["../../../../../src/domains/icons/domain/interfaces/IIconAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -1,84 +0,0 @@
1
- /**
2
- * Icons Domain - Centralized Icon System
3
- *
4
- * 🎯 SINGLE SOURCE OF TRUTH FOR ALL ICONS
5
- *
6
- * Universal icon library system with easy library switching.
7
- * Change icon library = change one config file!
8
- *
9
- * @domain icons
10
- * @enabled true (All apps)
11
- *
12
- * ARCHITECTURE:
13
- * ```
14
- * domains/icons/
15
- * ├── domain/
16
- * │ ├── config/
17
- * │ │ └── IconLibraryConfig.ts 🔧 Change library here!
18
- * │ └── interfaces/
19
- * │ └── IIconAdapter.ts Interface for adapters
20
- * ├── infrastructure/
21
- * │ └── adapters/
22
- * │ ├── LucideAdapter.ts Current: Lucide (1,639 icons)
23
- * │ ├── MaterialAdapter.ts Future: Material Icons
24
- * │ └── FontAwesomeAdapter.ts Future: Font Awesome
25
- * └── presentation/
26
- * └── components/
27
- * └── Icon.tsx Universal Icon component
28
- * ```
29
- *
30
- * USAGE:
31
- * ```typescript
32
- * import { Icon } from '@domains/icons';
33
- *
34
- * // Basic usage
35
- * <Icon name="Settings" size="md" color="primary" />
36
- *
37
- * // Custom size and color
38
- * <Icon name="Heart" customSize={32} customColor="#FF0000" />
39
- *
40
- * // With background
41
- * <Icon name="Info" size="lg" withBackground backgroundColor="#667eea" />
42
- * ```
43
- *
44
- * 🔧 TO CHANGE ICON LIBRARY:
45
- *
46
- * Step 1: Update package.json
47
- * ```json
48
- * {
49
- * "dependencies": {
50
- * "new-icon-library": "^1.0.0"
51
- * }
52
- * }
53
- * ```
54
- *
55
- * Step 2: Change CURRENT_LIBRARY in domain/config/IconLibraryConfig.ts
56
- * ```typescript
57
- * export const CURRENT_LIBRARY: IconLibraryType = 'material'; // Changed!
58
- * ```
59
- *
60
- * Step 3: Create adapter (if needed)
61
- * ```typescript
62
- * // infrastructure/adapters/MaterialAdapter.ts
63
- * export const MaterialAdapter: IIconAdapter = {
64
- * getIconComponent: (name) => MaterialIcons[name],
65
- * // ... implement interface
66
- * };
67
- * ```
68
- *
69
- * Step 4: Done! All apps use new library automatically ✅
70
- *
71
- * CURRENT LIBRARY: Lucide (1,639 icons)
72
- * @see https://lucide.dev/icons/
73
- *
74
- * DEPENDENCIES:
75
- * - lucide-react-native: ^0.468.0 (Current library)
76
- */
77
- export { Icon } from './presentation/components/Icon';
78
- export type { IconProps, IconSize, IconColor, IconName, } from './presentation/components/Icon';
79
- export { CURRENT_LIBRARY, ICON_LIBRARY_CONFIG, getCurrentLibrary, isLucideLibrary, } from './domain/config/IconLibraryConfig';
80
- export type { IconLibraryType } from './domain/config/IconLibraryConfig';
81
- export type { IIconAdapter } from './domain/interfaces/IIconAdapter';
82
- export { LucideAdapter } from './infrastructure/adapters/LucideAdapter';
83
- export type { LucideIconName } from './infrastructure/adapters/LucideAdapter';
84
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domains/icons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAMH,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,YAAY,EACV,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,YAAY,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAMrE,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1,89 +0,0 @@
1
- /**
2
- * Icons Domain - Centralized Icon System
3
- *
4
- * 🎯 SINGLE SOURCE OF TRUTH FOR ALL ICONS
5
- *
6
- * Universal icon library system with easy library switching.
7
- * Change icon library = change one config file!
8
- *
9
- * @domain icons
10
- * @enabled true (All apps)
11
- *
12
- * ARCHITECTURE:
13
- * ```
14
- * domains/icons/
15
- * ├── domain/
16
- * │ ├── config/
17
- * │ │ └── IconLibraryConfig.ts 🔧 Change library here!
18
- * │ └── interfaces/
19
- * │ └── IIconAdapter.ts Interface for adapters
20
- * ├── infrastructure/
21
- * │ └── adapters/
22
- * │ ├── LucideAdapter.ts Current: Lucide (1,639 icons)
23
- * │ ├── MaterialAdapter.ts Future: Material Icons
24
- * │ └── FontAwesomeAdapter.ts Future: Font Awesome
25
- * └── presentation/
26
- * └── components/
27
- * └── Icon.tsx Universal Icon component
28
- * ```
29
- *
30
- * USAGE:
31
- * ```typescript
32
- * import { Icon } from '@domains/icons';
33
- *
34
- * // Basic usage
35
- * <Icon name="Settings" size="md" color="primary" />
36
- *
37
- * // Custom size and color
38
- * <Icon name="Heart" customSize={32} customColor="#FF0000" />
39
- *
40
- * // With background
41
- * <Icon name="Info" size="lg" withBackground backgroundColor="#667eea" />
42
- * ```
43
- *
44
- * 🔧 TO CHANGE ICON LIBRARY:
45
- *
46
- * Step 1: Update package.json
47
- * ```json
48
- * {
49
- * "dependencies": {
50
- * "new-icon-library": "^1.0.0"
51
- * }
52
- * }
53
- * ```
54
- *
55
- * Step 2: Change CURRENT_LIBRARY in domain/config/IconLibraryConfig.ts
56
- * ```typescript
57
- * export const CURRENT_LIBRARY: IconLibraryType = 'material'; // Changed!
58
- * ```
59
- *
60
- * Step 3: Create adapter (if needed)
61
- * ```typescript
62
- * // infrastructure/adapters/MaterialAdapter.ts
63
- * export const MaterialAdapter: IIconAdapter = {
64
- * getIconComponent: (name) => MaterialIcons[name],
65
- * // ... implement interface
66
- * };
67
- * ```
68
- *
69
- * Step 4: Done! All apps use new library automatically ✅
70
- *
71
- * CURRENT LIBRARY: Lucide (1,639 icons)
72
- * @see https://lucide.dev/icons/
73
- *
74
- * DEPENDENCIES:
75
- * - lucide-react-native: ^0.468.0 (Current library)
76
- */
77
- // ============================================================================
78
- // PRESENTATION LAYER - Universal Icon Component
79
- // ============================================================================
80
- export { Icon } from './presentation/components/Icon';
81
- // ============================================================================
82
- // DOMAIN LAYER - Configuration & Interfaces
83
- // ============================================================================
84
- export { CURRENT_LIBRARY, ICON_LIBRARY_CONFIG, getCurrentLibrary, isLucideLibrary, } from './domain/config/IconLibraryConfig';
85
- // ============================================================================
86
- // INFRASTRUCTURE LAYER - Adapters
87
- // ============================================================================
88
- export { LucideAdapter } from './infrastructure/adapters/LucideAdapter';
89
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domains/icons/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAEH,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAQtD,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAK3C,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Lucide Icon Library Adapter
3
- *
4
- * Adapter for lucide-react-native library (1,639 icons).
5
- * Implements IIconAdapter interface for seamless library switching.
6
- *
7
- * @library lucide-react-native
8
- * @version ^0.468.0
9
- * @icons 1,639
10
- * @type outline
11
- *
12
- * @see https://lucide.dev/icons/
13
- */
14
- import { icons } from 'lucide-react-native';
15
- import type { IIconAdapter } from '../../domain/interfaces/IIconAdapter';
16
- /**
17
- * Lucide Adapter Implementation
18
- */
19
- export declare const LucideAdapter: IIconAdapter;
20
- /**
21
- * Lucide icon names type (for TypeScript autocomplete)
22
- */
23
- export type LucideIconName = keyof typeof icons;
24
- //# sourceMappingURL=LucideAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LucideAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/infrastructure/adapters/LucideAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,sCAAsC,CAAC;AAe9F;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,YA6D3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,KAAK,CAAC"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Lucide Icon Library Adapter
3
- *
4
- * Adapter for lucide-react-native library (1,639 icons).
5
- * Implements IIconAdapter interface for seamless library switching.
6
- *
7
- * @library lucide-react-native
8
- * @version ^0.468.0
9
- * @icons 1,639
10
- * @type outline
11
- *
12
- * @see https://lucide.dev/icons/
13
- */
14
- import { icons } from 'lucide-react-native';
15
- /**
16
- * Size mapping: Semantic → Pixels
17
- */
18
- const SIZE_MAP = {
19
- xs: 16,
20
- sm: 20,
21
- md: 24,
22
- lg: 28,
23
- xl: 32,
24
- xxl: 40,
25
- };
26
- /**
27
- * Lucide Adapter Implementation
28
- */
29
- export const LucideAdapter = {
30
- /**
31
- * Get Lucide icon component by name
32
- */
33
- getIconComponent: (name) => {
34
- const IconComponent = icons[name];
35
- if (!IconComponent) {
36
- console.warn(`[LucideAdapter] Icon "${name}" not found in Lucide library`);
37
- return null;
38
- }
39
- return IconComponent;
40
- },
41
- /**
42
- * Get icon size in pixels
43
- */
44
- getIconSize: (size, customSize) => {
45
- return customSize || SIZE_MAP[size];
46
- },
47
- /**
48
- * Get icon color from theme
49
- */
50
- getIconColor: (color, tokens, customColor) => {
51
- if (customColor)
52
- return customColor;
53
- const colorMap = {
54
- primary: tokens.colors.primary,
55
- secondary: tokens.colors.secondary,
56
- success: tokens.colors.success,
57
- warning: tokens.colors.warning,
58
- error: tokens.colors.error,
59
- info: tokens.colors.info,
60
- onSurface: tokens.colors.onSurface,
61
- surfaceVariant: tokens.colors.surfaceVariant,
62
- onPrimary: tokens.colors.onPrimary,
63
- onSecondary: tokens.colors.onSecondary,
64
- textInverse: tokens.colors.textInverse,
65
- };
66
- return colorMap[color];
67
- },
68
- /**
69
- * Get all available Lucide icon names
70
- */
71
- getAllIcons: () => {
72
- return Object.keys(icons);
73
- },
74
- /**
75
- * Check if icon exists in Lucide library
76
- */
77
- hasIcon: (name) => {
78
- return name in icons;
79
- },
80
- /**
81
- * Default stroke width for Lucide outline icons
82
- */
83
- getStrokeWidth: () => 2,
84
- };
85
- //# sourceMappingURL=LucideAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LucideAdapter.js","sourceRoot":"","sources":["../../../../../src/domains/icons/infrastructure/adapters/LucideAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI5C;;GAEG;AACH,MAAM,QAAQ,GAA6B;IACzC,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,GAAG,EAAE,EAAE;CACR,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC;;OAEG;IACH,gBAAgB,EAAE,CAAC,IAAY,EAAE,EAAE;QACjC,MAAM,aAAa,GAAG,KAAK,CAAC,IAA0B,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,yBAAyB,IAAI,+BAA+B,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,WAAW,EAAE,CAAC,IAAc,EAAE,UAAmB,EAAE,EAAE;QACnD,OAAO,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,YAAY,EAAE,CAAC,KAAgB,EAAE,MAAoB,EAAE,WAAoB,EAAE,EAAE;QAC7E,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QAEpC,MAAM,QAAQ,GAA8B;YAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;YAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;YAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;YACxB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc;YAC5C,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS;YAClC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;YACtC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;SACvC,CAAC;QAEF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,WAAW,EAAE,GAAG,EAAE;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;QACxB,OAAO,IAAI,IAAI,KAAK,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;CACxB,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * Icons Domain - Expo Vector Icons Registry
3
- *
4
- * Registry for @expo/vector-icons (Material, FontAwesome, Ionicons).
5
- * Provides metadata and search capabilities for 1000+ icons.
6
- *
7
- * @domain icons
8
- * @layer infrastructure
9
- */
10
- import type { IIconRegistry, IconMetadata } from '@domains/icons/domain/entities/Icon';
11
- import { IconCategory } from '@domains/icons/domain/entities/Icon';
12
- /**
13
- * Expo vector icons registry
14
- * Maps common Material Design, FontAwesome, and Ionicons
15
- */
16
- export declare class ExpoIconRegistry implements IIconRegistry {
17
- private icons;
18
- getAllIcons(): IconMetadata[];
19
- getIconsByCategory(category: IconCategory): IconMetadata[];
20
- searchIcons(query: string): IconMetadata[];
21
- getIconMetadata(name: string): IconMetadata | null;
22
- }
23
- //# sourceMappingURL=ExpoIconRegistry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExpoIconRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/domains/icons/infrastructure/registries/ExpoIconRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAe,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEhF;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,KAAK,CAwIX;IAEF,WAAW,IAAI,YAAY,EAAE;IAI7B,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAO1D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;IAoB1C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;CAGnD"}