@medway-ui/native 1.6.1 → 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 (224) hide show
  1. package/README.md +27 -2
  2. package/lib/commonjs/components/Alert.js +3 -1
  3. package/lib/commonjs/components/Alert.js.map +1 -1
  4. package/lib/commonjs/components/AlertDialog.js +5 -2
  5. package/lib/commonjs/components/AlertDialog.js.map +1 -1
  6. package/lib/commonjs/components/Badge.js +37 -2
  7. package/lib/commonjs/components/Badge.js.map +1 -1
  8. package/lib/commonjs/components/Button.js +32 -1
  9. package/lib/commonjs/components/Button.js.map +1 -1
  10. package/lib/commonjs/components/Carousel.js +12 -2
  11. package/lib/commonjs/components/Carousel.js.map +1 -1
  12. package/lib/commonjs/components/Checkbox.js +2 -0
  13. package/lib/commonjs/components/Checkbox.js.map +1 -1
  14. package/lib/commonjs/components/Chip.js +208 -0
  15. package/lib/commonjs/components/Chip.js.map +1 -0
  16. package/lib/commonjs/components/Choice.js +116 -0
  17. package/lib/commonjs/components/Choice.js.map +1 -0
  18. package/lib/commonjs/components/Dialog.js +27 -16
  19. package/lib/commonjs/components/Dialog.js.map +1 -1
  20. package/lib/commonjs/components/DropdownMenu.js +73 -57
  21. package/lib/commonjs/components/DropdownMenu.js.map +1 -1
  22. package/lib/commonjs/components/EmptyState.js +9 -2
  23. package/lib/commonjs/components/EmptyState.js.map +1 -1
  24. package/lib/commonjs/components/Feed.js +7 -3
  25. package/lib/commonjs/components/Feed.js.map +1 -1
  26. package/lib/commonjs/components/Feedback.js +77 -0
  27. package/lib/commonjs/components/Feedback.js.map +1 -0
  28. package/lib/commonjs/components/Filter.js +93 -0
  29. package/lib/commonjs/components/Filter.js.map +1 -0
  30. package/lib/commonjs/components/IndexLevel.js +4 -3
  31. package/lib/commonjs/components/IndexLevel.js.map +1 -1
  32. package/lib/commonjs/components/Input.js +149 -45
  33. package/lib/commonjs/components/Input.js.map +1 -1
  34. package/lib/commonjs/components/InvitePopover.js +4 -1
  35. package/lib/commonjs/components/InvitePopover.js.map +1 -1
  36. package/lib/commonjs/components/MemberRow.js +3 -4
  37. package/lib/commonjs/components/MemberRow.js.map +1 -1
  38. package/lib/commonjs/components/PostForm.js +18 -8
  39. package/lib/commonjs/components/PostForm.js.map +1 -1
  40. package/lib/commonjs/components/PrizeCollection.js +1 -1
  41. package/lib/commonjs/components/RadioGroup.js +7 -0
  42. package/lib/commonjs/components/RadioGroup.js.map +1 -1
  43. package/lib/commonjs/components/Select.js +1 -1
  44. package/lib/commonjs/components/Sheet.js +4 -1
  45. package/lib/commonjs/components/Sheet.js.map +1 -1
  46. package/lib/commonjs/components/Skeleton.js +55 -4
  47. package/lib/commonjs/components/Skeleton.js.map +1 -1
  48. package/lib/commonjs/components/Switch.js +2 -0
  49. package/lib/commonjs/components/Switch.js.map +1 -1
  50. package/lib/commonjs/components/Tabs.js +2 -0
  51. package/lib/commonjs/components/Tabs.js.map +1 -1
  52. package/lib/commonjs/components/Toast.js +355 -79
  53. package/lib/commonjs/components/Toast.js.map +1 -1
  54. package/lib/commonjs/editor/NoteEditor.js +41 -14
  55. package/lib/commonjs/editor/NoteEditor.js.map +1 -1
  56. package/lib/commonjs/editor/editorHtml.generated.js +1 -1
  57. package/lib/commonjs/editor/editorHtml.generated.js.map +1 -1
  58. package/lib/commonjs/hooks/useThemeColor.js +693 -65
  59. package/lib/commonjs/hooks/useThemeColor.js.map +1 -1
  60. package/lib/commonjs/hooks/useTrackedText.js +21 -0
  61. package/lib/commonjs/hooks/useTrackedText.js.map +1 -0
  62. package/lib/commonjs/index.js +46 -0
  63. package/lib/commonjs/index.js.map +1 -1
  64. package/lib/commonjs/lib/optional-deps.js +20 -0
  65. package/lib/commonjs/lib/optional-deps.js.map +1 -0
  66. package/lib/commonjs/lib/touch-target.js +19 -0
  67. package/lib/commonjs/lib/touch-target.js.map +1 -0
  68. package/lib/module/components/Alert.js +3 -1
  69. package/lib/module/components/Alert.js.map +1 -1
  70. package/lib/module/components/AlertDialog.js +5 -2
  71. package/lib/module/components/AlertDialog.js.map +1 -1
  72. package/lib/module/components/Badge.js +36 -2
  73. package/lib/module/components/Badge.js.map +1 -1
  74. package/lib/module/components/Button.js +32 -1
  75. package/lib/module/components/Button.js.map +1 -1
  76. package/lib/module/components/Carousel.js +12 -2
  77. package/lib/module/components/Carousel.js.map +1 -1
  78. package/lib/module/components/Checkbox.js +2 -0
  79. package/lib/module/components/Checkbox.js.map +1 -1
  80. package/lib/module/components/Chip.js +204 -0
  81. package/lib/module/components/Chip.js.map +1 -0
  82. package/lib/module/components/Choice.js +112 -0
  83. package/lib/module/components/Choice.js.map +1 -0
  84. package/lib/module/components/Dialog.js +28 -17
  85. package/lib/module/components/Dialog.js.map +1 -1
  86. package/lib/module/components/DropdownMenu.js +74 -58
  87. package/lib/module/components/DropdownMenu.js.map +1 -1
  88. package/lib/module/components/EmptyState.js +9 -2
  89. package/lib/module/components/EmptyState.js.map +1 -1
  90. package/lib/module/components/Feed.js +7 -3
  91. package/lib/module/components/Feed.js.map +1 -1
  92. package/lib/module/components/Feedback.js +74 -0
  93. package/lib/module/components/Feedback.js.map +1 -0
  94. package/lib/module/components/Filter.js +89 -0
  95. package/lib/module/components/Filter.js.map +1 -0
  96. package/lib/module/components/IndexLevel.js +4 -3
  97. package/lib/module/components/IndexLevel.js.map +1 -1
  98. package/lib/module/components/Input.js +149 -45
  99. package/lib/module/components/Input.js.map +1 -1
  100. package/lib/module/components/InvitePopover.js +4 -1
  101. package/lib/module/components/InvitePopover.js.map +1 -1
  102. package/lib/module/components/MemberRow.js +3 -4
  103. package/lib/module/components/MemberRow.js.map +1 -1
  104. package/lib/module/components/PostForm.js +18 -8
  105. package/lib/module/components/PostForm.js.map +1 -1
  106. package/lib/module/components/PrizeCollection.js +1 -1
  107. package/lib/module/components/RadioGroup.js +7 -0
  108. package/lib/module/components/RadioGroup.js.map +1 -1
  109. package/lib/module/components/Select.js +1 -1
  110. package/lib/module/components/Sheet.js +4 -1
  111. package/lib/module/components/Sheet.js.map +1 -1
  112. package/lib/module/components/Skeleton.js +56 -5
  113. package/lib/module/components/Skeleton.js.map +1 -1
  114. package/lib/module/components/Switch.js +2 -0
  115. package/lib/module/components/Switch.js.map +1 -1
  116. package/lib/module/components/Tabs.js +2 -0
  117. package/lib/module/components/Tabs.js.map +1 -1
  118. package/lib/module/components/Toast.js +360 -84
  119. package/lib/module/components/Toast.js.map +1 -1
  120. package/lib/module/editor/NoteEditor.js +41 -14
  121. package/lib/module/editor/NoteEditor.js.map +1 -1
  122. package/lib/module/editor/editorHtml.generated.js +1 -1
  123. package/lib/module/editor/editorHtml.generated.js.map +1 -1
  124. package/lib/module/hooks/useThemeColor.js +693 -65
  125. package/lib/module/hooks/useThemeColor.js.map +1 -1
  126. package/lib/module/hooks/useTrackedText.js +18 -0
  127. package/lib/module/hooks/useTrackedText.js.map +1 -0
  128. package/lib/module/index.js +8 -0
  129. package/lib/module/index.js.map +1 -1
  130. package/lib/module/lib/optional-deps.js +16 -0
  131. package/lib/module/lib/optional-deps.js.map +1 -0
  132. package/lib/module/lib/touch-target.js +15 -0
  133. package/lib/module/lib/touch-target.js.map +1 -0
  134. package/lib/typescript/components/Alert.d.ts.map +1 -1
  135. package/lib/typescript/components/AlertDialog.d.ts.map +1 -1
  136. package/lib/typescript/components/Badge.d.ts +1 -1
  137. package/lib/typescript/components/Badge.d.ts.map +1 -1
  138. package/lib/typescript/components/Button.d.ts.map +1 -1
  139. package/lib/typescript/components/Carousel.d.ts +1 -1
  140. package/lib/typescript/components/Carousel.d.ts.map +1 -1
  141. package/lib/typescript/components/Checkbox.d.ts.map +1 -1
  142. package/lib/typescript/components/Chip.d.ts +30 -0
  143. package/lib/typescript/components/Chip.d.ts.map +1 -0
  144. package/lib/typescript/components/Choice.d.ts +17 -0
  145. package/lib/typescript/components/Choice.d.ts.map +1 -0
  146. package/lib/typescript/components/Dialog.d.ts.map +1 -1
  147. package/lib/typescript/components/DropdownMenu.d.ts +0 -7
  148. package/lib/typescript/components/DropdownMenu.d.ts.map +1 -1
  149. package/lib/typescript/components/EmptyState.d.ts +3 -2
  150. package/lib/typescript/components/EmptyState.d.ts.map +1 -1
  151. package/lib/typescript/components/Feed.d.ts.map +1 -1
  152. package/lib/typescript/components/Feedback.d.ts +17 -0
  153. package/lib/typescript/components/Feedback.d.ts.map +1 -0
  154. package/lib/typescript/components/Filter.d.ts +17 -0
  155. package/lib/typescript/components/Filter.d.ts.map +1 -0
  156. package/lib/typescript/components/IndexLevel.d.ts.map +1 -1
  157. package/lib/typescript/components/Input.d.ts +3 -3
  158. package/lib/typescript/components/Input.d.ts.map +1 -1
  159. package/lib/typescript/components/InvitePopover.d.ts.map +1 -1
  160. package/lib/typescript/components/MemberRow.d.ts.map +1 -1
  161. package/lib/typescript/components/PostForm.d.ts.map +1 -1
  162. package/lib/typescript/components/RadioGroup.d.ts.map +1 -1
  163. package/lib/typescript/components/Sheet.d.ts.map +1 -1
  164. package/lib/typescript/components/Skeleton.d.ts +1 -1
  165. package/lib/typescript/components/Skeleton.d.ts.map +1 -1
  166. package/lib/typescript/components/Switch.d.ts.map +1 -1
  167. package/lib/typescript/components/Tabs.d.ts.map +1 -1
  168. package/lib/typescript/components/Tag.d.ts +2 -2
  169. package/lib/typescript/components/ThemedIcon.d.ts +1 -1
  170. package/lib/typescript/components/ThemedIcon.d.ts.map +1 -1
  171. package/lib/typescript/components/Toast.d.ts +24 -13
  172. package/lib/typescript/components/Toast.d.ts.map +1 -1
  173. package/lib/typescript/editor/NoteEditor.d.ts.map +1 -1
  174. package/lib/typescript/editor/editorHtml.generated.d.ts.map +1 -1
  175. package/lib/typescript/hooks/useThemeColor.d.ts +0 -10
  176. package/lib/typescript/hooks/useThemeColor.d.ts.map +1 -1
  177. package/lib/typescript/hooks/useTrackedText.d.ts +6 -0
  178. package/lib/typescript/hooks/useTrackedText.d.ts.map +1 -0
  179. package/lib/typescript/index.d.ts +9 -1
  180. package/lib/typescript/index.d.ts.map +1 -1
  181. package/lib/typescript/lib/optional-deps.d.ts +23 -0
  182. package/lib/typescript/lib/optional-deps.d.ts.map +1 -0
  183. package/lib/typescript/lib/touch-target.d.ts +5 -0
  184. package/lib/typescript/lib/touch-target.d.ts.map +1 -0
  185. package/package.json +6 -1
  186. package/setup/createMedwayUiNavigator.tsx +4 -7
  187. package/setup/metro.js +12 -3
  188. package/setup/tokens.native.css +268 -258
  189. package/src/components/Alert.tsx +3 -1
  190. package/src/components/AlertDialog.tsx +8 -3
  191. package/src/components/Badge.tsx +51 -3
  192. package/src/components/Button.tsx +39 -1
  193. package/src/components/Carousel.tsx +17 -3
  194. package/src/components/Checkbox.tsx +2 -0
  195. package/src/components/Chip.tsx +227 -0
  196. package/src/components/Choice.tsx +139 -0
  197. package/src/components/Dialog.tsx +39 -23
  198. package/src/components/DropdownMenu.tsx +99 -87
  199. package/src/components/EmptyState.tsx +18 -3
  200. package/src/components/Feed.tsx +4 -3
  201. package/src/components/Feedback.tsx +111 -0
  202. package/src/components/Filter.tsx +106 -0
  203. package/src/components/IndexLevel.tsx +8 -10
  204. package/src/components/Input.tsx +142 -54
  205. package/src/components/InvitePopover.tsx +5 -1
  206. package/src/components/MemberRow.tsx +3 -5
  207. package/src/components/PostForm.tsx +16 -9
  208. package/src/components/PrizeCollection.tsx +1 -1
  209. package/src/components/RadioGroup.tsx +8 -0
  210. package/src/components/Select.tsx +1 -1
  211. package/src/components/Sheet.tsx +4 -1
  212. package/src/components/Skeleton.tsx +47 -6
  213. package/src/components/Switch.tsx +2 -0
  214. package/src/components/Tabs.tsx +2 -0
  215. package/src/components/ThemedIcon.tsx +1 -1
  216. package/src/components/Toast.tsx +489 -87
  217. package/src/editor/NoteEditor.tsx +50 -11
  218. package/src/editor/editorHtml.generated.ts +1 -1
  219. package/src/hooks/useThemeColor.ts +757 -64
  220. package/src/hooks/useTrackedText.ts +20 -0
  221. package/src/index.ts +36 -1
  222. package/src/lib/optional-deps.ts +27 -0
  223. package/src/lib/touch-target.ts +12 -0
  224. package/setup/index.tsx +0 -42
@@ -11,88 +11,707 @@ exports.withAlpha = withAlpha;
11
11
  var _nativewind = require("nativewind");
12
12
  /** Token sem prefixo `--color-` (ex.: `gray-foreground`, `primary-background-fill`). */
13
13
 
14
- /** Fallback quando NativeWind não resolve cadeias `var()` — light mode. */
14
+ /**
15
+ * Cores base do sistema. Alpha variants (ex.: `primary-16`) são computadas
16
+ * dinamicamente a partir dessas bases via `resolvePaletteToken`.
17
+ */
18
+ const PALETTE = {
19
+ white: 'rgba(255, 255, 255, 1)',
20
+ black: 'rgba(0, 0, 0, 1)',
21
+ // Gray scale
22
+ 'gray-950': 'rgba(8, 10, 12, 1)',
23
+ 'gray-900': 'rgba(12, 14, 18, 1)',
24
+ 'gray-850': 'rgba(16, 19, 24, 1)',
25
+ 'gray-800': 'rgba(24, 29, 37, 1)',
26
+ 'gray-700': 'rgba(33, 38, 49, 1)',
27
+ 'gray-600': 'rgba(49, 57, 73, 1)',
28
+ 'gray-500': 'rgba(73, 86, 110, 1)',
29
+ 'gray-450': 'rgba(90, 105, 135, 1)',
30
+ 'gray-400': 'rgba(98, 114, 147, 1)',
31
+ 'gray-300': 'rgba(133, 146, 173, 1)',
32
+ 'gray-200': 'rgba(169, 179, 198, 1)',
33
+ 'gray-150': 'rgba(206, 211, 222, 1)',
34
+ 'gray-100': 'rgba(231, 233, 239, 1)',
35
+ 'gray-70': 'rgba(240, 241, 245, 1)',
36
+ 'gray-50': 'rgba(246, 247, 249, 1)',
37
+ 'gray-30': 'rgba(249, 250, 251, 1)',
38
+ 'gray-10': 'rgba(252, 252, 253, 1)',
39
+ 'gray-0': 'rgba(252, 252, 253, 0)',
40
+ // Primary
41
+ primary: 'rgba(0, 32, 91, 1)',
42
+ 'primary-darken-1': 'rgba(2, 22, 59, 1)',
43
+ 'primary-darken-2': 'rgba(2, 11, 28, 1)',
44
+ 'primary-lighten-1': 'rgba(4, 44, 118, 1)',
45
+ 'primary-lighten-2': 'rgba(11, 57, 142, 1)',
46
+ 'primary-lighten-3': 'rgba(19, 70, 164, 1)',
47
+ 'primary-lighten-4': 'rgba(29, 80, 185, 1)',
48
+ 'primary-lighten-5': 'rgba(39, 94, 206, 1)',
49
+ 'primary-lighten-6': 'rgba(64, 112, 212, 1)',
50
+ // Secondary
51
+ secondary: 'rgba(1, 208, 180, 1)',
52
+ 'secondary-darken-1': 'rgba(7, 171, 149, 1)',
53
+ 'secondary-darken-2': 'rgba(11, 137, 120, 1)',
54
+ 'secondary-darken-3': 'rgba(13, 104, 92, 1)',
55
+ 'secondary-darken-4': 'rgba(12, 75, 66, 1)',
56
+ 'secondary-darken-5': 'rgba(9, 47, 42, 1)',
57
+ 'secondary-darken-6': 'rgba(5, 21, 19, 1)',
58
+ 'secondary-lighten-1': 'rgba(10, 230, 201, 1)',
59
+ 'secondary-lighten-2': 'rgba(33, 237, 210, 1)',
60
+ 'secondary-lighten-3': 'rgba(69, 232, 210, 1)',
61
+ 'secondary-lighten-4': 'rgba(101, 230, 213, 1)',
62
+ 'secondary-lighten-5': 'rgba(132, 231, 217, 1)',
63
+ 'secondary-lighten-6': 'rgba(160, 233, 223, 1)',
64
+ // Green
65
+ green: 'rgba(12, 187, 102, 1)',
66
+ 'green-darken-1': 'rgba(16, 152, 86, 1)',
67
+ 'green-darken-2': 'rgba(17, 120, 71, 1)',
68
+ 'green-darken-3': 'rgba(16, 91, 55, 1)',
69
+ 'green-darken-4': 'rgba(14, 63, 39, 1)',
70
+ 'green-darken-5': 'rgba(9, 37, 23, 1)',
71
+ 'green-darken-6': 'rgba(3, 12, 8, 1)',
72
+ 'green-lighten-1': 'rgba(22, 208, 118, 1)',
73
+ 'green-lighten-2': 'rgba(36, 224, 133, 1)',
74
+ 'green-lighten-3': 'rgba(69, 222, 148, 1)',
75
+ 'green-lighten-4': 'rgba(100, 221, 163, 1)',
76
+ 'green-lighten-5': 'rgba(129, 223, 178, 1)',
77
+ 'green-lighten-6': 'rgba(156, 226, 192, 1)',
78
+ // Red
79
+ red: 'rgba(238, 32, 56, 1)',
80
+ 'red-darken-1': 'rgba(216, 24, 46, 1)',
81
+ 'red-darken-2': 'rgba(182, 27, 45, 1)',
82
+ 'red-darken-3': 'rgba(150, 29, 43, 1)',
83
+ 'red-darken-4': 'rgba(121, 27, 38, 1)',
84
+ 'red-darken-5': 'rgba(93, 25, 33, 1)',
85
+ 'red-darken-6': 'rgba(67, 20, 25, 1)',
86
+ 'red-darken-7': 'rgba(42, 14, 17, 1)',
87
+ 'red-lighten-1': 'rgba(234, 67, 86, 1)',
88
+ 'red-lighten-2': 'rgba(232, 100, 115, 1)',
89
+ 'red-lighten-3': 'rgba(231, 131, 142, 1)',
90
+ 'red-lighten-4': 'rgba(233, 159, 168, 1)',
91
+ 'red-lighten-5': 'rgba(237, 187, 192, 1)',
92
+ 'red-lighten-6': 'rgba(242, 212, 215, 1)',
93
+ // Yellow
94
+ yellow: 'rgba(241, 194, 4, 1)',
95
+ 'yellow-darken-1': 'rgba(203, 165, 11, 1)',
96
+ 'yellow-darken-2': 'rgba(168, 138, 16, 1)',
97
+ 'yellow-darken-3': 'rgba(135, 112, 18, 1)',
98
+ 'yellow-darken-4': 'rgba(105, 87, 18, 1)',
99
+ 'yellow-darken-5': 'rgba(76, 64, 16, 1)',
100
+ 'yellow-darken-6': 'rgba(49, 42, 12, 1)',
101
+ 'yellow-lighten-1': 'rgba(243, 201, 32, 1)',
102
+ 'yellow-lighten-2': 'rgba(238, 204, 68, 1)',
103
+ 'yellow-lighten-3': 'rgba(235, 208, 102, 1)',
104
+ 'yellow-lighten-4': 'rgba(234, 214, 133, 1)',
105
+ 'yellow-lighten-5': 'rgba(236, 221, 162, 1)',
106
+ 'yellow-lighten-6': 'rgba(239, 229, 189, 1)',
107
+ // CM (Clínica Médica)
108
+ cm: 'rgba(64, 126, 201, 1)',
109
+ 'cm-darken-1': 'rgba(56, 112, 178, 1)',
110
+ 'cm-darken-2': 'rgba(53, 97, 151, 1)',
111
+ 'cm-darken-3': 'rgba(49, 83, 125, 1)',
112
+ 'cm-darken-4': 'rgba(42, 69, 101, 1)',
113
+ 'cm-darken-5': 'rgba(35, 54, 77, 1)',
114
+ 'cm-darken-6': 'rgba(27, 39, 55, 1)',
115
+ 'cm-lighten-1': 'rgba(92, 143, 204, 1)',
116
+ 'cm-lighten-2': 'rgba(119, 159, 207, 1)',
117
+ 'cm-lighten-3': 'rgba(145, 175, 212, 1)',
118
+ 'cm-lighten-4': 'rgba(169, 191, 219, 1)',
119
+ 'cm-lighten-5': 'rgba(192, 207, 227, 1)',
120
+ 'cm-lighten-6': 'rgba(214, 223, 235, 1)',
121
+ // GO (Ginecologia e Obstetrícia)
122
+ go: 'rgba(172, 20, 90, 1)',
123
+ 'go-darken-1': 'rgba(141, 22, 77, 1)',
124
+ 'go-darken-2': 'rgba(111, 21, 63, 1)',
125
+ 'go-darken-3': 'rgba(83, 19, 48, 1)',
126
+ 'go-darken-4': 'rgba(56, 15, 34, 1)',
127
+ 'go-darken-5': 'rgba(31, 10, 20, 1)',
128
+ 'go-darken-6': 'rgba(8, 3, 5, 1)',
129
+ 'go-lighten-1': 'rgba(194, 30, 106, 1)',
130
+ 'go-lighten-2': 'rgba(214, 41, 121, 1)',
131
+ 'go-lighten-3': 'rgba(213, 72, 137, 1)',
132
+ 'go-lighten-4': 'rgba(214, 102, 154, 1)',
133
+ 'go-lighten-5': 'rgba(217, 130, 170, 1)',
134
+ 'go-lighten-6': 'rgba(221, 156, 186, 1)',
135
+ // CIR (Cirurgia)
136
+ cir: 'rgba(0, 239, 200, 1)',
137
+ 'cir-darken-1': 'rgba(7, 202, 170, 1)',
138
+ 'cir-darken-2': 'rgba(12, 166, 141, 1)',
139
+ 'cir-darken-3': 'rgba(16, 132, 113, 1)',
140
+ 'cir-darken-4': 'rgba(16, 101, 87, 1)',
141
+ 'cir-darken-5': 'rgba(14, 73, 63, 1)',
142
+ 'cir-darken-6': 'rgba(10, 46, 40, 1)',
143
+ 'cir-lighten-1': 'rgba(24, 247, 210, 1)',
144
+ 'cir-lighten-2': 'rgba(61, 240, 211, 1)',
145
+ 'cir-lighten-3': 'rgba(95, 236, 213, 1)',
146
+ 'cir-lighten-4': 'rgba(127, 235, 217, 1)',
147
+ 'cir-lighten-5': 'rgba(156, 236, 223, 1)',
148
+ 'cir-lighten-6': 'rgba(184, 239, 230, 1)',
149
+ // PED (Pediatria)
150
+ ped: 'rgba(255, 198, 73, 1)',
151
+ 'ped-darken-1': 'rgba(248, 185, 48, 1)',
152
+ 'ped-darken-2': 'rgba(238, 172, 27, 1)',
153
+ 'ped-darken-3': 'rgba(210, 152, 25, 1)',
154
+ 'ped-darken-4': 'rgba(176, 130, 28, 1)',
155
+ 'ped-darken-5': 'rgba(146, 109, 28, 1)',
156
+ 'ped-darken-6': 'rgba(116, 88, 26, 1)',
157
+ 'ped-darken-7': 'rgba(89, 68, 24, 1)',
158
+ 'ped-lighten-1': 'rgba(250, 205, 107, 1)',
159
+ 'ped-lighten-2': 'rgba(246, 213, 141, 1)',
160
+ 'ped-lighten-3': 'rgba(245, 223, 173, 1)',
161
+ 'ped-lighten-4': 'rgba(247, 233, 202, 1)',
162
+ 'ped-lighten-5': 'rgba(250, 244, 229, 1)',
163
+ 'ped-lighten-6': 'rgba(255, 255, 255, 1)',
164
+ // PREV (Preventiva)
165
+ prev: 'rgba(59, 63, 182, 1)',
166
+ 'prev-darken-1': 'rgba(55, 59, 154, 1)',
167
+ 'prev-darken-2': 'rgba(50, 53, 129, 1)',
168
+ 'prev-darken-3': 'rgba(44, 46, 104, 1)',
169
+ 'prev-darken-4': 'rgba(37, 38, 80, 1)',
170
+ 'prev-darken-5': 'rgba(28, 29, 59, 1)',
171
+ 'prev-darken-6': 'rgba(19, 20, 37, 1)',
172
+ 'prev-lighten-1': 'rgba(79, 82, 191, 1)',
173
+ 'prev-lighten-2': 'rgba(104, 107, 196, 1)',
174
+ 'prev-lighten-3': 'rgba(130, 132, 201, 1)',
175
+ 'prev-lighten-4': 'rgba(154, 155, 208, 1)',
176
+ 'prev-lighten-5': 'rgba(176, 177, 217, 1)',
177
+ 'prev-lighten-6': 'rgba(198, 199, 226, 1)',
178
+ // Drop shadow (valores do light; no dark viram alias de `black-*`)
179
+ 'drop-shadow-layer-a': 'rgba(33, 38, 49, 0.16)',
180
+ 'drop-shadow-layer-b': 'rgba(73, 85, 110, 0.16)',
181
+ // Gold
182
+ gold: 'rgba(217, 172, 104, 1)',
183
+ 'gold-darken-1': 'rgba(209, 154, 72, 1)',
184
+ 'gold-darken-2': 'rgba(191, 134, 49, 1)',
185
+ 'gold-darken-3': 'rgba(159, 111, 40, 1)',
186
+ 'gold-darken-4': 'rgba(126, 88, 32, 1)',
187
+ 'gold-darken-5': 'rgba(94, 66, 24, 1)',
188
+ 'gold-darken-6': 'rgba(61, 43, 15, 1)',
189
+ 'gold-lighten-1': 'rgba(221, 181, 121, 1)',
190
+ 'gold-lighten-2': 'rgba(229, 199, 153, 1)',
191
+ 'gold-lighten-3': 'rgba(233, 208, 170, 1)',
192
+ 'gold-lighten-4': 'rgba(237, 217, 186, 1)',
193
+ 'gold-lighten-5': 'rgba(242, 226, 202, 1)',
194
+ 'gold-lighten-6': 'rgba(246, 235, 218, 1)',
195
+ // Silver
196
+ silver: 'rgba(120, 120, 120, 1)',
197
+ 'silver-darken-1': 'rgba(99, 99, 99, 1)',
198
+ 'silver-darken-2': 'rgba(79, 79, 79, 1)',
199
+ 'silver-darken-3': 'rgba(69, 69, 69, 1)',
200
+ 'silver-darken-4': 'rgba(59, 59, 59, 1)',
201
+ 'silver-darken-5': 'rgba(48, 48, 48, 1)',
202
+ 'silver-darken-6': 'rgba(38, 38, 38, 1)',
203
+ 'silver-lighten-1': 'rgba(140, 140, 140, 1)',
204
+ 'silver-lighten-2': 'rgba(161, 161, 161, 1)',
205
+ 'silver-lighten-3': 'rgba(181, 181, 181, 1)',
206
+ 'silver-lighten-4': 'rgba(199, 199, 199, 1)',
207
+ 'silver-lighten-5': 'rgba(219, 219, 219, 1)',
208
+ 'silver-lighten-6': 'rgba(240, 240, 240, 1)',
209
+ // Bronze
210
+ bronze: 'rgba(199, 119, 87, 1)',
211
+ 'bronze-darken-1': 'rgba(184, 97, 61, 1)',
212
+ 'bronze-darken-2': 'rgba(153, 80, 51, 1)',
213
+ 'bronze-darken-3': 'rgba(122, 64, 41, 1)',
214
+ 'bronze-darken-4': 'rgba(92, 48, 31, 1)',
215
+ 'bronze-darken-5': 'rgba(61, 32, 20, 1)',
216
+ 'bronze-darken-6': 'rgba(31, 16, 10, 1)',
217
+ 'bronze-lighten-1': 'rgba(209, 144, 117, 1)',
218
+ 'bronze-lighten-2': 'rgba(219, 168, 148, 1)',
219
+ 'bronze-lighten-3': 'rgba(229, 193, 178, 1)',
220
+ 'bronze-lighten-4': 'rgba(240, 218, 209, 1)',
221
+ 'bronze-lighten-5': 'rgba(250, 243, 240, 1)',
222
+ // Backdrop / drop shadow subtle (`-dark` = valor do .dark)
223
+ 'drop-shadow-subtle-layer-a': 'rgba(33, 38, 49, 0.04)',
224
+ 'drop-shadow-subtle-layer-b': 'rgba(73, 85, 110, 0.08)',
225
+ backdrop: 'rgba(16, 19, 24, 0.3)',
226
+ 'backdrop-dark': 'rgba(16, 19, 24, 0.5)'
227
+ };
228
+
229
+ /** Alias semântico → token da paleta, para light mode (`:root` em tokens.native.css). */
15
230
  const LIGHT_COLOR_ALIAS_MAP = {
231
+ // Content
16
232
  'content-title': 'primary',
17
233
  'content-paragraph': 'gray-600',
18
- 'gray-foreground': 'gray-600',
19
- 'primary-foreground': 'primary',
20
- 'secondary-foreground': 'secondary-darken-3',
21
- 'secondary-stroke-emphasis': 'secondary-darken-1',
234
+ 'content-link': 'secondary-darken-2',
235
+ // State
236
+ 'state-hover': 'gray-50',
237
+ 'state-focus': 'gray-70',
238
+ 'state-active': 'primary-16',
239
+ 'state-error': 'red-16',
240
+ // Surface
241
+ 'surface-elevated': 'white',
22
242
  'surface-card': 'white',
243
+ 'surface-navigation': 'white',
244
+ 'surface-section': 'white',
245
+ 'surface-page': 'gray-30',
246
+ 'surface-disable': 'white-8',
247
+ 'surface-settings-on': 'white-80',
248
+ 'surface-settings-off': 'white-48',
249
+ // Gray
250
+ 'gray-foreground': 'gray-600',
251
+ 'gray-foreground-emphasis': 'gray-700',
23
252
  'gray-foreground-muted': 'gray-450',
253
+ 'gray-foreground-onfill': 'white',
254
+ 'gray-stroke': 'gray-150',
255
+ 'gray-stroke-emphasis': 'gray-200',
24
256
  'gray-stroke-muted': 'gray-100',
257
+ 'gray-background-fill': 'gray-700',
258
+ 'gray-background-fill-emphasis': 'gray-850',
25
259
  'gray-background-fill-muted': 'gray-400',
260
+ 'gray-background-soft': 'gray-70',
261
+ 'gray-background-soft-emphasis': 'gray-50',
26
262
  'gray-background-soft-muted': 'gray-30',
263
+ // Primary
264
+ 'primary-foreground': 'primary',
265
+ 'primary-foreground-emphasis': 'primary-darken-1',
266
+ 'primary-foreground-muted': 'primary-64',
27
267
  'primary-foreground-onfill': 'white',
268
+ 'primary-stroke': 'primary',
269
+ 'primary-stroke-emphasis': 'primary-darken-1',
28
270
  'primary-background-fill': 'primary',
271
+ 'primary-background-fill-emphasis': 'primary-darken-1',
272
+ 'primary-background-soft': 'primary-8',
273
+ 'primary-background-soft-emphasis': 'primary-6',
274
+ 'primary-background-soft-muted': 'primary-4',
275
+ // Secondary
276
+ 'secondary-foreground': 'secondary-darken-3',
277
+ 'secondary-foreground-emphasis': 'secondary-darken-4',
278
+ 'secondary-foreground-muted': 'secondary-darken-2',
279
+ 'secondary-foreground-onfill': 'white',
280
+ 'secondary-stroke': 'secondary',
281
+ 'secondary-stroke-emphasis': 'secondary-darken-1',
282
+ 'secondary-background-fill': 'secondary-darken-2',
283
+ 'secondary-background-fill-emphasis': 'secondary-darken-3',
284
+ 'secondary-background-soft': 'secondary-12',
285
+ 'secondary-background-soft-emphasis': 'secondary-8',
286
+ 'secondary-background-soft-muted': 'secondary-6',
287
+ // Green
288
+ 'green-foreground': 'green-darken-3',
289
+ 'green-foreground-emphasis': 'green-darken-4',
290
+ 'green-foreground-onfill': 'white',
291
+ 'green-stroke': 'green',
292
+ 'green-stroke-emphasis': 'green-darken-2',
293
+ 'green-background-fill': 'green-darken-2',
294
+ 'green-background-fill-emphasis': 'green-darken-3',
295
+ 'green-background-soft': 'green-16',
296
+ 'green-background-soft-emphasis': 'green-12',
297
+ 'green-background-soft-muted': 'green-6',
298
+ // Red
299
+ 'red-foreground': 'red-darken-2',
300
+ 'red-foreground-emphasis': 'red-darken-3',
301
+ 'red-foreground-onfill': 'white',
302
+ 'red-stroke': 'red',
303
+ 'red-stroke-emphasis': 'red-darken-1',
304
+ 'red-background-fill': 'red-darken-1',
305
+ 'red-background-fill-emphasis': 'red-darken-2',
306
+ 'red-background-soft': 'red-12',
307
+ 'red-background-soft-emphasis': 'red-8',
308
+ 'red-background-soft-muted': 'red-4',
309
+ // Yellow
310
+ 'yellow-foreground': 'yellow-darken-4',
311
+ 'yellow-foreground-emphasis': 'yellow-darken-5',
312
+ 'yellow-foreground-onfill': 'yellow-darken-5',
313
+ 'yellow-stroke': 'yellow-lighten-1',
314
+ 'yellow-stroke-emphasis': 'yellow',
315
+ 'yellow-background-fill': 'yellow-lighten-2',
316
+ 'yellow-background-fill-emphasis': 'yellow',
317
+ 'yellow-background-soft': 'yellow-24',
318
+ 'yellow-background-soft-emphasis': 'yellow-16',
319
+ 'yellow-background-soft-muted': 'yellow-8',
320
+ // CM
321
+ 'cm-foreground': 'cm-darken-2',
322
+ 'cm-foreground-emphasis': 'cm-darken-4',
323
+ 'cm-foreground-onfill': 'white',
29
324
  'cm-background-fill': 'cm-darken-1',
325
+ 'cm-background-fill-emphasis': 'cm-darken-3',
326
+ 'cm-background-soft': 'cm-8',
327
+ 'cm-background-soft-emphasis': 'cm-4',
328
+ // GO
329
+ 'go-foreground': 'go-darken-1',
330
+ 'go-foreground-emphasis': 'go-darken-3',
331
+ 'go-foreground-onfill': 'white',
30
332
  'go-background-fill': 'go',
333
+ 'go-background-fill-emphasis': 'go-darken-1',
334
+ 'go-background-soft': 'go-8',
335
+ 'go-background-soft-emphasis': 'go-4',
336
+ // CIR
337
+ 'cir-foreground': 'cir-darken-4',
338
+ 'cir-foreground-emphasis': 'cir-darken-5',
339
+ 'cir-foreground-onfill': 'cir-darken-6',
31
340
  'cir-background-fill': 'cir',
32
- 'ped-background-fill': 'ped',
341
+ 'cir-background-fill-emphasis': 'cir-darken-1',
342
+ 'cir-background-soft': 'cir-16',
343
+ 'cir-background-soft-emphasis': 'cir-8',
344
+ // PED
345
+ 'ped-foreground': 'ped-darken-6',
346
+ 'ped-foreground-emphasis': 'ped-darken-7',
347
+ 'ped-foreground-onfill': 'ped-darken-7',
348
+ 'ped-background-fill': 'ped-lighten-1',
349
+ 'ped-background-fill-emphasis': 'ped',
350
+ 'ped-background-soft': 'ped-16',
351
+ 'ped-background-soft-emphasis': 'ped-8',
352
+ // PREV
353
+ 'prev-foreground': 'prev',
354
+ 'prev-foreground-emphasis': 'prev-darken-2',
355
+ 'prev-foreground-onfill': 'white',
33
356
  'prev-background-fill': 'prev',
34
- 'red-foreground': 'red-darken-2',
35
- 'go-foreground': 'go-darken-1',
36
- // Not a real CSS var: `--color-backdrop` resolves directly, this alias only
37
- // keys the static fallback below (keep in sync with tokens.native.css).
38
- backdrop: 'backdrop-light'
357
+ 'prev-background-fill-emphasis': 'prev-darken-2',
358
+ 'prev-background-soft': 'prev-8',
359
+ 'prev-background-soft-emphasis': 'prev-4',
360
+ // Feedback — success
361
+ 'feedback-success-foreground': 'green-darken-3',
362
+ 'feedback-success-foreground-emphasis': 'green-darken-4',
363
+ 'feedback-success-foreground-onfill': 'white',
364
+ 'feedback-success-stroke': 'green',
365
+ 'feedback-success-stroke-emphasis': 'green-darken-2',
366
+ 'feedback-success-background-fill': 'green-darken-2',
367
+ 'feedback-success-background-fill-emphasis': 'green-darken-3',
368
+ 'feedback-success-background-soft': 'green-16',
369
+ 'feedback-success-background-soft-emphasis': 'green-12',
370
+ 'feedback-success-background-soft-muted': 'green-6',
371
+ // Feedback — error
372
+ 'feedback-error-foreground': 'red-darken-2',
373
+ 'feedback-error-foreground-emphasis': 'red-darken-3',
374
+ 'feedback-error-foreground-onfill': 'white',
375
+ 'feedback-error-stroke': 'red',
376
+ 'feedback-error-stroke-emphasis': 'red-darken-1',
377
+ 'feedback-error-background-fill': 'red-darken-1',
378
+ 'feedback-error-background-fill-emphasis': 'red-darken-2',
379
+ 'feedback-error-background-soft': 'red-12',
380
+ 'feedback-error-background-soft-emphasis': 'red-8',
381
+ 'feedback-error-background-soft-muted': 'red-4',
382
+ // Feedback — warning
383
+ 'feedback-warning-foreground': 'yellow-darken-4',
384
+ 'feedback-warning-foreground-emphasis': 'yellow-darken-5',
385
+ 'feedback-warning-foreground-onfill': 'yellow-darken-5',
386
+ 'feedback-warning-stroke': 'yellow-lighten-1',
387
+ 'feedback-warning-stroke-emphasis': 'yellow',
388
+ 'feedback-warning-background-fill': 'yellow-lighten-2',
389
+ 'feedback-warning-background-fill-emphasis': 'yellow',
390
+ 'feedback-warning-background-soft': 'yellow-24',
391
+ 'feedback-warning-background-soft-emphasis': 'yellow-16',
392
+ 'feedback-warning-background-soft-muted': 'yellow-8',
393
+ // Base
394
+ background: 'white',
395
+ foreground: 'gray-700',
396
+ ring: 'gray-150',
397
+ // Gradients
398
+ 'gradient-base-blur-1': 'primary-lighten-6',
399
+ 'gradient-base-blur-2': 'secondary-lighten-3',
400
+ 'gradient-base-blur-3': 'secondary-lighten-6',
401
+ 'gradient-base-bg-1': 'gray-50',
402
+ 'gradient-base-bg-2': 'gray-10',
403
+ 'gradient-cir-blur-1': 'cir-lighten-3',
404
+ 'gradient-cir-blur-2': 'secondary-lighten-1',
405
+ 'gradient-cir-blur-3': 'cir-darken-1',
406
+ 'gradient-cir-bg-1': 'cir-lighten-6',
407
+ 'gradient-cir-bg-2': 'gray-10',
408
+ 'gradient-cm-blur-1': 'cm-lighten-4',
409
+ 'gradient-cm-blur-2': 'cm-lighten-2',
410
+ 'gradient-cm-blur-3': 'cm',
411
+ 'gradient-cm-bg-1': 'cm-lighten-6',
412
+ 'gradient-cm-bg-2': 'gray-10',
413
+ 'gradient-go-blur-1': 'go-lighten-6',
414
+ 'gradient-go-blur-2': 'go-lighten-4',
415
+ 'gradient-go-blur-3': 'go-lighten-2',
416
+ 'gradient-go-bg-1': 'go-lighten-6',
417
+ 'gradient-go-bg-2': 'gray-10',
418
+ 'gradient-ped-blur-1': 'ped-lighten-4',
419
+ 'gradient-ped-blur-2': 'ped-lighten-2',
420
+ 'gradient-ped-blur-3': 'ped',
421
+ 'gradient-ped-bg-1': 'ped-lighten-5',
422
+ 'gradient-ped-bg-2': 'gray-10',
423
+ 'gradient-prev-blur-1': 'prev-lighten-5',
424
+ 'gradient-prev-blur-2': 'prev-lighten-3',
425
+ 'gradient-prev-blur-3': 'prev',
426
+ 'gradient-prev-bg-1': 'prev-lighten-6',
427
+ 'gradient-prev-bg-2': 'gray-10',
428
+ 'gradient-r1-blur-1': 'secondary',
429
+ 'gradient-r1-blur-2': 'primary-lighten-3',
430
+ 'gradient-r1-blur-3': 'primary-lighten-5',
431
+ 'gradient-r1-bg-1': 'primary',
432
+ 'gradient-r1-bg-2': 'primary-lighten-1',
433
+ 'gradient-rplus-blur-1': 'primary-lighten-1',
434
+ 'gradient-rplus-blur-2': 'primary-lighten-3',
435
+ 'gradient-rplus-blur-3': 'primary-lighten-5',
436
+ 'gradient-rplus-bg-1': 'primary-lighten-1',
437
+ 'gradient-rplus-bg-2': 'primary',
438
+ 'gradient-pt-blur-1': 'secondary',
439
+ 'gradient-pt-blur-2': 'secondary-darken-2',
440
+ 'gradient-pt-blur-3': 'secondary-darken-4',
441
+ 'gradient-pt-bg-1': 'gray-600',
442
+ 'gradient-pt-bg-2': 'gray-450',
443
+ // Gold
444
+ 'gold-foreground': 'gold-darken-4',
445
+ 'gold-foreground-emphasis': 'gold-darken-5',
446
+ 'gold-foreground-onfill': 'gold-darken-5',
447
+ 'gold-background-fill': 'gold',
448
+ 'gold-background-fill-emphasis': 'gold-darken-1',
449
+ 'gold-background-soft': 'gold-24',
450
+ 'gold-background-soft-emphasis': 'gold-16',
451
+ // Silver
452
+ 'silver-foreground': 'silver-darken-4',
453
+ 'silver-foreground-emphasis': 'silver-darken-6',
454
+ 'silver-foreground-onfill': 'white',
455
+ 'silver-background-fill': 'silver',
456
+ 'silver-background-fill-emphasis': 'silver-darken-1',
457
+ 'silver-background-soft': 'silver-8',
458
+ 'silver-background-soft-emphasis': 'silver-4',
459
+ // Bronze
460
+ 'bronze-foreground': 'bronze-darken-3',
461
+ 'bronze-foreground-emphasis': 'bronze-darken-4',
462
+ 'bronze-foreground-onfill': 'white',
463
+ 'bronze-background-fill': 'bronze',
464
+ 'bronze-background-fill-emphasis': 'bronze-darken-1',
465
+ 'bronze-background-soft': 'bronze-24',
466
+ 'bronze-background-soft-emphasis': 'bronze-16'
39
467
  };
40
468
 
41
- /** Fallback — dark mode (espelha tokens.css `.dark`). */
469
+ /** Alias semântico → token da paleta, para dark mode (`.dark` em tokens.native.css). */
42
470
  const DARK_COLOR_ALIAS_MAP = {
471
+ // Content
43
472
  'content-title': 'white',
44
473
  'content-paragraph': 'gray-150',
45
- 'gray-foreground': 'gray-100',
46
- 'primary-foreground': 'gray-100',
47
- 'secondary-foreground': 'secondary-lighten-1',
48
- 'secondary-stroke-emphasis': 'secondary',
474
+ 'content-link': 'secondary',
475
+ // State
476
+ 'state-hover': 'gray-800',
477
+ 'state-focus': 'gray-700',
478
+ 'state-active': 'white-16',
479
+ 'state-error': 'red-16',
480
+ // Surface
481
+ 'surface-elevated': 'gray-800',
49
482
  'surface-card': 'gray-850',
483
+ 'surface-navigation': 'gray-850',
484
+ 'surface-section': 'gray-900',
485
+ 'surface-page': 'gray-950',
486
+ 'surface-disable': 'black-8',
487
+ 'surface-settings-on': 'black-48',
488
+ 'surface-settings-off': 'gray-950',
489
+ // Gray
490
+ 'gray-foreground': 'gray-100',
491
+ 'gray-foreground-emphasis': 'white',
50
492
  'gray-foreground-muted': 'gray-150',
493
+ 'gray-foreground-onfill': 'gray-700',
494
+ 'gray-stroke': 'gray-600',
495
+ 'gray-stroke-emphasis': 'gray-500',
51
496
  'gray-stroke-muted': 'gray-700',
497
+ 'gray-background-fill': 'gray-100',
498
+ 'gray-background-fill-emphasis': 'gray-30',
52
499
  'gray-background-fill-muted': 'gray-300',
500
+ 'gray-background-soft': 'gray-800',
501
+ 'gray-background-soft-emphasis': 'gray-600',
53
502
  'gray-background-soft-muted': 'gray-700',
503
+ // Primary
504
+ 'primary-foreground': 'gray-100',
505
+ 'primary-foreground-emphasis': 'white',
506
+ 'primary-foreground-muted': 'gray-200',
54
507
  'primary-foreground-onfill': 'primary',
508
+ 'primary-stroke': 'gray-100',
509
+ 'primary-stroke-emphasis': 'white',
55
510
  'primary-background-fill': 'gray-70',
56
- 'cm-background-fill': 'cm-darken-1',
57
- 'go-background-fill': 'go-darken-1',
58
- 'cir-background-fill': 'cir',
59
- 'ped-background-fill': 'ped',
60
- 'prev-background-fill': 'prev',
511
+ 'primary-background-fill-emphasis': 'white',
512
+ 'primary-background-soft': 'white-8',
513
+ 'primary-background-soft-emphasis': 'white-16',
514
+ 'primary-background-soft-muted': 'white-12',
515
+ // Secondary
516
+ 'secondary-foreground': 'secondary-lighten-1',
517
+ 'secondary-foreground-emphasis': 'secondary-lighten-2',
518
+ 'secondary-foreground-muted': 'secondary',
519
+ 'secondary-foreground-onfill': 'secondary-darken-6',
520
+ 'secondary-stroke': 'secondary-darken-1',
521
+ 'secondary-stroke-emphasis': 'secondary',
522
+ 'secondary-background-fill': 'secondary-darken-1',
523
+ 'secondary-background-fill-emphasis': 'secondary',
524
+ 'secondary-background-soft': 'secondary-8',
525
+ 'secondary-background-soft-emphasis': 'secondary-24',
526
+ 'secondary-background-soft-muted': 'secondary-12',
527
+ // Green
528
+ 'green-foreground': 'green-lighten-4',
529
+ 'green-foreground-emphasis': 'green-lighten-6',
530
+ 'green-foreground-onfill': 'white',
531
+ 'green-stroke': 'green-darken-2',
532
+ 'green-stroke-emphasis': 'green',
533
+ 'green-background-fill': 'green-darken-3',
534
+ 'green-background-fill-emphasis': 'green-darken-2',
535
+ 'green-background-soft': 'green-8',
536
+ 'green-background-soft-emphasis': 'green-24',
537
+ 'green-background-soft-muted': 'green-16',
538
+ // Red
61
539
  'red-foreground': 'red-lighten-3',
540
+ 'red-foreground-emphasis': 'red-lighten-4',
541
+ 'red-foreground-onfill': 'white',
542
+ 'red-stroke': 'red-darken-1',
543
+ 'red-stroke-emphasis': 'red',
544
+ 'red-background-fill': 'red-darken-2',
545
+ 'red-background-fill-emphasis': 'red-darken-1',
546
+ 'red-background-soft': 'red-12',
547
+ 'red-background-soft-emphasis': 'red-24',
548
+ 'red-background-soft-muted': 'red-16',
549
+ // Yellow
550
+ 'yellow-foreground': 'yellow-lighten-2',
551
+ 'yellow-foreground-emphasis': 'yellow-lighten-4',
552
+ 'yellow-foreground-onfill': 'yellow-darken-5',
553
+ 'yellow-stroke': 'yellow',
554
+ 'yellow-stroke-emphasis': 'yellow-lighten-1',
555
+ 'yellow-background-fill': 'yellow',
556
+ 'yellow-background-fill-emphasis': 'yellow-lighten-2',
557
+ 'yellow-background-soft': 'yellow-8',
558
+ 'yellow-background-soft-emphasis': 'yellow-24',
559
+ 'yellow-background-soft-muted': 'yellow-16',
560
+ // CM
561
+ 'cm-foreground': 'cm-lighten-4',
562
+ 'cm-foreground-emphasis': 'cm-lighten-6',
563
+ 'cm-foreground-onfill': 'white',
564
+ 'cm-background-fill': 'cm-darken-2',
565
+ 'cm-background-fill-emphasis': 'cm',
566
+ 'cm-background-soft': 'cm-12',
567
+ 'cm-background-soft-emphasis': 'cm-24',
568
+ // GO
62
569
  'go-foreground': 'go-lighten-5',
63
- // Fallback key only, see LIGHT_COLOR_ALIAS_MAP.
570
+ 'go-foreground-emphasis': 'go-lighten-6',
571
+ 'go-foreground-onfill': 'white',
572
+ 'go-background-fill': 'go-darken-1',
573
+ 'go-background-fill-emphasis': 'go',
574
+ 'go-background-soft': 'go-16',
575
+ 'go-background-soft-emphasis': 'go-24',
576
+ // CIR
577
+ 'cir-foreground': 'cir',
578
+ 'cir-foreground-emphasis': 'cir-lighten-3',
579
+ 'cir-foreground-onfill': 'cir-darken-6',
580
+ 'cir-background-fill': 'cir-darken-1',
581
+ 'cir-background-fill-emphasis': 'cir',
582
+ 'cir-background-soft': 'cir-8',
583
+ 'cir-background-soft-emphasis': 'cir-16',
584
+ // PED
585
+ 'ped-foreground': 'ped',
586
+ 'ped-foreground-emphasis': 'ped-lighten-1',
587
+ 'ped-foreground-onfill': 'ped-darken-7',
588
+ 'ped-background-fill': 'ped',
589
+ 'ped-background-fill-emphasis': 'ped-lighten-1',
590
+ 'ped-background-soft': 'ped-8',
591
+ 'ped-background-soft-emphasis': 'ped-16',
592
+ // PREV
593
+ 'prev-foreground': 'prev-lighten-5',
594
+ 'prev-foreground-emphasis': 'prev-lighten-6',
595
+ 'prev-foreground-onfill': 'white',
596
+ 'prev-background-fill': 'prev-darken-1',
597
+ 'prev-background-fill-emphasis': 'prev',
598
+ 'prev-background-soft': 'prev-24',
599
+ 'prev-background-soft-emphasis': 'prev-48',
600
+ // Feedback — success
601
+ 'feedback-success-foreground': 'green-lighten-4',
602
+ 'feedback-success-foreground-emphasis': 'green-lighten-6',
603
+ 'feedback-success-foreground-onfill': 'white',
604
+ 'feedback-success-stroke': 'green-darken-2',
605
+ 'feedback-success-stroke-emphasis': 'green',
606
+ 'feedback-success-background-fill': 'green-darken-3',
607
+ 'feedback-success-background-fill-emphasis': 'green-darken-2',
608
+ 'feedback-success-background-soft': 'green-8',
609
+ 'feedback-success-background-soft-emphasis': 'green-24',
610
+ 'feedback-success-background-soft-muted': 'green-16',
611
+ // Feedback — error
612
+ 'feedback-error-foreground': 'red-lighten-3',
613
+ 'feedback-error-foreground-emphasis': 'red-lighten-4',
614
+ 'feedback-error-foreground-onfill': 'white',
615
+ 'feedback-error-stroke': 'red-darken-1',
616
+ 'feedback-error-stroke-emphasis': 'red',
617
+ 'feedback-error-background-fill': 'red-darken-2',
618
+ 'feedback-error-background-fill-emphasis': 'red-darken-1',
619
+ 'feedback-error-background-soft': 'red-12',
620
+ 'feedback-error-background-soft-emphasis': 'red-24',
621
+ 'feedback-error-background-soft-muted': 'red-16',
622
+ // Feedback — warning
623
+ 'feedback-warning-foreground': 'yellow-lighten-2',
624
+ 'feedback-warning-foreground-emphasis': 'yellow-lighten-4',
625
+ 'feedback-warning-foreground-onfill': 'yellow-darken-5',
626
+ 'feedback-warning-stroke': 'yellow',
627
+ 'feedback-warning-stroke-emphasis': 'yellow-lighten-1',
628
+ 'feedback-warning-background-fill': 'yellow',
629
+ 'feedback-warning-background-fill-emphasis': 'yellow-lighten-2',
630
+ 'feedback-warning-background-soft': 'yellow-8',
631
+ 'feedback-warning-background-soft-emphasis': 'yellow-24',
632
+ 'feedback-warning-background-soft-muted': 'yellow-16',
633
+ // Base
634
+ background: 'gray-850',
635
+ foreground: 'white',
636
+ ring: 'gray-500',
637
+ // Drop shadow
638
+ 'drop-shadow-layer-a': 'black-24',
639
+ 'drop-shadow-layer-b': 'black-16',
640
+ // Gradients
641
+ 'gradient-base-blur-1': 'primary-lighten-3',
642
+ 'gradient-base-blur-2': 'secondary-darken-1',
643
+ 'gradient-base-blur-3': 'secondary',
644
+ 'gradient-base-bg-1': 'primary-darken-1',
645
+ 'gradient-base-bg-2': 'primary-darken-2',
646
+ 'gradient-cir-blur-1': 'cir-darken-1',
647
+ 'gradient-cir-blur-2': 'cir-darken-2',
648
+ 'gradient-cir-blur-3': 'cir-darken-3',
649
+ 'gradient-cir-bg-1': 'cir-darken-5',
650
+ 'gradient-cir-bg-2': 'cir-darken-6',
651
+ 'gradient-cm-blur-1': 'cm',
652
+ 'gradient-cm-blur-2': 'cm-darken-1',
653
+ 'gradient-cm-blur-3': 'cm-darken-2',
654
+ 'gradient-cm-bg-1': 'cm-darken-4',
655
+ 'gradient-cm-bg-2': 'cm-darken-6',
656
+ 'gradient-go-blur-1': 'go-lighten-2',
657
+ 'gradient-go-blur-2': 'go',
658
+ 'gradient-go-blur-3': 'go-darken-2',
659
+ 'gradient-go-bg-1': 'go-darken-3',
660
+ 'gradient-go-bg-2': 'go-darken-5',
661
+ 'gradient-ped-blur-1': 'ped',
662
+ 'gradient-ped-blur-2': 'ped-darken-3',
663
+ 'gradient-ped-blur-3': 'ped-darken-5',
664
+ 'gradient-ped-bg-1': 'ped-darken-4',
665
+ 'gradient-ped-bg-2': 'yellow-darken-6',
666
+ 'gradient-prev-blur-1': 'prev-lighten-1',
667
+ 'gradient-prev-blur-2': 'prev',
668
+ 'gradient-prev-blur-3': 'prev-darken-1',
669
+ 'gradient-prev-bg-1': 'prev-darken-2',
670
+ 'gradient-prev-bg-2': 'prev-darken-4',
671
+ 'gradient-r1-blur-1': 'secondary',
672
+ 'gradient-r1-blur-2': 'primary-lighten-1',
673
+ 'gradient-r1-blur-3': 'primary-lighten-2',
674
+ 'gradient-r1-bg-1': 'primary',
675
+ 'gradient-r1-bg-2': 'primary-darken-2',
676
+ 'gradient-rplus-blur-1': 'primary-lighten-5',
677
+ 'gradient-rplus-blur-2': 'primary-lighten-3',
678
+ 'gradient-rplus-blur-3': 'primary-lighten-1',
679
+ 'gradient-rplus-bg-1': 'primary',
680
+ 'gradient-rplus-bg-2': 'primary-darken-2',
681
+ 'gradient-pt-blur-1': 'secondary',
682
+ 'gradient-pt-blur-2': 'secondary-darken-1',
683
+ 'gradient-pt-blur-3': 'secondary-darken-3',
684
+ 'gradient-pt-bg-1': 'gray-800',
685
+ 'gradient-pt-bg-2': 'gray-900',
686
+ // Gold (herdado do :root)
687
+ 'gold-foreground': 'gold-darken-4',
688
+ 'gold-foreground-emphasis': 'gold-darken-5',
689
+ 'gold-foreground-onfill': 'gold-darken-5',
690
+ 'gold-background-fill': 'gold',
691
+ 'gold-background-fill-emphasis': 'gold-darken-1',
692
+ 'gold-background-soft': 'gold-24',
693
+ 'gold-background-soft-emphasis': 'gold-16',
694
+ // Silver (herdado do :root)
695
+ 'silver-foreground': 'silver-darken-4',
696
+ 'silver-foreground-emphasis': 'silver-darken-6',
697
+ 'silver-foreground-onfill': 'white',
698
+ 'silver-background-fill': 'silver',
699
+ 'silver-background-fill-emphasis': 'silver-darken-1',
700
+ 'silver-background-soft': 'silver-8',
701
+ 'silver-background-soft-emphasis': 'silver-4',
702
+ // Bronze (herdado do :root)
703
+ 'bronze-foreground': 'bronze-darken-3',
704
+ 'bronze-foreground-emphasis': 'bronze-darken-4',
705
+ 'bronze-foreground-onfill': 'white',
706
+ 'bronze-background-fill': 'bronze',
707
+ 'bronze-background-fill-emphasis': 'bronze-darken-1',
708
+ 'bronze-background-soft': 'bronze-24',
709
+ 'bronze-background-soft-emphasis': 'bronze-16',
710
+ // Backdrop / drop shadow subtle
711
+ 'drop-shadow-subtle-layer-a': 'black-24',
712
+ 'drop-shadow-subtle-layer-b': 'black-16',
64
713
  backdrop: 'backdrop-dark'
65
714
  };
66
-
67
- /** Fallback estático quando NativeWind não resolve `var(--color-*)` encadeado. */
68
- const THEME_COLOR_FALLBACKS = {
69
- white: '#FFFFFF',
70
- primary: 'rgba(0, 32, 91, 1)',
71
- 'cm-darken-1': 'rgba(56, 112, 178, 1)',
72
- go: 'rgba(172, 20, 90, 1)',
73
- cir: 'rgba(0, 239, 200, 1)',
74
- ped: 'rgba(255, 198, 73, 1)',
75
- prev: 'rgba(59, 63, 182, 1)',
76
- 'gray-600': 'rgba(49, 57, 73, 1)',
77
- 'gray-450': 'rgba(90, 105, 135, 1)',
78
- 'gray-400': 'rgba(122, 133, 151, 1)',
79
- 'gray-100': 'rgba(231, 233, 239, 1)',
80
- 'gray-30': 'rgba(249, 250, 251, 1)',
81
- 'gray-150': 'rgba(206, 211, 222, 1)',
82
- 'gray-300': 'rgba(133, 146, 173, 1)',
83
- 'gray-700': 'rgba(33, 38, 49, 1)',
84
- 'gray-850': 'rgba(16, 19, 24, 1)',
85
- 'gray-70': 'rgba(240, 241, 245, 1)',
86
- 'red-darken-2': 'rgba(182, 27, 45, 1)',
87
- 'red-lighten-3': 'rgba(231, 131, 142, 1)',
88
- 'go-darken-1': 'rgba(141, 22, 77, 1)',
89
- 'go-lighten-5': 'rgba(237, 187, 192, 1)',
90
- 'secondary-darken-1': 'rgba(7, 171, 149, 1)',
91
- 'secondary-darken-3': 'rgba(13, 104, 92, 1)',
92
- 'secondary-lighten-1': 'rgba(22, 208, 118, 1)',
93
- 'backdrop-light': 'rgba(16, 19, 24, 0.3)',
94
- 'backdrop-dark': 'rgba(16, 19, 24, 0.5)'
95
- };
96
715
  const DEFAULT_COLOR = exports.DEFAULT_COLOR = '#3B4958';
97
716
  function toCssVariable(token) {
98
717
  return token.startsWith('--') ? token : `--color-${token}`;
@@ -107,17 +726,32 @@ function toResolvedCssVariable(token, aliasMap) {
107
726
  function isResolvedColor(value) {
108
727
  return typeof value === 'string' && !value.startsWith('var(');
109
728
  }
729
+
730
+ /**
731
+ * Resolve tokens da paleta com sufixo numérico (`primary-16`, `red-8`) para o
732
+ * mesmo tom base com alpha aplicada. Ex.: `primary-16` = base `primary` com
733
+ * alpha 0.16.
734
+ */
735
+ function resolvePaletteToken(paletteToken) {
736
+ if (PALETTE[paletteToken]) return PALETTE[paletteToken];
737
+ const alphaMatch = paletteToken.match(/^(.+)-(\d+)$/);
738
+ if (!alphaMatch) return null;
739
+ const [, base, alphaStr] = alphaMatch;
740
+ const baseColor = PALETTE[base];
741
+ if (!baseColor) return null;
742
+ const alphaPercent = Number(alphaStr);
743
+ if (alphaPercent > 100) return null;
744
+ const alphaValue = alphaPercent / 100;
745
+ return baseColor.replace(/,\s*1\)$/, `, ${alphaValue})`);
746
+ }
110
747
  function getFallbackColor(token, aliasMap) {
111
748
  const tokenName = toTokenName(token);
112
749
  const aliasToken = aliasMap[tokenName] ?? tokenName;
113
- return THEME_COLOR_FALLBACKS[tokenName] ?? THEME_COLOR_FALLBACKS[aliasToken] ?? DEFAULT_COLOR;
114
- }
115
750
 
116
- /**
117
- * Aplica alpha na cor já resolvida (`rgba` ou hex). `transparent` no
118
- * LinearGradient do Expo interpola via preto no Android.
119
- * `alpha` é clamado em 0–1 para não gerar hex inválido (ex. `#RRGGBB132`).
120
- */
751
+ // Alias primeiro: ele é específico do color scheme e deve vencer valores
752
+ // literais da paleta (ex.: `drop-shadow-layer-a` no dark → `black-24`).
753
+ return resolvePaletteToken(aliasToken) ?? resolvePaletteToken(tokenName) ?? DEFAULT_COLOR;
754
+ }
121
755
  function withAlpha(color, alpha) {
122
756
  const clamped = Math.min(1, Math.max(0, alpha));
123
757
  const rgba = color.match(/rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)(?:\s*,\s*[\d.]+)?\s*\)/i);
@@ -137,12 +771,6 @@ function withAlpha(color, alpha) {
137
771
  }
138
772
  return color;
139
773
  }
140
-
141
- /**
142
- * Resolve uma cor semântica do design system (tokens.native.css) em runtime.
143
- * Use quando a prop `color` for obrigatória (SVG, stroke Reanimated, etc.).
144
- * `alpha` (0–1) aplica a opacidade na cor resolvida.
145
- */
146
774
  function useThemeColor(token, alpha) {
147
775
  const {
148
776
  colorScheme