@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
@@ -0,0 +1,3 @@
1
+ export { FilterChip } from './FilterChip';
2
+ export type { FilterChipProps, FilterChipState, FilterChipType } from './FilterChip';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FilterChip } from './FilterChip';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FilterChip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC","sourcesContent":["export { FilterChip } from './FilterChip';\nexport type { FilterChipProps, FilterChipState, FilterChipType } from './FilterChip';"]}
@@ -0,0 +1,2 @@
1
+ export declare const colors: {};
2
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/constants/colors.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,MAAM,IAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Color design tokens — add tokens here as the design system grows
2
+ export const colors = {};
3
+ //# sourceMappingURL=colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/constants/colors.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,CAAC,MAAM,MAAM,GAAG,EAAW,CAAC","sourcesContent":["// Color design tokens — add tokens here as the design system grows\nexport const colors = {} as const;"]}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Theme system for Traq[UI]ste Mobile.
3
+ * Provides ThemeProvider and useTheme hook.
4
+ * Consumer apps inject their own light/dark tokens via ThemeProvider props.
5
+ */
6
+ import React, { type ReactNode } from 'react';
7
+ import type { ColorSchemeTokens } from '../theme/type';
8
+ interface ThemeContextValue {
9
+ /** Resolved tokens for the active color scheme */
10
+ colors: ColorSchemeTokens;
11
+ /** Active color scheme */
12
+ colorScheme: 'light' | 'dark';
13
+ }
14
+ interface ThemeProviderProps {
15
+ /** Light tokens — defaults to GDM light */
16
+ light?: ColorSchemeTokens;
17
+ /** Dark tokens — defaults to GDM dark */
18
+ dark?: ColorSchemeTokens;
19
+ /** Force a color scheme — defaults to system preference */
20
+ colorScheme?: 'light' | 'dark';
21
+ children: ReactNode;
22
+ }
23
+ export declare function ThemeProvider({ light, dark, colorScheme: forcedScheme, children, }: ThemeProviderProps): React.JSX.Element;
24
+ /**
25
+ * Returns resolved color tokens for the active theme and color scheme.
26
+ * Falls back to light tokens when used outside a ThemeProvider.
27
+ */
28
+ export declare function useTheme(): ThemeContextValue;
29
+ export {};
30
+ //# sourceMappingURL=ThemeContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../src/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EAIZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMvD,UAAU,iBAAiB;IACzB,kDAAkD;IAClD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,0BAA0B;IAC1B,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;CAC/B;AAaD,UAAU,kBAAkB;IAC1B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,yCAAyC;IACzC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EACE,KAAmB,EACnB,IAAiB,EACjB,WAAW,EAAE,YAAY,EACzB,QAAQ,GACT,EAAE,kBAAkB,qBAgBlD;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAE5C"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Theme system for Traq[UI]ste Mobile.
3
+ * Provides ThemeProvider and useTheme hook.
4
+ * Consumer apps inject their own light/dark tokens via ThemeProvider props.
5
+ */
6
+ import React, { createContext, useContext, useMemo, } from 'react';
7
+ import { useColorScheme } from 'react-native';
8
+ import { lightTokens } from '../theme/tokens/light';
9
+ import { darkTokens } from '../theme/tokens/dark';
10
+ const DEFAULT_VALUE = {
11
+ colors: lightTokens,
12
+ colorScheme: 'light',
13
+ };
14
+ const ThemeContext = createContext(DEFAULT_VALUE);
15
+ export function ThemeProvider({ light = lightTokens, dark = darkTokens, colorScheme: forcedScheme, children, }) {
16
+ const systemScheme = useColorScheme();
17
+ const colorScheme = forcedScheme ?? (systemScheme === 'dark' ? 'dark' : 'light');
18
+ const value = useMemo(() => ({
19
+ colors: colorScheme === 'dark' ? dark : light,
20
+ colorScheme,
21
+ }), [light, dark, colorScheme]);
22
+ return (<ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>);
23
+ }
24
+ // ---------------------------------------------------------------------------
25
+ // Hook
26
+ // ---------------------------------------------------------------------------
27
+ /**
28
+ * Returns resolved color tokens for the active theme and color scheme.
29
+ * Falls back to light tokens when used outside a ThemeProvider.
30
+ */
31
+ export function useTheme() {
32
+ return useContext(ThemeContext);
33
+ }
34
+ //# sourceMappingURL=ThemeContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeContext.js","sourceRoot":"","sources":["../../src/context/ThemeContext.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,EACZ,aAAa,EACb,UAAU,EACV,OAAO,GAER,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAclD,MAAM,aAAa,GAAsB;IACvC,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,OAAO;CACrB,CAAC;AAEF,MAAM,YAAY,GAAG,aAAa,CAAoB,aAAa,CAAC,CAAC;AAgBrE,MAAM,UAAU,aAAa,CAAC,EACE,KAAK,GAAG,WAAW,EACnB,IAAI,GAAG,UAAU,EACjB,WAAW,EAAE,YAAY,EACzB,QAAQ,GACW;IACjD,MAAM,YAAY,GAAG,cAAc,EAAE,CAAC;IACtC,MAAM,WAAW,GACf,YAAY,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAE/D,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC;QACL,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QAC7C,WAAW;KACZ,CAAC,EACF,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAC3B,CAAC;IAEF,OAAO,CACL,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,OAAO;AACP,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;AAClC,CAAC","sourcesContent":["/**\n * Theme system for Traq[UI]ste Mobile.\n * Provides ThemeProvider and useTheme hook.\n * Consumer apps inject their own light/dark tokens via ThemeProvider props.\n */\n\nimport React, {\n createContext,\n useContext,\n useMemo,\n type ReactNode,\n} from 'react';\nimport { useColorScheme } from 'react-native';\n\nimport { lightTokens } from '../theme/tokens/light';\nimport { darkTokens } from '../theme/tokens/dark';\nimport type { ColorSchemeTokens } from '../theme/type';\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface ThemeContextValue {\n /** Resolved tokens for the active color scheme */\n colors: ColorSchemeTokens;\n /** Active color scheme */\n colorScheme: 'light' | 'dark';\n}\n\nconst DEFAULT_VALUE: ThemeContextValue = {\n colors: lightTokens,\n colorScheme: 'light',\n};\n\nconst ThemeContext = createContext<ThemeContextValue>(DEFAULT_VALUE);\n\n// ---------------------------------------------------------------------------\n// Provider\n// ---------------------------------------------------------------------------\n\ninterface ThemeProviderProps {\n /** Light tokens — defaults to GDM light */\n light?: ColorSchemeTokens;\n /** Dark tokens — defaults to GDM dark */\n dark?: ColorSchemeTokens;\n /** Force a color scheme — defaults to system preference */\n colorScheme?: 'light' | 'dark';\n children: ReactNode;\n}\n\nexport function ThemeProvider({\n light = lightTokens,\n dark = darkTokens,\n colorScheme: forcedScheme,\n children,\n }: ThemeProviderProps) {\n const systemScheme = useColorScheme();\n const colorScheme: 'light' | 'dark' =\n forcedScheme ?? (systemScheme === 'dark' ? 'dark' : 'light');\n\n const value = useMemo<ThemeContextValue>(\n () => ({\n colors: colorScheme === 'dark' ? dark : light,\n colorScheme,\n }),\n [light, dark, colorScheme],\n );\n\n return (\n <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>\n );\n}\n\n// ---------------------------------------------------------------------------\n// Hook\n// ---------------------------------------------------------------------------\n\n/**\n * Returns resolved color tokens for the active theme and color scheme.\n * Falls back to light tokens when used outside a ThemeProvider.\n */\nexport function useTheme(): ThemeContextValue {\n return useContext(ThemeContext);\n}"]}
@@ -0,0 +1,7 @@
1
+ export { ThemeProvider, useTheme } from './context/ThemeContext';
2
+ export { lightTokens } from './theme/tokens/light';
3
+ export { darkTokens } from './theme/tokens/dark';
4
+ export type { ColorMode, ColorSchemeTokens, ColorTheme, BackgroundTokens, TextTokens, BorderTokens, ShadowTokens, StatusTokens, ButtonTokens, InteractiveVariantTokens, InteractiveStateTokens, } from './theme/type';
5
+ export { Button } from './components/Button';
6
+ export type { ButtonProps, ButtonVariant, ButtonSize, ButtonContent } from './components/Button';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
package/build/index.js ADDED
@@ -0,0 +1,8 @@
1
+ // Public API — re-export all components, types, and utilities from this file
2
+ // Theme
3
+ export { ThemeProvider, useTheme } from './context/ThemeContext';
4
+ export { lightTokens } from './theme/tokens/light';
5
+ export { darkTokens } from './theme/tokens/dark';
6
+ // Components
7
+ export { Button } from './components/Button';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAehD,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA","sourcesContent":["// Public API — re-export all components, types, and utilities from this file\n\n// Theme\nexport { ThemeProvider, useTheme } from './context/ThemeContext'\nexport { lightTokens } from './theme/tokens/light'\nexport { darkTokens } from './theme/tokens/dark'\nexport type {\n ColorMode,\n ColorSchemeTokens,\n ColorTheme,\n BackgroundTokens,\n TextTokens,\n BorderTokens,\n ShadowTokens,\n StatusTokens,\n ButtonTokens,\n InteractiveVariantTokens,\n InteractiveStateTokens,\n} from './theme/type'\n\n// Components\nexport { Button } from './components/Button'\nexport type { ButtonProps, ButtonVariant, ButtonSize, ButtonContent } from './components/Button'\n"]}
@@ -0,0 +1,5 @@
1
+ export { ThemeProvider, useTheme } from '../context/ThemeContext';
2
+ export { lightTokens } from './tokens/light';
3
+ export { darkTokens } from './tokens/dark';
4
+ export type { ColorTheme, ColorSchemeTokens, BackgroundTokens, TextTokens, BorderTokens, ShadowTokens, StatusTokens, ButtonTokens, InteractiveVariantTokens, InteractiveStateTokens, } from './type';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,YAAY,EACV,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Provider + hook
2
+ export { ThemeProvider, useTheme } from '../context/ThemeContext';
3
+ // Base tokens (useful for consumer apps building their own theme)
4
+ export { lightTokens } from './tokens/light';
5
+ export { darkTokens } from './tokens/dark';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAElE,kEAAkE;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC","sourcesContent":["// Provider + hook\nexport { ThemeProvider, useTheme } from '../context/ThemeContext';\n\n// Base tokens (useful for consumer apps building their own theme)\nexport { lightTokens } from './tokens/light';\nexport { darkTokens } from './tokens/dark';\n\n// Types\nexport type {\n ColorTheme,\n ColorSchemeTokens,\n BackgroundTokens,\n TextTokens,\n BorderTokens,\n ShadowTokens,\n StatusTokens,\n ButtonTokens,\n InteractiveVariantTokens,\n InteractiveStateTokens,\n} from './type';"]}
@@ -0,0 +1,8 @@
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
+ import type { ColorSchemeTokens } from '../type';
7
+ export declare const darkTokens: ColorSchemeTokens;
8
+ //# sourceMappingURL=dark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dark.d.ts","sourceRoot":"","sources":["../../../src/theme/tokens/dark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,eAAO,MAAM,UAAU,EAAE,iBAuJxB,CAAC"}
@@ -0,0 +1,146 @@
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
+ export const darkTokens = {
7
+ // -------------------------------------------------------------------------
8
+ // Globals
9
+ // -------------------------------------------------------------------------
10
+ background: {
11
+ primary: '#28242e',
12
+ secondary: '#2f2b37',
13
+ tertiary: '#3e3f4e',
14
+ overlay: '#0f0f0f99',
15
+ menu: '#2f2b37',
16
+ },
17
+ text: {
18
+ primary: '#ffffff',
19
+ secondary: '#d7d7e0',
20
+ tertiary: '#8b8da5',
21
+ disabled: '#ffffff4d',
22
+ onColor: '#ffffff',
23
+ },
24
+ border: {
25
+ default: '#ffffff33',
26
+ strong: '#ffffff4d',
27
+ disabled: '#ffffff1a',
28
+ window: '#ffffff33',
29
+ },
30
+ shadow: {
31
+ minimal: '#0f0f0f1a',
32
+ lowest: '#0f0f0f33',
33
+ },
34
+ // -------------------------------------------------------------------------
35
+ // Status
36
+ // -------------------------------------------------------------------------
37
+ error: {
38
+ default: '#ff6464',
39
+ light: '#4b0404',
40
+ dark: '#ff9d9d',
41
+ },
42
+ success: {
43
+ default: '#45c85a',
44
+ light: '#092a10',
45
+ dark: '#91e49e',
46
+ },
47
+ warning: {
48
+ default: '#eeb721',
49
+ light: '#3f1c09',
50
+ dark: '#f4cf50',
51
+ },
52
+ info: {
53
+ default: '#d7d7e0',
54
+ light: '#3e3f4e',
55
+ dark: '#f7f7f8',
56
+ },
57
+ // -------------------------------------------------------------------------
58
+ // Button
59
+ // -------------------------------------------------------------------------
60
+ button: {
61
+ primary: {
62
+ default: {
63
+ background: '#ffffff',
64
+ text: '#28242e',
65
+ icon: '#28242e',
66
+ border: 'transparent',
67
+ },
68
+ pressed: {
69
+ background: '#d1d1d1',
70
+ text: '#28242e',
71
+ icon: '#28242e',
72
+ border: 'transparent',
73
+ },
74
+ disabled: {
75
+ background: '#ffffff1a',
76
+ text: '#ffffff4d',
77
+ icon: '#ffffff4d',
78
+ border: 'transparent',
79
+ },
80
+ },
81
+ tertiary: {
82
+ default: {
83
+ background: 'transparent',
84
+ text: '#ffffff',
85
+ icon: '#ffffff',
86
+ border: '#ffffff33',
87
+ },
88
+ pressed: {
89
+ background: '#ffffff1a',
90
+ text: '#ffffff',
91
+ icon: '#ffffff',
92
+ border: '#ffffff33',
93
+ },
94
+ disabled: {
95
+ background: '#ffffff0d',
96
+ text: '#ffffff4d',
97
+ icon: '#ffffff4d',
98
+ border: '#ffffff1a',
99
+ },
100
+ },
101
+ ghost: {
102
+ default: {
103
+ background: 'transparent',
104
+ text: '#ffffff',
105
+ icon: '#ffffff',
106
+ border: 'transparent',
107
+ },
108
+ pressed: {
109
+ background: '#ffffff1a',
110
+ text: '#ffffff',
111
+ icon: '#ffffff',
112
+ border: 'transparent',
113
+ },
114
+ disabled: {
115
+ background: 'transparent',
116
+ text: '#ffffff4d',
117
+ icon: '#ffffff4d',
118
+ border: 'transparent',
119
+ },
120
+ },
121
+ destructive: {
122
+ default: {
123
+ background: '#ff4747',
124
+ text: '#ffffff',
125
+ icon: '#ffffff',
126
+ border: 'transparent',
127
+ },
128
+ pressed: {
129
+ background: '#c80d0d',
130
+ text: '#ffffff',
131
+ icon: '#ffffff',
132
+ border: 'transparent',
133
+ },
134
+ disabled: {
135
+ background: '#ffffff0d',
136
+ text: '#ffffff4d',
137
+ icon: '#ffffff4d',
138
+ border: 'transparent',
139
+ },
140
+ },
141
+ },
142
+ // -------------------------------------------------------------------------
143
+ // Add new component tokens below
144
+ // -------------------------------------------------------------------------
145
+ };
146
+ //# sourceMappingURL=dark.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dark.js","sourceRoot":"","sources":["../../../src/theme/tokens/dark.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Base dark tokens.\n * These are the default dark values — themes override what they need.\n * Tim: add new component tokens at the bottom when creating a new component.\n */\n\nimport type { ColorSchemeTokens } from '../type';\n\nexport const darkTokens: ColorSchemeTokens = {\n // -------------------------------------------------------------------------\n // Globals\n // -------------------------------------------------------------------------\n\n background: {\n primary: '#28242e',\n secondary: '#2f2b37',\n tertiary: '#3e3f4e',\n overlay: '#0f0f0f99',\n menu: '#2f2b37',\n },\n\n text: {\n primary: '#ffffff',\n secondary: '#d7d7e0',\n tertiary: '#8b8da5',\n disabled: '#ffffff4d',\n onColor: '#ffffff',\n },\n\n border: {\n default: '#ffffff33',\n strong: '#ffffff4d',\n disabled: '#ffffff1a',\n window: '#ffffff33',\n },\n\n shadow: {\n minimal: '#0f0f0f1a',\n lowest: '#0f0f0f33',\n },\n\n // -------------------------------------------------------------------------\n // Status\n // -------------------------------------------------------------------------\n\n error: {\n default: '#ff6464',\n light: '#4b0404',\n dark: '#ff9d9d',\n },\n\n success: {\n default: '#45c85a',\n light: '#092a10',\n dark: '#91e49e',\n },\n\n warning: {\n default: '#eeb721',\n light: '#3f1c09',\n dark: '#f4cf50',\n },\n\n info: {\n default: '#d7d7e0',\n light: '#3e3f4e',\n dark: '#f7f7f8',\n },\n\n // -------------------------------------------------------------------------\n // Button\n // -------------------------------------------------------------------------\n\n button: {\n primary: {\n default: {\n background: '#ffffff',\n text: '#28242e',\n icon: '#28242e',\n border: 'transparent',\n },\n pressed: {\n background: '#d1d1d1',\n text: '#28242e',\n icon: '#28242e',\n border: 'transparent',\n },\n disabled: {\n background: '#ffffff1a',\n text: '#ffffff4d',\n icon: '#ffffff4d',\n border: 'transparent',\n },\n },\n tertiary: {\n default: {\n background: 'transparent',\n text: '#ffffff',\n icon: '#ffffff',\n border: '#ffffff33',\n },\n pressed: {\n background: '#ffffff1a',\n text: '#ffffff',\n icon: '#ffffff',\n border: '#ffffff33',\n },\n disabled: {\n background: '#ffffff0d',\n text: '#ffffff4d',\n icon: '#ffffff4d',\n border: '#ffffff1a',\n },\n },\n ghost: {\n default: {\n background: 'transparent',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n pressed: {\n background: '#ffffff1a',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n disabled: {\n background: 'transparent',\n text: '#ffffff4d',\n icon: '#ffffff4d',\n border: 'transparent',\n },\n },\n destructive: {\n default: {\n background: '#ff4747',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n pressed: {\n background: '#c80d0d',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n disabled: {\n background: '#ffffff0d',\n text: '#ffffff4d',\n icon: '#ffffff4d',\n border: 'transparent',\n },\n },\n },\n\n // -------------------------------------------------------------------------\n // Add new component tokens below\n // -------------------------------------------------------------------------\n};"]}
@@ -0,0 +1,8 @@
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
+ import type { ColorSchemeTokens } from '../type';
7
+ export declare const lightTokens: ColorSchemeTokens;
8
+ //# sourceMappingURL=light.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../../src/theme/tokens/light.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,eAAO,MAAM,WAAW,EAAE,iBA6JzB,CAAC"}
@@ -0,0 +1,152 @@
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
+ export const lightTokens = {
7
+ // -------------------------------------------------------------------------
8
+ // Globals
9
+ // -------------------------------------------------------------------------
10
+ background: {
11
+ primary: '#ffffff',
12
+ secondary: '#f8f6f0',
13
+ tertiary: '#e8e4da',
14
+ overlay: '#0f0f0f80',
15
+ menu: '#f8f6f0',
16
+ },
17
+ text: {
18
+ primary: '#28242e',
19
+ secondary: '#47475d',
20
+ tertiary: '#6d6f8a',
21
+ disabled: '#0f0f0f99',
22
+ onColor: '#ffffff',
23
+ },
24
+ border: {
25
+ default: '#afafad80',
26
+ strong: '#afafadcc',
27
+ disabled: '#0f0f0f1a',
28
+ window: '#afafad80',
29
+ },
30
+ shadow: {
31
+ minimal: '#0f0f0f0d',
32
+ lowest: '#0f0f0f1a',
33
+ },
34
+ // -------------------------------------------------------------------------
35
+ // Status
36
+ // -------------------------------------------------------------------------
37
+ error: {
38
+ default: '#ff4747',
39
+ light: '#fff1f1',
40
+ dark: '#c80d0d',
41
+ },
42
+ success: {
43
+ default: '#33b449',
44
+ light: '#f1fcf3',
45
+ dark: '#20752f',
46
+ },
47
+ warning: {
48
+ default: '#de9f14',
49
+ light: '#fdfae9',
50
+ dark: '#99570f',
51
+ },
52
+ info: {
53
+ default: '#28242e',
54
+ light: '#f7f7f8',
55
+ dark: '#1a1720',
56
+ },
57
+ // -------------------------------------------------------------------------
58
+ // Button
59
+ // -------------------------------------------------------------------------
60
+ button: {
61
+ primary: {
62
+ default: {
63
+ background: '#28242e',
64
+ text: '#ffffff',
65
+ icon: '#ffffff',
66
+ border: 'transparent',
67
+ },
68
+ pressed: {
69
+ background: '#3e3f4e',
70
+ text: '#ffffff',
71
+ icon: '#ffffff',
72
+ border: 'transparent',
73
+ },
74
+ disabled: {
75
+ background: '#0f0f0f0d',
76
+ text: '#0f0f0f99',
77
+ icon: '#0f0f0f99',
78
+ border: 'transparent',
79
+ },
80
+ },
81
+ tertiary: {
82
+ default: {
83
+ background: 'transparent',
84
+ text: '#28242e',
85
+ icon: '#28242e',
86
+ border: '#afafad80',
87
+ },
88
+ pressed: {
89
+ background: '#d1c3a066',
90
+ text: '#28242e',
91
+ icon: '#28242e',
92
+ border: '#afafad80',
93
+ },
94
+ disabled: {
95
+ background: '#0f0f0f0d',
96
+ text: '#0f0f0f99',
97
+ icon: '#0f0f0f99',
98
+ border: '#0f0f0f1a',
99
+ },
100
+ },
101
+ ghost: {
102
+ default: {
103
+ background: 'transparent',
104
+ text: '#28242e',
105
+ icon: '#28242e',
106
+ border: 'transparent',
107
+ },
108
+ pressed: {
109
+ background: '#d1c3a066',
110
+ text: '#28242e',
111
+ icon: '#28242e',
112
+ border: 'transparent',
113
+ },
114
+ disabled: {
115
+ background: 'transparent',
116
+ text: '#0f0f0f66',
117
+ icon: '#0f0f0f66',
118
+ border: 'transparent',
119
+ },
120
+ },
121
+ destructive: {
122
+ default: {
123
+ background: '#ff4747',
124
+ text: '#ffffff',
125
+ icon: '#ffffff',
126
+ border: 'transparent',
127
+ },
128
+ pressed: {
129
+ background: '#c80d0d',
130
+ text: '#ffffff',
131
+ icon: '#ffffff',
132
+ border: 'transparent',
133
+ },
134
+ disabled: {
135
+ background: '#0f0f0f0d',
136
+ text: '#0f0f0f99',
137
+ icon: '#0f0f0f99',
138
+ border: 'transparent',
139
+ },
140
+ },
141
+ },
142
+ // -------------------------------------------------------------------------
143
+ // Add new component tokens below
144
+ // Example:
145
+ // checkbox: {
146
+ // default: { background: '...', border: '...', icon: '...' },
147
+ // checked: { background: '...', border: '...', icon: '...' },
148
+ // disabled: { background: '...', border: '...', icon: '...' },
149
+ // },
150
+ // -------------------------------------------------------------------------
151
+ };
152
+ //# sourceMappingURL=light.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/theme/tokens/light.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Base light tokens.\n * These are the default light values — themes override what they need.\n * Tim: add new component tokens at the bottom when creating a new component.\n */\n\nimport type { ColorSchemeTokens } from '../type';\n\nexport const lightTokens: ColorSchemeTokens = {\n // -------------------------------------------------------------------------\n // Globals\n // -------------------------------------------------------------------------\n\n background: {\n primary: '#ffffff',\n secondary: '#f8f6f0',\n tertiary: '#e8e4da',\n overlay: '#0f0f0f80',\n menu: '#f8f6f0',\n },\n\n text: {\n primary: '#28242e',\n secondary: '#47475d',\n tertiary: '#6d6f8a',\n disabled: '#0f0f0f99',\n onColor: '#ffffff',\n },\n\n border: {\n default: '#afafad80',\n strong: '#afafadcc',\n disabled: '#0f0f0f1a',\n window: '#afafad80',\n },\n\n shadow: {\n minimal: '#0f0f0f0d',\n lowest: '#0f0f0f1a',\n },\n\n // -------------------------------------------------------------------------\n // Status\n // -------------------------------------------------------------------------\n\n error: {\n default: '#ff4747',\n light: '#fff1f1',\n dark: '#c80d0d',\n },\n\n success: {\n default: '#33b449',\n light: '#f1fcf3',\n dark: '#20752f',\n },\n\n warning: {\n default: '#de9f14',\n light: '#fdfae9',\n dark: '#99570f',\n },\n\n info: {\n default: '#28242e',\n light: '#f7f7f8',\n dark: '#1a1720',\n },\n\n // -------------------------------------------------------------------------\n // Button\n // -------------------------------------------------------------------------\n\n button: {\n primary: {\n default: {\n background: '#28242e',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n pressed: {\n background: '#3e3f4e',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n disabled: {\n background: '#0f0f0f0d',\n text: '#0f0f0f99',\n icon: '#0f0f0f99',\n border: 'transparent',\n },\n },\n tertiary: {\n default: {\n background: 'transparent',\n text: '#28242e',\n icon: '#28242e',\n border: '#afafad80',\n },\n pressed: {\n background: '#d1c3a066',\n text: '#28242e',\n icon: '#28242e',\n border: '#afafad80',\n },\n disabled: {\n background: '#0f0f0f0d',\n text: '#0f0f0f99',\n icon: '#0f0f0f99',\n border: '#0f0f0f1a',\n },\n },\n ghost: {\n default: {\n background: 'transparent',\n text: '#28242e',\n icon: '#28242e',\n border: 'transparent',\n },\n pressed: {\n background: '#d1c3a066',\n text: '#28242e',\n icon: '#28242e',\n border: 'transparent',\n },\n disabled: {\n background: 'transparent',\n text: '#0f0f0f66',\n icon: '#0f0f0f66',\n border: 'transparent',\n },\n },\n destructive: {\n default: {\n background: '#ff4747',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n pressed: {\n background: '#c80d0d',\n text: '#ffffff',\n icon: '#ffffff',\n border: 'transparent',\n },\n disabled: {\n background: '#0f0f0f0d',\n text: '#0f0f0f99',\n icon: '#0f0f0f99',\n border: 'transparent',\n },\n },\n },\n\n // -------------------------------------------------------------------------\n // Add new component tokens below\n // Example:\n // checkbox: {\n // default: { background: '...', border: '...', icon: '...' },\n // checked: { background: '...', border: '...', icon: '...' },\n // disabled: { background: '...', border: '...', icon: '...' },\n // },\n // -------------------------------------------------------------------------\n};"]}
@@ -0,0 +1,75 @@
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
+ export type ColorMode = 'light' | 'dark';
7
+ export interface InteractiveStateTokens {
8
+ /** Container background */
9
+ background: string;
10
+ /** Label / text color */
11
+ text: string;
12
+ /** Icon tint */
13
+ icon: string;
14
+ /** Border — use 'transparent' when no border */
15
+ border: string;
16
+ }
17
+ export interface InteractiveVariantTokens {
18
+ default: InteractiveStateTokens;
19
+ pressed: InteractiveStateTokens;
20
+ disabled: InteractiveStateTokens;
21
+ }
22
+ export interface StatusTokens {
23
+ /** Primary status color */
24
+ default: string;
25
+ /** Light tint — backgrounds */
26
+ light: string;
27
+ /** Dark variant — text on light bg */
28
+ dark: string;
29
+ }
30
+ export interface BackgroundTokens {
31
+ primary: string;
32
+ secondary: string;
33
+ tertiary: string;
34
+ overlay: string;
35
+ menu: string;
36
+ }
37
+ export interface TextTokens {
38
+ primary: string;
39
+ secondary: string;
40
+ tertiary: string;
41
+ disabled: string;
42
+ onColor: string;
43
+ }
44
+ export interface BorderTokens {
45
+ default: string;
46
+ strong: string;
47
+ disabled: string;
48
+ window: string;
49
+ }
50
+ export interface ShadowTokens {
51
+ minimal: string;
52
+ lowest: string;
53
+ }
54
+ export interface ButtonTokens {
55
+ primary: InteractiveVariantTokens;
56
+ tertiary: InteractiveVariantTokens;
57
+ ghost: InteractiveVariantTokens;
58
+ destructive: InteractiveVariantTokens;
59
+ }
60
+ export interface ColorSchemeTokens {
61
+ background: BackgroundTokens;
62
+ text: TextTokens;
63
+ border: BorderTokens;
64
+ shadow: ShadowTokens;
65
+ error: StatusTokens;
66
+ success: StatusTokens;
67
+ warning: StatusTokens;
68
+ info: StatusTokens;
69
+ button: ButtonTokens;
70
+ }
71
+ export interface ColorTheme {
72
+ light: ColorSchemeTokens;
73
+ dark: ColorSchemeTokens;
74
+ }
75
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/theme/type.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAMzC,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,sBAAsB,CAAC;IAChC,OAAO,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAOD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,wBAAwB,CAAC;IAClC,QAAQ,EAAE,wBAAwB,CAAC;IACnC,KAAK,EAAE,wBAAwB,CAAC;IAChC,WAAW,EAAE,wBAAwB,CAAC;CACvC;AAUD,MAAM,WAAW,iBAAiB;IAEhC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IAGrB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IAGnB,MAAM,EAAE,YAAY,CAAC;CAItB;AAMD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;CACzB"}
@@ -0,0 +1,7 @@
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
+ export {};
7
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/theme/type.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\n * Color theme contract for Traq[UI]ste Mobile.\n * Every theme must implement this interface.\n * Add a new section here when Tim creates a new component.\n */\n\n// ---------------------------------------------------------------------------\n// Color mode\n// ---------------------------------------------------------------------------\n\nexport type ColorMode = 'light' | 'dark';\n\n// ---------------------------------------------------------------------------\n// Shared primitives\n// ---------------------------------------------------------------------------\n\nexport interface InteractiveStateTokens {\n /** Container background */\n background: string;\n /** Label / text color */\n text: string;\n /** Icon tint */\n icon: string;\n /** Border — use 'transparent' when no border */\n border: string;\n}\n\nexport interface InteractiveVariantTokens {\n default: InteractiveStateTokens;\n pressed: InteractiveStateTokens;\n disabled: InteractiveStateTokens;\n}\n\nexport interface StatusTokens {\n /** Primary status color */\n default: string;\n /** Light tint — backgrounds */\n light: string;\n /** Dark variant — text on light bg */\n dark: string;\n}\n\n// ---------------------------------------------------------------------------\n// Global tokens\n// ---------------------------------------------------------------------------\n\nexport interface BackgroundTokens {\n primary: string;\n secondary: string;\n tertiary: string;\n overlay: string;\n menu: string;\n}\n\nexport interface TextTokens {\n primary: string;\n secondary: string;\n tertiary: string;\n disabled: string;\n onColor: string;\n}\n\nexport interface BorderTokens {\n default: string;\n strong: string;\n disabled: string;\n window: string;\n}\n\nexport interface ShadowTokens {\n minimal: string;\n lowest: string;\n}\n\n// ---------------------------------------------------------------------------\n// Component tokens\n// Add a new interface below when Tim creates a new component\n// ---------------------------------------------------------------------------\n\nexport interface ButtonTokens {\n primary: InteractiveVariantTokens;\n tertiary: InteractiveVariantTokens;\n ghost: InteractiveVariantTokens;\n destructive: InteractiveVariantTokens;\n}\n\n// export interface CheckboxTokens { ... } ← next component goes here\n// export interface InputTokens { ... }\n// export interface TagTokens { ... }\n\n// ---------------------------------------------------------------------------\n// Full scheme (light or dark)\n// ---------------------------------------------------------------------------\n\nexport interface ColorSchemeTokens {\n // globals\n background: BackgroundTokens;\n text: TextTokens;\n border: BorderTokens;\n shadow: ShadowTokens;\n\n // status\n error: StatusTokens;\n success: StatusTokens;\n warning: StatusTokens;\n info: StatusTokens;\n\n // components — add new ones here when Tim creates them\n button: ButtonTokens;\n // checkbox: CheckboxTokens;\n // input: InputTokens;\n // tag: TagTokens;\n}\n\n// ---------------------------------------------------------------------------\n// Theme (light + dark)\n// ---------------------------------------------------------------------------\n\nexport interface ColorTheme {\n light: ColorSchemeTokens;\n dark: ColorSchemeTokens;\n}"]}