@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,204 @@
1
+ /**
2
+ * @tekton-ui/core - Icon Library Module
3
+ * Load and manage icon library definitions from .moai/icon-libraries/generated/
4
+ * [SPEC-ICON-001]
5
+ */
6
+ import { readFileSync, readdirSync, existsSync } from 'node:fs';
7
+ import { join, resolve } from 'node:path';
8
+ // ============================================================================
9
+ // Icon Library Directory Resolution
10
+ // ============================================================================
11
+ /**
12
+ * Find project root by looking for .moai directory
13
+ */
14
+ function findProjectRoot(startDir) {
15
+ let currentDir = startDir;
16
+ const root = '/';
17
+ while (currentDir !== root) {
18
+ if (existsSync(join(currentDir, '.moai'))) {
19
+ return currentDir;
20
+ }
21
+ currentDir = resolve(currentDir, '..');
22
+ }
23
+ return null;
24
+ }
25
+ /**
26
+ * Get icon libraries directory path
27
+ * Returns .moai/icon-libraries/generated/ from project root
28
+ */
29
+ function getIconLibrariesDir() {
30
+ const projectRoot = findProjectRoot(process.cwd());
31
+ if (!projectRoot) {
32
+ return null;
33
+ }
34
+ return join(projectRoot, '.moai', 'icon-libraries', 'generated');
35
+ }
36
+ // ============================================================================
37
+ // Icon Library Loading Functions
38
+ // ============================================================================
39
+ /**
40
+ * Load icon library from .moai/icon-libraries/generated/ directory
41
+ * @param libraryId - Icon library identifier (kebab-case, e.g., "lucide", "heroicons")
42
+ * @returns Loaded icon library or null if not found
43
+ */
44
+ export function loadIconLibrary(libraryId) {
45
+ // Security: Prevent path traversal attacks
46
+ if (!libraryId || !/^[a-z0-9-]+$/.test(libraryId)) {
47
+ return null;
48
+ }
49
+ const iconLibrariesDir = getIconLibrariesDir();
50
+ if (!iconLibrariesDir || !existsSync(iconLibrariesDir)) {
51
+ return null;
52
+ }
53
+ const libraryPath = join(iconLibrariesDir, `${libraryId}.json`);
54
+ if (!existsSync(libraryPath)) {
55
+ return null;
56
+ }
57
+ try {
58
+ const content = readFileSync(libraryPath, 'utf-8');
59
+ const library = JSON.parse(content);
60
+ // Basic validation
61
+ if (!library.id || !library.name || !library.frameworks) {
62
+ console.warn(`Icon library ${libraryId} has invalid structure`);
63
+ return null;
64
+ }
65
+ return library;
66
+ }
67
+ catch (error) {
68
+ console.error(`Failed to load icon library ${libraryId}:`, error);
69
+ return null;
70
+ }
71
+ }
72
+ /**
73
+ * List all available icon libraries from .moai/icon-libraries/generated/
74
+ * @returns Array of icon library metadata
75
+ */
76
+ export function listIconLibraries() {
77
+ const iconLibrariesDir = getIconLibrariesDir();
78
+ if (!iconLibrariesDir || !existsSync(iconLibrariesDir)) {
79
+ return [];
80
+ }
81
+ const files = readdirSync(iconLibrariesDir).filter(f => f.endsWith('.json'));
82
+ const libraries = [];
83
+ for (const file of files) {
84
+ const libraryId = file.replace('.json', '');
85
+ const library = loadIconLibrary(libraryId);
86
+ if (library) {
87
+ libraries.push({
88
+ id: library.id,
89
+ name: library.name,
90
+ description: library.description,
91
+ version: library.version,
92
+ license: library.license,
93
+ totalIcons: library.totalIcons,
94
+ categories: library.categories,
95
+ });
96
+ }
97
+ }
98
+ return libraries;
99
+ }
100
+ /**
101
+ * Check if an icon library exists
102
+ * @param libraryId - Icon library identifier
103
+ * @returns true if icon library exists
104
+ */
105
+ export function iconLibraryExists(libraryId) {
106
+ if (!libraryId || !/^[a-z0-9-]+$/.test(libraryId)) {
107
+ return false;
108
+ }
109
+ const iconLibrariesDir = getIconLibrariesDir();
110
+ if (!iconLibrariesDir) {
111
+ return false;
112
+ }
113
+ return existsSync(join(iconLibrariesDir, `${libraryId}.json`));
114
+ }
115
+ // ============================================================================
116
+ // Icon Lookup Utilities
117
+ // ============================================================================
118
+ /**
119
+ * Find an icon by name or alias in a library
120
+ * @param library - Icon library to search
121
+ * @param iconNameOrAlias - Icon name or alias to find
122
+ * @returns Icon name if found, null otherwise
123
+ */
124
+ export function findIcon(library, iconNameOrAlias) {
125
+ const normalizedSearch = iconNameOrAlias.toLowerCase();
126
+ // Direct match
127
+ if (library.icons[normalizedSearch]) {
128
+ return normalizedSearch;
129
+ }
130
+ // Search by alias
131
+ for (const [iconName, icon] of Object.entries(library.icons)) {
132
+ if (icon.aliases.some(alias => alias.toLowerCase() === normalizedSearch)) {
133
+ return iconName;
134
+ }
135
+ }
136
+ return null;
137
+ }
138
+ /**
139
+ * Get icons by category
140
+ * @param library - Icon library to search
141
+ * @param category - Category to filter by
142
+ * @returns Array of icon names in the category
143
+ */
144
+ export function getIconsByCategory(library, category) {
145
+ return Object.entries(library.icons)
146
+ .filter(([, icon]) => icon.category === category)
147
+ .map(([name]) => name);
148
+ }
149
+ /**
150
+ * Search icons by tag
151
+ * @param library - Icon library to search
152
+ * @param tag - Tag to search for
153
+ * @returns Array of icon names matching the tag
154
+ */
155
+ export function searchIconsByTag(library, tag) {
156
+ const normalizedTag = tag.toLowerCase();
157
+ return Object.entries(library.icons)
158
+ .filter(([, icon]) => icon.tags.some(t => t.toLowerCase().includes(normalizedTag)))
159
+ .map(([name]) => name);
160
+ }
161
+ // ============================================================================
162
+ // Import Statement Generation
163
+ // ============================================================================
164
+ /**
165
+ * Generate import statement for icons
166
+ * @param library - Icon library
167
+ * @param iconNames - Array of icon names to import
168
+ * @param framework - Target framework ('react' | 'vue')
169
+ * @returns Import statement string
170
+ */
171
+ export function generateImportStatement(library, iconNames, framework) {
172
+ const config = library.frameworks[framework];
173
+ if (!config) {
174
+ return '';
175
+ }
176
+ // Convert icon names to component names
177
+ const componentNames = iconNames.map(name => {
178
+ const pascalName = name
179
+ .split('-')
180
+ .map(part => part.charAt(0).toUpperCase() + part.slice(1))
181
+ .join('');
182
+ return config.componentPattern.replace('{PascalName}', pascalName);
183
+ });
184
+ return config.importStatement.replace('{icons}', componentNames.join(', '));
185
+ }
186
+ /**
187
+ * Get the package name for an icon library
188
+ * @param library - Icon library
189
+ * @param framework - Target framework
190
+ * @param variant - Optional variant (for heroicons: 'outline' | 'solid' | 'mini')
191
+ * @returns Package name string
192
+ */
193
+ export function getPackageName(library, framework, variant) {
194
+ const config = library.frameworks[framework];
195
+ if (!config) {
196
+ return '';
197
+ }
198
+ // If variant specified and available, use it
199
+ if (variant && config.variants && config.variants[variant]) {
200
+ return config.variants[variant];
201
+ }
202
+ return config.packageName;
203
+ }
204
+ //# sourceMappingURL=icon-library.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-library.js","sourceRoot":"","sources":["../src/icon-library.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @tekton-ui/core
3
+ * Minimal design system pipeline: Theme -> Blueprint -> Screen
4
+ *
5
+ * 80% LOC reduction from original codebase
6
+ * No external dependencies (Babel, Prettier removed)
7
+ */
8
+ export type { OKLCHColor, Blueprint, ComponentNode, LayoutType, RenderResult, RenderOptions, ThemeLegacy, ThemeMetaLegacy, } from './types.js';
9
+ export { loadTheme, listThemes, themeExists, oklchToCSS, loadThemeV2, listThemesV2, themeExistsV2, oklchToCSSV2, resolveTokenRef, type Theme, type ThemeMeta, type OKLCHColor as OKLCHColorV2, type ThemeV2, type ThemeMetaV2, type DesignDNA, type AtomicTokensV2, type SemanticTokensV2, type ComponentTokensV2, type StateLayerTokens, type MotionTokens, type ElevationTokens, type BorderTokens, type TypographyTokens, type DensityTokens, type EffectsTokens, type AIContext, type DarkModeOverrides, isBuiltinTheme, generateCSSVariables, BUILTIN_THEMES, type BuiltinThemeId, } from './theme.js';
10
+ export { createBlueprint, validateBlueprint, isValidComponent, getLayoutSlots, LAYOUTS, COMPONENT_CATALOG, type LayoutSlot, type ValidationResult, type CreateBlueprintInput, } from './blueprint.js';
11
+ export { render, renderWithTheme, renderSingleComponent, renderComponents } from './render.js';
12
+ export { resolveToken, resolveWithFallback, type TokenReference } from './token-resolver.js';
13
+ export { validateTheme, ThemeWithTokensSchema, type ValidationResult as TokenValidationResult, } from './token-validation.js';
14
+ export { generateThemeCSS } from './css-generator.js';
15
+ export type { AtomicTokens, SemanticTokens, ComponentTokens, ThemeWithTokens } from './tokens.js';
16
+ export type { PropDefinition, ComponentSchema, A11yRequirements, TokenBindings, } from './component-schemas.js';
17
+ export { PRIMITIVE_COMPONENTS, COMPOSED_COMPONENTS, ALL_COMPONENTS, getComponentSchema, } from './component-schemas.js';
18
+ export { validateComponentSchema, validateAllSchemas, validateProp, validateA11y, validateTokenBindings, getValidationSummary, assertValidSchema, assertAllSchemasValid, PropDefinitionSchema, A11yRequirementsSchema, TokenBindingsSchema, ComponentSchemaZod, type ValidationResult as SchemaValidationResult, } from './schema-validation.js';
19
+ export type { ResponsiveToken, ResponsiveConfig, ShellRegion, ShellRegionPosition, ShellConfig, ShellToken, SectionSlot, PagePurpose, PageConfig, PageLayoutToken, SectionCSS, SectionType, SectionPatternToken, MobileShellToken, SafeAreaConfig, SafeAreaDefaults, SafeAreaEdges, StatusBarConfig, NavigationBarConfig, SystemUIConfig, KeyboardConfig, KeyboardAnimationConfig, BottomTabConfig, BottomTabItemConfig, TouchTargetConfig, HitSlopConfig, } from './layout-tokens/types.js';
20
+ export { SHELL_WEB_APP, SHELL_WEB_MARKETING, SHELL_WEB_AUTH, SHELL_WEB_DASHBOARD, SHELL_WEB_ADMIN, SHELL_WEB_MINIMAL, getShellToken, getAllShellTokens, getShellsByPlatform, } from './layout-tokens/shells.js';
21
+ export { PAGE_JOB, PAGE_RESOURCE, PAGE_DASHBOARD, PAGE_SETTINGS, PAGE_DETAIL, PAGE_EMPTY, PAGE_WIZARD, PAGE_ONBOARDING, getPageLayoutToken, getAllPageLayoutTokens, getPagesByPurpose, getPageSections, } from './layout-tokens/pages.js';
22
+ export { SECTION_GRID_2, SECTION_GRID_3, SECTION_GRID_4, SECTION_GRID_AUTO, SECTION_SPLIT_30_70, SECTION_SPLIT_50_50, SECTION_SPLIT_70_30, SECTION_STACK_START, SECTION_STACK_CENTER, SECTION_STACK_END, SECTION_SIDEBAR_LEFT, SECTION_SIDEBAR_RIGHT, SECTION_CONTAINER, getSectionPatternToken, getAllSectionPatternTokens, getSectionsByType, getSectionCSS, } from './layout-tokens/sections.js';
23
+ export { BREAKPOINT_SM, BREAKPOINT_MD, BREAKPOINT_LG, BREAKPOINT_XL, BREAKPOINT_2XL, BREAKPOINT_VALUES, getResponsiveToken, getAllResponsiveTokens, getBreakpointValue, getBreakpointMediaQuery, sortBreakpointsBySize, } from './layout-tokens/responsive.js';
24
+ export { SHELL_MOBILE_APP, SHELL_MOBILE_FULLSCREEN, SHELL_MOBILE_MODAL, SHELL_MOBILE_TAB, SHELL_MOBILE_DRAWER, SHELL_MOBILE_DETAIL, getMobileShellToken, getAllMobileShellTokens, getMobileShellsByOS, } from './layout-tokens/mobile-shells.js';
25
+ export type { SafeAreaInsets, DeviceType } from './layout-tokens/safe-area.js';
26
+ export { detectDeviceType, getSafeAreaTop, getSafeAreaBottom, getSafeAreaInsets, applySafeAreaToLayout, useSafeArea, } from './layout-tokens/safe-area.js';
27
+ export type { KeyboardState, KeyboardEventType, KeyboardEventListener, KeyboardAwareLayout, } from './layout-tokens/keyboard.js';
28
+ export { getKeyboardHeight, applyKeyboardAvoidance, useKeyboardAvoidance, addKeyboardListener, getKeyboardAnimationDuration, getKeyboardAwareBottomSpacing, getDefaultKeyboardAnimation, isKeyboardVisible, getKeyboardProgressMode, } from './layout-tokens/keyboard.js';
29
+ export type { AccessibilityGuideline, TouchTargetElement } from './layout-tokens/touch-target.js';
30
+ export { validateTouchTarget, applyMinTouchTarget, getHitSlop, getMinTouchTargetForScale, isAccessibleTouchTarget, warnIfBelowMinimum, } from './layout-tokens/touch-target.js';
31
+ export { validateShellToken, validatePageLayoutToken, validateSectionPatternToken, validateTokenReference, validateMobileShellToken, validateLLMShellInput, validateLLMPageInput, validateLLMSectionInput, detectCircularRefs, validateLayoutHierarchy, safeValidate, ShellTokenSchema, PageLayoutTokenSchema, SectionPatternTokenSchema, TokenReferenceSchema, ShellRegionSchema, ShellRegionPositionSchema, ShellConfigSchema, PagePurposeSchema, SectionSlotSchema, PageConfigSchema, SectionTypeSchema, SectionCSSSchema, ResponsiveTokenSchema, LLMShellInputSchema, LLMPageInputSchema, LLMSectionInputSchema, MobileShellTokenSchema, SafeAreaConfigSchema, SafeAreaDefaultsSchema, SafeAreaEdgesSchema, StatusBarConfigSchema, NavigationBarConfigSchema, SystemUIConfigSchema, KeyboardConfigSchema, KeyboardAnimationConfigSchema, BottomTabConfigSchema, BottomTabItemConfigSchema, TouchTargetConfigSchema, HitSlopConfigSchema, type ValidationResult as LayoutValidationResult, type LayoutTokenCollection, } from './layout-validation.js';
32
+ export { resolveLayout, clearLayoutCache, mergeResponsiveConfig, type ResolvedLayout, } from './layout-resolver.js';
33
+ export { generateLayoutCSS, generateAllLayoutCSS, generateCSSVariables as generateLayoutCSSVariables, generateShellClasses, generatePageClasses, generateSectionClasses, generateMediaQueries, formatCSS, validateCSS, type LayoutToken, type CSSGenerationOptions, } from './layout-css-generator.js';
34
+ export { type ComponentType, type ComponentDefinition, type ResponsiveOverrides, type SectionDefinition, type ScreenMeta, type ScreenDefinition, type ValidationContext, isComponentDefinition, isScreenDefinition, ResponsiveOverridesSchema, ComponentDefinitionSchema, SectionDefinitionSchema, ScreenMetaSchema, ScreenDefinitionSchema, validateComponent, validateSection, validateScreenDefinition, assertValidScreenDefinition, validateScreenDefinitions, isValidShellToken, isValidPageToken, isValidSectionToken, getUsedComponentTypes, type TokenBindingContext, type ResolvedTokenBindings, resolveBinding, resolveBindings, substituteTemplateVariables, tokenRefToCSSVar, isValidTokenBinding, extractTemplateVariables, clearBindingCache, type LayoutContext, resolveShell, resolvePage, resolveSection, parseLayoutType, type ResolvedComponent, type ComponentContext, resolveComponent, resolveChildren, isValidComponentDefinition, extractComponentTypes, clearComponentCache, type ResolvedScreen, type ResolvedSection, type ComponentTree, type ComponentTreeNode, resolveScreen, isValidResolvedScreen, getScreenStats, clearScreenCache, type CSSFramework, type OutputFormat, type ComponentStyle, type GeneratorOptions, type GeneratorResult, type GeneratedFile, type CSSVariableMap, type TailwindClassMap, type StyledThemeConfig, type ComponentGenerationContext, defaultGeneratorOptions, camelCase, pascalCase, kebabCase, formatCode, indent, escapeJSX, needsJSXExpression, propValueToJSX, generateImports, cssVarToToken, extractPropertyFromCSSVar, isValidIdentifier, sanitizeIdentifier, type CSSInJSFormat, convertCSSVarsToTheme, generateComponentStyles, generateStyledComponents, tokenToTailwindClass, generateComponentClasses, generateTailwindConfig, generateTailwindClasses, generateComponentInterface, generateComponentJSX, generateComponentTree, generateReactComponent, } from './screen-generation/index.js';
35
+ export { loadIconLibrary, listIconLibraries, iconLibraryExists, findIcon, getIconsByCategory, searchIconsByTag, generateImportStatement, getPackageName, type IconLibrary, type IconLibraryMeta, type IconSizeMapping, type IconFrameworkConfig, type IconDefinition, } from './icon-library.js';
36
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @tekton-ui/core
3
+ * Minimal design system pipeline: Theme -> Blueprint -> Screen
4
+ *
5
+ * 80% LOC reduction from original codebase
6
+ * No external dependencies (Babel, Prettier removed)
7
+ */
8
+ // Theme v2.1 (Primary API)
9
+ export {
10
+ // Functions
11
+ loadTheme, listThemes, themeExists, oklchToCSS, loadThemeV2, listThemesV2, themeExistsV2, oklchToCSSV2, resolveTokenRef,
12
+ // Deprecated (kept for backward compatibility)
13
+ isBuiltinTheme, generateCSSVariables, BUILTIN_THEMES, } from './theme.js';
14
+ // Blueprint
15
+ export { createBlueprint, validateBlueprint, isValidComponent, getLayoutSlots, LAYOUTS, COMPONENT_CATALOG, } from './blueprint.js';
16
+ // Render
17
+ export { render, renderWithTheme, renderSingleComponent, renderComponents } from './render.js';
18
+ // Token System (SPEC-COMPONENT-001-A) - Enabled for SPEC-COMPONENT-001-D
19
+ export { resolveToken, resolveWithFallback } from './token-resolver.js';
20
+ export { validateTheme, ThemeWithTokensSchema, } from './token-validation.js';
21
+ export { generateThemeCSS } from './css-generator.js';
22
+ export { PRIMITIVE_COMPONENTS, COMPOSED_COMPONENTS, ALL_COMPONENTS, getComponentSchema, } from './component-schemas.js';
23
+ export { validateComponentSchema, validateAllSchemas, validateProp, validateA11y, validateTokenBindings, getValidationSummary, assertValidSchema, assertAllSchemasValid, PropDefinitionSchema, A11yRequirementsSchema, TokenBindingsSchema, ComponentSchemaZod, } from './schema-validation.js';
24
+ // Shell Token Definitions (SPEC-LAYOUT-001 - PHASE-3)
25
+ export { SHELL_WEB_APP, SHELL_WEB_MARKETING, SHELL_WEB_AUTH, SHELL_WEB_DASHBOARD, SHELL_WEB_ADMIN, SHELL_WEB_MINIMAL, getShellToken, getAllShellTokens, getShellsByPlatform, } from './layout-tokens/shells.js';
26
+ // Page Layout Token Definitions (SPEC-LAYOUT-001 - PHASE-4)
27
+ export { PAGE_JOB, PAGE_RESOURCE, PAGE_DASHBOARD, PAGE_SETTINGS, PAGE_DETAIL, PAGE_EMPTY, PAGE_WIZARD, PAGE_ONBOARDING, getPageLayoutToken, getAllPageLayoutTokens, getPagesByPurpose, getPageSections, } from './layout-tokens/pages.js';
28
+ // Section Pattern Token Definitions (SPEC-LAYOUT-001 - PHASE-5)
29
+ export { SECTION_GRID_2, SECTION_GRID_3, SECTION_GRID_4, SECTION_GRID_AUTO, SECTION_SPLIT_30_70, SECTION_SPLIT_50_50, SECTION_SPLIT_70_30, SECTION_STACK_START, SECTION_STACK_CENTER, SECTION_STACK_END, SECTION_SIDEBAR_LEFT, SECTION_SIDEBAR_RIGHT, SECTION_CONTAINER, getSectionPatternToken, getAllSectionPatternTokens, getSectionsByType, getSectionCSS, } from './layout-tokens/sections.js';
30
+ // Responsive Token Definitions (SPEC-LAYOUT-001 - PHASE-6)
31
+ export { BREAKPOINT_SM, BREAKPOINT_MD, BREAKPOINT_LG, BREAKPOINT_XL, BREAKPOINT_2XL, BREAKPOINT_VALUES, getResponsiveToken, getAllResponsiveTokens, getBreakpointValue, getBreakpointMediaQuery, sortBreakpointsBySize, } from './layout-tokens/responsive.js';
32
+ // Mobile Shell Token Definitions (SPEC-LAYOUT-004 - MILESTONE-2)
33
+ export { SHELL_MOBILE_APP, SHELL_MOBILE_FULLSCREEN, SHELL_MOBILE_MODAL, SHELL_MOBILE_TAB, SHELL_MOBILE_DRAWER, SHELL_MOBILE_DETAIL, getMobileShellToken, getAllMobileShellTokens, getMobileShellsByOS, } from './layout-tokens/mobile-shells.js';
34
+ export { detectDeviceType, getSafeAreaTop, getSafeAreaBottom, getSafeAreaInsets, applySafeAreaToLayout, useSafeArea, } from './layout-tokens/safe-area.js';
35
+ export { getKeyboardHeight, applyKeyboardAvoidance, useKeyboardAvoidance, addKeyboardListener, getKeyboardAnimationDuration, getKeyboardAwareBottomSpacing, getDefaultKeyboardAnimation, isKeyboardVisible, getKeyboardProgressMode, } from './layout-tokens/keyboard.js';
36
+ export { validateTouchTarget, applyMinTouchTarget, getHitSlop, getMinTouchTargetForScale, isAccessibleTouchTarget, warnIfBelowMinimum, } from './layout-tokens/touch-target.js';
37
+ // Layout Token Validation (SPEC-LAYOUT-001 - PHASE-2 & SPEC-LAYOUT-004 - MILESTONE-6)
38
+ export { validateShellToken, validatePageLayoutToken, validateSectionPatternToken, validateTokenReference, validateMobileShellToken, validateLLMShellInput, validateLLMPageInput, validateLLMSectionInput, detectCircularRefs, validateLayoutHierarchy, safeValidate, ShellTokenSchema, PageLayoutTokenSchema, SectionPatternTokenSchema, TokenReferenceSchema, ShellRegionSchema, ShellRegionPositionSchema, ShellConfigSchema, PagePurposeSchema, SectionSlotSchema, PageConfigSchema, SectionTypeSchema, SectionCSSSchema, ResponsiveTokenSchema, LLMShellInputSchema, LLMPageInputSchema, LLMSectionInputSchema,
39
+ // Mobile Shell Validation Schemas (SPEC-LAYOUT-004 - MILESTONE-6)
40
+ MobileShellTokenSchema, SafeAreaConfigSchema, SafeAreaDefaultsSchema, SafeAreaEdgesSchema, StatusBarConfigSchema, NavigationBarConfigSchema, SystemUIConfigSchema, KeyboardConfigSchema, KeyboardAnimationConfigSchema, BottomTabConfigSchema, BottomTabItemConfigSchema, TouchTargetConfigSchema, HitSlopConfigSchema, } from './layout-validation.js';
41
+ // Layout Resolver (SPEC-LAYOUT-001 - PHASE-7)
42
+ export { resolveLayout, clearLayoutCache, mergeResponsiveConfig, } from './layout-resolver.js';
43
+ // Layout CSS Generator (SPEC-LAYOUT-001 - PHASE-8)
44
+ export { generateLayoutCSS, generateAllLayoutCSS, generateCSSVariables as generateLayoutCSSVariables, generateShellClasses, generatePageClasses, generateSectionClasses, generateMediaQueries, formatCSS, validateCSS, } from './layout-css-generator.js';
45
+ // Screen Generation (SPEC-LAYOUT-002 - PHASE-1 to PHASE-4)
46
+ export { isComponentDefinition, isScreenDefinition,
47
+ // Validation
48
+ ResponsiveOverridesSchema, ComponentDefinitionSchema, SectionDefinitionSchema, ScreenMetaSchema, ScreenDefinitionSchema, validateComponent, validateSection, validateScreenDefinition, assertValidScreenDefinition, validateScreenDefinitions, isValidShellToken, isValidPageToken, isValidSectionToken, getUsedComponentTypes, resolveBinding, resolveBindings, substituteTemplateVariables, tokenRefToCSSVar, isValidTokenBinding, extractTemplateVariables, clearBindingCache, resolveShell, resolvePage, resolveSection, parseLayoutType, resolveComponent, resolveChildren, isValidComponentDefinition, extractComponentTypes, clearComponentCache, resolveScreen, isValidResolvedScreen, getScreenStats, clearScreenCache, defaultGeneratorOptions, camelCase, pascalCase, kebabCase, formatCode, indent, escapeJSX, needsJSXExpression, propValueToJSX, generateImports, cssVarToToken, extractPropertyFromCSSVar, isValidIdentifier, sanitizeIdentifier, convertCSSVarsToTheme, generateComponentStyles, generateStyledComponents, tokenToTailwindClass, generateComponentClasses, generateTailwindConfig, generateTailwindClasses, generateComponentInterface, generateComponentJSX, generateComponentTree, generateReactComponent, } from './screen-generation/index.js';
49
+ // Icon Library (SPEC-ICON-001)
50
+ export { loadIconLibrary, listIconLibraries, iconLibraryExists, findIcon, getIconsByCategory, searchIconsByTag, generateImportStatement, getPackageName, } from './icon-library.js';
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * @tekton-ui/core - Layout CSS Generator
3
+ * Generates CSS from layout tokens (shells, pages, sections)
4
+ * [SPEC-LAYOUT-001] [PHASE-8]
5
+ */
6
+ import type { ShellToken, PageLayoutToken, SectionPatternToken, ContainerQueryConfig, OrientationConfig, FullResponsiveConfig, AdvancedSectionPatternToken } from './layout-tokens/types.js';
7
+ /**
8
+ * Layout token union type - can be shell, page, section, or advanced section
9
+ */
10
+ export type LayoutToken = ShellToken | PageLayoutToken | SectionPatternToken | AdvancedSectionPatternToken;
11
+ /**
12
+ * CSS generation options
13
+ */
14
+ export interface CSSGenerationOptions {
15
+ /** Include CSS custom properties in :root */
16
+ includeVariables?: boolean;
17
+ /** Include utility classes (.shell-*, .page-*, .section-*) */
18
+ includeClasses?: boolean;
19
+ /** Include responsive media queries */
20
+ includeMediaQueries?: boolean;
21
+ /** Indentation string for formatting */
22
+ indent?: string;
23
+ }
24
+ /**
25
+ * Validate CSS syntax (balanced braces)
26
+ *
27
+ * @param css - CSS string to validate
28
+ * @returns true if valid, false otherwise
29
+ */
30
+ export declare function validateCSS(css: string): boolean;
31
+ /**
32
+ * Format CSS with proper indentation
33
+ *
34
+ * @param css - CSS string to format
35
+ * @param indent - Indentation string (default: 2 spaces)
36
+ * @returns Formatted CSS
37
+ */
38
+ export declare function formatCSS(css: string, indent?: string): string;
39
+ /**
40
+ * Generate CSS custom properties in :root from layout tokens
41
+ *
42
+ * @param tokens - Array of layout tokens
43
+ * @returns CSS :root block with custom properties
44
+ */
45
+ export declare function generateCSSVariables(tokens: LayoutToken[]): string;
46
+ /**
47
+ * Generate utility classes for shell tokens
48
+ *
49
+ * @param shells - Array of shell tokens
50
+ * @returns CSS classes for shells
51
+ */
52
+ export declare function generateShellClasses(shells: ShellToken[]): string;
53
+ /**
54
+ * Generate utility classes for page tokens
55
+ *
56
+ * @param pages - Array of page layout tokens
57
+ * @returns CSS classes for pages
58
+ */
59
+ export declare function generatePageClasses(pages: PageLayoutToken[]): string;
60
+ /**
61
+ * Generate utility classes for section pattern tokens
62
+ *
63
+ * @param sections - Array of section pattern tokens
64
+ * @returns CSS classes for sections
65
+ */
66
+ export declare function generateSectionClasses(sections: SectionPatternToken[]): string;
67
+ /**
68
+ * Generate utility classes for advanced section pattern tokens
69
+ * Handles masonry, sticky, and collapsible patterns
70
+ *
71
+ * @param sections - Array of advanced section pattern tokens
72
+ * @returns CSS classes for advanced sections
73
+ */
74
+ export declare function generateAdvancedSectionClasses(sections: AdvancedSectionPatternToken[]): string;
75
+ /**
76
+ * Generate state classes for interactive advanced section patterns
77
+ * Handles stuck states for sticky patterns and collapsed states for collapsible patterns
78
+ *
79
+ * @param sections - Array of advanced section pattern tokens
80
+ * @returns CSS state classes for advanced sections
81
+ */
82
+ export declare function generateAdvancedSectionStateClasses(sections: AdvancedSectionPatternToken[]): string;
83
+ /**
84
+ * Generate responsive media queries for all breakpoints
85
+ *
86
+ * @param tokens - Array of layout tokens
87
+ * @returns CSS media queries
88
+ */
89
+ export declare function generateMediaQueries(tokens: LayoutToken[]): string;
90
+ /**
91
+ * Generate complete CSS from layout tokens
92
+ *
93
+ * @param tokens - Array of layout tokens (shells, pages, sections)
94
+ * @param options - CSS generation options
95
+ * @returns Complete CSS string with variables, utilities, and media queries
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * import { getAllShellTokens, getAllPageLayoutTokens, getAllSectionPatternTokens } from './layout-tokens/index.js';
100
+ *
101
+ * const shells = getAllShellTokens();
102
+ * const pages = getAllPageLayoutTokens();
103
+ * const sections = getAllSectionPatternTokens();
104
+ *
105
+ * const css = generateLayoutCSS([...shells, ...pages, ...sections]);
106
+ * console.log(css);
107
+ * ```
108
+ */
109
+ export declare function generateLayoutCSS(tokens: LayoutToken[], options?: CSSGenerationOptions): string;
110
+ /**
111
+ * Generate CSS for all layout tokens in the system
112
+ *
113
+ * @param options - CSS generation options
114
+ * @returns Complete CSS for all shells, pages, and sections
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * const css = generateAllLayoutCSS();
119
+ * // Write to file or use in application
120
+ * ```
121
+ */
122
+ export declare function generateAllLayoutCSS(options?: CSSGenerationOptions): string;
123
+ /**
124
+ * Generate CSS container queries with browser fallback
125
+ * Uses @supports for progressive enhancement
126
+ *
127
+ * @param config - Container query configuration
128
+ * @returns CSS string with container queries and fallback
129
+ */
130
+ export declare function generateContainerQueryCSS(config: ContainerQueryConfig): string;
131
+ /**
132
+ * Generate fallback CSS for browsers without container query support
133
+ * Uses viewport-based media queries as fallback
134
+ *
135
+ * @param config - Container query configuration
136
+ * @returns CSS string with media query fallbacks
137
+ */
138
+ export declare function generateContainerQueryFallback(config: ContainerQueryConfig): string;
139
+ /**
140
+ * Generate orientation-specific CSS media queries
141
+ * Supports portrait (height >= width) and landscape (width > height)
142
+ *
143
+ * @param config - Orientation configuration
144
+ * @param cssGenerator - Function to convert config to CSS properties
145
+ * @returns CSS string with orientation media queries
146
+ */
147
+ export declare function generateOrientationCSS<T>(config: OrientationConfig<T>, cssGenerator: (config: Partial<T>) => string): string;
148
+ /**
149
+ * Generate complete responsive CSS with orientation support
150
+ * Combines viewport breakpoints, container queries, and orientation
151
+ *
152
+ * @param config - Full responsive configuration
153
+ * @param cssGenerator - Function to convert config to CSS properties
154
+ * @param containerConfig - Optional container query configuration
155
+ * @returns Complete CSS string
156
+ */
157
+ export declare function generateAdvancedResponsiveCSS<T>(config: FullResponsiveConfig<T>, cssGenerator: (config: T | Partial<T>) => string, containerConfig?: ContainerQueryConfig): string;
158
+ //# sourceMappingURL=layout-css-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-css-generator.d.ts","sourceRoot":"","sources":["../src/layout-css-generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,mBAAmB,EAEnB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EAEpB,2BAA2B,EAI5B,MAAM,0BAA0B,CAAC;AAYlC;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,eAAe,GACf,mBAAmB,GACnB,2BAA2B,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8DAA8D;IAC9D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAwCD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAO,GAAG,MAAM,CAiC5D;AAMD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CA6BlE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CA8DjE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,CAsBpE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAwD9E;AAgBD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,2BAA2B,EAAE,GAAG,MAAM,CA6I9F;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,2BAA2B,EAAE,GACtC,MAAM,CA+DR;AAmKD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAoGlE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EAAE,EACrB,OAAO,GAAE,oBAAyB,GACjC,MAAM,CA6FR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAO/E;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAgC9E;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CA4BnF;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,GAC3C,MAAM,CAwBR;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAC7C,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC/B,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,EAChD,eAAe,CAAC,EAAE,oBAAoB,GACrC,MAAM,CAiCR"}