@knapsack/renderer-native-android 4.89.1--canary.6984.59d0fbc.0 → 4.89.2--canary.e2b344a.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.
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Renderer as RendererBaseType, Renderable, RendererBase, type RendererBaseHydrateData } from '@knapsack/app/renderers';
|
|
2
|
-
import { KnapsackTemplateData } from '@knapsack/types';
|
|
3
2
|
import { z } from 'zod';
|
|
4
3
|
type Renderer = RendererBaseType<'android', RendererBaseHydrateData>;
|
|
5
4
|
declare const OptionSchema: z.ZodObject<{
|
|
@@ -13,47 +12,9 @@ export declare class KnapsackNativeAndroidRenderer extends RendererBase<'android
|
|
|
13
12
|
init: Renderer['init'];
|
|
14
13
|
hydrate: Renderer['hydrate'];
|
|
15
14
|
render: Renderer['render'];
|
|
16
|
-
inspect: Renderer['inspect'];
|
|
17
15
|
getUsage: Renderer['getUsage'];
|
|
18
16
|
getDiscovery: Renderer['getDiscovery'];
|
|
19
17
|
getMeta: Renderer['getMeta'];
|
|
20
|
-
fetchTemplateDiscovery(): Promise<string[]>;
|
|
21
|
-
fetchInspect({ componentName }: {
|
|
22
|
-
componentName: string;
|
|
23
|
-
}): Promise<{
|
|
24
|
-
type: "success";
|
|
25
|
-
spec: {
|
|
26
|
-
isInferred: boolean;
|
|
27
|
-
props: {
|
|
28
|
-
type: "object";
|
|
29
|
-
properties: {
|
|
30
|
-
variant: {
|
|
31
|
-
type: "string";
|
|
32
|
-
title: string;
|
|
33
|
-
description: string;
|
|
34
|
-
enum: string[];
|
|
35
|
-
};
|
|
36
|
-
size: {
|
|
37
|
-
type: "string";
|
|
38
|
-
title: string;
|
|
39
|
-
description: string;
|
|
40
|
-
enum: string[];
|
|
41
|
-
};
|
|
42
|
-
state: {
|
|
43
|
-
type: "string";
|
|
44
|
-
title: string;
|
|
45
|
-
description: string;
|
|
46
|
-
enum: string[];
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
required: string[];
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
}>;
|
|
53
|
-
fetchImageUrl({ componentName, demoData, }: {
|
|
54
|
-
componentName: string;
|
|
55
|
-
demoData?: KnapsackTemplateData;
|
|
56
|
-
}): Promise<string>;
|
|
57
18
|
}
|
|
58
19
|
export {};
|
|
59
20
|
//# sourceMappingURL=renderer-native-android.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-native-android.d.ts","sourceRoot":"","sources":["../src/renderer-native-android.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,gBAAgB,EAC5B,UAAU,EACV,YAAY,EACZ,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer-native-android.d.ts","sourceRoot":"","sources":["../src/renderer-native-android.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,IAAI,gBAAgB,EAC5B,UAAU,EACV,YAAY,EACZ,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AAWjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,KAAK,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;AAGrE,QAAA,MAAM,YAAY;;;kBAGhB,CAAC;AAEH,qBAAa,6BACX,SAAQ,YAAY,CAAC,SAAS,EAAE,uBAAuB,CACvD,YAAW,UAAU,CAAC,SAAS,CAAC;IAEhC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;gBAGjB,OAAO,GAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAkC;IAqB/D,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAI7B;IAEO,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAInC;IAEF,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAQxB;IAEF,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAG5B;IAEF,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,CAQpC;IAEF,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAwBzB;CACJ"}
|
|
@@ -29,52 +29,26 @@ class KnapsackNativeAndroidRenderer extends renderers_1.RendererBase {
|
|
|
29
29
|
// TODO: Restore pattern metadata from build data
|
|
30
30
|
this.log.verbose(`Hydrated Android renderer`);
|
|
31
31
|
};
|
|
32
|
-
this.render = async (
|
|
33
|
-
const { demo, state } = opt;
|
|
34
|
-
if (demo.type !== 'data') {
|
|
35
|
-
throw new Error('Native renderer Demos must be a data demo');
|
|
36
|
-
}
|
|
37
|
-
const componentName = demo.patternId;
|
|
38
|
-
const demoData = {
|
|
39
|
-
props: demo.data.props,
|
|
40
|
-
};
|
|
41
|
-
const imageUrl = await this.fetchImageUrl({ componentName, demoData });
|
|
32
|
+
this.render = async ({ demo, state }) => {
|
|
42
33
|
// TODO: Call backend GraphQL query to get image URL
|
|
43
34
|
return {
|
|
44
35
|
ok: true,
|
|
45
|
-
html:
|
|
36
|
+
html: '<img src="https://placeholder.com/300x300" alt="Android Component" />',
|
|
46
37
|
usage: '[Android Component - placeholder]',
|
|
47
38
|
templateLanguage: this.language,
|
|
48
39
|
};
|
|
49
40
|
};
|
|
50
|
-
this.inspect = async ({ componentName, rendererId }) => {
|
|
51
|
-
try {
|
|
52
|
-
const schema = await this.fetchInspect({ componentName });
|
|
53
|
-
return schema;
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
return {
|
|
57
|
-
type: 'error.unknown',
|
|
58
|
-
message: `Failed to get schema for ${componentName}: ${error.message}`,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
41
|
this.getUsage = async () => {
|
|
63
42
|
// TODO: Return template/usage information
|
|
64
43
|
throw new Error('getUsage not implemented for native Android renderer');
|
|
65
44
|
};
|
|
66
45
|
this.getDiscovery = async () => {
|
|
67
46
|
// TODO: Query backend for available patterns and return discovery metadata
|
|
68
|
-
const patterns = await this.fetchTemplateDiscovery();
|
|
69
|
-
const templates = patterns.map((pattern) => (0, types_1.addIdToTemplateInfo)({
|
|
70
|
-
rendererId: this.id,
|
|
71
|
-
componentName: pattern,
|
|
72
|
-
}));
|
|
73
47
|
return {
|
|
74
48
|
rendererId: this.id,
|
|
75
49
|
meta: this.getMeta(),
|
|
76
50
|
codeSrcsByPath: {},
|
|
77
|
-
templates,
|
|
51
|
+
templates: [],
|
|
78
52
|
};
|
|
79
53
|
};
|
|
80
54
|
this.getMeta = () => ({
|
|
@@ -110,77 +84,6 @@ class KnapsackNativeAndroidRenderer extends renderers_1.RendererBase {
|
|
|
110
84
|
this.siteId = data.siteId;
|
|
111
85
|
this.instanceId = data.instanceId;
|
|
112
86
|
}
|
|
113
|
-
async fetchTemplateDiscovery() {
|
|
114
|
-
// fake wait
|
|
115
|
-
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
116
|
-
// @TODO: API call
|
|
117
|
-
const _apiPayload = {
|
|
118
|
-
rendererId: this.id,
|
|
119
|
-
siteId: this.siteId,
|
|
120
|
-
instanceId: this.instanceId,
|
|
121
|
-
};
|
|
122
|
-
return ['androidButton', 'androidCard', 'androidThing1', 'androidThing2'];
|
|
123
|
-
}
|
|
124
|
-
async fetchInspect({ componentName }) {
|
|
125
|
-
// fake wait
|
|
126
|
-
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
127
|
-
// @TODO: API call
|
|
128
|
-
const _apiPayload = {
|
|
129
|
-
rendererId: this.id,
|
|
130
|
-
siteId: this.siteId,
|
|
131
|
-
instanceId: this.instanceId,
|
|
132
|
-
componentName,
|
|
133
|
-
};
|
|
134
|
-
// Note: we expect to get extra information about the component here,
|
|
135
|
-
// like how many of the props are "infinite strings" that must be provided
|
|
136
|
-
// enums of short/medium/long values
|
|
137
|
-
// Mock, for now, returning a static schema with three dropdowns as an example
|
|
138
|
-
return {
|
|
139
|
-
type: 'success',
|
|
140
|
-
spec: {
|
|
141
|
-
isInferred: true,
|
|
142
|
-
props: {
|
|
143
|
-
type: 'object',
|
|
144
|
-
properties: {
|
|
145
|
-
variant: {
|
|
146
|
-
type: 'string',
|
|
147
|
-
title: 'Variant',
|
|
148
|
-
description: 'Component visual variant',
|
|
149
|
-
enum: ['primary', 'secondary', 'tertiary'],
|
|
150
|
-
},
|
|
151
|
-
size: {
|
|
152
|
-
type: 'string',
|
|
153
|
-
title: 'Size',
|
|
154
|
-
description: 'Component size',
|
|
155
|
-
enum: ['small', 'medium', 'large'],
|
|
156
|
-
},
|
|
157
|
-
state: {
|
|
158
|
-
type: 'string',
|
|
159
|
-
title: 'State',
|
|
160
|
-
description: 'Component state',
|
|
161
|
-
enum: ['enabled', 'disabled', 'loading'],
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
required: ['variant', 'size', 'state'],
|
|
165
|
-
},
|
|
166
|
-
},
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
async fetchImageUrl({ componentName, demoData, }) {
|
|
170
|
-
// Fake wait
|
|
171
|
-
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
172
|
-
// console.log({ demoData });
|
|
173
|
-
// @TODO: API call
|
|
174
|
-
const _apiPayload = {
|
|
175
|
-
rendererId: this.id,
|
|
176
|
-
siteId: this.siteId,
|
|
177
|
-
instanceId: this.instanceId,
|
|
178
|
-
componentName,
|
|
179
|
-
demoData,
|
|
180
|
-
};
|
|
181
|
-
// Mock
|
|
182
|
-
return `https://placehold.co/500x75?text=rendererId:${this.id}+componentName:${componentName}+siteId:${this.siteId}+instanceId:${this.instanceId}`;
|
|
183
|
-
}
|
|
184
87
|
}
|
|
185
88
|
exports.KnapsackNativeAndroidRenderer = KnapsackNativeAndroidRenderer;
|
|
186
89
|
//# sourceMappingURL=renderer-native-android.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-native-android.js","sourceRoot":"","sources":["../src/renderer-native-android.ts"],"names":[],"mappings":";;;AAAA,uDAKiC;AACjC,
|
|
1
|
+
{"version":3,"file":"renderer-native-android.js","sourceRoot":"","sources":["../src/renderer-native-android.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knapsack/renderer-native-android",
|
|
3
3
|
"description": "Native Android component renderer for Knapsack",
|
|
4
|
-
"version": "4.89.
|
|
4
|
+
"version": "4.89.2--canary.e2b344a.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
"test": "echo 'No tests for native Android renderer yet'"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@knapsack/app": "4.89.
|
|
25
|
-
"@knapsack/file-utils": "4.89.
|
|
26
|
-
"@knapsack/types": "4.89.
|
|
24
|
+
"@knapsack/app": "4.89.2--canary.e2b344a.0",
|
|
25
|
+
"@knapsack/file-utils": "4.89.2--canary.e2b344a.0",
|
|
26
|
+
"@knapsack/types": "4.89.2--canary.e2b344a.0",
|
|
27
27
|
"zod": "^4.1.12"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@knapsack/eslint-config-starter": "4.89.
|
|
31
|
-
"@knapsack/prettier-config": "4.89.
|
|
32
|
-
"@knapsack/typescript-config-starter": "4.89.
|
|
30
|
+
"@knapsack/eslint-config-starter": "4.89.2--canary.e2b344a.0",
|
|
31
|
+
"@knapsack/prettier-config": "4.89.2--canary.e2b344a.0",
|
|
32
|
+
"@knapsack/typescript-config-starter": "4.89.2--canary.e2b344a.0",
|
|
33
33
|
"@types/node": "^20.19.25",
|
|
34
34
|
"eslint": "^8.57.0",
|
|
35
35
|
"typescript": "^5.9.3",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"directory": "apps/client/renderers/renderer-native-android",
|
|
45
45
|
"type": "git"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "e2b344a8423e2041af0a70c8395f908e96d45f5a"
|
|
48
48
|
}
|