@tekton-ui/core 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/README.md +758 -0
  2. package/dist/blueprint.d.ts +44 -0
  3. package/dist/blueprint.d.ts.map +1 -0
  4. package/dist/blueprint.js +163 -0
  5. package/dist/blueprint.js.map +1 -0
  6. package/dist/component-schemas.d.ts +78 -0
  7. package/dist/component-schemas.d.ts.map +1 -0
  8. package/dist/component-schemas.js +1037 -0
  9. package/dist/component-schemas.js.map +1 -0
  10. package/dist/css-generator.d.ts +42 -0
  11. package/dist/css-generator.d.ts.map +1 -0
  12. package/dist/css-generator.js +339 -0
  13. package/dist/css-generator.js.map +1 -0
  14. package/dist/icon-library.d.ts +109 -0
  15. package/dist/icon-library.d.ts.map +1 -0
  16. package/dist/icon-library.js +204 -0
  17. package/dist/icon-library.js.map +1 -0
  18. package/dist/index.d.ts +36 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +51 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/layout-css-generator.d.ts +158 -0
  23. package/dist/layout-css-generator.d.ts.map +1 -0
  24. package/dist/layout-css-generator.js +901 -0
  25. package/dist/layout-css-generator.js.map +1 -0
  26. package/dist/layout-resolver.d.ts +92 -0
  27. package/dist/layout-resolver.d.ts.map +1 -0
  28. package/dist/layout-resolver.js +275 -0
  29. package/dist/layout-resolver.js.map +1 -0
  30. package/dist/layout-tokens/index.d.ts +16 -0
  31. package/dist/layout-tokens/index.d.ts.map +1 -0
  32. package/dist/layout-tokens/index.js +16 -0
  33. package/dist/layout-tokens/index.js.map +1 -0
  34. package/dist/layout-tokens/keyboard.d.ts +254 -0
  35. package/dist/layout-tokens/keyboard.d.ts.map +1 -0
  36. package/dist/layout-tokens/keyboard.js +407 -0
  37. package/dist/layout-tokens/keyboard.js.map +1 -0
  38. package/dist/layout-tokens/mobile-shells.d.ts +78 -0
  39. package/dist/layout-tokens/mobile-shells.d.ts.map +1 -0
  40. package/dist/layout-tokens/mobile-shells.js +635 -0
  41. package/dist/layout-tokens/mobile-shells.js.map +1 -0
  42. package/dist/layout-tokens/pages.d.ts +100 -0
  43. package/dist/layout-tokens/pages.d.ts.map +1 -0
  44. package/dist/layout-tokens/pages.js +576 -0
  45. package/dist/layout-tokens/pages.js.map +1 -0
  46. package/dist/layout-tokens/responsive.d.ts +109 -0
  47. package/dist/layout-tokens/responsive.d.ts.map +1 -0
  48. package/dist/layout-tokens/responsive.js +167 -0
  49. package/dist/layout-tokens/responsive.js.map +1 -0
  50. package/dist/layout-tokens/safe-area.d.ts +156 -0
  51. package/dist/layout-tokens/safe-area.d.ts.map +1 -0
  52. package/dist/layout-tokens/safe-area.js +316 -0
  53. package/dist/layout-tokens/safe-area.js.map +1 -0
  54. package/dist/layout-tokens/sections-advanced.d.ts +277 -0
  55. package/dist/layout-tokens/sections-advanced.d.ts.map +1 -0
  56. package/dist/layout-tokens/sections-advanced.js +593 -0
  57. package/dist/layout-tokens/sections-advanced.js.map +1 -0
  58. package/dist/layout-tokens/sections.d.ts +137 -0
  59. package/dist/layout-tokens/sections.d.ts.map +1 -0
  60. package/dist/layout-tokens/sections.js +694 -0
  61. package/dist/layout-tokens/sections.js.map +1 -0
  62. package/dist/layout-tokens/shells.d.ts +77 -0
  63. package/dist/layout-tokens/shells.d.ts.map +1 -0
  64. package/dist/layout-tokens/shells.js +408 -0
  65. package/dist/layout-tokens/shells.js.map +1 -0
  66. package/dist/layout-tokens/touch-target.d.ts +119 -0
  67. package/dist/layout-tokens/touch-target.d.ts.map +1 -0
  68. package/dist/layout-tokens/touch-target.js +156 -0
  69. package/dist/layout-tokens/touch-target.js.map +1 -0
  70. package/dist/layout-tokens/types.d.ts +632 -0
  71. package/dist/layout-tokens/types.d.ts.map +1 -0
  72. package/dist/layout-tokens/types.js +49 -0
  73. package/dist/layout-tokens/types.js.map +1 -0
  74. package/dist/layout-validation.d.ts +1547 -0
  75. package/dist/layout-validation.d.ts.map +1 -0
  76. package/dist/layout-validation.js +628 -0
  77. package/dist/layout-validation.js.map +1 -0
  78. package/dist/render.d.ts +23 -0
  79. package/dist/render.d.ts.map +1 -0
  80. package/dist/render.js +244 -0
  81. package/dist/render.js.map +1 -0
  82. package/dist/schema-validation.d.ts +208 -0
  83. package/dist/schema-validation.d.ts.map +1 -0
  84. package/dist/schema-validation.js +205 -0
  85. package/dist/schema-validation.js.map +1 -0
  86. package/dist/screen-generation/generators/css-in-js-generator.d.ts +82 -0
  87. package/dist/screen-generation/generators/css-in-js-generator.d.ts.map +1 -0
  88. package/dist/screen-generation/generators/css-in-js-generator.js +335 -0
  89. package/dist/screen-generation/generators/css-in-js-generator.js.map +1 -0
  90. package/dist/screen-generation/generators/index.d.ts +13 -0
  91. package/dist/screen-generation/generators/index.d.ts.map +1 -0
  92. package/dist/screen-generation/generators/index.js +32 -0
  93. package/dist/screen-generation/generators/index.js.map +1 -0
  94. package/dist/screen-generation/generators/react-generator.d.ts +100 -0
  95. package/dist/screen-generation/generators/react-generator.d.ts.map +1 -0
  96. package/dist/screen-generation/generators/react-generator.js +379 -0
  97. package/dist/screen-generation/generators/react-generator.js.map +1 -0
  98. package/dist/screen-generation/generators/tailwind-generator.d.ts +105 -0
  99. package/dist/screen-generation/generators/tailwind-generator.d.ts.map +1 -0
  100. package/dist/screen-generation/generators/tailwind-generator.js +355 -0
  101. package/dist/screen-generation/generators/tailwind-generator.js.map +1 -0
  102. package/dist/screen-generation/generators/types.d.ts +136 -0
  103. package/dist/screen-generation/generators/types.d.ts.map +1 -0
  104. package/dist/screen-generation/generators/types.js +18 -0
  105. package/dist/screen-generation/generators/types.js.map +1 -0
  106. package/dist/screen-generation/generators/utils.d.ts +187 -0
  107. package/dist/screen-generation/generators/utils.d.ts.map +1 -0
  108. package/dist/screen-generation/generators/utils.js +312 -0
  109. package/dist/screen-generation/generators/utils.js.map +1 -0
  110. package/dist/screen-generation/index.d.ts +14 -0
  111. package/dist/screen-generation/index.d.ts.map +1 -0
  112. package/dist/screen-generation/index.js +33 -0
  113. package/dist/screen-generation/index.js.map +1 -0
  114. package/dist/screen-generation/resolver/component-resolver.d.ts +157 -0
  115. package/dist/screen-generation/resolver/component-resolver.d.ts.map +1 -0
  116. package/dist/screen-generation/resolver/component-resolver.js +295 -0
  117. package/dist/screen-generation/resolver/component-resolver.js.map +1 -0
  118. package/dist/screen-generation/resolver/index.d.ts +10 -0
  119. package/dist/screen-generation/resolver/index.d.ts.map +1 -0
  120. package/dist/screen-generation/resolver/index.js +46 -0
  121. package/dist/screen-generation/resolver/index.js.map +1 -0
  122. package/dist/screen-generation/resolver/layout-resolver.d.ts +155 -0
  123. package/dist/screen-generation/resolver/layout-resolver.d.ts.map +1 -0
  124. package/dist/screen-generation/resolver/layout-resolver.js +193 -0
  125. package/dist/screen-generation/resolver/layout-resolver.js.map +1 -0
  126. package/dist/screen-generation/resolver/screen-resolver.d.ts +174 -0
  127. package/dist/screen-generation/resolver/screen-resolver.d.ts.map +1 -0
  128. package/dist/screen-generation/resolver/screen-resolver.js +373 -0
  129. package/dist/screen-generation/resolver/screen-resolver.js.map +1 -0
  130. package/dist/screen-generation/resolver/token-resolver.d.ts +170 -0
  131. package/dist/screen-generation/resolver/token-resolver.d.ts.map +1 -0
  132. package/dist/screen-generation/resolver/token-resolver.js +260 -0
  133. package/dist/screen-generation/resolver/token-resolver.js.map +1 -0
  134. package/dist/screen-generation/types.d.ts +116 -0
  135. package/dist/screen-generation/types.d.ts.map +1 -0
  136. package/dist/screen-generation/types.js +33 -0
  137. package/dist/screen-generation/types.js.map +1 -0
  138. package/dist/screen-generation/validators.d.ts +286 -0
  139. package/dist/screen-generation/validators.d.ts.map +1 -0
  140. package/dist/screen-generation/validators.js +323 -0
  141. package/dist/screen-generation/validators.js.map +1 -0
  142. package/dist/screen-templates/__tests__/registry.test.d.ts +6 -0
  143. package/dist/screen-templates/__tests__/registry.test.d.ts.map +1 -0
  144. package/dist/screen-templates/__tests__/registry.test.js +247 -0
  145. package/dist/screen-templates/__tests__/registry.test.js.map +1 -0
  146. package/dist/screen-templates/__tests__/templates.test.d.ts +6 -0
  147. package/dist/screen-templates/__tests__/templates.test.d.ts.map +1 -0
  148. package/dist/screen-templates/__tests__/templates.test.js +179 -0
  149. package/dist/screen-templates/__tests__/templates.test.js.map +1 -0
  150. package/dist/screen-templates/index.d.ts +39 -0
  151. package/dist/screen-templates/index.d.ts.map +1 -0
  152. package/dist/screen-templates/index.js +79 -0
  153. package/dist/screen-templates/index.js.map +1 -0
  154. package/dist/screen-templates/registry.d.ts +177 -0
  155. package/dist/screen-templates/registry.d.ts.map +1 -0
  156. package/dist/screen-templates/registry.js +274 -0
  157. package/dist/screen-templates/registry.js.map +1 -0
  158. package/dist/screen-templates/templates/account/index.d.ts +6 -0
  159. package/dist/screen-templates/templates/account/index.d.ts.map +1 -0
  160. package/dist/screen-templates/templates/account/index.js +6 -0
  161. package/dist/screen-templates/templates/account/index.js.map +1 -0
  162. package/dist/screen-templates/templates/account/profile.d.ts +23 -0
  163. package/dist/screen-templates/templates/account/profile.d.ts.map +1 -0
  164. package/dist/screen-templates/templates/account/profile.js +249 -0
  165. package/dist/screen-templates/templates/account/profile.js.map +1 -0
  166. package/dist/screen-templates/templates/auth/forgot-password.d.ts +23 -0
  167. package/dist/screen-templates/templates/auth/forgot-password.d.ts.map +1 -0
  168. package/dist/screen-templates/templates/auth/forgot-password.js +203 -0
  169. package/dist/screen-templates/templates/auth/forgot-password.js.map +1 -0
  170. package/dist/screen-templates/templates/auth/index.d.ts +9 -0
  171. package/dist/screen-templates/templates/auth/index.d.ts.map +1 -0
  172. package/dist/screen-templates/templates/auth/index.js +9 -0
  173. package/dist/screen-templates/templates/auth/index.js.map +1 -0
  174. package/dist/screen-templates/templates/auth/login.d.ts +24 -0
  175. package/dist/screen-templates/templates/auth/login.d.ts.map +1 -0
  176. package/dist/screen-templates/templates/auth/login.js +254 -0
  177. package/dist/screen-templates/templates/auth/login.js.map +1 -0
  178. package/dist/screen-templates/templates/auth/signup.d.ts +24 -0
  179. package/dist/screen-templates/templates/auth/signup.d.ts.map +1 -0
  180. package/dist/screen-templates/templates/auth/signup.js +315 -0
  181. package/dist/screen-templates/templates/auth/signup.js.map +1 -0
  182. package/dist/screen-templates/templates/auth/verification.d.ts +23 -0
  183. package/dist/screen-templates/templates/auth/verification.d.ts.map +1 -0
  184. package/dist/screen-templates/templates/auth/verification.js +239 -0
  185. package/dist/screen-templates/templates/auth/verification.js.map +1 -0
  186. package/dist/screen-templates/templates/feedback/confirmation.d.ts +9 -0
  187. package/dist/screen-templates/templates/feedback/confirmation.d.ts.map +1 -0
  188. package/dist/screen-templates/templates/feedback/confirmation.js +107 -0
  189. package/dist/screen-templates/templates/feedback/confirmation.js.map +1 -0
  190. package/dist/screen-templates/templates/feedback/empty.d.ts +9 -0
  191. package/dist/screen-templates/templates/feedback/empty.d.ts.map +1 -0
  192. package/dist/screen-templates/templates/feedback/empty.js +90 -0
  193. package/dist/screen-templates/templates/feedback/empty.js.map +1 -0
  194. package/dist/screen-templates/templates/feedback/error.d.ts +9 -0
  195. package/dist/screen-templates/templates/feedback/error.d.ts.map +1 -0
  196. package/dist/screen-templates/templates/feedback/error.js +99 -0
  197. package/dist/screen-templates/templates/feedback/error.js.map +1 -0
  198. package/dist/screen-templates/templates/feedback/index.d.ts +10 -0
  199. package/dist/screen-templates/templates/feedback/index.d.ts.map +1 -0
  200. package/dist/screen-templates/templates/feedback/index.js +10 -0
  201. package/dist/screen-templates/templates/feedback/index.js.map +1 -0
  202. package/dist/screen-templates/templates/feedback/loading.d.ts +9 -0
  203. package/dist/screen-templates/templates/feedback/loading.d.ts.map +1 -0
  204. package/dist/screen-templates/templates/feedback/loading.js +77 -0
  205. package/dist/screen-templates/templates/feedback/loading.js.map +1 -0
  206. package/dist/screen-templates/templates/feedback/success.d.ts +9 -0
  207. package/dist/screen-templates/templates/feedback/success.d.ts.map +1 -0
  208. package/dist/screen-templates/templates/feedback/success.js +99 -0
  209. package/dist/screen-templates/templates/feedback/success.js.map +1 -0
  210. package/dist/screen-templates/templates/home/index.d.ts +6 -0
  211. package/dist/screen-templates/templates/home/index.d.ts.map +1 -0
  212. package/dist/screen-templates/templates/home/index.js +6 -0
  213. package/dist/screen-templates/templates/home/index.js.map +1 -0
  214. package/dist/screen-templates/templates/home/landing.d.ts +24 -0
  215. package/dist/screen-templates/templates/home/landing.d.ts.map +1 -0
  216. package/dist/screen-templates/templates/home/landing.js +197 -0
  217. package/dist/screen-templates/templates/home/landing.js.map +1 -0
  218. package/dist/screen-templates/templates/settings/index.d.ts +6 -0
  219. package/dist/screen-templates/templates/settings/index.d.ts.map +1 -0
  220. package/dist/screen-templates/templates/settings/index.js +6 -0
  221. package/dist/screen-templates/templates/settings/index.js.map +1 -0
  222. package/dist/screen-templates/templates/settings/preferences.d.ts +24 -0
  223. package/dist/screen-templates/templates/settings/preferences.d.ts.map +1 -0
  224. package/dist/screen-templates/templates/settings/preferences.js +265 -0
  225. package/dist/screen-templates/templates/settings/preferences.js.map +1 -0
  226. package/dist/screen-templates/types.d.ts +229 -0
  227. package/dist/screen-templates/types.d.ts.map +1 -0
  228. package/dist/screen-templates/types.js +7 -0
  229. package/dist/screen-templates/types.js.map +1 -0
  230. package/dist/theme-v2.d.ts +228 -0
  231. package/dist/theme-v2.d.ts.map +1 -0
  232. package/dist/theme-v2.js +158 -0
  233. package/dist/theme-v2.js.map +1 -0
  234. package/dist/theme.d.ts +60 -0
  235. package/dist/theme.d.ts.map +1 -0
  236. package/dist/theme.js +76 -0
  237. package/dist/theme.js.map +1 -0
  238. package/dist/token-resolver.d.ts +69 -0
  239. package/dist/token-resolver.d.ts.map +1 -0
  240. package/dist/token-resolver.js +122 -0
  241. package/dist/token-resolver.js.map +1 -0
  242. package/dist/token-validation.d.ts +432 -0
  243. package/dist/token-validation.d.ts.map +1 -0
  244. package/dist/token-validation.js +140 -0
  245. package/dist/token-validation.js.map +1 -0
  246. package/dist/tokens.d.ts +158 -0
  247. package/dist/tokens.d.ts.map +1 -0
  248. package/dist/tokens.js +10 -0
  249. package/dist/tokens.js.map +1 -0
  250. package/dist/types.d.ts +77 -0
  251. package/dist/types.d.ts.map +1 -0
  252. package/dist/types.js +7 -0
  253. package/dist/types.js.map +1 -0
  254. package/package.json +53 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/layout-tokens/pages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * @tekton-ui/core - Responsive Token Definitions
3
+ * Concrete Responsive Token implementations for viewport breakpoints
4
+ * [SPEC-LAYOUT-001] [PHASE-6]
5
+ */
6
+ import type { ResponsiveToken } from './types.js';
7
+ /**
8
+ * Small devices breakpoint (mobile landscape, 640px and up)
9
+ * Suitable for mobile landscape orientation and small tablets
10
+ */
11
+ export declare const BREAKPOINT_SM: ResponsiveToken;
12
+ /**
13
+ * Medium devices breakpoint (tablets, 768px and up)
14
+ * Suitable for tablet portrait orientation
15
+ */
16
+ export declare const BREAKPOINT_MD: ResponsiveToken;
17
+ /**
18
+ * Large devices breakpoint (desktops, 1024px and up)
19
+ * Suitable for desktop and laptop screens
20
+ */
21
+ export declare const BREAKPOINT_LG: ResponsiveToken;
22
+ /**
23
+ * Extra large devices breakpoint (large desktops, 1280px and up)
24
+ * Suitable for large desktop monitors
25
+ */
26
+ export declare const BREAKPOINT_XL: ResponsiveToken;
27
+ /**
28
+ * Extra extra large devices breakpoint (wide screens, 1536px and up)
29
+ * Suitable for wide screen monitors and ultra-wide displays
30
+ */
31
+ export declare const BREAKPOINT_2XL: ResponsiveToken;
32
+ /**
33
+ * Map of breakpoint names to pixel values
34
+ * Provides convenient access to breakpoint values by name
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * const mdWidth = BREAKPOINT_VALUES.md; // 768
39
+ * ```
40
+ */
41
+ export declare const BREAKPOINT_VALUES: Record<string, number>;
42
+ /**
43
+ * Get a responsive token by its ID
44
+ *
45
+ * @param breakpointId - Breakpoint ID (e.g., "breakpoint.md")
46
+ * @returns ResponsiveToken if found, undefined otherwise
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const mdBreakpoint = getResponsiveToken('breakpoint.md');
51
+ * if (mdBreakpoint) {
52
+ * console.log(`Min width: ${mdBreakpoint.minWidth}px`);
53
+ * }
54
+ * ```
55
+ */
56
+ export declare function getResponsiveToken(breakpointId: string): ResponsiveToken | undefined;
57
+ /**
58
+ * Get all available responsive tokens
59
+ *
60
+ * @returns Array of all ResponsiveTokens
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const allBreakpoints = getAllResponsiveTokens();
65
+ * console.log(`Available breakpoints: ${allBreakpoints.length}`);
66
+ * ```
67
+ */
68
+ export declare function getAllResponsiveTokens(): ResponsiveToken[];
69
+ /**
70
+ * Get breakpoint value by breakpoint name
71
+ *
72
+ * @param breakpoint - Breakpoint name ('sm', 'md', 'lg', 'xl', '2xl')
73
+ * @returns Pixel value for the breakpoint
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * const mdWidth = getBreakpointValue('md'); // 768
78
+ * const lgWidth = getBreakpointValue('lg'); // 1024
79
+ * ```
80
+ */
81
+ export declare function getBreakpointValue(breakpoint: 'sm' | 'md' | 'lg' | 'xl' | '2xl'): number;
82
+ /**
83
+ * Generate CSS media query string for a breakpoint
84
+ *
85
+ * @param breakpoint - Breakpoint name ('sm', 'md', 'lg', 'xl', '2xl')
86
+ * @returns CSS media query string
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * const query = getBreakpointMediaQuery('md');
91
+ * // Returns: "@media (min-width: 768px)"
92
+ * ```
93
+ */
94
+ export declare function getBreakpointMediaQuery(breakpoint: 'sm' | 'md' | 'lg' | 'xl' | '2xl'): string;
95
+ /**
96
+ * Sort breakpoints by size (ascending order)
97
+ *
98
+ * @param breakpoints - Array of ResponsiveTokens to sort
99
+ * @returns Sorted array (smallest to largest)
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const unsorted = [BREAKPOINT_XL, BREAKPOINT_SM, BREAKPOINT_MD];
104
+ * const sorted = sortBreakpointsBySize(unsorted);
105
+ * // Returns: [BREAKPOINT_SM, BREAKPOINT_MD, BREAKPOINT_XL]
106
+ * ```
107
+ */
108
+ export declare function sortBreakpointsBySize(breakpoints: ResponsiveToken[]): ResponsiveToken[];
109
+ //# sourceMappingURL=responsive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive.d.ts","sourceRoot":"","sources":["../../src/layout-tokens/responsive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,eAI3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,eAI3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,eAI3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,eAI3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,eAI5B,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMpD,CAAC;AAsBF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAExF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAE7F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,eAAe,EAAE,CAEvF"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * @tekton-ui/core - Responsive Token Definitions
3
+ * Concrete Responsive Token implementations for viewport breakpoints
4
+ * [SPEC-LAYOUT-001] [PHASE-6]
5
+ */
6
+ // ============================================================================
7
+ // Responsive Token Definitions (Tailwind CSS Standard)
8
+ // ============================================================================
9
+ /**
10
+ * Small devices breakpoint (mobile landscape, 640px and up)
11
+ * Suitable for mobile landscape orientation and small tablets
12
+ */
13
+ export const BREAKPOINT_SM = {
14
+ id: 'breakpoint.sm',
15
+ minWidth: 640,
16
+ description: 'Small devices (mobile landscape, 640px and up)',
17
+ };
18
+ /**
19
+ * Medium devices breakpoint (tablets, 768px and up)
20
+ * Suitable for tablet portrait orientation
21
+ */
22
+ export const BREAKPOINT_MD = {
23
+ id: 'breakpoint.md',
24
+ minWidth: 768,
25
+ description: 'Medium devices (tablets, 768px and up)',
26
+ };
27
+ /**
28
+ * Large devices breakpoint (desktops, 1024px and up)
29
+ * Suitable for desktop and laptop screens
30
+ */
31
+ export const BREAKPOINT_LG = {
32
+ id: 'breakpoint.lg',
33
+ minWidth: 1024,
34
+ description: 'Large devices (desktops, 1024px and up)',
35
+ };
36
+ /**
37
+ * Extra large devices breakpoint (large desktops, 1280px and up)
38
+ * Suitable for large desktop monitors
39
+ */
40
+ export const BREAKPOINT_XL = {
41
+ id: 'breakpoint.xl',
42
+ minWidth: 1280,
43
+ description: 'Extra large devices (large desktops, 1280px and up)',
44
+ };
45
+ /**
46
+ * Extra extra large devices breakpoint (wide screens, 1536px and up)
47
+ * Suitable for wide screen monitors and ultra-wide displays
48
+ */
49
+ export const BREAKPOINT_2XL = {
50
+ id: 'breakpoint.2xl',
51
+ minWidth: 1536,
52
+ description: 'Extra extra large devices (wide screens, 1536px and up)',
53
+ };
54
+ // ============================================================================
55
+ // Breakpoint Values Map
56
+ // ============================================================================
57
+ /**
58
+ * Map of breakpoint names to pixel values
59
+ * Provides convenient access to breakpoint values by name
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const mdWidth = BREAKPOINT_VALUES.md; // 768
64
+ * ```
65
+ */
66
+ export const BREAKPOINT_VALUES = {
67
+ sm: 640,
68
+ md: 768,
69
+ lg: 1024,
70
+ xl: 1280,
71
+ '2xl': 1536,
72
+ };
73
+ // ============================================================================
74
+ // Internal Token Map
75
+ // ============================================================================
76
+ /**
77
+ * Internal map for quick responsive token lookups by ID
78
+ * Used by getResponsiveToken() for O(1) access
79
+ */
80
+ const RESPONSIVE_TOKENS_MAP = {
81
+ 'breakpoint.sm': BREAKPOINT_SM,
82
+ 'breakpoint.md': BREAKPOINT_MD,
83
+ 'breakpoint.lg': BREAKPOINT_LG,
84
+ 'breakpoint.xl': BREAKPOINT_XL,
85
+ 'breakpoint.2xl': BREAKPOINT_2XL,
86
+ };
87
+ // ============================================================================
88
+ // Utility Functions
89
+ // ============================================================================
90
+ /**
91
+ * Get a responsive token by its ID
92
+ *
93
+ * @param breakpointId - Breakpoint ID (e.g., "breakpoint.md")
94
+ * @returns ResponsiveToken if found, undefined otherwise
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * const mdBreakpoint = getResponsiveToken('breakpoint.md');
99
+ * if (mdBreakpoint) {
100
+ * console.log(`Min width: ${mdBreakpoint.minWidth}px`);
101
+ * }
102
+ * ```
103
+ */
104
+ export function getResponsiveToken(breakpointId) {
105
+ return RESPONSIVE_TOKENS_MAP[breakpointId];
106
+ }
107
+ /**
108
+ * Get all available responsive tokens
109
+ *
110
+ * @returns Array of all ResponsiveTokens
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const allBreakpoints = getAllResponsiveTokens();
115
+ * console.log(`Available breakpoints: ${allBreakpoints.length}`);
116
+ * ```
117
+ */
118
+ export function getAllResponsiveTokens() {
119
+ return Object.values(RESPONSIVE_TOKENS_MAP);
120
+ }
121
+ /**
122
+ * Get breakpoint value by breakpoint name
123
+ *
124
+ * @param breakpoint - Breakpoint name ('sm', 'md', 'lg', 'xl', '2xl')
125
+ * @returns Pixel value for the breakpoint
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const mdWidth = getBreakpointValue('md'); // 768
130
+ * const lgWidth = getBreakpointValue('lg'); // 1024
131
+ * ```
132
+ */
133
+ export function getBreakpointValue(breakpoint) {
134
+ return BREAKPOINT_VALUES[breakpoint];
135
+ }
136
+ /**
137
+ * Generate CSS media query string for a breakpoint
138
+ *
139
+ * @param breakpoint - Breakpoint name ('sm', 'md', 'lg', 'xl', '2xl')
140
+ * @returns CSS media query string
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * const query = getBreakpointMediaQuery('md');
145
+ * // Returns: "@media (min-width: 768px)"
146
+ * ```
147
+ */
148
+ export function getBreakpointMediaQuery(breakpoint) {
149
+ return `@media (min-width: ${BREAKPOINT_VALUES[breakpoint]}px)`;
150
+ }
151
+ /**
152
+ * Sort breakpoints by size (ascending order)
153
+ *
154
+ * @param breakpoints - Array of ResponsiveTokens to sort
155
+ * @returns Sorted array (smallest to largest)
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * const unsorted = [BREAKPOINT_XL, BREAKPOINT_SM, BREAKPOINT_MD];
160
+ * const sorted = sortBreakpointsBySize(unsorted);
161
+ * // Returns: [BREAKPOINT_SM, BREAKPOINT_MD, BREAKPOINT_XL]
162
+ * ```
163
+ */
164
+ export function sortBreakpointsBySize(breakpoints) {
165
+ return [...breakpoints].sort((a, b) => a.minWidth - b.minWidth);
166
+ }
167
+ //# sourceMappingURL=responsive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive.js","sourceRoot":"","sources":["../../src/layout-tokens/responsive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,+EAA+E;AAC/E,uDAAuD;AACvD,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,gDAAgD;CAC9D,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,GAAG;IACb,WAAW,EAAE,wCAAwC;CACtD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,yCAAyC;CACvD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,EAAE,EAAE,eAAe;IACnB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,qDAAqD;CACnE,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,EAAE,EAAE,gBAAgB;IACpB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,yDAAyD;CACvE,CAAC;AAEF,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,qBAAqB,GAAoC;IAC7D,eAAe,EAAE,aAAa;IAC9B,eAAe,EAAE,aAAa;IAC9B,eAAe,EAAE,aAAa;IAC9B,eAAe,EAAE,aAAa;IAC9B,gBAAgB,EAAE,cAAc;CACjC,CAAC;AAEF,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA6C;IAC9E,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAA6C;IACnF,OAAO,sBAAsB,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,WAA8B;IAClE,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @tekton-ui/core - SafeArea Utilities
3
+ * SafeArea calculation and application utilities for mobile platforms
4
+ * [SPEC-LAYOUT-004] [MILESTONE-3]
5
+ */
6
+ import type { SafeAreaConfig } from './types.js';
7
+ /**
8
+ * Safe Area Insets
9
+ * Represents the safe area insets for all four edges in points
10
+ */
11
+ export interface SafeAreaInsets {
12
+ /** Top inset in points (notch, Dynamic Island, status bar) */
13
+ top: number;
14
+ /** Bottom inset in points (home indicator, gesture navigation) */
15
+ bottom: number;
16
+ /** Left inset in points (for landscape orientation) */
17
+ left: number;
18
+ /** Right inset in points (for landscape orientation) */
19
+ right: number;
20
+ }
21
+ /**
22
+ * Device Type Classification
23
+ * Used to determine appropriate SafeArea defaults
24
+ */
25
+ export type DeviceType = 'ios-dynamic-island' | 'ios-notch' | 'ios-standard' | 'android-gesture' | 'android-button' | 'unknown';
26
+ /**
27
+ * Detect device type for SafeArea defaults
28
+ *
29
+ * Uses screen dimensions and platform APIs to determine device classification.
30
+ * Detection strategy:
31
+ * - iOS: Checks screen dimensions and model via window.navigator
32
+ * - Android: Checks navigation mode via WindowInsets API
33
+ * - Web: Returns 'unknown'
34
+ *
35
+ * @returns DeviceType enum value
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const device = detectDeviceType();
40
+ * if (device === 'ios-dynamic-island') {
41
+ * console.log('Using 59pt top safe area');
42
+ * }
43
+ * ```
44
+ */
45
+ export declare function detectDeviceType(): DeviceType;
46
+ /**
47
+ * Get safe area top inset based on device type
48
+ *
49
+ * @returns Top inset in points
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const topInset = getSafeAreaTop();
54
+ * // Returns 59 on iPhone 14 Pro (Dynamic Island)
55
+ * // Returns 44 on iPhone 13 (Notch)
56
+ * // Returns 20 on iPhone SE (Standard)
57
+ * ```
58
+ */
59
+ export declare function getSafeAreaTop(): number;
60
+ /**
61
+ * Get safe area bottom inset based on device type
62
+ *
63
+ * @returns Bottom inset in points
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const bottomInset = getSafeAreaBottom();
68
+ * // Returns 34 on iPhone with Face ID (home indicator)
69
+ * // Returns 24 on Android with gesture navigation
70
+ * // Returns 48 on Android with 3-button navigation
71
+ * ```
72
+ */
73
+ export declare function getSafeAreaBottom(): number;
74
+ /**
75
+ * Get safe area insets for the current device
76
+ *
77
+ * Detection strategy:
78
+ * 1. In browser/web context: Returns zero insets
79
+ * 2. In React Native with react-native-safe-area-context: Uses library
80
+ * 3. Fallback: Uses detectDeviceType() and applies defaults
81
+ *
82
+ * @returns SafeAreaInsets object with top, bottom, left, right values in points
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const insets = getSafeAreaInsets();
87
+ * console.log(insets.top); // 44 on iPhone 14, 59 on iPhone 14 Pro
88
+ * console.log(insets.bottom); // 34 on Face ID iPhones, 24 on Android gesture
89
+ * ```
90
+ */
91
+ export declare function getSafeAreaInsets(): SafeAreaInsets;
92
+ /**
93
+ * Apply safe area configuration to a layout
94
+ *
95
+ * Modifies layout padding based on safe area configuration and edges.
96
+ * Respects the edges configuration to determine which sides receive safe area padding.
97
+ *
98
+ * @param layout - Layout object to modify (must have padding property)
99
+ * @param config - SafeArea configuration from ShellToken
100
+ * @returns Modified layout with safe area applied
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const layout = { padding: { top: 0, bottom: 0, left: 0, right: 0 } };
105
+ * const safeLayout = applySafeAreaToLayout(layout, shellConfig.safeArea);
106
+ * // Result: { padding: { top: 44, bottom: 34, left: 0, right: 0 } }
107
+ * ```
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * // Only apply safe area to top edge
112
+ * const config = {
113
+ * edges: { top: true, bottom: false, horizontal: false },
114
+ * // ... other config
115
+ * };
116
+ * const layout = applySafeAreaToLayout(baseLayout, config);
117
+ * // Result: Only top padding is modified
118
+ * ```
119
+ */
120
+ export declare function applySafeAreaToLayout<T extends {
121
+ padding?: {
122
+ top?: number;
123
+ bottom?: number;
124
+ left?: number;
125
+ right?: number;
126
+ };
127
+ [key: string]: unknown;
128
+ }>(layout: T, config: SafeAreaConfig): T;
129
+ /**
130
+ * React Native hook to get safe area insets
131
+ *
132
+ * This is a placeholder implementation that wraps getSafeAreaInsets().
133
+ * In a real React Native environment, this should use the
134
+ * react-native-safe-area-context library's useSafeAreaInsets() hook.
135
+ *
136
+ * @returns SafeAreaInsets from react-native-safe-area-context or fallback
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * function MyComponent() {
141
+ * const insets = useSafeArea();
142
+ * return <View style={{ paddingTop: insets.top }} />;
143
+ * }
144
+ * ```
145
+ *
146
+ * @see https://github.com/th3rdwave/react-native-safe-area-context
147
+ *
148
+ * @remarks
149
+ * For production use, replace this with:
150
+ * ```typescript
151
+ * import { useSafeAreaInsets } from 'react-native-safe-area-context';
152
+ * export const useSafeArea = useSafeAreaInsets;
153
+ * ```
154
+ */
155
+ export declare function useSafeArea(): SafeAreaInsets;
156
+ //# sourceMappingURL=safe-area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-area.d.ts","sourceRoot":"","sources":["../../src/layout-tokens/safe-area.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;IAEZ,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IAEf,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAClB,oBAAoB,GACpB,WAAW,GACX,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,SAAS,CAAC;AAMd;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAiB7C;AAqGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAYvC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAa1C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAwBlD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,CACnC,CAAC,SAAS;IACR,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,EACD,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,CAAC,CAuCtC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,IAAI,cAAc,CAI5C"}