@situaction/traquiste-mobile 1.0.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/.eslintrc.js +5 -0
  2. package/.releaserc +12 -0
  3. package/CLAUDE.md +25 -0
  4. package/README.md +124 -0
  5. package/app.json +5 -0
  6. package/bitbucket-pipelines.yml +81 -0
  7. package/build/components/Button/Button.d.ts +31 -0
  8. package/build/components/Button/Button.d.ts.map +1 -0
  9. package/build/components/Button/Button.js +67 -0
  10. package/build/components/Button/Button.js.map +1 -0
  11. package/build/components/Button/Button.stories.d.ts +19 -0
  12. package/build/components/Button/Button.stories.d.ts.map +1 -0
  13. package/build/components/Button/Button.stories.js +95 -0
  14. package/build/components/Button/Button.stories.js.map +1 -0
  15. package/build/components/Button/index.d.ts +3 -0
  16. package/build/components/Button/index.d.ts.map +1 -0
  17. package/build/components/Button/index.js +2 -0
  18. package/build/components/Button/index.js.map +1 -0
  19. package/build/components/ButtonAction/ButtonAction.d.ts +21 -0
  20. package/build/components/ButtonAction/ButtonAction.d.ts.map +1 -0
  21. package/build/components/ButtonAction/ButtonAction.js +35 -0
  22. package/build/components/ButtonAction/ButtonAction.js.map +1 -0
  23. package/build/components/ButtonAction/ButtonAction.stories.d.ts +13 -0
  24. package/build/components/ButtonAction/ButtonAction.stories.d.ts.map +1 -0
  25. package/build/components/ButtonAction/ButtonAction.stories.js +51 -0
  26. package/build/components/ButtonAction/ButtonAction.stories.js.map +1 -0
  27. package/build/components/ButtonAction/index.d.ts +3 -0
  28. package/build/components/ButtonAction/index.d.ts.map +1 -0
  29. package/build/components/ButtonAction/index.js +2 -0
  30. package/build/components/ButtonAction/index.js.map +1 -0
  31. package/build/components/ButtonMap/ButtonMap.d.ts +18 -0
  32. package/build/components/ButtonMap/ButtonMap.d.ts.map +1 -0
  33. package/build/components/ButtonMap/ButtonMap.js +17 -0
  34. package/build/components/ButtonMap/ButtonMap.js.map +1 -0
  35. package/build/components/ButtonMap/ButtonMap.stories.d.ts +12 -0
  36. package/build/components/ButtonMap/ButtonMap.stories.d.ts.map +1 -0
  37. package/build/components/ButtonMap/ButtonMap.stories.js +36 -0
  38. package/build/components/ButtonMap/ButtonMap.stories.js.map +1 -0
  39. package/build/components/ButtonMap/index.d.ts +3 -0
  40. package/build/components/ButtonMap/index.d.ts.map +1 -0
  41. package/build/components/ButtonMap/index.js +2 -0
  42. package/build/components/ButtonMap/index.js.map +1 -0
  43. package/build/components/ButtonMenu/ButtonMenu.d.ts +21 -0
  44. package/build/components/ButtonMenu/ButtonMenu.d.ts.map +1 -0
  45. package/build/components/ButtonMenu/ButtonMenu.js +56 -0
  46. package/build/components/ButtonMenu/ButtonMenu.js.map +1 -0
  47. package/build/components/ButtonMenu/ButtonMenu.stories.d.ts +15 -0
  48. package/build/components/ButtonMenu/ButtonMenu.stories.d.ts.map +1 -0
  49. package/build/components/ButtonMenu/ButtonMenu.stories.js +52 -0
  50. package/build/components/ButtonMenu/ButtonMenu.stories.js.map +1 -0
  51. package/build/components/ButtonMenu/index.d.ts +3 -0
  52. package/build/components/ButtonMenu/index.d.ts.map +1 -0
  53. package/build/components/ButtonMenu/index.js +2 -0
  54. package/build/components/ButtonMenu/index.js.map +1 -0
  55. package/build/components/FilterChip/FilterChip.d.ts +28 -0
  56. package/build/components/FilterChip/FilterChip.d.ts.map +1 -0
  57. package/build/components/FilterChip/FilterChip.js +66 -0
  58. package/build/components/FilterChip/FilterChip.js.map +1 -0
  59. package/build/components/FilterChip/FilterChip.stories.d.ts +15 -0
  60. package/build/components/FilterChip/FilterChip.stories.d.ts.map +1 -0
  61. package/build/components/FilterChip/FilterChip.stories.js +55 -0
  62. package/build/components/FilterChip/FilterChip.stories.js.map +1 -0
  63. package/build/components/FilterChip/index.d.ts +3 -0
  64. package/build/components/FilterChip/index.d.ts.map +1 -0
  65. package/build/components/FilterChip/index.js +2 -0
  66. package/build/components/FilterChip/index.js.map +1 -0
  67. package/build/constants/colors.d.ts +2 -0
  68. package/build/constants/colors.d.ts.map +1 -0
  69. package/build/constants/colors.js +3 -0
  70. package/build/constants/colors.js.map +1 -0
  71. package/build/context/ThemeContext.d.ts +30 -0
  72. package/build/context/ThemeContext.d.ts.map +1 -0
  73. package/build/context/ThemeContext.js +34 -0
  74. package/build/context/ThemeContext.js.map +1 -0
  75. package/build/index.d.ts +7 -0
  76. package/build/index.d.ts.map +1 -0
  77. package/build/index.js +8 -0
  78. package/build/index.js.map +1 -0
  79. package/build/theme/index.d.ts +5 -0
  80. package/build/theme/index.d.ts.map +1 -0
  81. package/build/theme/index.js +6 -0
  82. package/build/theme/index.js.map +1 -0
  83. package/build/theme/tokens/dark.d.ts +8 -0
  84. package/build/theme/tokens/dark.d.ts.map +1 -0
  85. package/build/theme/tokens/dark.js +146 -0
  86. package/build/theme/tokens/dark.js.map +1 -0
  87. package/build/theme/tokens/light.d.ts +8 -0
  88. package/build/theme/tokens/light.d.ts.map +1 -0
  89. package/build/theme/tokens/light.js +152 -0
  90. package/build/theme/tokens/light.js.map +1 -0
  91. package/build/theme/type.d.ts +75 -0
  92. package/build/theme/type.d.ts.map +1 -0
  93. package/build/theme/type.js +7 -0
  94. package/build/theme/type.js.map +1 -0
  95. package/docs/README.md +73 -0
  96. package/docs/eslint.config.js +22 -0
  97. package/docs/index.html +16 -0
  98. package/docs/package-lock.json +5578 -0
  99. package/docs/package.json +37 -0
  100. package/docs/public/favicon.svg +1 -0
  101. package/docs/public/icons.svg +24 -0
  102. package/docs/src/App.css +184 -0
  103. package/docs/src/App.tsx +38 -0
  104. package/docs/src/assets/hero.png +0 -0
  105. package/docs/src/assets/react.svg +1 -0
  106. package/docs/src/assets/vite.svg +1 -0
  107. package/docs/src/components/Layout.tsx +108 -0
  108. package/docs/src/components/LiveEditor.tsx +294 -0
  109. package/docs/src/components/PropsTable.tsx +101 -0
  110. package/docs/src/components/Sidebar.tsx +103 -0
  111. package/docs/src/components/TableOfContents.tsx +75 -0
  112. package/docs/src/context/ColorModeContext.tsx +34 -0
  113. package/docs/src/index.css +76 -0
  114. package/docs/src/lib/createComponentPage.tsx +270 -0
  115. package/docs/src/main.tsx +13 -0
  116. package/docs/src/pages/Examples.tsx +273 -0
  117. package/docs/src/pages/Home.tsx +70 -0
  118. package/docs/src/pages/components/button-action.ts +88 -0
  119. package/docs/src/pages/components/button-map.ts +67 -0
  120. package/docs/src/pages/components/button-menu.ts +90 -0
  121. package/docs/src/pages/components/button.ts +158 -0
  122. package/docs/src/pages/components/filter-chip.ts +109 -0
  123. package/docs/tsconfig.app.json +32 -0
  124. package/docs/tsconfig.json +7 -0
  125. package/docs/tsconfig.node.json +24 -0
  126. package/docs/vite.config.ts +18 -0
  127. package/ios/.xcode.env +11 -0
  128. package/ios/Podfile +63 -0
  129. package/ios/Podfile.properties.json +4 -0
  130. package/ios/situactiontraquistemobile/AppDelegate.swift +69 -0
  131. package/ios/situactiontraquistemobile/Images.xcassets/AppIcon.appiconset/Contents.json +13 -0
  132. package/ios/situactiontraquistemobile/Images.xcassets/Contents.json +6 -0
  133. package/ios/situactiontraquistemobile/Images.xcassets/SplashScreenLegacy.imageset/Contents.json +21 -0
  134. package/ios/situactiontraquistemobile/Images.xcassets/SplashScreenLegacy.imageset/SplashScreenLegacy.png +0 -0
  135. package/ios/situactiontraquistemobile/Info.plist +53 -0
  136. package/ios/situactiontraquistemobile/SplashScreen.storyboard +47 -0
  137. package/ios/situactiontraquistemobile/Supporting/Expo.plist +6 -0
  138. package/ios/situactiontraquistemobile/situactiontraquistemobile-Bridging-Header.h +3 -0
  139. package/ios/situactiontraquistemobile.xcodeproj/project.pbxproj +432 -0
  140. package/ios/situactiontraquistemobile.xcodeproj/xcshareddata/xcschemes/situactiontraquistemobile.xcscheme +88 -0
  141. package/jest.config.js +197 -0
  142. package/package.json +90 -0
  143. package/src/components/.gitkeep +0 -0
  144. package/src/components/Button/Button.stories.tsx +123 -0
  145. package/src/components/Button/Button.tsx +128 -0
  146. package/src/components/Button/index.ts +2 -0
  147. package/src/components/ButtonAction/ButtonAction.stories.tsx +67 -0
  148. package/src/components/ButtonAction/ButtonAction.tsx +67 -0
  149. package/src/components/ButtonAction/index.ts +2 -0
  150. package/src/components/ButtonMap/ButtonMap.stories.tsx +49 -0
  151. package/src/components/ButtonMap/ButtonMap.tsx +40 -0
  152. package/src/components/ButtonMap/index.ts +2 -0
  153. package/src/components/ButtonMenu/ButtonMenu.stories.tsx +68 -0
  154. package/src/components/ButtonMenu/ButtonMenu.tsx +97 -0
  155. package/src/components/ButtonMenu/index.ts +2 -0
  156. package/src/components/FilterChip/FilterChip.stories.tsx +71 -0
  157. package/src/components/FilterChip/FilterChip.tsx +124 -0
  158. package/src/components/FilterChip/index.ts +2 -0
  159. package/src/constants/colors.ts +2 -0
  160. package/src/context/ThemeContext.tsx +84 -0
  161. package/src/index.ts +23 -0
  162. package/src/theme/index.ts +20 -0
  163. package/src/theme/tokens/dark.ts +160 -0
  164. package/src/theme/tokens/light.ts +166 -0
  165. package/src/theme/type.ts +122 -0
  166. package/src/types/.gitkeep +0 -0
  167. package/src/utils/.gitkeep +0 -0
  168. package/tsconfig.json +9 -0
package/src/index.ts ADDED
@@ -0,0 +1,23 @@
1
+ // Public API — re-export all components, types, and utilities from this file
2
+
3
+ // Theme
4
+ export { ThemeProvider, useTheme } from './context/ThemeContext'
5
+ export { lightTokens } from './theme/tokens/light'
6
+ export { darkTokens } from './theme/tokens/dark'
7
+ export type {
8
+ ColorMode,
9
+ ColorSchemeTokens,
10
+ ColorTheme,
11
+ BackgroundTokens,
12
+ TextTokens,
13
+ BorderTokens,
14
+ ShadowTokens,
15
+ StatusTokens,
16
+ ButtonTokens,
17
+ InteractiveVariantTokens,
18
+ InteractiveStateTokens,
19
+ } from './theme/type'
20
+
21
+ // Components
22
+ export { Button } from './components/Button'
23
+ export type { ButtonProps, ButtonVariant, ButtonSize, ButtonContent } from './components/Button'
@@ -0,0 +1,20 @@
1
+ // Provider + hook
2
+ export { ThemeProvider, useTheme } from '../context/ThemeContext';
3
+
4
+ // Base tokens (useful for consumer apps building their own theme)
5
+ export { lightTokens } from './tokens/light';
6
+ export { darkTokens } from './tokens/dark';
7
+
8
+ // Types
9
+ export type {
10
+ ColorTheme,
11
+ ColorSchemeTokens,
12
+ BackgroundTokens,
13
+ TextTokens,
14
+ BorderTokens,
15
+ ShadowTokens,
16
+ StatusTokens,
17
+ ButtonTokens,
18
+ InteractiveVariantTokens,
19
+ InteractiveStateTokens,
20
+ } from './type';
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Base dark tokens.
3
+ * These are the default dark values — themes override what they need.
4
+ * Tim: add new component tokens at the bottom when creating a new component.
5
+ */
6
+
7
+ import type { ColorSchemeTokens } from '../type';
8
+
9
+ export const darkTokens: ColorSchemeTokens = {
10
+ // -------------------------------------------------------------------------
11
+ // Globals
12
+ // -------------------------------------------------------------------------
13
+
14
+ background: {
15
+ primary: '#28242e',
16
+ secondary: '#2f2b37',
17
+ tertiary: '#3e3f4e',
18
+ overlay: '#0f0f0f99',
19
+ menu: '#2f2b37',
20
+ },
21
+
22
+ text: {
23
+ primary: '#ffffff',
24
+ secondary: '#d7d7e0',
25
+ tertiary: '#8b8da5',
26
+ disabled: '#ffffff4d',
27
+ onColor: '#ffffff',
28
+ },
29
+
30
+ border: {
31
+ default: '#ffffff33',
32
+ strong: '#ffffff4d',
33
+ disabled: '#ffffff1a',
34
+ window: '#ffffff33',
35
+ },
36
+
37
+ shadow: {
38
+ minimal: '#0f0f0f1a',
39
+ lowest: '#0f0f0f33',
40
+ },
41
+
42
+ // -------------------------------------------------------------------------
43
+ // Status
44
+ // -------------------------------------------------------------------------
45
+
46
+ error: {
47
+ default: '#ff6464',
48
+ light: '#4b0404',
49
+ dark: '#ff9d9d',
50
+ },
51
+
52
+ success: {
53
+ default: '#45c85a',
54
+ light: '#092a10',
55
+ dark: '#91e49e',
56
+ },
57
+
58
+ warning: {
59
+ default: '#eeb721',
60
+ light: '#3f1c09',
61
+ dark: '#f4cf50',
62
+ },
63
+
64
+ info: {
65
+ default: '#d7d7e0',
66
+ light: '#3e3f4e',
67
+ dark: '#f7f7f8',
68
+ },
69
+
70
+ // -------------------------------------------------------------------------
71
+ // Button
72
+ // -------------------------------------------------------------------------
73
+
74
+ button: {
75
+ primary: {
76
+ default: {
77
+ background: '#ffffff',
78
+ text: '#28242e',
79
+ icon: '#28242e',
80
+ border: 'transparent',
81
+ },
82
+ pressed: {
83
+ background: '#d1d1d1',
84
+ text: '#28242e',
85
+ icon: '#28242e',
86
+ border: 'transparent',
87
+ },
88
+ disabled: {
89
+ background: '#ffffff1a',
90
+ text: '#ffffff4d',
91
+ icon: '#ffffff4d',
92
+ border: 'transparent',
93
+ },
94
+ },
95
+ tertiary: {
96
+ default: {
97
+ background: 'transparent',
98
+ text: '#ffffff',
99
+ icon: '#ffffff',
100
+ border: '#ffffff33',
101
+ },
102
+ pressed: {
103
+ background: '#ffffff1a',
104
+ text: '#ffffff',
105
+ icon: '#ffffff',
106
+ border: '#ffffff33',
107
+ },
108
+ disabled: {
109
+ background: '#ffffff0d',
110
+ text: '#ffffff4d',
111
+ icon: '#ffffff4d',
112
+ border: '#ffffff1a',
113
+ },
114
+ },
115
+ ghost: {
116
+ default: {
117
+ background: 'transparent',
118
+ text: '#ffffff',
119
+ icon: '#ffffff',
120
+ border: 'transparent',
121
+ },
122
+ pressed: {
123
+ background: '#ffffff1a',
124
+ text: '#ffffff',
125
+ icon: '#ffffff',
126
+ border: 'transparent',
127
+ },
128
+ disabled: {
129
+ background: 'transparent',
130
+ text: '#ffffff4d',
131
+ icon: '#ffffff4d',
132
+ border: 'transparent',
133
+ },
134
+ },
135
+ destructive: {
136
+ default: {
137
+ background: '#ff4747',
138
+ text: '#ffffff',
139
+ icon: '#ffffff',
140
+ border: 'transparent',
141
+ },
142
+ pressed: {
143
+ background: '#c80d0d',
144
+ text: '#ffffff',
145
+ icon: '#ffffff',
146
+ border: 'transparent',
147
+ },
148
+ disabled: {
149
+ background: '#ffffff0d',
150
+ text: '#ffffff4d',
151
+ icon: '#ffffff4d',
152
+ border: 'transparent',
153
+ },
154
+ },
155
+ },
156
+
157
+ // -------------------------------------------------------------------------
158
+ // Add new component tokens below
159
+ // -------------------------------------------------------------------------
160
+ };
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Base light tokens.
3
+ * These are the default light values — themes override what they need.
4
+ * Tim: add new component tokens at the bottom when creating a new component.
5
+ */
6
+
7
+ import type { ColorSchemeTokens } from '../type';
8
+
9
+ export const lightTokens: ColorSchemeTokens = {
10
+ // -------------------------------------------------------------------------
11
+ // Globals
12
+ // -------------------------------------------------------------------------
13
+
14
+ background: {
15
+ primary: '#ffffff',
16
+ secondary: '#f8f6f0',
17
+ tertiary: '#e8e4da',
18
+ overlay: '#0f0f0f80',
19
+ menu: '#f8f6f0',
20
+ },
21
+
22
+ text: {
23
+ primary: '#28242e',
24
+ secondary: '#47475d',
25
+ tertiary: '#6d6f8a',
26
+ disabled: '#0f0f0f99',
27
+ onColor: '#ffffff',
28
+ },
29
+
30
+ border: {
31
+ default: '#afafad80',
32
+ strong: '#afafadcc',
33
+ disabled: '#0f0f0f1a',
34
+ window: '#afafad80',
35
+ },
36
+
37
+ shadow: {
38
+ minimal: '#0f0f0f0d',
39
+ lowest: '#0f0f0f1a',
40
+ },
41
+
42
+ // -------------------------------------------------------------------------
43
+ // Status
44
+ // -------------------------------------------------------------------------
45
+
46
+ error: {
47
+ default: '#ff4747',
48
+ light: '#fff1f1',
49
+ dark: '#c80d0d',
50
+ },
51
+
52
+ success: {
53
+ default: '#33b449',
54
+ light: '#f1fcf3',
55
+ dark: '#20752f',
56
+ },
57
+
58
+ warning: {
59
+ default: '#de9f14',
60
+ light: '#fdfae9',
61
+ dark: '#99570f',
62
+ },
63
+
64
+ info: {
65
+ default: '#28242e',
66
+ light: '#f7f7f8',
67
+ dark: '#1a1720',
68
+ },
69
+
70
+ // -------------------------------------------------------------------------
71
+ // Button
72
+ // -------------------------------------------------------------------------
73
+
74
+ button: {
75
+ primary: {
76
+ default: {
77
+ background: '#28242e',
78
+ text: '#ffffff',
79
+ icon: '#ffffff',
80
+ border: 'transparent',
81
+ },
82
+ pressed: {
83
+ background: '#3e3f4e',
84
+ text: '#ffffff',
85
+ icon: '#ffffff',
86
+ border: 'transparent',
87
+ },
88
+ disabled: {
89
+ background: '#0f0f0f0d',
90
+ text: '#0f0f0f99',
91
+ icon: '#0f0f0f99',
92
+ border: 'transparent',
93
+ },
94
+ },
95
+ tertiary: {
96
+ default: {
97
+ background: 'transparent',
98
+ text: '#28242e',
99
+ icon: '#28242e',
100
+ border: '#afafad80',
101
+ },
102
+ pressed: {
103
+ background: '#d1c3a066',
104
+ text: '#28242e',
105
+ icon: '#28242e',
106
+ border: '#afafad80',
107
+ },
108
+ disabled: {
109
+ background: '#0f0f0f0d',
110
+ text: '#0f0f0f99',
111
+ icon: '#0f0f0f99',
112
+ border: '#0f0f0f1a',
113
+ },
114
+ },
115
+ ghost: {
116
+ default: {
117
+ background: 'transparent',
118
+ text: '#28242e',
119
+ icon: '#28242e',
120
+ border: 'transparent',
121
+ },
122
+ pressed: {
123
+ background: '#d1c3a066',
124
+ text: '#28242e',
125
+ icon: '#28242e',
126
+ border: 'transparent',
127
+ },
128
+ disabled: {
129
+ background: 'transparent',
130
+ text: '#0f0f0f66',
131
+ icon: '#0f0f0f66',
132
+ border: 'transparent',
133
+ },
134
+ },
135
+ destructive: {
136
+ default: {
137
+ background: '#ff4747',
138
+ text: '#ffffff',
139
+ icon: '#ffffff',
140
+ border: 'transparent',
141
+ },
142
+ pressed: {
143
+ background: '#c80d0d',
144
+ text: '#ffffff',
145
+ icon: '#ffffff',
146
+ border: 'transparent',
147
+ },
148
+ disabled: {
149
+ background: '#0f0f0f0d',
150
+ text: '#0f0f0f99',
151
+ icon: '#0f0f0f99',
152
+ border: 'transparent',
153
+ },
154
+ },
155
+ },
156
+
157
+ // -------------------------------------------------------------------------
158
+ // Add new component tokens below
159
+ // Example:
160
+ // checkbox: {
161
+ // default: { background: '...', border: '...', icon: '...' },
162
+ // checked: { background: '...', border: '...', icon: '...' },
163
+ // disabled: { background: '...', border: '...', icon: '...' },
164
+ // },
165
+ // -------------------------------------------------------------------------
166
+ };
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Color theme contract for Traq[UI]ste Mobile.
3
+ * Every theme must implement this interface.
4
+ * Add a new section here when Tim creates a new component.
5
+ */
6
+
7
+ // ---------------------------------------------------------------------------
8
+ // Color mode
9
+ // ---------------------------------------------------------------------------
10
+
11
+ export type ColorMode = 'light' | 'dark';
12
+
13
+ // ---------------------------------------------------------------------------
14
+ // Shared primitives
15
+ // ---------------------------------------------------------------------------
16
+
17
+ export interface InteractiveStateTokens {
18
+ /** Container background */
19
+ background: string;
20
+ /** Label / text color */
21
+ text: string;
22
+ /** Icon tint */
23
+ icon: string;
24
+ /** Border — use 'transparent' when no border */
25
+ border: string;
26
+ }
27
+
28
+ export interface InteractiveVariantTokens {
29
+ default: InteractiveStateTokens;
30
+ pressed: InteractiveStateTokens;
31
+ disabled: InteractiveStateTokens;
32
+ }
33
+
34
+ export interface StatusTokens {
35
+ /** Primary status color */
36
+ default: string;
37
+ /** Light tint — backgrounds */
38
+ light: string;
39
+ /** Dark variant — text on light bg */
40
+ dark: string;
41
+ }
42
+
43
+ // ---------------------------------------------------------------------------
44
+ // Global tokens
45
+ // ---------------------------------------------------------------------------
46
+
47
+ export interface BackgroundTokens {
48
+ primary: string;
49
+ secondary: string;
50
+ tertiary: string;
51
+ overlay: string;
52
+ menu: string;
53
+ }
54
+
55
+ export interface TextTokens {
56
+ primary: string;
57
+ secondary: string;
58
+ tertiary: string;
59
+ disabled: string;
60
+ onColor: string;
61
+ }
62
+
63
+ export interface BorderTokens {
64
+ default: string;
65
+ strong: string;
66
+ disabled: string;
67
+ window: string;
68
+ }
69
+
70
+ export interface ShadowTokens {
71
+ minimal: string;
72
+ lowest: string;
73
+ }
74
+
75
+ // ---------------------------------------------------------------------------
76
+ // Component tokens
77
+ // Add a new interface below when Tim creates a new component
78
+ // ---------------------------------------------------------------------------
79
+
80
+ export interface ButtonTokens {
81
+ primary: InteractiveVariantTokens;
82
+ tertiary: InteractiveVariantTokens;
83
+ ghost: InteractiveVariantTokens;
84
+ destructive: InteractiveVariantTokens;
85
+ }
86
+
87
+ // export interface CheckboxTokens { ... } ← next component goes here
88
+ // export interface InputTokens { ... }
89
+ // export interface TagTokens { ... }
90
+
91
+ // ---------------------------------------------------------------------------
92
+ // Full scheme (light or dark)
93
+ // ---------------------------------------------------------------------------
94
+
95
+ export interface ColorSchemeTokens {
96
+ // globals
97
+ background: BackgroundTokens;
98
+ text: TextTokens;
99
+ border: BorderTokens;
100
+ shadow: ShadowTokens;
101
+
102
+ // status
103
+ error: StatusTokens;
104
+ success: StatusTokens;
105
+ warning: StatusTokens;
106
+ info: StatusTokens;
107
+
108
+ // components — add new ones here when Tim creates them
109
+ button: ButtonTokens;
110
+ // checkbox: CheckboxTokens;
111
+ // input: InputTokens;
112
+ // tag: TagTokens;
113
+ }
114
+
115
+ // ---------------------------------------------------------------------------
116
+ // Theme (light + dark)
117
+ // ---------------------------------------------------------------------------
118
+
119
+ export interface ColorTheme {
120
+ light: ColorSchemeTokens;
121
+ dark: ColorSchemeTokens;
122
+ }
File without changes
File without changes
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ // @generated by expo-module-scripts
2
+ {
3
+ "extends": "expo-module-scripts/tsconfig.base",
4
+ "compilerOptions": {
5
+ "outDir": "./build"
6
+ },
7
+ "include": ["./src"],
8
+ "exclude": ["**/__mocks__/*", "**/__tests__/*", "**/__rsc_tests__/*"]
9
+ }