@retray-dev/ui-kit 10.2.0 → 12.1.0

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 (153) hide show
  1. package/COMPONENTS.md +287 -37
  2. package/README.md +11 -2
  3. package/dist/Accordion.mjs +2 -2
  4. package/dist/AlertBanner.mjs +2 -2
  5. package/dist/AppHeader.mjs +3 -3
  6. package/dist/Avatar.mjs +2 -2
  7. package/dist/Badge.mjs +2 -2
  8. package/dist/Button.mjs +2 -2
  9. package/dist/Card.mjs +2 -2
  10. package/dist/CategoryStrip.mjs +2 -2
  11. package/dist/Checkbox.mjs +2 -2
  12. package/dist/Chip.mjs +2 -2
  13. package/dist/ConfirmDialog.d.mts +1 -6
  14. package/dist/ConfirmDialog.d.ts +1 -6
  15. package/dist/ConfirmDialog.js +29 -23
  16. package/dist/ConfirmDialog.mjs +3 -3
  17. package/dist/CurrencyDisplay.mjs +2 -2
  18. package/dist/CurrencyInput.d.mts +3 -8
  19. package/dist/CurrencyInput.d.ts +3 -8
  20. package/dist/CurrencyInput.js +3 -1
  21. package/dist/CurrencyInput.mjs +3 -3
  22. package/dist/DetailRow.mjs +2 -2
  23. package/dist/EmptyState.mjs +3 -3
  24. package/dist/ErrorBoundary.mjs +2 -2
  25. package/dist/Form.mjs +2 -2
  26. package/dist/IconButton.mjs +2 -2
  27. package/dist/IconPicker.js +675 -248
  28. package/dist/IconPicker.mjs +3 -2
  29. package/dist/ImageUpload.mjs +3 -3
  30. package/dist/ImageViewer.mjs +4 -4
  31. package/dist/Input.mjs +2 -2
  32. package/dist/LabelValue.mjs +2 -2
  33. package/dist/ListGroup.mjs +2 -2
  34. package/dist/ListItem.d.mts +7 -7
  35. package/dist/ListItem.d.ts +7 -7
  36. package/dist/ListItem.js +12 -7
  37. package/dist/ListItem.mjs +2 -2
  38. package/dist/MediaCard.mjs +2 -2
  39. package/dist/MenuGroup.mjs +2 -2
  40. package/dist/MenuItem.mjs +2 -2
  41. package/dist/MonthPicker.mjs +2 -2
  42. package/dist/NumberStepper.mjs +2 -2
  43. package/dist/PagerDots.mjs +2 -2
  44. package/dist/Pressable.d.mts +15 -7
  45. package/dist/Pressable.d.ts +15 -7
  46. package/dist/Pressable.js +7 -3
  47. package/dist/Pressable.mjs +1 -1
  48. package/dist/PricingCard.mjs +4 -4
  49. package/dist/Progress.mjs +2 -2
  50. package/dist/RadioGroup.mjs +2 -2
  51. package/dist/RetrayProvider.mjs +3 -3
  52. package/dist/Select.mjs +2 -2
  53. package/dist/SelectableGrid.mjs +2 -2
  54. package/dist/Separator.mjs +2 -2
  55. package/dist/Sheet.d.mts +4 -46
  56. package/dist/Sheet.d.ts +4 -46
  57. package/dist/Sheet.js +46 -114
  58. package/dist/Sheet.mjs +2 -3
  59. package/dist/SheetSelect.mjs +2 -2
  60. package/dist/Skeleton.mjs +2 -2
  61. package/dist/Slider.mjs +2 -2
  62. package/dist/Spinner.mjs +2 -2
  63. package/dist/Stats.d.mts +30 -0
  64. package/dist/Stats.d.ts +30 -0
  65. package/dist/Stats.js +429 -0
  66. package/dist/Stats.mjs +9 -0
  67. package/dist/Switch.mjs +2 -2
  68. package/dist/TabBar.mjs +2 -2
  69. package/dist/Tabs.mjs +2 -2
  70. package/dist/Text.d.mts +3 -1
  71. package/dist/Text.d.ts +3 -1
  72. package/dist/Text.js +3 -3
  73. package/dist/Text.mjs +2 -2
  74. package/dist/Textarea.mjs +2 -2
  75. package/dist/Toast.mjs +2 -2
  76. package/dist/Toggle.mjs +2 -2
  77. package/dist/{chunk-YJ7I257J.mjs → chunk-265G6A46.mjs} +1 -1
  78. package/dist/{chunk-ELXBDILQ.mjs → chunk-2A2LEFZG.mjs} +2 -2
  79. package/dist/{chunk-ID72TK46.mjs → chunk-2CBQKU7H.mjs} +1 -1
  80. package/dist/{chunk-OB4JUQ3O.mjs → chunk-2I2AYECM.mjs} +1 -1
  81. package/dist/{chunk-WJLKJMKR.mjs → chunk-357YO24D.mjs} +4 -4
  82. package/dist/{chunk-GQYFLP3D.mjs → chunk-3GEYJ7I5.mjs} +1 -1
  83. package/dist/{chunk-AV4EMIRH.mjs → chunk-3N2M3WZL.mjs} +1 -1
  84. package/dist/{chunk-VF2ATYN3.mjs → chunk-3UYAZ7I4.mjs} +1 -1
  85. package/dist/{chunk-JMOZEC77.mjs → chunk-4WFMPFZB.mjs} +1 -1
  86. package/dist/chunk-5OLNXP3S.mjs +144 -0
  87. package/dist/{chunk-6SECQ2ZF.mjs → chunk-7HSILTC4.mjs} +2 -2
  88. package/dist/{chunk-IRRY3CRZ.mjs → chunk-AKM4EPOT.mjs} +1 -1
  89. package/dist/{chunk-IX3NYLYQ.mjs → chunk-AQEVCEXV.mjs} +1 -1
  90. package/dist/{chunk-WBOOUHSS.mjs → chunk-BCWEHE34.mjs} +1 -1
  91. package/dist/{chunk-AJ7ZDNBT.mjs → chunk-BOVUP27T.mjs} +1 -1
  92. package/dist/{chunk-BRKYVJVV.mjs → chunk-BQZE3HAW.mjs} +1 -1
  93. package/dist/{chunk-Z6SFHN6T.mjs → chunk-D3Y2T42P.mjs} +1 -1
  94. package/dist/{chunk-T2KCAHOS.mjs → chunk-DF6DU42P.mjs} +1 -1
  95. package/dist/{chunk-TB6SD2FT.mjs → chunk-DI7CBDL6.mjs} +1 -1
  96. package/dist/{chunk-HTHGSXFG.mjs → chunk-DOGIPOF5.mjs} +1 -1
  97. package/dist/{chunk-MBMXYJJV.mjs → chunk-E7NEHHXV.mjs} +7 -3
  98. package/dist/{chunk-MX6HRKMI.mjs → chunk-EFLFRAHD.mjs} +1 -1
  99. package/dist/{chunk-SOYNZDVY.mjs → chunk-EMUWGDWC.mjs} +6 -1
  100. package/dist/{chunk-AJRVDP2H.mjs → chunk-F4V6XLP4.mjs} +3 -3
  101. package/dist/{chunk-DYT7BG5I.mjs → chunk-FA2KMTH5.mjs} +1 -1
  102. package/dist/{chunk-Y2NS74WS.mjs → chunk-FFTYLPSB.mjs} +46 -98
  103. package/dist/{chunk-VKID2D2I.mjs → chunk-FUVYSVGR.mjs} +13 -8
  104. package/dist/{chunk-7LWRKMF5.mjs → chunk-FVTVCJAH.mjs} +1 -1
  105. package/dist/{chunk-TZDGAP5N.mjs → chunk-GK4VRMNE.mjs} +2 -2
  106. package/dist/{chunk-6Q64UFIA.mjs → chunk-HJ46DTJE.mjs} +1 -1
  107. package/dist/{chunk-WF2XDFRK.mjs → chunk-HLMPMUK2.mjs} +1 -1
  108. package/dist/{chunk-GD6KXMG5.mjs → chunk-I4V5XZPS.mjs} +1 -1
  109. package/dist/{chunk-TBNZHU6C.mjs → chunk-ISY26JQJ.mjs} +2 -2
  110. package/dist/{chunk-X4G6APW6.mjs → chunk-J6Q2YJEV.mjs} +1 -1
  111. package/dist/{chunk-WYEUNUTP.mjs → chunk-JCZQOY4O.mjs} +31 -24
  112. package/dist/{chunk-U2XJFYED.mjs → chunk-JNVAIDLK.mjs} +1 -1
  113. package/dist/{chunk-SOA2Z4RB.mjs → chunk-JULSIZDM.mjs} +1 -1
  114. package/dist/chunk-KHYX4IOM.mjs +1114 -0
  115. package/dist/{chunk-RYZC432S.mjs → chunk-LRM4AVYY.mjs} +1 -1
  116. package/dist/{chunk-6L4G6PBT.mjs → chunk-MYZ2EDYU.mjs} +1 -1
  117. package/dist/{chunk-BUMAMSTZ.mjs → chunk-N4ZPVCJH.mjs} +1 -1
  118. package/dist/{chunk-Z4VHZ7B5.mjs → chunk-NXI4YDZ2.mjs} +1 -1
  119. package/dist/{chunk-ZZ2R6KZ3.mjs → chunk-OULVKTWL.mjs} +1 -1
  120. package/dist/{chunk-FCSSQK3L.mjs → chunk-P64WHW4A.mjs} +1 -1
  121. package/dist/{chunk-KOO4WITD.mjs → chunk-P73V2EKS.mjs} +1 -1
  122. package/dist/{chunk-SXLKNTA4.mjs → chunk-PGERH3P7.mjs} +1 -1
  123. package/dist/{chunk-2UYENBLV.mjs → chunk-QSFV2P7O.mjs} +1 -1
  124. package/dist/{chunk-JT7HKXRB.mjs → chunk-S3KJCPEJ.mjs} +1 -1
  125. package/dist/{chunk-BEMIQXXU.mjs → chunk-V6NFJXKO.mjs} +1 -1
  126. package/dist/{chunk-A3A6KNQN.mjs → chunk-WOEWGSTU.mjs} +1 -1
  127. package/dist/{chunk-NMU5FMQJ.mjs → chunk-X26S5EVZ.mjs} +4 -2
  128. package/dist/{chunk-YFZ3ELX5.mjs → chunk-XBAGGKLW.mjs} +2 -2
  129. package/dist/{chunk-S2R7UVOE.mjs → chunk-ZHMSAYLT.mjs} +1 -1
  130. package/dist/fonts.d.mts +1 -7
  131. package/dist/fonts.d.ts +1 -7
  132. package/dist/fonts.js +0 -2
  133. package/dist/fonts.mjs +1 -2
  134. package/dist/index.d.mts +4 -1
  135. package/dist/index.d.ts +4 -1
  136. package/dist/index.js +1184 -708
  137. package/dist/index.mjs +53 -52
  138. package/package.json +3 -3
  139. package/src/components/ConfirmDialog/ConfirmDialog.tsx +39 -30
  140. package/src/components/CurrencyInput/CurrencyInput.tsx +4 -7
  141. package/src/components/IconPicker/IconPicker.tsx +124 -112
  142. package/src/components/ListItem/ListItem.tsx +43 -28
  143. package/src/components/Pressable/Pressable.tsx +20 -8
  144. package/src/components/Sheet/Sheet.tsx +64 -172
  145. package/src/components/Stats/Stats.tsx +226 -0
  146. package/src/components/Stats/index.ts +2 -0
  147. package/src/components/Text/Text.tsx +4 -2
  148. package/src/fonts.ts +0 -7
  149. package/src/index.ts +4 -0
  150. package/src/theme/colorUtils.ts +9 -0
  151. package/src/utils/curatedIcons.ts +698 -135
  152. package/src/utils/fontGuard.ts +2 -1
  153. package/dist/chunk-53Z3NYGE.mjs +0 -742
@@ -1,19 +1,49 @@
1
1
  /**
2
- * Curated icon set — ~320 most useful icons organized by category.
2
+ * Curated icon set — 12 categories, themed icons, all outlined style.
3
3
  * Ordered by usage probability: most-common categories first, niche last.
4
+ *
4
5
  * All names resolve across 6 @expo/vector-icons families via renderIcon().
6
+ * Priority (lowest→highest): Ionicons → MaterialIcons → FontAwesome5 → Entypo → AntDesign → Feather.
7
+ * Feather is the highest priority — any name it has wins over all other families.
8
+ *
9
+ * ICON FAMILY RULES (strict):
10
+ * - Feather (stroke-outlined, always safe) — first choice for utility icons. ✅
11
+ * - Ionicons `-outline` suffix for domain-specific icons (food, sports, nature). ✅
12
+ * These names don't exist in any higher-priority family, so they resolve
13
+ * cleanly to Ionicons outline style — no collisions, no filled rendering.
14
+ * - FontAwesome5 brand glyphs (github, twitter, etc.) — consistent flat brand
15
+ * logos in the Brands category. They render as the official brand silhouette
16
+ * and are visually consistent across all brands.
17
+ * - AntDesign (filled) ❌ NEVER — renders filled.
18
+ * - Entypo (filled) ❌ NEVER — renders filled.
19
+ * - MaterialIcons (filled) ❌ NEVER — renders filled.
20
+ * - Ionicons base (filled) ❌ NEVER — always use the `-outline` variant.
21
+ * - FA5 regular/solid substyles (filled) ❌ NEVER.
22
+ *
23
+ * THEMATIC RULE (strict):
24
+ * - Every icon must be directly relevant to its category. No generic
25
+ * filler. Contextual relevance is allowed (e.g. truck/map-pin in Food
26
+ * for delivery/location), but icons that fit in any category (phone,
27
+ * mail, bell, search, etc.) are NOT used as filler — they belong in
28
+ * the appropriate category (Communication / Status / Actions).
29
+ * - No duplicate concepts per category (don't list both `arrow-up` and
30
+ * `arrow-up-outline` — pick the best outlined version once).
31
+ *
32
+ * Verify: check glyphMaps in node_modules/@expo/vector-icons/build/vendor/
33
+ * react-native-vector-icons/glyphmaps/
34
+ * - Feather.json, Ionicons.json, FA5Free.json, FA5Free_meta.json
5
35
  */
6
36
 
7
37
  export interface IconCategory {
8
38
  name: string
9
39
  label: string
10
40
  labelEs: string
11
- /** Icon that represents this category in the tab bar. */
12
41
  categoryIcon: string
13
42
  icons: string[]
14
43
  }
15
44
 
16
45
  export const CURATED_ICONS: IconCategory[] = [
46
+ // ─── Food ────────────────────────────────────────────────────────────────────
17
47
  {
18
48
  name: 'food',
19
49
  label: 'Food',
@@ -21,253 +51,786 @@ export const CURATED_ICONS: IconCategory[] = [
21
51
  categoryIcon: 'coffee',
22
52
  icons: [
23
53
  // Bebidas
54
+ 'beer-outline',
55
+ 'wine-outline',
56
+ 'cafe-outline',
57
+ 'water-outline',
24
58
  'coffee',
25
- 'wine-glass',
26
- 'beer',
27
- 'cocktail',
28
- 'mug-hot',
29
- 'glass-cheers',
30
- 'wine',
31
- // Comidas
32
- 'restaurant',
33
- 'hamburger',
34
- 'pizza-slice',
35
- 'ice-cream',
36
- 'cake',
37
- 'egg',
38
- 'fish',
39
- 'bread-slice',
40
- 'cookie',
41
- 'cheese',
42
- 'carrot',
43
- 'hotdog',
44
- // Cocina / utilidades
45
- 'utensils',
59
+ // Comida
60
+ 'pizza-outline',
61
+ 'fast-food-outline',
62
+ 'fish-outline',
63
+ 'ice-cream-outline',
64
+ 'egg-outline',
65
+ 'nutrition-outline',
66
+ // Servicio y operación
67
+ 'restaurant-outline',
68
+ 'server-outline',
69
+ 'menu-outline',
70
+ 'basket-outline',
71
+ 'receipt-outline',
72
+ 'pricetag-outline',
73
+ 'pricetags-outline',
74
+ 'reorder-four-outline',
75
+ 'reorder-three-outline',
76
+ 'cart-outline',
77
+ 'cash-outline',
78
+ 'wallet-outline',
79
+ 'storefront-outline',
46
80
  // Delivery / pedidos
81
+ 'truck',
82
+ 'package',
47
83
  'shopping-bag',
84
+ 'shopping-cart',
85
+ // Ubicación y reserva
86
+ 'map-pin',
87
+ 'home',
88
+ 'calendar',
48
89
  'clock',
90
+ // Experiencia
49
91
  'star',
50
92
  'heart',
51
- 'map-pin',
52
- 'phone',
93
+ 'bookmark',
94
+ 'thumbs-up',
95
+ 'check',
96
+ 'gift',
53
97
  ],
54
98
  },
99
+
100
+ // ─── Sports ──────────────────────────────────────────────────────────────────
55
101
  {
56
102
  name: 'sports',
57
103
  label: 'Sports',
58
104
  labelEs: 'Deportes',
59
- categoryIcon: 'activity',
105
+ categoryIcon: 'trophy-outline',
60
106
  icons: [
61
- // Deportes específicos
62
- 'futbol',
63
- 'dumbbell',
64
- 'running',
65
- 'bicycle',
66
- 'heartbeat',
67
- 'fitness-center',
68
- // Competencia / logros
69
- 'target',
107
+ // Deportes
108
+ 'american-football-outline',
109
+ 'baseball-outline',
110
+ 'basketball-outline',
111
+ 'bicycle-outline',
112
+ 'football-outline',
113
+ 'tennisball-outline',
114
+ 'golf-outline',
115
+ 'fitness-outline',
116
+ 'car-sport-outline',
117
+ 'game-controller-outline',
118
+ // Competición y logros
119
+ 'trophy-outline',
120
+ 'medal-outline',
70
121
  'award',
122
+ 'target',
71
123
  'flag',
72
- 'star',
124
+ 'crosshair',
125
+ // Outdoor
126
+ 'compass-outline',
127
+ 'map-outline',
128
+ 'trail-sign-outline',
129
+ 'bonfire-outline',
130
+ 'snow-outline',
131
+ 'flame-outline',
132
+ 'sun',
133
+ 'droplet',
134
+ 'wind',
135
+ 'map',
136
+ 'map-pin',
137
+ 'navigation',
138
+ 'navigation-2',
139
+ // Rendimiento y métricas
140
+ 'stats-chart-outline',
141
+ 'trending-up-outline',
142
+ 'trending-down-outline',
143
+ 'bar-chart-outline',
144
+ 'pie-chart-outline',
145
+ 'analytics-outline',
146
+ 'activity',
73
147
  'zap',
74
- // Bienestar
75
- 'heart',
148
+ 'watch',
149
+ 'trending-up',
150
+ 'trending-down',
151
+ 'bar-chart-2',
76
152
  'clock',
77
- 'activity',
78
- 'sun',
79
- 'user',
80
- 'users',
153
+ 'calendar',
81
154
  ],
82
155
  },
156
+
157
+ // ─── Business ────────────────────────────────────────────────────────────────
83
158
  {
84
159
  name: 'business',
85
160
  label: 'Business',
86
161
  labelEs: 'Negocios',
87
162
  categoryIcon: 'briefcase',
88
163
  icons: [
89
- 'shopping-cart', 'shopping-bag',
90
- 'credit-card',
91
- 'dollar-sign', 'percent',
164
+ // Empresa
92
165
  'briefcase',
93
- 'truck', 'package',
166
+ 'users',
167
+ 'user',
168
+ 'user-plus',
169
+ 'user-check',
170
+ 'user-x',
171
+ 'briefcase-outline',
172
+ 'business-outline',
173
+ 'id-card-outline',
174
+ // Comercio y operación
175
+ 'shopping-cart',
176
+ 'shopping-bag',
177
+ 'credit-card',
178
+ 'dollar-sign',
179
+ 'percent',
180
+ 'tag',
94
181
  'gift',
95
- 'bar-chart', 'bar-chart-2', 'pie-chart',
96
- 'trending-up', 'trending-down',
182
+ 'cart-outline',
183
+ 'cash-outline',
184
+ 'wallet-outline',
185
+ 'storefront-outline',
186
+ 'pricetag-outline',
187
+ 'pricetags-outline',
188
+ 'receipt-outline',
189
+ 'card-outline',
190
+ // Logística
191
+ 'truck',
192
+ 'package',
193
+ // Documentos
194
+ 'file',
195
+ 'file-text',
196
+ 'file-plus',
197
+ 'folder',
198
+ 'paperclip',
199
+ 'document-outline',
200
+ 'document-text-outline',
201
+ 'documents-outline',
202
+ 'folder-outline',
203
+ // Comunicación de negocio
204
+ 'mail',
205
+ 'phone',
206
+ 'phone-call',
207
+ 'send',
208
+ 'message-square',
209
+ 'mail-outline',
210
+ // Análisis
211
+ 'bar-chart',
212
+ 'bar-chart-2',
213
+ 'pie-chart',
214
+ 'trending-up',
215
+ 'trending-down',
97
216
  'activity',
98
- 'tag',
99
- 'bookmark',
100
- 'pocket',
217
+ 'globe',
101
218
  ],
102
219
  },
220
+
221
+ // ─── Objects ─────────────────────────────────────────────────────────────────
103
222
  {
104
223
  name: 'objects',
105
224
  label: 'Objects',
106
225
  labelEs: 'Objetos',
107
- categoryIcon: 'folder',
226
+ categoryIcon: 'package',
108
227
  icons: [
109
- 'file', 'file-text', 'file-plus', 'file-minus',
110
- 'folder', 'folder-plus', 'folder-minus',
111
- 'lock', 'unlock', 'key',
112
- 'shield', 'shield-off',
113
- 'settings',
114
- 'sliders', 'toggle-left', 'toggle-right',
115
- 'tool',
116
- 'printer',
117
- 'database', 'server', 'hard-drive',
118
- 'cpu',
228
+ // Archivos y carpetas
229
+ 'file',
230
+ 'file-text',
231
+ 'file-plus',
232
+ 'file-minus',
233
+ 'folder',
234
+ 'folder-plus',
235
+ 'folder-minus',
236
+ 'archive',
237
+ 'save',
119
238
  'paperclip',
120
- 'aperture', 'box',
239
+ 'document-outline',
240
+ 'document-text-outline',
241
+ 'documents-outline',
242
+ 'folder-outline',
243
+ 'folder-open-outline',
244
+ 'file-tray-outline',
245
+ 'file-tray-full-outline',
246
+ 'file-tray-stacked-outline',
247
+ 'archive-outline',
248
+ 'save-outline',
249
+ // Seguridad
250
+ 'lock',
251
+ 'unlock',
252
+ 'key',
253
+ 'shield',
254
+ 'shield-off',
255
+ 'lock-closed-outline',
256
+ 'lock-open-outline',
257
+ 'key-outline',
258
+ 'shield-outline',
259
+ 'shield-checkmark-outline',
260
+ // Dispositivos
261
+ 'monitor',
262
+ 'tablet',
263
+ 'smartphone',
264
+ 'tv',
265
+ 'server',
266
+ 'database',
267
+ 'hard-drive',
268
+ 'cpu',
121
269
  'radio',
270
+ 'laptop-outline',
271
+ 'phone-portrait-outline',
272
+ 'phone-landscape-outline',
273
+ 'tablet-landscape-outline',
274
+ 'tablet-portrait-outline',
275
+ 'tv-outline',
276
+ 'server-outline',
277
+ 'hardware-chip-outline',
278
+ 'watch-outline',
122
279
  ],
123
280
  },
281
+
282
+ // ─── Status ──────────────────────────────────────────────────────────────────
124
283
  {
125
284
  name: 'status',
126
285
  label: 'Status',
127
286
  labelEs: 'Estado',
128
287
  categoryIcon: 'alert-circle',
129
288
  icons: [
130
- 'alert-circle', 'alert-triangle', 'alert-octagon',
131
- 'info', 'help-circle',
132
- 'bell', 'bell-off',
133
- 'eye', 'eye-off',
289
+ // Alertas
290
+ 'alert-circle',
291
+ 'alert-triangle',
292
+ 'alert-octagon',
293
+ 'info',
294
+ 'help-circle',
295
+ 'alert-circle-outline',
296
+ 'alert-outline',
297
+ 'information-circle-outline',
298
+ 'help-circle-outline',
299
+ // Notificaciones
300
+ 'bell',
301
+ 'bell-off',
302
+ 'notifications-outline',
303
+ 'notifications-off-outline',
304
+ 'notifications-circle-outline',
305
+ // Visibilidad
306
+ 'eye',
307
+ 'eye-off',
308
+ 'eye-outline',
309
+ 'eye-off-outline',
310
+ // Indicadores
134
311
  'flag',
135
- 'zap', 'zap-off',
136
- 'loader', 'clock', 'watch',
312
+ 'zap',
313
+ 'zap-off',
314
+ 'loader',
315
+ 'activity',
316
+ 'flash-outline',
317
+ 'bulb-outline',
318
+ // Éxito / error / advertencia
319
+ 'check',
320
+ 'check-circle',
321
+ 'x',
322
+ 'x-circle',
323
+ 'x-octagon',
324
+ 'slash',
325
+ 'plus-circle',
326
+ 'minus-circle',
327
+ 'checkmark-circle-outline',
328
+ 'checkmark-done-circle-outline',
329
+ 'close-circle-outline',
330
+ 'add-circle-outline',
331
+ 'remove-circle-outline',
332
+ // Estados de proceso
333
+ 'play-circle',
334
+ 'pause-circle',
335
+ 'stop-circle',
336
+ 'play-circle-outline',
337
+ 'pause-circle-outline',
338
+ 'stop-circle-outline',
137
339
  ],
138
340
  },
341
+
342
+ // ─── Actions ─────────────────────────────────────────────────────────────────
139
343
  {
140
344
  name: 'actions',
141
345
  label: 'Actions',
142
346
  labelEs: 'Acciones',
143
347
  categoryIcon: 'edit-3',
144
348
  icons: [
145
- 'plus', 'plus-circle', 'plus-square',
146
- 'minus', 'minus-circle', 'minus-square',
147
- 'x', 'x-circle', 'x-square', 'x-octagon',
148
- 'check', 'check-circle', 'check-square',
149
- 'edit', 'edit-2', 'edit-3',
150
- 'trash', 'trash-2',
151
- 'copy', 'clipboard', 'scissors',
152
- 'download', 'download-cloud', 'upload', 'upload-cloud',
153
- 'share', 'share-2', 'link', 'link-2',
154
- 'search', 'zoom-in', 'zoom-out',
155
- 'save', 'archive',
156
- 'log-in', 'log-out', 'power',
157
- 'refresh-cw', 'rotate-cw',
349
+ // Crear / añadir
350
+ 'plus',
351
+ 'plus-circle',
352
+ 'plus-square',
353
+ 'add-outline',
354
+ 'add-circle-outline',
355
+ // Eliminar / quitar
356
+ 'minus',
357
+ 'minus-circle',
358
+ 'minus-square',
359
+ 'trash',
360
+ 'trash-2',
361
+ 'x',
362
+ 'x-circle',
363
+ 'x-square',
364
+ 'x-octagon',
158
365
  'slash',
366
+ 'trash-outline',
367
+ 'trash-bin-outline',
368
+ 'remove-outline',
369
+ 'remove-circle-outline',
370
+ 'close-circle-outline',
371
+ 'backspace-outline',
372
+ 'cut-outline',
373
+ // Confirmar
374
+ 'check',
375
+ 'check-circle',
376
+ 'check-square',
377
+ 'checkmark-circle-outline',
378
+ // Editar
379
+ 'edit',
380
+ 'edit-2',
381
+ 'edit-3',
382
+ 'copy',
383
+ 'clipboard',
384
+ 'scissors',
385
+ 'create-outline',
386
+ 'pencil-outline',
387
+ 'duplicate-outline',
388
+ 'copy-outline',
389
+ 'clipboard-outline',
390
+ // Mover datos
391
+ 'download',
392
+ 'download-cloud',
393
+ 'upload',
394
+ 'upload-cloud',
395
+ 'download-outline',
396
+ 'cloud-download-outline',
397
+ 'cloud-upload-outline',
159
398
  ],
160
399
  },
400
+
401
+ // ─── Communication ───────────────────────────────────────────────────────────
161
402
  {
162
403
  name: 'communication',
163
404
  label: 'Communication',
164
405
  labelEs: 'Comunicación',
165
406
  categoryIcon: 'message-circle',
166
407
  icons: [
167
- 'mail',
168
- 'message-circle', 'message-square',
408
+ // Mensajería
409
+ 'message-circle',
410
+ 'message-square',
169
411
  'send',
170
- 'phone', 'phone-call', 'phone-incoming', 'phone-outgoing',
171
- 'phone-missed', 'phone-off', 'phone-forwarded',
172
- 'at-sign', 'inbox',
173
- 'user', 'user-plus', 'user-minus', 'user-check', 'user-x',
412
+ 'mail',
413
+ 'inbox',
414
+ 'at-sign',
415
+ 'mail-outline',
416
+ 'mail-open-outline',
417
+ 'mail-unread-outline',
418
+ 'chatbubble-outline',
419
+ 'chatbubble-ellipses-outline',
420
+ 'chatbubbles-outline',
421
+ 'send-outline',
422
+ 'attach-outline',
423
+ 'at-outline',
424
+ 'at-circle-outline',
425
+ // Llamadas
426
+ 'phone',
427
+ 'phone-call',
428
+ 'phone-incoming',
429
+ 'phone-outgoing',
430
+ 'phone-missed',
431
+ 'phone-off',
432
+ 'phone-forwarded',
433
+ 'voicemail',
434
+ 'call-outline',
435
+ 'phone-portrait-outline',
436
+ 'phone-landscape-outline',
437
+ // Personas
438
+ 'user',
439
+ 'user-plus',
440
+ 'user-minus',
441
+ 'user-check',
442
+ 'user-x',
174
443
  'users',
175
- 'smile', 'frown', 'meh',
176
- 'heart', 'thumbs-up', 'thumbs-down',
177
- 'star',
178
- 'award',
444
+ 'person-outline',
445
+ 'person-circle-outline',
446
+ 'person-add-outline',
447
+ 'person-remove-outline',
448
+ 'people-outline',
449
+ 'people-circle-outline',
450
+ // Reacciones
451
+ 'smile',
452
+ 'frown',
453
+ 'meh',
454
+ 'heart',
455
+ 'thumbs-up',
456
+ 'thumbs-down',
457
+ 'happy-outline',
458
+ 'sad-outline',
459
+ 'heart-outline',
460
+ 'thumbs-up-outline',
461
+ 'thumbs-down-outline',
179
462
  ],
180
463
  },
464
+
465
+ // ─── Navigation ──────────────────────────────────────────────────────────────
181
466
  {
182
467
  name: 'navigation',
183
468
  label: 'Navigation',
184
469
  labelEs: 'Navegación',
185
470
  categoryIcon: 'compass',
186
471
  icons: [
187
- 'arrow-up', 'arrow-down', 'arrow-left', 'arrow-right',
188
- 'arrow-up-left', 'arrow-up-right', 'arrow-down-left', 'arrow-down-right',
189
- 'chevron-up', 'chevron-down', 'chevron-left', 'chevron-right',
190
- 'chevrons-up', 'chevrons-down', 'chevrons-left', 'chevrons-right',
191
- 'corner-up-left', 'corner-up-right', 'corner-down-left', 'corner-down-right',
192
- 'corner-left-up', 'corner-left-down', 'corner-right-up', 'corner-right-down',
193
- 'refresh-cw', 'refresh-ccw', 'rotate-cw', 'rotate-ccw',
194
- 'navigation', 'navigation-2', 'compass', 'map', 'map-pin', 'target', 'crosshair',
195
- 'home', 'maximize', 'maximize-2', 'minimize', 'minimize-2',
196
- 'external-link', 'move', 'anchor',
472
+ // Flechas cardinales
473
+ 'arrow-up',
474
+ 'arrow-down',
475
+ 'arrow-left',
476
+ 'arrow-right',
477
+ 'arrow-up-left',
478
+ 'arrow-up-right',
479
+ 'arrow-down-left',
480
+ 'arrow-down-right',
481
+ 'arrow-up-outline',
482
+ 'arrow-down-outline',
483
+ 'arrow-back-outline',
484
+ 'arrow-forward-outline',
485
+ 'arrow-undo-outline',
486
+ 'arrow-redo-outline',
487
+ // Chevrones
488
+ 'chevron-up',
489
+ 'chevron-down',
490
+ 'chevron-left',
491
+ 'chevron-right',
492
+ 'chevrons-up',
493
+ 'chevrons-down',
494
+ 'chevrons-left',
495
+ 'chevrons-right',
496
+ 'chevron-up-outline',
497
+ 'chevron-down-outline',
498
+ 'chevron-back-outline',
499
+ 'chevron-forward-outline',
500
+ 'chevron-collapse-outline',
501
+ 'chevron-expand-outline',
502
+ // Esquinas
503
+ 'corner-up-left',
504
+ 'corner-up-right',
505
+ 'corner-down-left',
506
+ 'corner-down-right',
507
+ 'corner-left-up',
508
+ 'corner-left-down',
509
+ 'corner-right-up',
510
+ 'corner-right-down',
511
+ // Giro / refrescar
512
+ 'refresh-cw',
513
+ 'refresh-ccw',
514
+ 'rotate-cw',
515
+ 'rotate-ccw',
516
+ 'refresh-outline',
517
+ 'reload-outline',
518
+ // Orientación y mapa
519
+ 'navigation',
520
+ 'navigation-2',
521
+ 'compass',
522
+ 'map',
523
+ 'map-pin',
524
+ 'target',
525
+ 'crosshair',
526
+ 'home',
527
+ 'anchor',
528
+ 'compass-outline',
529
+ 'map-outline',
530
+ 'location-outline',
531
+ 'navigate-outline',
532
+ 'pin-outline',
533
+ 'home-outline',
197
534
  ],
198
535
  },
536
+
537
+ // ─── Media ───────────────────────────────────────────────────────────────────
199
538
  {
200
539
  name: 'media',
201
540
  label: 'Media',
202
541
  labelEs: 'Medios',
203
542
  categoryIcon: 'image',
204
543
  icons: [
205
- 'image', 'film', 'video', 'video-off',
206
- 'play', 'play-circle', 'pause', 'pause-circle',
207
- 'square', 'stop-circle',
208
- 'music', 'headphones', 'speaker',
209
- 'camera', 'camera-off',
210
- 'mic', 'mic-off',
211
- 'volume', 'volume-1', 'volume-2', 'volume-x',
212
- 'fast-forward', 'rewind', 'skip-forward', 'skip-back',
213
- 'repeat', 'shuffle',
214
- 'disc',
544
+ // Visual
545
+ 'image',
546
+ 'film',
547
+ 'video',
548
+ 'video-off',
549
+ 'camera',
550
+ 'camera-off',
551
+ 'image-outline',
552
+ 'images-outline',
553
+ 'film-outline',
554
+ 'videocam-outline',
555
+ 'videocam-off-outline',
556
+ 'camera-outline',
557
+ 'camera-reverse-outline',
558
+ // Reproducción
559
+ 'play',
560
+ 'play-circle',
561
+ 'pause',
562
+ 'pause-circle',
563
+ 'square',
564
+ 'stop-circle',
565
+ 'fast-forward',
566
+ 'rewind',
567
+ 'skip-forward',
568
+ 'skip-back',
569
+ 'repeat',
570
+ 'shuffle',
571
+ 'play-outline',
572
+ 'pause-outline',
573
+ 'play-circle-outline',
574
+ 'pause-circle-outline',
575
+ 'stop-circle-outline',
576
+ 'play-back-outline',
577
+ 'play-forward-outline',
578
+ 'play-skip-back-outline',
579
+ 'play-skip-forward-outline',
580
+ 'repeat-outline',
581
+ 'shuffle-outline',
582
+ // Audio
583
+ 'music',
584
+ 'headphones',
585
+ 'speaker',
586
+ 'volume',
587
+ 'volume-1',
588
+ 'volume-2',
589
+ 'volume-x',
590
+ 'mic',
591
+ 'mic-off',
592
+ 'mic-outline',
593
+ 'mic-off-outline',
594
+ 'mic-circle-outline',
595
+ 'musical-note-outline',
596
+ 'musical-notes-outline',
597
+ 'volume-high-outline',
598
+ 'volume-low-outline',
599
+ 'volume-medium-outline',
600
+ 'volume-mute-outline',
601
+ 'volume-off-outline',
215
602
  ],
216
603
  },
604
+
605
+ // ─── Layout ──────────────────────────────────────────────────────────────────
217
606
  {
218
607
  name: 'layout',
219
608
  label: 'Layout',
220
609
  labelEs: 'Diseño',
221
610
  categoryIcon: 'grid',
222
611
  icons: [
223
- 'menu', 'more-horizontal', 'more-vertical',
224
- 'grid', 'columns', 'sidebar', 'layout',
612
+ // Estructura
613
+ 'grid',
614
+ 'columns',
615
+ 'sidebar',
616
+ 'layout',
225
617
  'list',
226
- 'align-left', 'align-center', 'align-right', 'align-justify',
227
- 'bold', 'italic', 'underline',
618
+ 'menu',
619
+ 'table',
620
+ 'trello',
621
+ 'grid-outline',
622
+ 'list-outline',
623
+ 'menu-outline',
624
+ 'layers-outline',
625
+ // Alineación
626
+ 'align-left',
627
+ 'align-center',
628
+ 'align-right',
629
+ 'align-justify',
630
+ // Tipografía
631
+ 'bold',
632
+ 'italic',
633
+ 'underline',
228
634
  'type',
229
- 'filter',
635
+ 'hash',
636
+ // Formas
637
+ 'circle',
638
+ 'square',
639
+ 'triangle',
640
+ 'hexagon',
641
+ 'octagon',
642
+ 'square-outline',
643
+ 'triangle-outline',
644
+ 'diamond-outline',
645
+ 'shapes-outline',
646
+ // Herramientas de diseño
647
+ 'pen-tool',
230
648
  'crop',
231
649
  'layers',
232
- 'hash',
233
- 'table', 'trello',
234
- 'circle', 'square', 'triangle', 'hexagon', 'octagon',
235
- 'feather', 'pen-tool',
650
+ 'filter',
651
+ 'sliders',
652
+ 'aperture',
653
+ 'crop-outline',
654
+ 'filter-outline',
655
+ 'color-fill-outline',
656
+ 'color-filter-outline',
657
+ 'color-palette-outline',
658
+ 'color-wand-outline',
659
+ 'brush-outline',
660
+ // Edición
661
+ 'edit',
662
+ 'edit-2',
663
+ 'edit-3',
664
+ 'copy',
665
+ 'trash',
666
+ 'move',
667
+ 'create-outline',
668
+ 'pencil-outline',
669
+ 'move-outline',
670
+ 'resize-outline',
671
+ 'duplicate-outline',
672
+ // Navegación UI
673
+ 'more-horizontal',
674
+ 'more-vertical',
675
+ 'maximize',
676
+ 'minimize',
677
+ 'zoom-in',
678
+ 'zoom-out',
679
+ 'eye',
680
+ 'eye-off',
681
+ 'eye-outline',
682
+ 'eye-off-outline',
683
+ 'ellipsis-horizontal-circle-outline',
684
+ 'ellipsis-vertical-circle-outline',
236
685
  ],
237
686
  },
687
+
688
+ // ─── Nature ──────────────────────────────────────────────────────────────────
238
689
  {
239
690
  name: 'nature',
240
691
  label: 'Nature',
241
692
  labelEs: 'Naturaleza',
242
- categoryIcon: 'sun',
693
+ categoryIcon: 'sunny-outline',
243
694
  icons: [
244
- 'sun', 'sunrise', 'sunset', 'moon',
245
- 'cloud', 'cloud-drizzle', 'cloud-lightning',
246
- 'cloud-off', 'cloud-rain', 'cloud-snow',
247
- 'wind', 'umbrella', 'thermometer',
695
+ // Sol, luna y estrellas
696
+ 'sunny-outline',
697
+ 'moon-outline',
698
+ 'star-outline',
699
+ 'star-half-outline',
700
+ 'partly-sunny-outline',
701
+ 'sun',
702
+ 'moon',
703
+ 'sunrise',
704
+ 'sunset',
705
+ // Clima
706
+ 'rainy-outline',
707
+ 'thunderstorm-outline',
708
+ 'snow-outline',
709
+ 'cloudy-outline',
710
+ 'cloudy-night-outline',
711
+ 'cloud-outline',
712
+ 'cloud-done-outline',
713
+ 'cloud-download-outline',
714
+ 'cloud-upload-outline',
715
+ 'cloud-offline-outline',
716
+ 'cloud-circle-outline',
717
+ 'cloud',
718
+ 'cloud-drizzle',
719
+ 'cloud-lightning',
720
+ 'cloud-rain',
721
+ 'cloud-snow',
722
+ 'cloud-off',
723
+ 'umbrella-outline',
724
+ 'thermometer-outline',
248
725
  'droplet',
726
+ 'wind',
727
+ // Agua y fuego
728
+ 'water-outline',
729
+ 'flame-outline',
730
+ 'bonfire-outline',
731
+ 'eyedrop-outline',
732
+ // Flora y fauna
733
+ 'leaf-outline',
734
+ 'flower-outline',
735
+ 'bug-outline',
736
+ 'fish-outline',
737
+ 'paw-outline',
738
+ // Outdoor
739
+ 'binoculars-outline',
740
+ 'telescope-outline',
741
+ 'compass-outline',
742
+ 'map-outline',
743
+ 'location-outline',
744
+ 'flag-outline',
745
+ 'trail-sign-outline',
746
+ 'earth-outline',
747
+ 'globe-outline',
748
+ 'planet-outline',
749
+ 'compass',
750
+ 'map',
751
+ 'map-pin',
752
+ 'flag',
753
+ 'navigation',
754
+ 'navigation-2',
755
+ 'target',
756
+ 'crosshair',
249
757
  'life-buoy',
250
758
  ],
251
759
  },
760
+
761
+ // ─── Brands ──────────────────────────────────────────────────────────────────
252
762
  {
253
763
  name: 'brands',
254
764
  label: 'Brands',
255
765
  labelEs: 'Marcas',
256
766
  categoryIcon: 'globe',
257
767
  icons: [
258
- 'github', 'gitlab',
768
+ // Feather brand icons — outlined, consistent with the rest of the library
769
+ 'github',
770
+ 'gitlab',
771
+ 'codepen',
772
+ 'codesandbox',
259
773
  'twitter',
260
- 'facebook', 'instagram',
774
+ 'facebook',
775
+ 'instagram',
261
776
  'linkedin',
262
777
  'youtube',
263
778
  'dribbble',
264
- 'twitch', 'slack', 'figma', 'framer',
265
- 'chrome', 'codepen', 'codesandbox',
266
- 'globe', 'rss',
267
- 'airplay', 'cast',
268
- 'bluetooth', 'wifi', 'wifi-off',
269
- 'battery', 'battery-charging',
270
- 'monitor', 'tablet', 'smartphone', 'tv',
779
+ 'twitch',
780
+ 'slack',
781
+ 'figma',
782
+ 'framer',
783
+ 'chrome',
784
+ 'rss',
785
+ // Filled / flat brand logos (FA5 brands) — kept in a second
786
+ // visual tier. Rendered as the brand's official silhouette.
787
+ // Visually consistent (all flat single-color) but heavier than the
788
+ // Feather outlined set above. Use these only when an outlined Feather
789
+ // version of the brand doesn't exist.
790
+ 'reddit',
791
+ 'tiktok',
792
+ 'pinterest',
793
+ 'whatsapp',
794
+ 'discord',
795
+ 'snapchat',
796
+ 'telegram',
797
+ 'viber',
798
+ 'line',
799
+ 'vimeo',
800
+ 'tumblr',
801
+ 'behance',
802
+ 'medium',
803
+ 'soundcloud',
804
+ 'google',
805
+ 'apple',
806
+ 'android',
807
+ 'windows',
808
+ 'linux',
809
+ 'amazon',
810
+ 'paypal',
811
+ 'stripe',
812
+ 'shopify',
813
+ 'dropbox',
814
+ 'spotify',
815
+ 'steam',
816
+ 'atlassian',
817
+ 'jira',
818
+ 'confluence',
819
+ 'bitbucket',
820
+ 'jenkins',
821
+ 'docker',
822
+ 'aws',
823
+ 'node',
824
+ 'react',
825
+ 'angular',
826
+ 'wordpress',
827
+ 'drupal',
828
+ 'joomla',
829
+ 'squarespace',
830
+ 'wix',
831
+ 'magento',
832
+ 'terminal',
833
+ 'pen-tool',
271
834
  ],
272
835
  },
273
836
  ]