@knapsack/renderer-native-ios 4.89.1--canary.6984.59d0fbc.0 → 4.89.1--canary.6982.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<'ios', RendererBaseHydrateData>;
|
|
5
4
|
declare const OptionSchema: z.ZodObject<{
|
|
@@ -13,47 +12,9 @@ export declare class KnapsackNativeIosRenderer extends RendererBase<'ios', Rende
|
|
|
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-ios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-native-ios.d.ts","sourceRoot":"","sources":["../src/renderer-native-ios.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-ios.d.ts","sourceRoot":"","sources":["../src/renderer-native-ios.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,KAAK,EAAE,uBAAuB,CAAC,CAAC;AAGjE,QAAA,MAAM,YAAY;;;kBAGhB,CAAC;AAEH,qBAAa,yBACX,SAAQ,YAAY,CAAC,KAAK,EAAE,uBAAuB,CACnD,YAAW,UAAU,CAAC,KAAK,CAAC;IAG5B,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,CAyBzB;CACJ"}
|
|
@@ -29,52 +29,26 @@ class KnapsackNativeIosRenderer extends renderers_1.RendererBase {
|
|
|
29
29
|
// TODO: Restore pattern metadata from build data
|
|
30
30
|
this.log.verbose(`Hydrated iOS 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="iOS Component" />',
|
|
46
37
|
usage: '[iOS 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 iOS 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 = () => ({
|
|
@@ -111,77 +85,6 @@ class KnapsackNativeIosRenderer extends renderers_1.RendererBase {
|
|
|
111
85
|
this.siteId = data.siteId;
|
|
112
86
|
this.instanceId = data.instanceId;
|
|
113
87
|
}
|
|
114
|
-
async fetchTemplateDiscovery() {
|
|
115
|
-
// fake wait
|
|
116
|
-
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
117
|
-
// @TODO: API call
|
|
118
|
-
const _apiPayload = {
|
|
119
|
-
rendererId: this.id,
|
|
120
|
-
siteId: this.siteId,
|
|
121
|
-
instanceId: this.instanceId,
|
|
122
|
-
};
|
|
123
|
-
return ['iosButton', 'iosCard', 'iosThing1', 'iosThing2'];
|
|
124
|
-
}
|
|
125
|
-
async fetchInspect({ componentName }) {
|
|
126
|
-
// fake wait
|
|
127
|
-
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
128
|
-
// @TODO: API call
|
|
129
|
-
const _apiPayload = {
|
|
130
|
-
rendererId: this.id,
|
|
131
|
-
siteId: this.siteId,
|
|
132
|
-
instanceId: this.instanceId,
|
|
133
|
-
componentName,
|
|
134
|
-
};
|
|
135
|
-
// Note: we expect to get extra information about the component here,
|
|
136
|
-
// like how many of the props are "infinite strings" that must be provided
|
|
137
|
-
// enums of short/medium/long values
|
|
138
|
-
// Mock, for now, returning a static schema with three dropdowns as an example
|
|
139
|
-
return {
|
|
140
|
-
type: 'success',
|
|
141
|
-
spec: {
|
|
142
|
-
isInferred: true,
|
|
143
|
-
props: {
|
|
144
|
-
type: 'object',
|
|
145
|
-
properties: {
|
|
146
|
-
variant: {
|
|
147
|
-
type: 'string',
|
|
148
|
-
title: 'Variant',
|
|
149
|
-
description: 'Component visual variant',
|
|
150
|
-
enum: ['primary', 'secondary', 'tertiary'],
|
|
151
|
-
},
|
|
152
|
-
size: {
|
|
153
|
-
type: 'string',
|
|
154
|
-
title: 'Size',
|
|
155
|
-
description: 'Component size',
|
|
156
|
-
enum: ['small', 'medium', 'large'],
|
|
157
|
-
},
|
|
158
|
-
state: {
|
|
159
|
-
type: 'string',
|
|
160
|
-
title: 'State',
|
|
161
|
-
description: 'Component state',
|
|
162
|
-
enum: ['enabled', 'disabled', 'loading'],
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
required: ['variant', 'size', 'state'],
|
|
166
|
-
},
|
|
167
|
-
},
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
async fetchImageUrl({ componentName, demoData, }) {
|
|
171
|
-
// Fake wait
|
|
172
|
-
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
173
|
-
// console.log({ demoData });
|
|
174
|
-
// @TODO: API call
|
|
175
|
-
const _apiPayload = {
|
|
176
|
-
rendererId: this.id,
|
|
177
|
-
siteId: this.siteId,
|
|
178
|
-
instanceId: this.instanceId,
|
|
179
|
-
componentName,
|
|
180
|
-
demoData,
|
|
181
|
-
};
|
|
182
|
-
// Mock
|
|
183
|
-
return `https://placehold.co/500x75?text=rendererId:${this.id}+componentName:${componentName}+siteId:${this.siteId}+instanceId:${this.instanceId}`;
|
|
184
|
-
}
|
|
185
88
|
}
|
|
186
89
|
exports.KnapsackNativeIosRenderer = KnapsackNativeIosRenderer;
|
|
187
90
|
//# sourceMappingURL=renderer-native-ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer-native-ios.js","sourceRoot":"","sources":["../src/renderer-native-ios.ts"],"names":[],"mappings":";;;AAAA,uDAKiC;AACjC,
|
|
1
|
+
{"version":3,"file":"renderer-native-ios.js","sourceRoot":"","sources":["../src/renderer-native-ios.ts"],"names":[],"mappings":";;;AAAA,uDAKiC;AACjC,2CASyB;AACzB,6BAAwB;AACxB,+BAA4B;AAC5B,qDAK8B;AAG9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,yBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,YAAY,GAAG,OAAC,CAAC,YAAY,CAAC;IAClC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAEH,MAAa,yBACX,SAAQ,wBAA4C;IAOpD,YACE,UAAwC,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QAEtE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxD,KAAK,CAAC;YACJ,EAAE,EAAE,mBAAW,CAAC,GAAG;YACnB,QAAQ,EAAE,KAAK;YACf,kBAAkB,EAAE,EAAE;SACvB,CAAC,CAAC;QAcI,SAAI,GAAqB,KAAK,EAAE,GAAG,EAAE,EAAE;YAC9C,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,wCAAwC;YACxC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,sCAAsC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC;QAEO,YAAO,GAAwB,KAAK,EAAE,GAAG,EAAE,EAAE;YACpD,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,iDAAiD;YACjD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,WAAM,GAAuB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACrD,oDAAoD;YACpD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,mEAAmE;gBACzE,KAAK,EAAE,+BAA+B;gBACtC,gBAAgB,EAAE,IAAI,CAAC,QAAQ;aAChC,CAAC;QACJ,CAAC,CAAC;QAEF,aAAQ,GAAyB,KAAK,IAAI,EAAE;YAC1C,0CAA0C;YAC1C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC,CAAC;QAEF,iBAAY,GAA6B,KAAK,IAAI,EAAE;YAClD,2EAA2E;YAC3E,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;gBACpB,cAAc,EAAE,EAAE;gBAClB,SAAS,EAAE,EAAE;aACd,CAAC;QACJ,CAAC,CAAC;QAEF,YAAO,GAAwB,GAAG,EAAE,CAAC,CAAC;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,gBAAgB;YAC5B,gBAAgB,EAAE,6CAA6C;YAC/D,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,KAAK;YAC1B,eAAe,EAAE,KAAK;YACtB,qBAAqB,EAAE,KAAK;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,mBAAmB,EAAE,IAAI;YACzB,6BAA6B,EAAE,IAAI;YACnC,gBAAgB;YAChB,mBAAmB,EAAE;gBACnB,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE;oBACJ,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;qBACf;oBACD,KAAK,EAAE,EAAE;iBACV;aACF;SACF,CAAC,CAAC;QA3ED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,mGAAmG,EACnG,OAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CACvB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;CAiEF;AA7FD,8DA6FC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knapsack/renderer-native-ios",
|
|
3
3
|
"description": "Native iOS component renderer for Knapsack",
|
|
4
|
-
"version": "4.89.1--canary.
|
|
4
|
+
"version": "4.89.1--canary.6982.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 iOS renderer yet'"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@knapsack/app": "4.89.1--canary.
|
|
25
|
-
"@knapsack/file-utils": "4.89.1--canary.
|
|
26
|
-
"@knapsack/types": "4.89.1--canary.
|
|
24
|
+
"@knapsack/app": "4.89.1--canary.6982.e2b344a.0",
|
|
25
|
+
"@knapsack/file-utils": "4.89.1--canary.6982.e2b344a.0",
|
|
26
|
+
"@knapsack/types": "4.89.1--canary.6982.e2b344a.0",
|
|
27
27
|
"zod": "^4.1.12"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@knapsack/eslint-config-starter": "4.89.1--canary.
|
|
31
|
-
"@knapsack/prettier-config": "4.89.1--canary.
|
|
32
|
-
"@knapsack/typescript-config-starter": "4.89.1--canary.
|
|
30
|
+
"@knapsack/eslint-config-starter": "4.89.1--canary.6982.e2b344a.0",
|
|
31
|
+
"@knapsack/prettier-config": "4.89.1--canary.6982.e2b344a.0",
|
|
32
|
+
"@knapsack/typescript-config-starter": "4.89.1--canary.6982.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-ios",
|
|
45
45
|
"type": "git"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "e2b344a8423e2041af0a70c8395f908e96d45f5a"
|
|
48
48
|
}
|