@ankhorage/templates 7.0.2 → 8.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 (64) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/authoring/compose-category-manifest.d.ts +40 -0
  3. package/dist/authoring/compose-category-manifest.d.ts.map +1 -0
  4. package/dist/authoring/compose-category-manifest.js +150 -0
  5. package/dist/authoring/compose-category-manifest.js.map +1 -0
  6. package/dist/catalog.d.ts.map +1 -1
  7. package/dist/catalog.js +5 -2
  8. package/dist/catalog.js.map +1 -1
  9. package/dist/design/category-source.d.ts +557 -0
  10. package/dist/design/category-source.d.ts.map +1 -0
  11. package/dist/design/category-source.js +578 -0
  12. package/dist/design/category-source.js.map +1 -0
  13. package/dist/design/category-theme.d.ts +44 -0
  14. package/dist/design/category-theme.d.ts.map +1 -0
  15. package/dist/design/category-theme.js +146 -0
  16. package/dist/design/category-theme.js.map +1 -0
  17. package/dist/design/category-types.d.ts +73 -0
  18. package/dist/design/category-types.d.ts.map +1 -0
  19. package/dist/design/category-types.js +3 -0
  20. package/dist/design/category-types.js.map +1 -0
  21. package/dist/design/tone-catalog.d.ts +29 -0
  22. package/dist/design/tone-catalog.d.ts.map +1 -0
  23. package/dist/design/tone-catalog.js +254 -0
  24. package/dist/design/tone-catalog.js.map +1 -0
  25. package/dist/generators/create-category-app.d.ts.map +1 -1
  26. package/dist/generators/create-category-app.js +8 -2
  27. package/dist/generators/create-category-app.js.map +1 -1
  28. package/dist/index.d.ts +5 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/presets/category-presets.d.ts +4 -10
  33. package/dist/presets/category-presets.d.ts.map +1 -1
  34. package/dist/presets/category-presets.js +101 -209
  35. package/dist/presets/category-presets.js.map +1 -1
  36. package/dist/templates/shared/create-theme.d.ts +1 -0
  37. package/dist/templates/shared/create-theme.d.ts.map +1 -1
  38. package/dist/templates/shared/create-theme.js +2 -0
  39. package/dist/templates/shared/create-theme.js.map +1 -1
  40. package/dist/templates/starter/starter.registry.d.ts.map +1 -1
  41. package/dist/templates/starter/starter.registry.js +6 -11
  42. package/dist/templates/starter/starter.registry.js.map +1 -1
  43. package/dist/templates/starter/starter.template.d.ts.map +1 -1
  44. package/dist/templates/starter/starter.template.js +2 -1
  45. package/dist/templates/starter/starter.template.js.map +1 -1
  46. package/dist/templates/starter/starter.types.d.ts +1 -0
  47. package/dist/templates/starter/starter.types.d.ts.map +1 -1
  48. package/package.json +3 -2
  49. package/dist/templates/starter/categories/fallback/default.template.d.ts +0 -4
  50. package/dist/templates/starter/categories/fallback/default.template.d.ts.map +0 -1
  51. package/dist/templates/starter/categories/fallback/default.template.js +0 -17
  52. package/dist/templates/starter/categories/fallback/default.template.js.map +0 -1
  53. package/dist/templates/starter/categories/fallback/index.d.ts +0 -8
  54. package/dist/templates/starter/categories/fallback/index.d.ts.map +0 -1
  55. package/dist/templates/starter/categories/fallback/index.js +0 -10
  56. package/dist/templates/starter/categories/fallback/index.js.map +0 -1
  57. package/dist/templates/starter/categories/fallback/routes.d.ts +0 -9
  58. package/dist/templates/starter/categories/fallback/routes.d.ts.map +0 -1
  59. package/dist/templates/starter/categories/fallback/routes.js +0 -20
  60. package/dist/templates/starter/categories/fallback/routes.js.map +0 -1
  61. package/dist/templates/starter/categories/fallback/screens.d.ts +0 -5
  62. package/dist/templates/starter/categories/fallback/screens.d.ts.map +0 -1
  63. package/dist/templates/starter/categories/fallback/screens.js +0 -133
  64. package/dist/templates/starter/categories/fallback/screens.js.map +0 -1
@@ -1,12 +1,6 @@
1
- import type { AppCategory, ThemeConfig } from '@ankhorage/contracts';
2
- export interface CategoryPreset {
3
- label: string;
4
- defaultName: string;
5
- defaultSlug: string;
6
- primaryColor: string;
7
- harmony: ThemeConfig['light']['harmony'];
8
- summary: string;
9
- focusAreas: readonly [string, string, string];
10
- }
1
+ import type { AppCategory } from '@ankhorage/contracts';
2
+ import type { CategoryPreset, CategoryPresetReconciliationReport } from '../design/category-types';
3
+ export declare const CATEGORY_PRESET_RECONCILIATION: readonly CategoryPresetReconciliationReport[];
11
4
  export declare const CATEGORY_PRESETS: Record<AppCategory, CategoryPreset>;
5
+ export type { CategoryPreset, CategoryPresetFieldReconciliation, CategoryPresetReconciliationDecision, CategoryPresetReconciliationReport, } from '../design/category-types';
12
6
  //# sourceMappingURL=category-presets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-presets.d.ts","sourceRoot":"","sources":["../../src/presets/category-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAMD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAgNhE,CAAC"}
1
+ {"version":3,"file":"category-presets.d.ts","sourceRoot":"","sources":["../../src/presets/category-presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,KAAK,EACV,cAAc,EAEd,kCAAkC,EAEnC,MAAM,0BAA0B,CAAC;AAqGlC,eAAO,MAAM,8BAA8B,EAAE,SAAS,kCAAkC,EACxB,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAwBhE,CAAC;AAEF,YAAY,EACV,cAAc,EACd,iCAAiC,EACjC,oCAAoC,EACpC,kCAAkC,GACnC,MAAM,0BAA0B,CAAC"}
@@ -1,213 +1,105 @@
1
- function createPreset(config) {
2
- return config;
1
+ import { CATEGORY_SOURCE } from '../design/category-source';
2
+ const CATEGORY_RECONCILIATION_SOURCE = CATEGORY_SOURCE;
3
+ /*** Resolve the single checked-in reconciliation source for a category. */
4
+ function resolveSource(category) {
5
+ const source = CATEGORY_RECONCILIATION_SOURCE.find((entry) => entry.category === category);
6
+ if (!source)
7
+ throw new Error(`Missing category reconciliation source: ${category}.`);
8
+ return source;
3
9
  }
10
+ /*** Keep reviewed recommendations in preference order without inventing alternatives. */
11
+ function createRecommendations(supplied, existing) {
12
+ return supplied === existing ? [supplied] : [supplied, existing];
13
+ }
14
+ /*** Reconcile existing template identity with richer supplied design direction. */
15
+ function createCategoryPreset(source) {
16
+ return {
17
+ category: source.category,
18
+ label: source.existing.label,
19
+ defaultName: source.existing.defaultName,
20
+ defaultSlug: source.existing.defaultSlug,
21
+ summary: source.existing.summary,
22
+ focusAreas: source.existing.focusAreas,
23
+ designIntent: source.supplied.designIntent,
24
+ recommendedPrimaryColors: createRecommendations(source.supplied.primaryColor, source.existing.primaryColor),
25
+ recommendedHarmonies: createRecommendations(source.supplied.harmony, source.existing.harmony),
26
+ tonePairs: { light: source.supplied.lightTonePair, dark: source.supplied.darkTonePair },
27
+ bodyFontCandidates: source.supplied.bodyFontCandidates,
28
+ headingStrategy: source.supplied.headingStrategy,
29
+ headingFontCandidates: source.supplied.headingFontCandidates,
30
+ specialistFontCandidates: source.supplied.specialistFontCandidates,
31
+ density: source.supplied.density,
32
+ shape: source.supplied.shape,
33
+ };
34
+ }
35
+ /*** Describe every source field decision so reconciliation cannot silently discard input. */
36
+ function createFieldReconciliation(source) {
37
+ const preserved = ['label', 'defaultName', 'defaultSlug', 'summary', 'focusAreas'].map((field) => ({
38
+ field: `existing.${field}`,
39
+ decision: 'preserved-existing',
40
+ reason: 'Templates already owns this product and template identity field.',
41
+ }));
42
+ const adopted = [
43
+ 'designIntent',
44
+ 'lightTonePair',
45
+ 'darkTonePair',
46
+ 'bodyFontCandidates',
47
+ 'headingStrategy',
48
+ 'headingFontCandidates',
49
+ 'specialistFontCandidates',
50
+ 'density',
51
+ 'shape',
52
+ ].map((field) => ({
53
+ field: `supplied.${field}`,
54
+ decision: 'adopted-supplied',
55
+ reason: 'The existing preset had no equivalent durable authoring field.',
56
+ }));
57
+ return [
58
+ ...preserved,
59
+ createSharedFieldDecision('primaryColor', source),
60
+ createSharedFieldDecision('harmony', source),
61
+ ...adopted,
62
+ ];
63
+ }
64
+ /*** Preserve agreeing values once and retain conflicts as ordered recommendations. */
65
+ function createSharedFieldDecision(field, source) {
66
+ const agrees = Reflect.get(source.existing, field) === Reflect.get(source.supplied, field);
67
+ return {
68
+ field: `existing.${field} + supplied.${field}`,
69
+ decision: agrees ? 'sources-agree' : 'ordered-both',
70
+ reason: agrees
71
+ ? 'Both reviewed sources specify the same value; the canonical list contains it once.'
72
+ : 'The richer design recommendation is first and the established template value remains an explicit second option.',
73
+ };
74
+ }
75
+ /*** Build one public reconciliation report entry from the canonical source. */
76
+ function createReconciliationReport(source) {
77
+ return { category: source.category, source, fields: createFieldReconciliation(source) };
78
+ }
79
+ export const CATEGORY_PRESET_RECONCILIATION = CATEGORY_RECONCILIATION_SOURCE.map(createReconciliationReport);
4
80
  export const CATEGORY_PRESETS = {
5
- books_reading: createPreset({
6
- label: 'Books & Reading',
7
- defaultName: 'Books & Reading',
8
- defaultSlug: 'books-reading-app',
9
- primaryColor: '#8B4513',
10
- harmony: 'analogous',
11
- summary: 'reading lists, reviews, recommendations, and subscriptions',
12
- focusAreas: ['Reading queue', 'Featured picks', 'Community notes'],
13
- }),
14
- business_productivity: createPreset({
15
- label: 'Business & Productivity',
16
- defaultName: 'Business & Productivity',
17
- defaultSlug: 'business-productivity-app',
18
- primaryColor: '#1D4ED8',
19
- harmony: 'analogous',
20
- summary: 'team coordination, goals, and execution tracking',
21
- focusAreas: ['Active projects', 'Weekly priorities', 'Team updates'],
22
- }),
23
- developer_tools: createPreset({
24
- label: 'Developer Tools',
25
- defaultName: 'Developer Tools',
26
- defaultSlug: 'developer-tools-app',
27
- primaryColor: '#7C3AED',
28
- harmony: 'triadic',
29
- summary: 'release workflows, observability, and engineering operations',
30
- focusAreas: ['Build status', 'Incident queue', 'Developer settings'],
31
- }),
32
- education_learning: createPreset({
33
- label: 'Education & Learning',
34
- defaultName: 'Education & Learning',
35
- defaultSlug: 'education-learning-app',
36
- primaryColor: '#4338CA',
37
- harmony: 'analogous',
38
- summary: 'courses, practice loops, and learner progress',
39
- focusAreas: ['Current lessons', 'Practice plan', 'Milestone tracking'],
40
- }),
41
- entertainment_media: createPreset({
42
- label: 'Entertainment & Media',
43
- defaultName: 'Entertainment & Media',
44
- defaultSlug: 'entertainment-media-app',
45
- primaryColor: '#F97316',
46
- harmony: 'complementary',
47
- summary: 'content discovery, watchlists, and editorial highlights',
48
- focusAreas: ['Featured releases', 'Continue watching', 'Trending topics'],
49
- }),
50
- finance_money: createPreset({
51
- label: 'Finance & Money',
52
- defaultName: 'Finance & Money',
53
- defaultSlug: 'finance-money-app',
54
- primaryColor: '#15803D',
55
- harmony: 'analogous',
56
- summary: 'balances, budgeting, and financial operations',
57
- focusAreas: ['Cash overview', 'Budget health', 'Upcoming activity'],
58
- }),
59
- food_drink: createPreset({
60
- label: 'Food & Drink',
61
- defaultName: 'Food & Drink',
62
- defaultSlug: 'food-drink-app',
63
- primaryColor: '#EA580C',
64
- harmony: 'analogous',
65
- summary: 'menus, ordering, and loyalty experiences',
66
- focusAreas: ['Popular items', 'Order flow', 'Rewards status'],
67
- }),
68
- games: createPreset({
69
- label: 'Games',
70
- defaultName: 'Games',
71
- defaultSlug: 'games-app',
72
- primaryColor: '#7C3AED',
73
- harmony: 'splitComplementary',
74
- summary: 'quests, progression, and player engagement loops',
75
- focusAreas: ['Daily quests', 'Progression', 'Social challenges'],
76
- }),
77
- graphics_design: createPreset({
78
- label: 'Graphics & Design',
79
- defaultName: 'Graphics & Design',
80
- defaultSlug: 'graphics-design-app',
81
- primaryColor: '#9333EA',
82
- harmony: 'triadic',
83
- summary: 'creative assets, reviews, and delivery workflows',
84
- focusAreas: ['Current briefs', 'Asset review', 'Brand tokens'],
85
- }),
86
- health_fitness: createPreset({
87
- label: 'Health & Fitness',
88
- defaultName: 'Health & Fitness',
89
- defaultSlug: 'health-fitness-app',
90
- primaryColor: '#059669',
91
- harmony: 'analogous',
92
- summary: 'habits, activity tracking, and coaching plans',
93
- focusAreas: ['Today plan', 'Progress rings', 'Recovery status'],
94
- }),
95
- kids_family: createPreset({
96
- label: 'Kids & Family',
97
- defaultName: 'Kids & Family',
98
- defaultSlug: 'kids-family-app',
99
- primaryColor: '#F97316',
100
- harmony: 'splitComplementary',
101
- summary: 'safe discovery, routines, and shared family coordination',
102
- focusAreas: ['Daily routines', 'Favorites', 'Parent controls'],
103
- }),
104
- lifestyle: createPreset({
105
- label: 'Lifestyle',
106
- defaultName: 'Lifestyle',
107
- defaultSlug: 'lifestyle-app',
108
- primaryColor: '#DB2777',
109
- harmony: 'analogous',
110
- summary: 'memberships, routines, and curated recommendations',
111
- focusAreas: ['Personal dashboard', 'Saved lists', 'Upcoming plans'],
112
- }),
113
- medical: createPreset({
114
- label: 'Medical',
115
- defaultName: 'Medical',
116
- defaultSlug: 'medical-app',
117
- primaryColor: '#0369A1',
118
- harmony: 'analogous',
119
- summary: 'care coordination, intake, and patient communication',
120
- focusAreas: ['Appointments', 'Care team', 'Health records'],
121
- }),
122
- music_audio: createPreset({
123
- label: 'Music & Audio',
124
- defaultName: 'Music & Audio',
125
- defaultSlug: 'music-audio-app',
126
- primaryColor: '#7C3AED',
127
- harmony: 'triadic',
128
- summary: 'catalog browsing, playback, and creator discovery',
129
- focusAreas: ['Featured mixes', 'Recent listening', 'Creator spotlight'],
130
- }),
131
- navigation_travel: createPreset({
132
- label: 'Navigation & Travel',
133
- defaultName: 'Navigation & Travel',
134
- defaultSlug: 'navigation-travel-app',
135
- primaryColor: '#0284C7',
136
- harmony: 'analogous',
137
- summary: 'planning, routing, and trip operations',
138
- focusAreas: ['Trip planner', 'Saved places', 'Travel alerts'],
139
- }),
140
- news_magazines: createPreset({
141
- label: 'News & Magazines',
142
- defaultName: 'News & Magazines',
143
- defaultSlug: 'news-magazines-app',
144
- primaryColor: '#374151',
145
- harmony: 'monochromatic',
146
- summary: 'headlines, editorial curation, and subscriptions',
147
- focusAreas: ['Top stories', 'Topics', 'Saved articles'],
148
- }),
149
- photo_video: createPreset({
150
- label: 'Photo & Video',
151
- defaultName: 'Photo & Video',
152
- defaultSlug: 'photo-video-app',
153
- primaryColor: '#6D28D9',
154
- harmony: 'complementary',
155
- summary: 'capture flows, asset libraries, and publishing',
156
- focusAreas: ['Recent captures', 'Collections', 'Publishing queue'],
157
- }),
158
- reference: createPreset({
159
- label: 'Reference',
160
- defaultName: 'Reference',
161
- defaultSlug: 'reference-app',
162
- primaryColor: '#1D4ED8',
163
- harmony: 'monochromatic',
164
- summary: 'search, lookup, and structured knowledge discovery',
165
- focusAreas: ['Quick lookup', 'Saved resources', 'Reference sets'],
166
- }),
167
- shopping_commerce: createPreset({
168
- label: 'Shopping & Commerce',
169
- defaultName: 'Shopping & Commerce',
170
- defaultSlug: 'shopping-commerce-app',
171
- primaryColor: '#EA580C',
172
- harmony: 'analogous',
173
- summary: 'catalogs, carts, and fulfillment journeys',
174
- focusAreas: ['Featured products', 'Cart state', 'Order tracking'],
175
- }),
176
- social_community: createPreset({
177
- label: 'Social & Community',
178
- defaultName: 'Social & Community',
179
- defaultSlug: 'social-community-app',
180
- primaryColor: '#2563EB',
181
- harmony: 'complementary',
182
- summary: 'feeds, groups, and community participation',
183
- focusAreas: ['Community feed', 'Group highlights', 'Creator actions'],
184
- }),
185
- sports: createPreset({
186
- label: 'Sports',
187
- defaultName: 'Sports',
188
- defaultSlug: 'sports-app',
189
- primaryColor: '#DC2626',
190
- harmony: 'splitComplementary',
191
- summary: 'fixtures, scores, and fan engagement',
192
- focusAreas: ['Live schedule', 'Standings', 'Team updates'],
193
- }),
194
- utilities_tools: createPreset({
195
- label: 'Utilities & Tools',
196
- defaultName: 'Utilities & Tools',
197
- defaultSlug: 'utilities-tools-app',
198
- primaryColor: '#374151',
199
- harmony: 'monochromatic',
200
- summary: 'task-driven workflows, controls, and quick actions',
201
- focusAreas: ['Primary utilities', 'Saved shortcuts', 'Automation settings'],
202
- }),
203
- weather: createPreset({
204
- label: 'Weather',
205
- defaultName: 'Weather',
206
- defaultSlug: 'weather-app',
207
- primaryColor: '#0284C7',
208
- harmony: 'analogous',
209
- summary: 'conditions, alerts, and forecast planning',
210
- focusAreas: ['Current conditions', 'Hourly forecast', 'Alerts'],
211
- }),
81
+ books_reading: createCategoryPreset(resolveSource('books_reading')),
82
+ business_productivity: createCategoryPreset(resolveSource('business_productivity')),
83
+ developer_tools: createCategoryPreset(resolveSource('developer_tools')),
84
+ education_learning: createCategoryPreset(resolveSource('education_learning')),
85
+ entertainment_media: createCategoryPreset(resolveSource('entertainment_media')),
86
+ finance_money: createCategoryPreset(resolveSource('finance_money')),
87
+ food_drink: createCategoryPreset(resolveSource('food_drink')),
88
+ games: createCategoryPreset(resolveSource('games')),
89
+ graphics_design: createCategoryPreset(resolveSource('graphics_design')),
90
+ health_fitness: createCategoryPreset(resolveSource('health_fitness')),
91
+ kids_family: createCategoryPreset(resolveSource('kids_family')),
92
+ lifestyle: createCategoryPreset(resolveSource('lifestyle')),
93
+ medical: createCategoryPreset(resolveSource('medical')),
94
+ music_audio: createCategoryPreset(resolveSource('music_audio')),
95
+ navigation_travel: createCategoryPreset(resolveSource('navigation_travel')),
96
+ news_magazines: createCategoryPreset(resolveSource('news_magazines')),
97
+ photo_video: createCategoryPreset(resolveSource('photo_video')),
98
+ reference: createCategoryPreset(resolveSource('reference')),
99
+ shopping_commerce: createCategoryPreset(resolveSource('shopping_commerce')),
100
+ social_community: createCategoryPreset(resolveSource('social_community')),
101
+ sports: createCategoryPreset(resolveSource('sports')),
102
+ utilities_tools: createCategoryPreset(resolveSource('utilities_tools')),
103
+ weather: createCategoryPreset(resolveSource('weather')),
212
104
  };
213
105
  //# sourceMappingURL=category-presets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"category-presets.js","sourceRoot":"","sources":["../../src/presets/category-presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"category-presets.js","sourceRoot":"","sources":["../../src/presets/category-presets.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ThemeConfig } from '@ankhorage/contracts';
2
2
  interface CreateThemeSeed {
3
3
  primaryColor: string;
4
4
  harmony: ThemeConfig['light']['harmony'];
5
+ theme?: ThemeConfig;
5
6
  themeId?: string;
6
7
  themeName?: string;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../../src/templates/shared/create-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAe9D"}
1
+ {"version":3,"file":"create-theme.d.ts","sourceRoot":"","sources":["../../../src/templates/shared/create-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,UAAU,eAAe;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAgB9D"}
@@ -1,5 +1,7 @@
1
1
  import { DEFAULT_THEME_ID, DEFAULT_THEME_NAME } from '../../internal/defaults';
2
2
  export function createTheme(seed) {
3
+ if (seed.theme)
4
+ return structuredClone(seed.theme);
3
5
  const themeId = seed.themeId ?? DEFAULT_THEME_ID;
4
6
  return {
5
7
  id: themeId,
@@ -1 +1 @@
1
- {"version":3,"file":"create-theme.js","sourceRoot":"","sources":["../../../src/templates/shared/create-theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS/E,MAAM,UAAU,WAAW,CAAC,IAAqB;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;IAEjD,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,kBAAkB;QAC1C,KAAK,EAAE;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create-theme.js","sourceRoot":"","sources":["../../../src/templates/shared/create-theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAU/E,MAAM,UAAU,WAAW,CAAC,IAAqB;IAC/C,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC;IAEjD,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,kBAAkB;QAC1C,KAAK,EAAE;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;QACD,IAAI,EAAE;YACJ,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"starter.registry.d.ts","sourceRoot":"","sources":["../../../src/templates/starter/starter.registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA0BxD,OAAO,KAAK,EACV,iCAAiC,EACjC,sBAAsB,EACtB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAoDzB,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,UAAU,SAAY,GACrB,iCAAiC,CAMnC;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,WAAW,GACrB,SAAS,iCAAiC,EAAE,CAa9C;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,WAAW,GACpB,SAAS,sBAAsB,EAAE,CAInC;AAED,wBAAgB,4BAA4B,IAAI,SAAS,sBAAsB,EAAE,CAQhF"}
1
+ {"version":3,"file":"starter.registry.d.ts","sourceRoot":"","sources":["../../../src/templates/starter/starter.registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAyBxD,OAAO,KAAK,EACV,iCAAiC,EACjC,sBAAsB,EACtB,YAAY,EACb,MAAM,iBAAiB,CAAC;AA0CzB,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,UAAU,SAAY,GACrB,iCAAiC,CAQnC;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,WAAW,GACrB,SAAS,iCAAiC,EAAE,CAa9C;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,WAAW,GACpB,SAAS,sBAAsB,EAAE,CAInC;AAED,wBAAgB,4BAA4B,IAAI,SAAS,sBAAsB,EAAE,CAQhF"}
@@ -1,4 +1,3 @@
1
- import { fallbackStarterTemplates } from './categories/fallback';
2
1
  import { booksReadingStarterTemplates } from './categories/books-reading';
3
2
  import { businessProductivityStarterTemplates } from './categories/business-productivity';
4
3
  import { developerToolsStarterTemplates } from './categories/developer-tools';
@@ -47,13 +46,6 @@ const STARTER_TEMPLATE_REGISTRY = {
47
46
  utilities_tools: utilitiesToolsStarterTemplates,
48
47
  weather: weatherStarterTemplates,
49
48
  };
50
- function resolveFallbackTemplate() {
51
- const fallbackDefault = fallbackStarterTemplates.find((template) => template.id === 'default');
52
- if (!fallbackDefault) {
53
- throw new Error('Fallback starter template registry is missing default template.');
54
- }
55
- return fallbackDefault;
56
- }
57
49
  function createTemplateSummary(category, template) {
58
50
  return {
59
51
  category,
@@ -66,16 +58,19 @@ export function resolveStarterTemplate(seed, templateId = 'default') {
66
58
  const categoryTemplates = STARTER_TEMPLATE_REGISTRY[seed.category];
67
59
  const selected = categoryTemplates?.find((template) => template.id === templateId);
68
60
  const categoryDefault = categoryTemplates?.find((template) => template.id === 'default');
69
- return selected ?? categoryDefault ?? resolveFallbackTemplate();
61
+ const resolved = selected ?? categoryDefault;
62
+ if (!resolved)
63
+ throw new Error(`Category "${seed.category}" has no registered starter template.`);
64
+ return resolved;
70
65
  }
71
66
  export function listStarterTemplates(category) {
72
67
  if (category) {
73
- return STARTER_TEMPLATE_REGISTRY[category] ?? fallbackStarterTemplates;
68
+ return STARTER_TEMPLATE_REGISTRY[category] ?? [];
74
69
  }
75
70
  const registeredTemplates = Object.values(STARTER_TEMPLATE_REGISTRY)
76
71
  .filter((templates) => templates !== undefined)
77
72
  .flatMap((templates) => templates);
78
- return [...fallbackStarterTemplates, ...registeredTemplates];
73
+ return registeredTemplates;
79
74
  }
80
75
  export function listStarterTemplatesByCategory(category) {
81
76
  return listStarterTemplates(category).map((template) => createTemplateSummary(category, template));
@@ -1 +1 @@
1
- {"version":3,"file":"starter.registry.js","sourceRoot":"","sources":["../../../src/templates/starter/starter.registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"starter.registry.js","sourceRoot":"","sources":["../../../src/templates/starter/starter.registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"starter.template.d.ts","sourceRoot":"","sources":["../../../src/templates/starter/starter.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,GACvB,CAAC;AACF,YAAY,EACV,iCAAiC,EACjC,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAGb"}
1
+ {"version":3,"file":"starter.template.d.ts","sourceRoot":"","sources":["../../../src/templates/starter/starter.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,GACvB,CAAC;AACF,YAAY,EACV,iCAAiC,EACjC,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAGb"}
@@ -1,9 +1,10 @@
1
+ import { assertTemplateManifestReady, validateTemplateManifest, } from '../../authoring/compose-category-manifest';
1
2
  import { listStarterTemplateSummaries, listStarterTemplates, listStarterTemplatesByCategory, resolveStarterTemplate, } from './starter.registry';
2
3
  import { TEMPLATE_KINDS } from './starter.types';
3
4
  export { TEMPLATE_KINDS };
4
5
  export { listStarterTemplateSummaries, listStarterTemplates, listStarterTemplatesByCategory, resolveStarterTemplate, };
5
6
  export function createStarterTemplate(seed, options = {}) {
6
7
  const template = resolveStarterTemplate(seed, options.templateId);
7
- return template.create(seed, options);
8
+ return assertTemplateManifestReady(validateTemplateManifest(template.create(seed, options)));
8
9
  }
9
10
  //# sourceMappingURL=starter.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"starter.template.js","sourceRoot":"","sources":["../../../src/templates/starter/starter.template.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAkD,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,GACvB,CAAC;AAYF,MAAM,UAAU,qBAAqB,CACnC,IAAkB,EAClB,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"starter.template.js","sourceRoot":"","sources":["../../../src/templates/starter/starter.template.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAkD,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,8BAA8B,EAC9B,sBAAsB,GACvB,CAAC;AAYF,MAAM,UAAU,qBAAqB,CACnC,IAAkB,EAClB,UAAkC,EAAE;IAEpC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,OAAO,2BAA2B,CAAC,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC/F,CAAC"}
@@ -21,6 +21,7 @@ export interface TemplateSeed {
21
21
  focusAreas?: readonly [string, string, string];
22
22
  primaryColor: string;
23
23
  harmony: ThemeConfig['light']['harmony'];
24
+ theme?: ThemeConfig;
24
25
  version?: string;
25
26
  themeId?: string;
26
27
  themeName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"starter.types.d.ts","sourceRoot":"","sources":["../../../src/templates/starter/starter.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElF,eAAO,MAAM,cAAc,sBAAuB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,iBAAiB,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,WAAW,CAAC;AAEjB,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,iBAAiB,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;CAChC"}
1
+ {"version":3,"file":"starter.types.d.ts","sourceRoot":"","sources":["../../../src/templates/starter/starter.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElF,eAAO,MAAM,cAAc,sBAAuB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,iBAAiB,CAAC;IACtB,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,WAAW,CAAC;AAEjB,MAAM,WAAW,iCAAiC;IAChD,EAAE,EAAE,iBAAiB,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,sBAAsB,CAAC;CAChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ankhorage/templates",
3
- "version": "7.0.2",
3
+ "version": "8.0.0",
4
4
  "description": "Reusable Ankhorage app templates, presets, and manifest generators.",
5
5
  "homepage": "https://github.com/ankhorage/templates#readme",
6
6
  "bugs": {
@@ -74,8 +74,9 @@
74
74
  "knip:check": "ankhorage-knip"
75
75
  },
76
76
  "dependencies": {
77
+ "@ankhorage/color-theory": "^0.3.0",
77
78
  "@ankhorage/contracts": "^8.0.2",
78
- "@ankhorage/zora": "^2.13.2"
79
+ "@ankhorage/zora": "^4.0.0"
79
80
  },
80
81
  "devDependencies": {
81
82
  "@ankhorage/ankh": "^0.8.8",
@@ -1,4 +0,0 @@
1
- import type { AppManifest } from '@ankhorage/contracts';
2
- import type { TemplateSeed } from '../../starter.types';
3
- export declare function createFallbackStarterTemplate(seed: TemplateSeed): AppManifest;
4
- //# sourceMappingURL=default.template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.template.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/fallback/default.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAIxD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CAY7E"}
@@ -1,17 +0,0 @@
1
- import { DEFAULT_TEMPLATE_VERSION } from '../../../../internal/defaults';
2
- import { createManifestShell, createTheme } from '../../../shared';
3
- import { createFallbackNavigator, createFallbackScreenIds } from './routes';
4
- import { createFallbackScreens } from './screens';
5
- export function createFallbackStarterTemplate(seed) {
6
- const idPrefix = `${seed.category}-starter`;
7
- const theme = createTheme(seed);
8
- const screenIds = createFallbackScreenIds(idPrefix);
9
- return createManifestShell({
10
- seed,
11
- theme,
12
- version: seed.version ?? DEFAULT_TEMPLATE_VERSION,
13
- navigator: createFallbackNavigator(screenIds),
14
- screens: createFallbackScreens(seed, idPrefix, screenIds),
15
- });
16
- }
17
- //# sourceMappingURL=default.template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.template.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/fallback/default.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,UAAU,6BAA6B,CAAC,IAAkB;IAC9D,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,QAAQ,UAAU,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAEpD,OAAO,mBAAmB,CAAC;QACzB,IAAI;QACJ,KAAK;QACL,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,wBAAwB;QACjD,SAAS,EAAE,uBAAuB,CAAC,SAAS,CAAC;QAC7C,OAAO,EAAE,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC"}
@@ -1,8 +0,0 @@
1
- import { createFallbackStarterTemplate } from './default.template';
2
- export declare const fallbackStarterTemplates: {
3
- id: string;
4
- label: string;
5
- description: string;
6
- create: typeof createFallbackStarterTemplate;
7
- }[];
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/fallback/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE,eAAO,MAAM,wBAAwB;;;;;GAOmB,CAAC"}
@@ -1,10 +0,0 @@
1
- import { createFallbackStarterTemplate } from './default.template';
2
- export const fallbackStarterTemplates = [
3
- {
4
- id: 'default',
5
- label: 'Generic starter',
6
- description: 'The original Home, Details, and Settings starter manifest.',
7
- create: createFallbackStarterTemplate,
8
- },
9
- ];
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/fallback/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE,6BAA6B;KACtC;CACqD,CAAC"}