@ankhorage/templates 7.0.3 → 9.0.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 (84) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/assets/templates/capability-proof/checker.svg +1 -0
  3. package/dist/authoring/compose-category-manifest.d.ts +40 -0
  4. package/dist/authoring/compose-category-manifest.d.ts.map +1 -0
  5. package/dist/authoring/compose-category-manifest.js +150 -0
  6. package/dist/authoring/compose-category-manifest.js.map +1 -0
  7. package/dist/catalog.d.ts +4 -3
  8. package/dist/catalog.d.ts.map +1 -1
  9. package/dist/catalog.js +6 -3
  10. package/dist/catalog.js.map +1 -1
  11. package/dist/commands.d.ts +4 -6
  12. package/dist/commands.d.ts.map +1 -1
  13. package/dist/commands.js +16 -14
  14. package/dist/commands.js.map +1 -1
  15. package/dist/design/category-source.d.ts +557 -0
  16. package/dist/design/category-source.d.ts.map +1 -0
  17. package/dist/design/category-source.js +578 -0
  18. package/dist/design/category-source.js.map +1 -0
  19. package/dist/design/category-theme.d.ts +44 -0
  20. package/dist/design/category-theme.d.ts.map +1 -0
  21. package/dist/design/category-theme.js +146 -0
  22. package/dist/design/category-theme.js.map +1 -0
  23. package/dist/design/category-types.d.ts +73 -0
  24. package/dist/design/category-types.d.ts.map +1 -0
  25. package/dist/design/category-types.js +3 -0
  26. package/dist/design/category-types.js.map +1 -0
  27. package/dist/design/tone-catalog.d.ts +29 -0
  28. package/dist/design/tone-catalog.d.ts.map +1 -0
  29. package/dist/design/tone-catalog.js +254 -0
  30. package/dist/design/tone-catalog.js.map +1 -0
  31. package/dist/generators/create-category-app.d.ts.map +1 -1
  32. package/dist/generators/create-category-app.js +9 -3
  33. package/dist/generators/create-category-app.js.map +1 -1
  34. package/dist/index.d.ts +6 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +6 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/presets/category-presets.d.ts +4 -10
  39. package/dist/presets/category-presets.d.ts.map +1 -1
  40. package/dist/presets/category-presets.js +101 -209
  41. package/dist/presets/category-presets.js.map +1 -1
  42. package/dist/projectSeed.d.ts +4 -0
  43. package/dist/projectSeed.d.ts.map +1 -1
  44. package/dist/projectSeed.js +75 -5
  45. package/dist/projectSeed.js.map +1 -1
  46. package/dist/templates/shared/create-theme.d.ts +1 -0
  47. package/dist/templates/shared/create-theme.d.ts.map +1 -1
  48. package/dist/templates/shared/create-theme.js +2 -0
  49. package/dist/templates/shared/create-theme.js.map +1 -1
  50. package/dist/templates/starter/index.d.ts +2 -1
  51. package/dist/templates/starter/index.d.ts.map +1 -1
  52. package/dist/templates/starter/index.js +1 -0
  53. package/dist/templates/starter/index.js.map +1 -1
  54. package/dist/templates/starter/starter.assets.d.ts +22 -0
  55. package/dist/templates/starter/starter.assets.d.ts.map +1 -0
  56. package/dist/templates/starter/starter.assets.js +124 -0
  57. package/dist/templates/starter/starter.assets.js.map +1 -0
  58. package/dist/templates/starter/starter.registry.d.ts.map +1 -1
  59. package/dist/templates/starter/starter.registry.js +6 -11
  60. package/dist/templates/starter/starter.registry.js.map +1 -1
  61. package/dist/templates/starter/starter.template.d.ts +3 -4
  62. package/dist/templates/starter/starter.template.d.ts.map +1 -1
  63. package/dist/templates/starter/starter.template.js +5 -2
  64. package/dist/templates/starter/starter.template.js.map +1 -1
  65. package/dist/templates/starter/starter.types.d.ts +4 -0
  66. package/dist/templates/starter/starter.types.d.ts.map +1 -1
  67. package/dist/templates/starter/starter.types.js.map +1 -1
  68. package/package.json +5 -3
  69. package/dist/templates/starter/categories/fallback/default.template.d.ts +0 -4
  70. package/dist/templates/starter/categories/fallback/default.template.d.ts.map +0 -1
  71. package/dist/templates/starter/categories/fallback/default.template.js +0 -17
  72. package/dist/templates/starter/categories/fallback/default.template.js.map +0 -1
  73. package/dist/templates/starter/categories/fallback/index.d.ts +0 -8
  74. package/dist/templates/starter/categories/fallback/index.d.ts.map +0 -1
  75. package/dist/templates/starter/categories/fallback/index.js +0 -10
  76. package/dist/templates/starter/categories/fallback/index.js.map +0 -1
  77. package/dist/templates/starter/categories/fallback/routes.d.ts +0 -9
  78. package/dist/templates/starter/categories/fallback/routes.d.ts.map +0 -1
  79. package/dist/templates/starter/categories/fallback/routes.js +0 -20
  80. package/dist/templates/starter/categories/fallback/routes.js.map +0 -1
  81. package/dist/templates/starter/categories/fallback/screens.d.ts +0 -5
  82. package/dist/templates/starter/categories/fallback/screens.d.ts.map +0 -1
  83. package/dist/templates/starter/categories/fallback/screens.js +0 -133
  84. package/dist/templates/starter/categories/fallback/screens.js.map +0 -1
@@ -0,0 +1,578 @@
1
+ export const CATEGORY_SOURCE = [
2
+ {
3
+ category: 'books_reading',
4
+ existing: {
5
+ label: 'Books & Reading',
6
+ defaultName: 'Books & Reading',
7
+ defaultSlug: 'books-reading-app',
8
+ primaryColor: '#8B4513',
9
+ harmony: 'analogous',
10
+ summary: 'reading lists, reviews, recommendations, and subscriptions',
11
+ focusAreas: ['Reading queue', 'Featured picks', 'Community notes'],
12
+ },
13
+ supplied: {
14
+ designIntent: 'Scholarly, calm, long-form comfort',
15
+ primaryColor: '#7C4A32',
16
+ harmony: 'analogous',
17
+ lightTonePair: 'earthy-on-pastel',
18
+ darkTonePair: 'pastel-on-neutral-dark',
19
+ bodyFontCandidates: ['Source Serif 4'],
20
+ headingStrategy: 'same',
21
+ headingFontCandidates: [],
22
+ specialistFontCandidates: [],
23
+ density: 'comfortable',
24
+ shape: 'soft',
25
+ },
26
+ },
27
+ {
28
+ category: 'business_productivity',
29
+ existing: {
30
+ label: 'Business & Productivity',
31
+ defaultName: 'Business & Productivity',
32
+ defaultSlug: 'business-productivity-app',
33
+ primaryColor: '#1D4ED8',
34
+ harmony: 'analogous',
35
+ summary: 'team coordination, goals, and execution tracking',
36
+ focusAreas: ['Active projects', 'Weekly priorities', 'Team updates'],
37
+ },
38
+ supplied: {
39
+ designIntent: 'Focused, efficient, dependable',
40
+ primaryColor: '#2563EB',
41
+ harmony: 'monochromatic',
42
+ lightTonePair: 'jewel-on-neutral-light',
43
+ darkTonePair: 'pastel-on-neutral-dark',
44
+ bodyFontCandidates: ['Inter'],
45
+ headingStrategy: 'same',
46
+ headingFontCandidates: [],
47
+ specialistFontCandidates: [],
48
+ density: 'compact',
49
+ shape: 'neutral',
50
+ },
51
+ },
52
+ {
53
+ category: 'developer_tools',
54
+ existing: {
55
+ label: 'Developer Tools',
56
+ defaultName: 'Developer Tools',
57
+ defaultSlug: 'developer-tools-app',
58
+ primaryColor: '#7C3AED',
59
+ harmony: 'triadic',
60
+ summary: 'release workflows, observability, and engineering operations',
61
+ focusAreas: ['Build status', 'Incident queue', 'Developer settings'],
62
+ },
63
+ supplied: {
64
+ designIntent: 'Technical, precise, low-fatigue',
65
+ primaryColor: '#0F766E',
66
+ harmony: 'splitComplementary',
67
+ lightTonePair: 'vivid-on-neutral-light',
68
+ darkTonePair: 'fluorescent-on-neutral-dark',
69
+ bodyFontCandidates: ['Inter'],
70
+ headingStrategy: 'same',
71
+ headingFontCandidates: [],
72
+ specialistFontCandidates: [{ family: 'JetBrains Mono', usage: 'code' }],
73
+ density: 'compact',
74
+ shape: 'sharp',
75
+ },
76
+ },
77
+ {
78
+ category: 'education_learning',
79
+ existing: {
80
+ label: 'Education & Learning',
81
+ defaultName: 'Education & Learning',
82
+ defaultSlug: 'education-learning-app',
83
+ primaryColor: '#4338CA',
84
+ harmony: 'analogous',
85
+ summary: 'courses, practice loops, and learner progress',
86
+ focusAreas: ['Current lessons', 'Practice plan', 'Milestone tracking'],
87
+ },
88
+ supplied: {
89
+ designIntent: 'Clear, encouraging, engaging',
90
+ primaryColor: '#2563EB',
91
+ harmony: 'triadic',
92
+ lightTonePair: 'jewel-on-pastel',
93
+ darkTonePair: 'pastel-on-neutral-dark',
94
+ bodyFontCandidates: ['Atkinson Hyperlegible'],
95
+ headingStrategy: 'auto-pair',
96
+ headingFontCandidates: ['Outfit'],
97
+ specialistFontCandidates: [],
98
+ density: 'comfortable',
99
+ shape: 'soft',
100
+ },
101
+ },
102
+ {
103
+ category: 'entertainment_media',
104
+ existing: {
105
+ label: 'Entertainment & Media',
106
+ defaultName: 'Entertainment & Media',
107
+ defaultSlug: 'entertainment-media-app',
108
+ primaryColor: '#F97316',
109
+ harmony: 'complementary',
110
+ summary: 'content discovery, watchlists, and editorial highlights',
111
+ focusAreas: ['Featured releases', 'Continue watching', 'Trending topics'],
112
+ },
113
+ supplied: {
114
+ designIntent: 'Immersive, cinematic, expressive',
115
+ primaryColor: '#E11D48',
116
+ harmony: 'analogous',
117
+ lightTonePair: 'vivid-on-neutral-light',
118
+ darkTonePair: 'neon-on-neutral-dark',
119
+ bodyFontCandidates: ['Inter'],
120
+ headingStrategy: 'auto-pair',
121
+ headingFontCandidates: ['Space Grotesk'],
122
+ specialistFontCandidates: [],
123
+ density: 'comfortable',
124
+ shape: 'neutral',
125
+ },
126
+ },
127
+ {
128
+ category: 'finance_money',
129
+ existing: {
130
+ label: 'Finance & Money',
131
+ defaultName: 'Finance & Money',
132
+ defaultSlug: 'finance-money-app',
133
+ primaryColor: '#15803D',
134
+ harmony: 'analogous',
135
+ summary: 'balances, budgeting, and financial operations',
136
+ focusAreas: ['Cash overview', 'Budget health', 'Upcoming activity'],
137
+ },
138
+ supplied: {
139
+ designIntent: 'Secure, rigorous, trustworthy',
140
+ primaryColor: '#047857',
141
+ harmony: 'complementary',
142
+ lightTonePair: 'jewel-on-neutral-light',
143
+ darkTonePair: 'pastel-on-neutral-dark',
144
+ bodyFontCandidates: ['IBM Plex Sans'],
145
+ headingStrategy: 'same',
146
+ headingFontCandidates: [],
147
+ specialistFontCandidates: [],
148
+ density: 'compact',
149
+ shape: 'neutral',
150
+ },
151
+ },
152
+ {
153
+ category: 'food_drink',
154
+ existing: {
155
+ label: 'Food & Drink',
156
+ defaultName: 'Food & Drink',
157
+ defaultSlug: 'food-drink-app',
158
+ primaryColor: '#EA580C',
159
+ harmony: 'analogous',
160
+ summary: 'menus, ordering, and loyalty experiences',
161
+ focusAreas: ['Popular items', 'Order flow', 'Rewards status'],
162
+ },
163
+ supplied: {
164
+ designIntent: 'Warm, appetizing, sensory',
165
+ primaryColor: '#C2410C',
166
+ harmony: 'analogous',
167
+ lightTonePair: 'earthy-on-pastel',
168
+ darkTonePair: 'bright-on-neutral-dark',
169
+ bodyFontCandidates: ['Source Sans 3'],
170
+ headingStrategy: 'auto-pair',
171
+ headingFontCandidates: ['Fraunces'],
172
+ specialistFontCandidates: [],
173
+ density: 'comfortable',
174
+ shape: 'soft',
175
+ },
176
+ },
177
+ {
178
+ category: 'games',
179
+ existing: {
180
+ label: 'Games',
181
+ defaultName: 'Games',
182
+ defaultSlug: 'games-app',
183
+ primaryColor: '#7C3AED',
184
+ harmony: 'splitComplementary',
185
+ summary: 'quests, progression, and player engagement loops',
186
+ focusAreas: ['Daily quests', 'Progression', 'Social challenges'],
187
+ },
188
+ supplied: {
189
+ designIntent: 'Energetic, playful, state-rich',
190
+ primaryColor: '#7C3AED',
191
+ harmony: 'tetradic',
192
+ lightTonePair: 'vivid-on-pastel',
193
+ darkTonePair: 'neon-on-neutral-dark',
194
+ bodyFontCandidates: ['Rubik'],
195
+ headingStrategy: 'same',
196
+ headingFontCandidates: [],
197
+ specialistFontCandidates: [],
198
+ density: 'comfortable',
199
+ shape: 'soft',
200
+ },
201
+ },
202
+ {
203
+ category: 'graphics_design',
204
+ existing: {
205
+ label: 'Graphics & Design',
206
+ defaultName: 'Graphics & Design',
207
+ defaultSlug: 'graphics-design-app',
208
+ primaryColor: '#9333EA',
209
+ harmony: 'triadic',
210
+ summary: 'creative assets, reviews, and delivery workflows',
211
+ focusAreas: ['Current briefs', 'Asset review', 'Brand tokens'],
212
+ },
213
+ supplied: {
214
+ designIntent: 'Creative, exact, tool-oriented',
215
+ primaryColor: '#DB2777',
216
+ harmony: 'complementary',
217
+ lightTonePair: 'vivid-on-neutral-light',
218
+ darkTonePair: 'neon-on-neutral-dark',
219
+ bodyFontCandidates: ['Space Grotesk'],
220
+ headingStrategy: 'same',
221
+ headingFontCandidates: [],
222
+ specialistFontCandidates: [],
223
+ density: 'compact',
224
+ shape: 'neutral',
225
+ },
226
+ },
227
+ {
228
+ category: 'health_fitness',
229
+ existing: {
230
+ label: 'Health & Fitness',
231
+ defaultName: 'Health & Fitness',
232
+ defaultSlug: 'health-fitness-app',
233
+ primaryColor: '#059669',
234
+ harmony: 'analogous',
235
+ summary: 'habits, activity tracking, and coaching plans',
236
+ focusAreas: ['Today plan', 'Progress rings', 'Recovery status'],
237
+ },
238
+ supplied: {
239
+ designIntent: 'Vital, clean, motivating',
240
+ primaryColor: '#059669',
241
+ harmony: 'analogous',
242
+ lightTonePair: 'jewel-on-ice',
243
+ darkTonePair: 'pastel-on-neutral-dark',
244
+ bodyFontCandidates: ['Source Sans 3'],
245
+ headingStrategy: 'same',
246
+ headingFontCandidates: [],
247
+ specialistFontCandidates: [],
248
+ density: 'comfortable',
249
+ shape: 'soft',
250
+ },
251
+ },
252
+ {
253
+ category: 'kids_family',
254
+ existing: {
255
+ label: 'Kids & Family',
256
+ defaultName: 'Kids & Family',
257
+ defaultSlug: 'kids-family-app',
258
+ primaryColor: '#F97316',
259
+ harmony: 'splitComplementary',
260
+ summary: 'safe discovery, routines, and shared family coordination',
261
+ focusAreas: ['Daily routines', 'Favorites', 'Parent controls'],
262
+ },
263
+ supplied: {
264
+ designIntent: 'Safe, cheerful, legible',
265
+ primaryColor: '#D97706',
266
+ harmony: 'triadic',
267
+ lightTonePair: 'vivid-on-pastel',
268
+ darkTonePair: 'pastel-on-neutral-dark',
269
+ bodyFontCandidates: ['Nunito'],
270
+ headingStrategy: 'same',
271
+ headingFontCandidates: [],
272
+ specialistFontCandidates: [],
273
+ density: 'spacious',
274
+ shape: 'soft',
275
+ },
276
+ },
277
+ {
278
+ category: 'lifestyle',
279
+ existing: {
280
+ label: 'Lifestyle',
281
+ defaultName: 'Lifestyle',
282
+ defaultSlug: 'lifestyle-app',
283
+ primaryColor: '#DB2777',
284
+ harmony: 'analogous',
285
+ summary: 'memberships, routines, and curated recommendations',
286
+ focusAreas: ['Personal dashboard', 'Saved lists', 'Upcoming plans'],
287
+ },
288
+ supplied: {
289
+ designIntent: 'Curated, editorial, warm',
290
+ primaryColor: '#9A4E36',
291
+ harmony: 'analogous',
292
+ lightTonePair: 'muted-on-pastel',
293
+ darkTonePair: 'pastel-on-neutral-dark',
294
+ bodyFontCandidates: ['Manrope'],
295
+ headingStrategy: 'auto-pair',
296
+ headingFontCandidates: ['Cormorant Garamond'],
297
+ specialistFontCandidates: [],
298
+ density: 'spacious',
299
+ shape: 'soft',
300
+ },
301
+ },
302
+ {
303
+ category: 'medical',
304
+ existing: {
305
+ label: 'Medical',
306
+ defaultName: 'Medical',
307
+ defaultSlug: 'medical-app',
308
+ primaryColor: '#0369A1',
309
+ harmony: 'analogous',
310
+ summary: 'care coordination, intake, and patient communication',
311
+ focusAreas: ['Appointments', 'Care team', 'Health records'],
312
+ },
313
+ supplied: {
314
+ designIntent: 'Clinical, calm, unambiguous',
315
+ primaryColor: '#0284C7',
316
+ harmony: 'monochromatic',
317
+ lightTonePair: 'jewel-on-ice',
318
+ darkTonePair: 'ice-on-neutral-dark',
319
+ bodyFontCandidates: ['Atkinson Hyperlegible'],
320
+ headingStrategy: 'same',
321
+ headingFontCandidates: [],
322
+ specialistFontCandidates: [],
323
+ density: 'comfortable',
324
+ shape: 'neutral',
325
+ },
326
+ },
327
+ {
328
+ category: 'music_audio',
329
+ existing: {
330
+ label: 'Music & Audio',
331
+ defaultName: 'Music & Audio',
332
+ defaultSlug: 'music-audio-app',
333
+ primaryColor: '#7C3AED',
334
+ harmony: 'triadic',
335
+ summary: 'catalog browsing, playback, and creator discovery',
336
+ focusAreas: ['Featured mixes', 'Recent listening', 'Creator spotlight'],
337
+ },
338
+ supplied: {
339
+ designIntent: 'Rhythmic, immersive, high-energy',
340
+ primaryColor: '#9333EA',
341
+ harmony: 'splitComplementary',
342
+ lightTonePair: 'vivid-on-neutral-light',
343
+ darkTonePair: 'neon-on-neutral-dark',
344
+ bodyFontCandidates: ['Space Grotesk'],
345
+ headingStrategy: 'same',
346
+ headingFontCandidates: [],
347
+ specialistFontCandidates: [],
348
+ density: 'comfortable',
349
+ shape: 'neutral',
350
+ },
351
+ },
352
+ {
353
+ category: 'navigation_travel',
354
+ existing: {
355
+ label: 'Navigation & Travel',
356
+ defaultName: 'Navigation & Travel',
357
+ defaultSlug: 'navigation-travel-app',
358
+ primaryColor: '#0284C7',
359
+ harmony: 'analogous',
360
+ summary: 'planning, routing, and trip operations',
361
+ focusAreas: ['Trip planner', 'Saved places', 'Travel alerts'],
362
+ },
363
+ supplied: {
364
+ designIntent: 'Clear, adventurous, situational',
365
+ primaryColor: '#0284C7',
366
+ harmony: 'analogous',
367
+ lightTonePair: 'jewel-on-pastel',
368
+ darkTonePair: 'bright-on-neutral-dark',
369
+ bodyFontCandidates: ['Manrope'],
370
+ headingStrategy: 'same',
371
+ headingFontCandidates: [],
372
+ specialistFontCandidates: [],
373
+ density: 'comfortable',
374
+ shape: 'neutral',
375
+ },
376
+ },
377
+ {
378
+ category: 'news_magazines',
379
+ existing: {
380
+ label: 'News & Magazines',
381
+ defaultName: 'News & Magazines',
382
+ defaultSlug: 'news-magazines-app',
383
+ primaryColor: '#374151',
384
+ harmony: 'monochromatic',
385
+ summary: 'headlines, editorial curation, and subscriptions',
386
+ focusAreas: ['Top stories', 'Topics', 'Saved articles'],
387
+ },
388
+ supplied: {
389
+ designIntent: 'Editorial, credible, scannable',
390
+ primaryColor: '#B91C1C',
391
+ harmony: 'complementary',
392
+ lightTonePair: 'jewel-on-neutral-light',
393
+ darkTonePair: 'pastel-on-neutral-dark',
394
+ bodyFontCandidates: ['Source Serif 4'],
395
+ headingStrategy: 'same',
396
+ headingFontCandidates: [],
397
+ specialistFontCandidates: [],
398
+ density: 'compact',
399
+ shape: 'sharp',
400
+ },
401
+ },
402
+ {
403
+ category: 'photo_video',
404
+ existing: {
405
+ label: 'Photo & Video',
406
+ defaultName: 'Photo & Video',
407
+ defaultSlug: 'photo-video-app',
408
+ primaryColor: '#6D28D9',
409
+ harmony: 'complementary',
410
+ summary: 'capture flows, asset libraries, and publishing',
411
+ focusAreas: ['Recent captures', 'Collections', 'Publishing queue'],
412
+ },
413
+ supplied: {
414
+ designIntent: 'Quiet framing with media priority',
415
+ primaryColor: '#6D28D9',
416
+ harmony: 'monochromatic',
417
+ lightTonePair: 'muted-on-neutral-light',
418
+ darkTonePair: 'ice-on-neutral-dark',
419
+ bodyFontCandidates: ['Inter'],
420
+ headingStrategy: 'same',
421
+ headingFontCandidates: [],
422
+ specialistFontCandidates: [],
423
+ density: 'compact',
424
+ shape: 'neutral',
425
+ },
426
+ },
427
+ {
428
+ category: 'reference',
429
+ existing: {
430
+ label: 'Reference',
431
+ defaultName: 'Reference',
432
+ defaultSlug: 'reference-app',
433
+ primaryColor: '#1D4ED8',
434
+ harmony: 'monochromatic',
435
+ summary: 'search, lookup, and structured knowledge discovery',
436
+ focusAreas: ['Quick lookup', 'Saved resources', 'Reference sets'],
437
+ },
438
+ supplied: {
439
+ designIntent: 'Objective, dense, highly readable',
440
+ primaryColor: '#475569',
441
+ harmony: 'monochromatic',
442
+ lightTonePair: 'muted-on-neutral-light',
443
+ darkTonePair: 'ice-on-neutral-dark',
444
+ bodyFontCandidates: ['Source Sans 3'],
445
+ headingStrategy: 'same',
446
+ headingFontCandidates: [],
447
+ specialistFontCandidates: [],
448
+ density: 'compact',
449
+ shape: 'sharp',
450
+ },
451
+ },
452
+ {
453
+ category: 'shopping_commerce',
454
+ existing: {
455
+ label: 'Shopping & Commerce',
456
+ defaultName: 'Shopping & Commerce',
457
+ defaultSlug: 'shopping-commerce-app',
458
+ primaryColor: '#EA580C',
459
+ harmony: 'analogous',
460
+ summary: 'catalogs, carts, and fulfillment journeys',
461
+ focusAreas: ['Featured products', 'Cart state', 'Order tracking'],
462
+ },
463
+ supplied: {
464
+ designIntent: 'Conversion-focused, confident',
465
+ primaryColor: '#7C3AED',
466
+ harmony: 'complementary',
467
+ lightTonePair: 'jewel-on-neutral-light',
468
+ darkTonePair: 'pastel-on-neutral-dark',
469
+ bodyFontCandidates: ['DM Sans'],
470
+ headingStrategy: 'same',
471
+ headingFontCandidates: [],
472
+ specialistFontCandidates: [],
473
+ density: 'comfortable',
474
+ shape: 'neutral',
475
+ },
476
+ },
477
+ {
478
+ category: 'social_community',
479
+ existing: {
480
+ label: 'Social & Community',
481
+ defaultName: 'Social & Community',
482
+ defaultSlug: 'social-community-app',
483
+ primaryColor: '#2563EB',
484
+ harmony: 'complementary',
485
+ summary: 'feeds, groups, and community participation',
486
+ focusAreas: ['Community feed', 'Group highlights', 'Creator actions'],
487
+ },
488
+ supplied: {
489
+ designIntent: 'Friendly, collaborative, lively',
490
+ primaryColor: '#4F46E5',
491
+ harmony: 'analogous',
492
+ lightTonePair: 'vivid-on-pastel',
493
+ darkTonePair: 'pastel-on-neutral-dark',
494
+ bodyFontCandidates: ['Inter'],
495
+ headingStrategy: 'same',
496
+ headingFontCandidates: [],
497
+ specialistFontCandidates: [],
498
+ density: 'comfortable',
499
+ shape: 'soft',
500
+ },
501
+ },
502
+ {
503
+ category: 'sports',
504
+ existing: {
505
+ label: 'Sports',
506
+ defaultName: 'Sports',
507
+ defaultSlug: 'sports-app',
508
+ primaryColor: '#DC2626',
509
+ harmony: 'splitComplementary',
510
+ summary: 'fixtures, scores, and fan engagement',
511
+ focusAreas: ['Live schedule', 'Standings', 'Team updates'],
512
+ },
513
+ supplied: {
514
+ designIntent: 'Fast, forceful, movement-led',
515
+ primaryColor: '#DC2626',
516
+ harmony: 'splitComplementary',
517
+ lightTonePair: 'vivid-on-neutral-light',
518
+ darkTonePair: 'neon-on-neutral-dark',
519
+ bodyFontCandidates: ['Archivo'],
520
+ headingStrategy: 'same',
521
+ headingFontCandidates: [],
522
+ specialistFontCandidates: [],
523
+ density: 'compact',
524
+ shape: 'sharp',
525
+ },
526
+ },
527
+ {
528
+ category: 'utilities_tools',
529
+ existing: {
530
+ label: 'Utilities & Tools',
531
+ defaultName: 'Utilities & Tools',
532
+ defaultSlug: 'utilities-tools-app',
533
+ primaryColor: '#374151',
534
+ harmony: 'monochromatic',
535
+ summary: 'task-driven workflows, controls, and quick actions',
536
+ focusAreas: ['Primary utilities', 'Saved shortcuts', 'Automation settings'],
537
+ },
538
+ supplied: {
539
+ designIntent: 'Functional, restrained, efficient',
540
+ primaryColor: '#475569',
541
+ harmony: 'monochromatic',
542
+ lightTonePair: 'muted-on-neutral-light',
543
+ darkTonePair: 'ice-on-neutral-dark',
544
+ bodyFontCandidates: ['Inter'],
545
+ headingStrategy: 'same',
546
+ headingFontCandidates: [],
547
+ specialistFontCandidates: [],
548
+ density: 'compact',
549
+ shape: 'neutral',
550
+ },
551
+ },
552
+ {
553
+ category: 'weather',
554
+ existing: {
555
+ label: 'Weather',
556
+ defaultName: 'Weather',
557
+ defaultSlug: 'weather-app',
558
+ primaryColor: '#0284C7',
559
+ harmony: 'analogous',
560
+ summary: 'conditions, alerts, and forecast planning',
561
+ focusAreas: ['Current conditions', 'Hourly forecast', 'Alerts'],
562
+ },
563
+ supplied: {
564
+ designIntent: 'Atmospheric, ambient, glanceable',
565
+ primaryColor: '#2563EB',
566
+ harmony: 'analogous',
567
+ lightTonePair: 'vivid-on-ice',
568
+ darkTonePair: 'ice-on-neutral-dark',
569
+ bodyFontCandidates: ['Manrope'],
570
+ headingStrategy: 'same',
571
+ headingFontCandidates: [],
572
+ specialistFontCandidates: [],
573
+ density: 'comfortable',
574
+ shape: 'soft',
575
+ },
576
+ },
577
+ ];
578
+ //# sourceMappingURL=category-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-source.js","sourceRoot":"","sources":["../../src/design/category-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { AppCategory, ThemeConfig } from '@ankhorage/contracts';
2
+ import { type ZoraComputedTheme } from '@ankhorage/zora/theme';
3
+ import { CATEGORY_PRESETS } from '../presets/category-presets';
4
+ import type { DesignDensity, DesignShape } from './category-types';
5
+ import { type ThemeMode, type TonePairDefinition } from './tone-catalog';
6
+ export type CategoryDesignDiagnosticCode = 'decorative-finish-requires-runtime-recipe' | 'tone-pair-mode-mismatch' | 'unknown-tone-pair';
7
+ export interface CategoryDesignDiagnostic {
8
+ readonly code: CategoryDesignDiagnosticCode;
9
+ readonly severity: 'error' | 'warning';
10
+ readonly path: string;
11
+ readonly message: string;
12
+ }
13
+ export interface CategoryDesignOverrides {
14
+ readonly themeId?: string;
15
+ readonly themeName?: string;
16
+ readonly primaryColor?: string;
17
+ readonly harmony?: ThemeConfig['light']['harmony'];
18
+ readonly light?: Partial<ThemeConfig['light']>;
19
+ readonly dark?: Partial<ThemeConfig['dark']>;
20
+ readonly tonePairs?: Partial<Record<ThemeMode, string>>;
21
+ readonly density?: DesignDensity;
22
+ readonly shape?: DesignShape;
23
+ readonly tokens?: ThemeConfig['tokens'];
24
+ readonly recipes?: ThemeConfig['recipes'];
25
+ }
26
+ export interface ResolvedCategoryDesignPreset {
27
+ readonly category: AppCategory;
28
+ readonly preset: (typeof CATEGORY_PRESETS)[AppCategory];
29
+ readonly primaryColor: string;
30
+ readonly harmony: ThemeConfig['light']['harmony'];
31
+ readonly tonePairs: Readonly<Record<ThemeMode, TonePairDefinition | null>>;
32
+ readonly density: DesignDensity;
33
+ readonly shape: DesignShape;
34
+ readonly themeConfig: ThemeConfig;
35
+ readonly diagnostics: readonly CategoryDesignDiagnostic[];
36
+ }
37
+ export interface CompiledCategoryDesign extends ResolvedCategoryDesignPreset {
38
+ readonly computedTheme: ZoraComputedTheme;
39
+ }
40
+ /*** Resolve category defaults and explicit overrides into canonical compact ThemeConfig source. */
41
+ export declare function resolveCategoryDesignPreset(category: AppCategory, overrides?: CategoryDesignOverrides): ResolvedCategoryDesignPreset;
42
+ /*** Resolve and compile a category theme through the released ZORA owner pipeline. */
43
+ export declare function compileCategoryDesign(category: AppCategory, overrides?: CategoryDesignOverrides): CompiledCategoryDesign;
44
+ //# sourceMappingURL=category-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-theme.d.ts","sourceRoot":"","sources":["../../src/design/category-theme.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAGL,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,MAAM,4BAA4B,GACtC,2CAA2C,GAAG,yBAAyB,GAAG,mBAAmB,CAAC;AAEhG,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAC;IACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;CAC3D;AAED,MAAM,WAAW,sBAAuB,SAAQ,4BAA4B;IAC1E,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;CAC3C;AAmED,mGAAmG;AACnG,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,WAAW,EACrB,SAAS,GAAE,uBAA4B,GACtC,4BAA4B,CAwC9B;AAuCD,sFAAsF;AACtF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,WAAW,EACrB,SAAS,GAAE,uBAA4B,GACtC,sBAAsB,CASxB"}