@ankhorage/templates 1.0.0 → 1.1.1
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.
- package/CHANGELOG.md +12 -0
- package/README.md +69 -13
- package/dist/generators/create-category-app.d.ts +1 -1
- package/dist/generators/create-category-app.d.ts.map +1 -1
- package/dist/generators/create-category-app.js +1 -1
- package/dist/generators/create-category-app.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/templates/shared/auth.d.ts +4 -0
- package/dist/templates/shared/auth.d.ts.map +1 -0
- package/dist/templates/shared/auth.js +4 -0
- package/dist/templates/shared/auth.js.map +1 -0
- package/dist/templates/shared/create-manifest-shell.d.ts +13 -0
- package/dist/templates/shared/create-manifest-shell.d.ts.map +1 -0
- package/dist/templates/shared/create-manifest-shell.js +18 -0
- package/dist/templates/shared/create-manifest-shell.js.map +1 -0
- package/dist/templates/shared/create-theme.d.ts +10 -0
- package/dist/templates/shared/create-theme.d.ts.map +1 -0
- package/dist/templates/shared/create-theme.js +19 -0
- package/dist/templates/shared/create-theme.js.map +1 -0
- package/dist/templates/shared/index.d.ts +7 -0
- package/dist/templates/shared/index.d.ts.map +1 -0
- package/dist/templates/shared/index.js +7 -0
- package/dist/templates/shared/index.js.map +1 -0
- package/dist/templates/shared/route.d.ts +10 -0
- package/dist/templates/shared/route.d.ts.map +1 -0
- package/dist/templates/shared/route.js +9 -0
- package/dist/templates/shared/route.js.map +1 -0
- package/dist/templates/shared/screen.d.ts +9 -0
- package/dist/templates/shared/screen.d.ts.map +1 -0
- package/dist/templates/shared/screen.js +10 -0
- package/dist/templates/shared/screen.js.map +1 -0
- package/dist/templates/shared/zora-node-helpers.d.ts +13 -0
- package/dist/templates/shared/zora-node-helpers.d.ts.map +1 -0
- package/dist/templates/shared/zora-node-helpers.js +28 -0
- package/dist/templates/shared/zora-node-helpers.js.map +1 -0
- package/dist/templates/starter/categories/fallback/default.template.d.ts +4 -0
- package/dist/templates/starter/categories/fallback/default.template.d.ts.map +1 -0
- package/dist/templates/starter/categories/fallback/default.template.js +17 -0
- package/dist/templates/starter/categories/fallback/default.template.js.map +1 -0
- package/dist/templates/starter/categories/fallback/index.d.ts +9 -0
- package/dist/templates/starter/categories/fallback/index.d.ts.map +1 -0
- package/dist/templates/starter/categories/fallback/index.js +11 -0
- package/dist/templates/starter/categories/fallback/index.js.map +1 -0
- package/dist/templates/starter/categories/fallback/routes.d.ts +9 -0
- package/dist/templates/starter/categories/fallback/routes.d.ts.map +1 -0
- package/dist/templates/starter/categories/fallback/routes.js +20 -0
- package/dist/templates/starter/categories/fallback/routes.js.map +1 -0
- package/dist/templates/starter/categories/fallback/screens.d.ts +5 -0
- package/dist/templates/starter/categories/fallback/screens.d.ts.map +1 -0
- package/dist/templates/starter/categories/fallback/screens.js +126 -0
- package/dist/templates/starter/categories/fallback/screens.js.map +1 -0
- package/dist/templates/starter/categories/food-drink/content.d.ts +80 -0
- package/dist/templates/starter/categories/food-drink/content.d.ts.map +1 -0
- package/dist/templates/starter/categories/food-drink/content.js +100 -0
- package/dist/templates/starter/categories/food-drink/content.js.map +1 -0
- package/dist/templates/starter/categories/food-drink/default.template.d.ts +4 -0
- package/dist/templates/starter/categories/food-drink/default.template.d.ts.map +1 -0
- package/dist/templates/starter/categories/food-drink/default.template.js +17 -0
- package/dist/templates/starter/categories/food-drink/default.template.js.map +1 -0
- package/dist/templates/starter/categories/food-drink/index.d.ts +9 -0
- package/dist/templates/starter/categories/food-drink/index.d.ts.map +1 -0
- package/dist/templates/starter/categories/food-drink/index.js +11 -0
- package/dist/templates/starter/categories/food-drink/index.js.map +1 -0
- package/dist/templates/starter/categories/food-drink/routes.d.ts +11 -0
- package/dist/templates/starter/categories/food-drink/routes.d.ts.map +1 -0
- package/dist/templates/starter/categories/food-drink/routes.js +49 -0
- package/dist/templates/starter/categories/food-drink/routes.js.map +1 -0
- package/dist/templates/starter/categories/food-drink/screens.d.ts +5 -0
- package/dist/templates/starter/categories/food-drink/screens.d.ts.map +1 -0
- package/dist/templates/starter/categories/food-drink/screens.js +92 -0
- package/dist/templates/starter/categories/food-drink/screens.js.map +1 -0
- package/dist/templates/starter/categories/health-fitness/content.d.ts +80 -0
- package/dist/templates/starter/categories/health-fitness/content.d.ts.map +1 -0
- package/dist/templates/starter/categories/health-fitness/content.js +100 -0
- package/dist/templates/starter/categories/health-fitness/content.js.map +1 -0
- package/dist/templates/starter/categories/health-fitness/default.template.d.ts +4 -0
- package/dist/templates/starter/categories/health-fitness/default.template.d.ts.map +1 -0
- package/dist/templates/starter/categories/health-fitness/default.template.js +17 -0
- package/dist/templates/starter/categories/health-fitness/default.template.js.map +1 -0
- package/dist/templates/starter/categories/health-fitness/index.d.ts +9 -0
- package/dist/templates/starter/categories/health-fitness/index.d.ts.map +1 -0
- package/dist/templates/starter/categories/health-fitness/index.js +11 -0
- package/dist/templates/starter/categories/health-fitness/index.js.map +1 -0
- package/dist/templates/starter/categories/health-fitness/routes.d.ts +11 -0
- package/dist/templates/starter/categories/health-fitness/routes.d.ts.map +1 -0
- package/dist/templates/starter/categories/health-fitness/routes.js +49 -0
- package/dist/templates/starter/categories/health-fitness/routes.js.map +1 -0
- package/dist/templates/starter/categories/health-fitness/screens.d.ts +5 -0
- package/dist/templates/starter/categories/health-fitness/screens.d.ts.map +1 -0
- package/dist/templates/starter/categories/health-fitness/screens.js +88 -0
- package/dist/templates/starter/categories/health-fitness/screens.js.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/content.d.ts +80 -0
- package/dist/templates/starter/categories/shopping-commerce/content.d.ts.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/content.js +100 -0
- package/dist/templates/starter/categories/shopping-commerce/content.js.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/default.template.d.ts +4 -0
- package/dist/templates/starter/categories/shopping-commerce/default.template.d.ts.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/default.template.js +17 -0
- package/dist/templates/starter/categories/shopping-commerce/default.template.js.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/index.d.ts +9 -0
- package/dist/templates/starter/categories/shopping-commerce/index.d.ts.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/index.js +11 -0
- package/dist/templates/starter/categories/shopping-commerce/index.js.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/routes.d.ts +11 -0
- package/dist/templates/starter/categories/shopping-commerce/routes.d.ts.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/routes.js +49 -0
- package/dist/templates/starter/categories/shopping-commerce/routes.js.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/screens.d.ts +5 -0
- package/dist/templates/starter/categories/shopping-commerce/screens.d.ts.map +1 -0
- package/dist/templates/starter/categories/shopping-commerce/screens.js +88 -0
- package/dist/templates/starter/categories/shopping-commerce/screens.js.map +1 -0
- package/dist/templates/starter/categories/social-community/community.template.d.ts +4 -0
- package/dist/templates/starter/categories/social-community/community.template.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/community.template.js +17 -0
- package/dist/templates/starter/categories/social-community/community.template.js.map +1 -0
- package/dist/templates/starter/categories/social-community/content.d.ts +183 -0
- package/dist/templates/starter/categories/social-community/content.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/content.js +231 -0
- package/dist/templates/starter/categories/social-community/content.js.map +1 -0
- package/dist/templates/starter/categories/social-community/creator.template.d.ts +4 -0
- package/dist/templates/starter/categories/social-community/creator.template.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/creator.template.js +17 -0
- package/dist/templates/starter/categories/social-community/creator.template.js.map +1 -0
- package/dist/templates/starter/categories/social-community/index.d.ts +10 -0
- package/dist/templates/starter/categories/social-community/index.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/index.js +25 -0
- package/dist/templates/starter/categories/social-community/index.js.map +1 -0
- package/dist/templates/starter/categories/social-community/routes.community.d.ts +11 -0
- package/dist/templates/starter/categories/social-community/routes.community.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/routes.community.js +49 -0
- package/dist/templates/starter/categories/social-community/routes.community.js.map +1 -0
- package/dist/templates/starter/categories/social-community/routes.creator.d.ts +11 -0
- package/dist/templates/starter/categories/social-community/routes.creator.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/routes.creator.js +49 -0
- package/dist/templates/starter/categories/social-community/routes.creator.js.map +1 -0
- package/dist/templates/starter/categories/social-community/screens.community.d.ts +5 -0
- package/dist/templates/starter/categories/social-community/screens.community.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/screens.community.js +95 -0
- package/dist/templates/starter/categories/social-community/screens.community.js.map +1 -0
- package/dist/templates/starter/categories/social-community/screens.creator.d.ts +5 -0
- package/dist/templates/starter/categories/social-community/screens.creator.d.ts.map +1 -0
- package/dist/templates/starter/categories/social-community/screens.creator.js +95 -0
- package/dist/templates/starter/categories/social-community/screens.creator.js.map +1 -0
- package/dist/templates/starter/index.d.ts +2 -0
- package/dist/templates/starter/index.d.ts.map +1 -0
- package/dist/templates/starter/index.js +2 -0
- package/dist/templates/starter/index.js.map +1 -0
- package/dist/templates/starter/starter.registry.d.ts +5 -0
- package/dist/templates/starter/starter.registry.d.ts.map +1 -0
- package/dist/templates/starter/starter.registry.js +34 -0
- package/dist/templates/starter/starter.registry.js.map +1 -0
- package/dist/templates/starter/starter.template.d.ts +6 -0
- package/dist/templates/starter/starter.template.d.ts.map +1 -0
- package/dist/templates/starter/starter.template.js +8 -0
- package/dist/templates/starter/starter.template.js.map +1 -0
- package/dist/templates/starter/starter.types.d.ts +33 -0
- package/dist/templates/starter/starter.types.d.ts.map +1 -0
- package/dist/templates/starter/starter.types.js +2 -0
- package/dist/templates/starter/starter.types.js.map +1 -0
- package/dist/templates/starter.template.d.ts +1 -18
- package/dist/templates/starter.template.d.ts.map +1 -1
- package/dist/templates/starter.template.js +1 -214
- package/dist/templates/starter.template.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { createHeader, createPage, createScreen, createSection, createSettingsSection, createZoraNode, } from '../../../shared';
|
|
2
|
+
import { creatorSocialContent } from './content';
|
|
3
|
+
function createCreatorScreen(args) {
|
|
4
|
+
const sectionNodes = args.content.sections.map((section, sectionIndex) => createSection(`${args.idPrefix}-${args.name.toLowerCase()}-section-${sectionIndex + 1}`, {
|
|
5
|
+
title: section.title,
|
|
6
|
+
description: section.description,
|
|
7
|
+
}, [
|
|
8
|
+
createZoraNode(`${args.idPrefix}-${args.name.toLowerCase()}-panel-${sectionIndex + 1}`, 'Panel', {
|
|
9
|
+
title: section.title,
|
|
10
|
+
description: section.description,
|
|
11
|
+
tone: 'subtle',
|
|
12
|
+
}, section.cards.map((card, cardIndex) => createZoraNode(`${args.idPrefix}-${args.name.toLowerCase()}-card-${sectionIndex + 1}-${cardIndex + 1}`, 'Card', {
|
|
13
|
+
eyebrow: card.eyebrow,
|
|
14
|
+
title: card.title,
|
|
15
|
+
description: card.description,
|
|
16
|
+
tone: 'outline',
|
|
17
|
+
}))),
|
|
18
|
+
]));
|
|
19
|
+
return createScreen({
|
|
20
|
+
id: args.screenId,
|
|
21
|
+
name: args.name,
|
|
22
|
+
title: args.content.title,
|
|
23
|
+
description: args.content.description,
|
|
24
|
+
root: createPage(`${args.idPrefix}-${args.name.toLowerCase()}-page`, { width: 'wide' }, [
|
|
25
|
+
createHeader(`${args.idPrefix}-${args.name.toLowerCase()}-header`, {
|
|
26
|
+
eyebrow: args.content.eyebrow,
|
|
27
|
+
title: args.content.title,
|
|
28
|
+
description: args.content.description,
|
|
29
|
+
}),
|
|
30
|
+
...sectionNodes,
|
|
31
|
+
]),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
export function createCreatorSocialScreens(seed, idPrefix, screenIds) {
|
|
35
|
+
return {
|
|
36
|
+
[screenIds.studio]: createCreatorScreen({
|
|
37
|
+
idPrefix,
|
|
38
|
+
screenId: screenIds.studio,
|
|
39
|
+
name: 'Studio',
|
|
40
|
+
content: creatorSocialContent.studio,
|
|
41
|
+
}),
|
|
42
|
+
[screenIds.posts]: createCreatorScreen({
|
|
43
|
+
idPrefix,
|
|
44
|
+
screenId: screenIds.posts,
|
|
45
|
+
name: 'Posts',
|
|
46
|
+
content: creatorSocialContent.posts,
|
|
47
|
+
}),
|
|
48
|
+
[screenIds.audience]: createCreatorScreen({
|
|
49
|
+
idPrefix,
|
|
50
|
+
screenId: screenIds.audience,
|
|
51
|
+
name: 'Audience',
|
|
52
|
+
content: creatorSocialContent.audience,
|
|
53
|
+
}),
|
|
54
|
+
[screenIds.insights]: createCreatorScreen({
|
|
55
|
+
idPrefix,
|
|
56
|
+
screenId: screenIds.insights,
|
|
57
|
+
name: 'Insights',
|
|
58
|
+
content: creatorSocialContent.insights,
|
|
59
|
+
}),
|
|
60
|
+
[screenIds.settings]: createScreen({
|
|
61
|
+
id: screenIds.settings,
|
|
62
|
+
name: 'Settings',
|
|
63
|
+
title: 'Creator settings',
|
|
64
|
+
description: creatorSocialContent.settings.description,
|
|
65
|
+
root: createPage(`${idPrefix}-settings-page`, { width: 'default' }, [
|
|
66
|
+
createHeader(`${idPrefix}-settings-header`, {
|
|
67
|
+
eyebrow: creatorSocialContent.settings.eyebrow,
|
|
68
|
+
title: creatorSocialContent.settings.title,
|
|
69
|
+
description: creatorSocialContent.settings.description,
|
|
70
|
+
}),
|
|
71
|
+
createSettingsSection(`${idPrefix}-settings`, 'Publishing defaults', 'Model profile, notification, and publishing preferences for a creator-led app.', [
|
|
72
|
+
{
|
|
73
|
+
id: 'profile-row',
|
|
74
|
+
title: 'Public profile',
|
|
75
|
+
description: 'Creator profile fields are ready for avatar, bio, and links.',
|
|
76
|
+
meta: 'ready',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: 'publish-row',
|
|
80
|
+
title: 'Publishing review',
|
|
81
|
+
description: 'Drafts can move through review before scheduling.',
|
|
82
|
+
meta: 'manual',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
id: 'auth-row',
|
|
86
|
+
title: 'Auth scope',
|
|
87
|
+
description: `${seed.categoryLabel} inherits the manifest infra auth setting.`,
|
|
88
|
+
meta: 'global',
|
|
89
|
+
},
|
|
90
|
+
]),
|
|
91
|
+
]),
|
|
92
|
+
}),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=screens.creator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screens.creator.js","sourceRoot":"","sources":["../../../../../src/templates/starter/categories/social-community/screens.creator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { createStarterTemplate, TEMPLATE_KINDS, type CategoryStarterTemplateDefinition, type StarterTemplateFactory, type StarterTemplateId, type StarterTemplateOptions, type StarterTemplateSelection, type TemplateKind, type TemplateSeed, } from './starter.template';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/starter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/starter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GAQf,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AppCategory } from '@ankhorage/contracts';
|
|
2
|
+
import type { CategoryStarterTemplateDefinition, TemplateSeed } from './starter.types';
|
|
3
|
+
export declare function resolveStarterTemplate(seed: TemplateSeed, templateId?: string): CategoryStarterTemplateDefinition;
|
|
4
|
+
export declare function listStarterTemplates(category?: AppCategory): readonly CategoryStarterTemplateDefinition[];
|
|
5
|
+
//# sourceMappingURL=starter.registry.d.ts.map
|
|
@@ -0,0 +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;AAOxD,OAAO,KAAK,EAAE,iCAAiC,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAqBvF,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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { fallbackStarterTemplates } from './categories/fallback';
|
|
2
|
+
import { foodDrinkStarterTemplates } from './categories/food-drink';
|
|
3
|
+
import { healthFitnessStarterTemplates } from './categories/health-fitness';
|
|
4
|
+
import { shoppingCommerceStarterTemplates } from './categories/shopping-commerce';
|
|
5
|
+
import { socialCommunityStarterTemplates } from './categories/social-community';
|
|
6
|
+
const STARTER_TEMPLATE_REGISTRY = {
|
|
7
|
+
food_drink: foodDrinkStarterTemplates,
|
|
8
|
+
health_fitness: healthFitnessStarterTemplates,
|
|
9
|
+
shopping_commerce: shoppingCommerceStarterTemplates,
|
|
10
|
+
social_community: socialCommunityStarterTemplates,
|
|
11
|
+
};
|
|
12
|
+
function resolveFallbackTemplate() {
|
|
13
|
+
const fallbackDefault = fallbackStarterTemplates.find((template) => template.id === 'default');
|
|
14
|
+
if (!fallbackDefault) {
|
|
15
|
+
throw new Error('Fallback starter template registry is missing default template.');
|
|
16
|
+
}
|
|
17
|
+
return fallbackDefault;
|
|
18
|
+
}
|
|
19
|
+
export function resolveStarterTemplate(seed, templateId = 'default') {
|
|
20
|
+
const categoryTemplates = STARTER_TEMPLATE_REGISTRY[seed.category];
|
|
21
|
+
const selected = categoryTemplates?.find((template) => template.id === templateId);
|
|
22
|
+
const categoryDefault = categoryTemplates?.find((template) => template.id === 'default');
|
|
23
|
+
return selected ?? categoryDefault ?? resolveFallbackTemplate();
|
|
24
|
+
}
|
|
25
|
+
export function listStarterTemplates(category) {
|
|
26
|
+
if (category) {
|
|
27
|
+
return STARTER_TEMPLATE_REGISTRY[category] ?? fallbackStarterTemplates;
|
|
28
|
+
}
|
|
29
|
+
const registeredTemplates = Object.values(STARTER_TEMPLATE_REGISTRY)
|
|
30
|
+
.filter((templates) => templates !== undefined)
|
|
31
|
+
.flatMap((templates) => templates);
|
|
32
|
+
return [...fallbackStarterTemplates, ...registeredTemplates];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=starter.registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starter.registry.js","sourceRoot":"","sources":["../../../src/templates/starter/starter.registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAGhF,MAAM,yBAAyB,GAE3B;IACF,UAAU,EAAE,yBAAyB;IACrC,cAAc,EAAE,6BAA6B;IAC7C,iBAAiB,EAAE,gCAAgC;IACnD,gBAAgB,EAAE,+BAA+B;CAClD,CAAC;AAEF,SAAS,uBAAuB;IAC9B,MAAM,eAAe,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAE/F,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAkB,EAClB,UAAU,GAAG,SAAS;IAEtB,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,iBAAiB,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;IACnF,MAAM,eAAe,GAAG,iBAAiB,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAEzF,OAAO,QAAQ,IAAI,eAAe,IAAI,uBAAuB,EAAE,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAsB;IAEtB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,yBAAyB,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC;IACzE,CAAC;IAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;SACjE,MAAM,CACL,CAAC,SAAS,EAA6D,EAAE,CACvE,SAAS,KAAK,SAAS,CAC1B;SACA,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAErC,OAAO,CAAC,GAAG,wBAAwB,EAAE,GAAG,mBAAmB,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AppManifest } from '@ankhorage/contracts';
|
|
2
|
+
import { TEMPLATE_KINDS, type StarterTemplateOptions, type TemplateSeed } from './starter.types';
|
|
3
|
+
export { TEMPLATE_KINDS };
|
|
4
|
+
export type { CategoryStarterTemplateDefinition, StarterTemplateFactory, StarterTemplateId, StarterTemplateOptions, StarterTemplateSelection, TemplateKind, TemplateSeed, } from './starter.types';
|
|
5
|
+
export declare function createStarterTemplate(seed: TemplateSeed, options?: StarterTemplateOptions): AppManifest;
|
|
6
|
+
//# sourceMappingURL=starter.template.d.ts.map
|
|
@@ -0,0 +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;AAGxD,OAAO,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EACV,iCAAiC,EACjC,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,sBAA2B,GACnC,WAAW,CAGb"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { resolveStarterTemplate } from './starter.registry';
|
|
2
|
+
import { TEMPLATE_KINDS } from './starter.types';
|
|
3
|
+
export { TEMPLATE_KINDS };
|
|
4
|
+
export function createStarterTemplate(seed, options = {}) {
|
|
5
|
+
const template = resolveStarterTemplate(seed, options.templateId);
|
|
6
|
+
return template.create(seed, options);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=starter.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starter.template.js","sourceRoot":"","sources":["../../../src/templates/starter/starter.template.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAkD,MAAM,iBAAiB,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,CAAC;AAW1B,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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AppCategory, AppManifest, ThemeConfig } from '@ankhorage/contracts';
|
|
2
|
+
export declare const TEMPLATE_KINDS: readonly ["starter"];
|
|
3
|
+
export type TemplateKind = (typeof TEMPLATE_KINDS)[number];
|
|
4
|
+
export type StarterTemplateId = string;
|
|
5
|
+
export interface StarterTemplateSelection {
|
|
6
|
+
category: AppCategory;
|
|
7
|
+
templateId?: StarterTemplateId;
|
|
8
|
+
}
|
|
9
|
+
export interface TemplateSeed {
|
|
10
|
+
category: AppCategory;
|
|
11
|
+
categoryLabel: string;
|
|
12
|
+
appName: string;
|
|
13
|
+
slug: string;
|
|
14
|
+
summary: string;
|
|
15
|
+
focusAreas?: readonly [string, string, string];
|
|
16
|
+
primaryColor: string;
|
|
17
|
+
harmony: ThemeConfig['light']['harmony'];
|
|
18
|
+
systemTone: ThemeConfig['light']['systemTone'];
|
|
19
|
+
version?: string;
|
|
20
|
+
themeId?: string;
|
|
21
|
+
themeName?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface StarterTemplateOptions {
|
|
24
|
+
templateId?: StarterTemplateId;
|
|
25
|
+
}
|
|
26
|
+
export type StarterTemplateFactory = (seed: TemplateSeed, options?: StarterTemplateOptions) => AppManifest;
|
|
27
|
+
export interface CategoryStarterTemplateDefinition {
|
|
28
|
+
id: StarterTemplateId;
|
|
29
|
+
label: string;
|
|
30
|
+
description: string;
|
|
31
|
+
create: StarterTemplateFactory;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=starter.types.d.ts.map
|
|
@@ -0,0 +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,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,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/C,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starter.types.js","sourceRoot":"","sources":["../../../src/templates/starter/starter.types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,CAAU,CAAC"}
|
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const TEMPLATE_KINDS: readonly ["starter"];
|
|
3
|
-
export type TemplateKind = (typeof TEMPLATE_KINDS)[number];
|
|
4
|
-
export interface TemplateSeed {
|
|
5
|
-
category: AppCategory;
|
|
6
|
-
categoryLabel: string;
|
|
7
|
-
appName: string;
|
|
8
|
-
slug: string;
|
|
9
|
-
summary: string;
|
|
10
|
-
focusAreas: readonly [string, string, string];
|
|
11
|
-
primaryColor: string;
|
|
12
|
-
harmony: ThemeConfig['light']['harmony'];
|
|
13
|
-
systemTone: ThemeConfig['light']['systemTone'];
|
|
14
|
-
version?: string;
|
|
15
|
-
themeId?: string;
|
|
16
|
-
themeName?: string;
|
|
17
|
-
}
|
|
18
|
-
export declare function createStarterTemplate(seed: TemplateSeed): AppManifest;
|
|
1
|
+
export { createStarterTemplate, TEMPLATE_KINDS, type CategoryStarterTemplateDefinition, type StarterTemplateFactory, type StarterTemplateId, type StarterTemplateOptions, type StarterTemplateSelection, type TemplateKind, type TemplateSeed, } from './starter';
|
|
19
2
|
//# sourceMappingURL=starter.template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starter.template.d.ts","sourceRoot":"","sources":["../../src/templates/starter.template.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"starter.template.d.ts","sourceRoot":"","sources":["../../src/templates/starter.template.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,KAAK,iCAAiC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAC"}
|
|
@@ -1,215 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { createZoraNode } from '../internal/zora-nodes';
|
|
3
|
-
export const TEMPLATE_KINDS = ['starter'];
|
|
4
|
-
function createTheme(seed) {
|
|
5
|
-
const themeId = seed.themeId ?? DEFAULT_THEME_ID;
|
|
6
|
-
return {
|
|
7
|
-
id: themeId,
|
|
8
|
-
name: seed.themeName ?? DEFAULT_THEME_NAME,
|
|
9
|
-
light: {
|
|
10
|
-
primaryColor: seed.primaryColor,
|
|
11
|
-
harmony: seed.harmony,
|
|
12
|
-
systemTone: seed.systemTone,
|
|
13
|
-
},
|
|
14
|
-
dark: {
|
|
15
|
-
primaryColor: seed.primaryColor,
|
|
16
|
-
harmony: seed.harmony,
|
|
17
|
-
systemTone: seed.systemTone,
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
export function createStarterTemplate(seed) {
|
|
22
|
-
const idPrefix = `${seed.category}-starter`;
|
|
23
|
-
const theme = createTheme(seed);
|
|
24
|
-
const themeId = theme.id;
|
|
25
|
-
const version = seed.version ?? DEFAULT_TEMPLATE_VERSION;
|
|
26
|
-
const homeScreenId = `${idPrefix}-home`;
|
|
27
|
-
const detailsScreenId = `${idPrefix}-details`;
|
|
28
|
-
const settingsScreenId = `${idPrefix}-settings`;
|
|
29
|
-
const signInScreenId = `${idPrefix}-sign-in`;
|
|
30
|
-
return {
|
|
31
|
-
metadata: {
|
|
32
|
-
name: seed.appName,
|
|
33
|
-
slug: seed.slug,
|
|
34
|
-
version,
|
|
35
|
-
themeId,
|
|
36
|
-
},
|
|
37
|
-
themes: [theme],
|
|
38
|
-
activeThemeId: themeId,
|
|
39
|
-
infra: structuredClone(BASE_INFRA),
|
|
40
|
-
settings: structuredClone(BASE_SETTINGS),
|
|
41
|
-
navigator: {
|
|
42
|
-
type: 'stack',
|
|
43
|
-
initialRouteName: 'index',
|
|
44
|
-
routes: [
|
|
45
|
-
{ name: 'index', screenId: homeScreenId, label: 'Home' },
|
|
46
|
-
{ name: 'details', screenId: detailsScreenId, label: 'Details' },
|
|
47
|
-
{ name: 'settings', screenId: settingsScreenId, label: 'Settings' },
|
|
48
|
-
{ name: 'sign-in', screenId: signInScreenId, label: 'Sign in' },
|
|
49
|
-
],
|
|
50
|
-
},
|
|
51
|
-
screens: {
|
|
52
|
-
[homeScreenId]: {
|
|
53
|
-
id: homeScreenId,
|
|
54
|
-
name: 'Home',
|
|
55
|
-
title: seed.appName,
|
|
56
|
-
description: `Starter experience for ${seed.categoryLabel}.`,
|
|
57
|
-
root: createZoraNode(`${idPrefix}-home-page`, 'Page', { width: 'wide', testID: `${idPrefix}-home-page` }, [
|
|
58
|
-
createZoraNode(`${idPrefix}-home-header`, 'PageHeader', {
|
|
59
|
-
eyebrow: seed.categoryLabel,
|
|
60
|
-
title: seed.appName,
|
|
61
|
-
description: `Starter experience for ${seed.summary}.`,
|
|
62
|
-
}),
|
|
63
|
-
createZoraNode(`${idPrefix}-home-section`, 'PageSection', {
|
|
64
|
-
title: 'Launch surface',
|
|
65
|
-
description: 'Use this starter as the base for navigation, content modules, and onboarding.',
|
|
66
|
-
}, [
|
|
67
|
-
createZoraNode(`${idPrefix}-overview-panel`, 'Panel', {
|
|
68
|
-
title: 'Preset-driven structure',
|
|
69
|
-
description: 'Templates define layout and flows. Presets inject category branding and defaults.',
|
|
70
|
-
tone: 'subtle',
|
|
71
|
-
}, [
|
|
72
|
-
createZoraNode(`${idPrefix}-overview-notice`, 'Notice', {
|
|
73
|
-
title: 'ZORA-first authoring',
|
|
74
|
-
description: 'This screen uses ZORA layout and pattern nodes instead of legacy Surface-only trees.',
|
|
75
|
-
tone: 'primary',
|
|
76
|
-
}),
|
|
77
|
-
createZoraNode(`${idPrefix}-focus-card-1`, 'Card', {
|
|
78
|
-
eyebrow: 'Focus area',
|
|
79
|
-
title: seed.focusAreas[0],
|
|
80
|
-
description: `Use this panel to shape the primary ${seed.categoryLabel.toLowerCase()} flow.`,
|
|
81
|
-
tone: 'outline',
|
|
82
|
-
}),
|
|
83
|
-
createZoraNode(`${idPrefix}-focus-card-2`, 'Card', {
|
|
84
|
-
eyebrow: 'Focus area',
|
|
85
|
-
title: seed.focusAreas[1],
|
|
86
|
-
description: 'Add the supporting content, filters, and state to match your product.',
|
|
87
|
-
tone: 'outline',
|
|
88
|
-
}),
|
|
89
|
-
createZoraNode(`${idPrefix}-focus-card-3`, 'Card', {
|
|
90
|
-
eyebrow: 'Focus area',
|
|
91
|
-
title: seed.focusAreas[2],
|
|
92
|
-
description: 'Keep the third block flexible for analytics, recommendations, or community features.',
|
|
93
|
-
tone: 'outline',
|
|
94
|
-
}),
|
|
95
|
-
createZoraNode(`${idPrefix}-overview-button`, 'Button', {
|
|
96
|
-
children: 'Customize this starter',
|
|
97
|
-
tone: 'primary',
|
|
98
|
-
emphasis: 'solid',
|
|
99
|
-
size: 'm',
|
|
100
|
-
fullWidth: true,
|
|
101
|
-
}),
|
|
102
|
-
]),
|
|
103
|
-
]),
|
|
104
|
-
]),
|
|
105
|
-
},
|
|
106
|
-
[detailsScreenId]: {
|
|
107
|
-
id: detailsScreenId,
|
|
108
|
-
name: 'Details',
|
|
109
|
-
title: 'Details',
|
|
110
|
-
description: 'Secondary informational screen for the starter template.',
|
|
111
|
-
root: createZoraNode(`${idPrefix}-details-page`, 'Page', { width: 'default' }, [
|
|
112
|
-
createZoraNode(`${idPrefix}-details-header`, 'PageHeader', {
|
|
113
|
-
eyebrow: 'Starter module',
|
|
114
|
-
title: 'Detail screen',
|
|
115
|
-
description: 'Use this route for previews, drill-downs, or richer storytelling.',
|
|
116
|
-
}),
|
|
117
|
-
createZoraNode(`${idPrefix}-details-section`, 'PageSection', {
|
|
118
|
-
title: 'Placeholder state',
|
|
119
|
-
description: 'Replace the placeholder with ZORA cards, panels, or task-specific layouts.',
|
|
120
|
-
}, [
|
|
121
|
-
createZoraNode(`${idPrefix}-details-empty`, 'EmptyState', {
|
|
122
|
-
eyebrow: seed.categoryLabel,
|
|
123
|
-
title: 'Ready for detail content',
|
|
124
|
-
description: 'The starter keeps a secondary route available so navigation can evolve without structural rewrites.',
|
|
125
|
-
}),
|
|
126
|
-
]),
|
|
127
|
-
]),
|
|
128
|
-
},
|
|
129
|
-
[settingsScreenId]: {
|
|
130
|
-
id: settingsScreenId,
|
|
131
|
-
name: 'Settings',
|
|
132
|
-
title: 'Settings',
|
|
133
|
-
description: 'Configuration screen for starter defaults.',
|
|
134
|
-
root: createZoraNode(`${idPrefix}-settings-page`, 'Page', { width: 'default' }, [
|
|
135
|
-
createZoraNode(`${idPrefix}-settings-header`, 'PageHeader', {
|
|
136
|
-
eyebrow: 'Operations',
|
|
137
|
-
title: 'Settings',
|
|
138
|
-
description: 'Starter defaults for localization, auth flow, and deployment assumptions.',
|
|
139
|
-
}),
|
|
140
|
-
createZoraNode(`${idPrefix}-settings-section`, 'PageSection', {
|
|
141
|
-
title: 'Manifest defaults',
|
|
142
|
-
description: 'These rows mirror the baseline config shipped with the template package.',
|
|
143
|
-
}, [
|
|
144
|
-
createZoraNode(`${idPrefix}-settings-header-row`, 'SectionHeader', {
|
|
145
|
-
title: 'Initial configuration',
|
|
146
|
-
description: 'Tune these values or override them at generation time.',
|
|
147
|
-
}),
|
|
148
|
-
createZoraNode(`${idPrefix}-settings-row-locale`, 'SettingsRow', {
|
|
149
|
-
title: 'Default locale',
|
|
150
|
-
description: 'Localization starts with a single default locale.',
|
|
151
|
-
meta: 'en',
|
|
152
|
-
}),
|
|
153
|
-
createZoraNode(`${idPrefix}-settings-row-auth`, 'SettingsRow', {
|
|
154
|
-
title: 'Auth scope',
|
|
155
|
-
description: 'Global auth is enabled in the base infra profile.',
|
|
156
|
-
meta: 'global',
|
|
157
|
-
}),
|
|
158
|
-
createZoraNode(`${idPrefix}-settings-row-deploy`, 'SettingsRow', {
|
|
159
|
-
title: 'Deployment target',
|
|
160
|
-
description: 'The starter ships with a local minikube deployment target.',
|
|
161
|
-
meta: 'minikube',
|
|
162
|
-
}),
|
|
163
|
-
]),
|
|
164
|
-
]),
|
|
165
|
-
},
|
|
166
|
-
[signInScreenId]: {
|
|
167
|
-
id: signInScreenId,
|
|
168
|
-
name: 'Sign in',
|
|
169
|
-
title: 'Sign in',
|
|
170
|
-
description: 'Authentication entrypoint for the starter template.',
|
|
171
|
-
root: createZoraNode(`${idPrefix}-auth-layout`, 'AuthLayout', {
|
|
172
|
-
eyebrow: seed.categoryLabel,
|
|
173
|
-
title: `Sign in to ${seed.appName}`,
|
|
174
|
-
description: 'This starter includes a ZORA-based auth shell that matches the default global auth flow.',
|
|
175
|
-
footer: 'Swap provider-specific wiring in CLI or Studio while preserving the manifest structure.',
|
|
176
|
-
}, [
|
|
177
|
-
createZoraNode(`${idPrefix}-auth-notice`, 'Notice', {
|
|
178
|
-
title: 'Authentication placeholder',
|
|
179
|
-
description: 'Replace inputs and actions with your runtime binding once auth is connected.',
|
|
180
|
-
tone: 'neutral',
|
|
181
|
-
}),
|
|
182
|
-
createZoraNode(`${idPrefix}-auth-email-field`, 'FormField', {
|
|
183
|
-
label: 'Email',
|
|
184
|
-
description: 'Primary identifier',
|
|
185
|
-
required: true,
|
|
186
|
-
}, [
|
|
187
|
-
createZoraNode(`${idPrefix}-auth-email-input`, 'Input', {
|
|
188
|
-
placeholder: 'you@example.com',
|
|
189
|
-
autoCapitalize: 'none',
|
|
190
|
-
keyboardType: 'email-address',
|
|
191
|
-
}),
|
|
192
|
-
]),
|
|
193
|
-
createZoraNode(`${idPrefix}-auth-password-field`, 'FormField', {
|
|
194
|
-
label: 'Password',
|
|
195
|
-
helperText: 'Use a secure password manager in production.',
|
|
196
|
-
required: true,
|
|
197
|
-
}, [
|
|
198
|
-
createZoraNode(`${idPrefix}-auth-password-input`, 'Input', {
|
|
199
|
-
placeholder: 'Password',
|
|
200
|
-
secureTextEntry: true,
|
|
201
|
-
}),
|
|
202
|
-
]),
|
|
203
|
-
createZoraNode(`${idPrefix}-auth-submit`, 'Button', {
|
|
204
|
-
children: 'Continue',
|
|
205
|
-
tone: 'primary',
|
|
206
|
-
emphasis: 'solid',
|
|
207
|
-
size: 'm',
|
|
208
|
-
fullWidth: true,
|
|
209
|
-
}),
|
|
210
|
-
]),
|
|
211
|
-
},
|
|
212
|
-
},
|
|
213
|
-
};
|
|
214
|
-
}
|
|
1
|
+
export { createStarterTemplate, TEMPLATE_KINDS, } from './starter';
|
|
215
2
|
//# sourceMappingURL=starter.template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"starter.template.js","sourceRoot":"","sources":["../../src/templates/starter.template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"starter.template.js","sourceRoot":"","sources":["../../src/templates/starter.template.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GAQf,MAAM,WAAW,CAAC"}
|
package/package.json
CHANGED