@craftware/crafty-sdk 0.6.0 → 0.8.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.
- package/README.md +47 -3
- package/dist/client.d.ts +5 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -0
- package/dist/client.js.map +1 -1
- package/dist/crafty-visual-editing.global.js +1 -1
- package/dist/crafty-visual-editing.global.js.map +1 -1
- package/dist/http.d.ts +8 -1
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +50 -11
- package/dist/http.js.map +1 -1
- package/dist/image.d.ts +27 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +110 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/assistant.d.ts +30 -0
- package/dist/resources/assistant.d.ts.map +1 -0
- package/dist/resources/assistant.js +51 -0
- package/dist/resources/assistant.js.map +1 -0
- package/dist/resources/entries.js +2 -2
- package/dist/resources/entries.js.map +1 -1
- package/dist/resources/forms.d.ts.map +1 -1
- package/dist/resources/forms.js +4 -4
- package/dist/resources/forms.js.map +1 -1
- package/dist/resources/pages.js +2 -2
- package/dist/resources/pages.js.map +1 -1
- package/dist/types/public.d.ts +101 -1
- package/dist/types/public.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/skills/crafty-cms/SKILL.md +40 -7
- package/skills/crafty-cms/references/mcp-configuration.md +23 -7
- package/skills/crafty-cms/references/migrate-to-crafty.md +85 -0
- package/skills/crafty-cms/references/sdk-development.md +59 -7
package/dist/http.js
CHANGED
|
@@ -9,6 +9,7 @@ export class HttpClient {
|
|
|
9
9
|
defaultTimeoutMs;
|
|
10
10
|
preview;
|
|
11
11
|
onPreviewInvalid;
|
|
12
|
+
locale;
|
|
12
13
|
constructor(config) {
|
|
13
14
|
this.apiBaseUrl = config.apiBaseUrl;
|
|
14
15
|
this.fetchImpl = config.fetchImpl;
|
|
@@ -18,6 +19,7 @@ export class HttpClient {
|
|
|
18
19
|
this.defaultTimeoutMs = config.timeoutMs;
|
|
19
20
|
this.preview = config.preview;
|
|
20
21
|
this.onPreviewInvalid = config.onPreviewInvalid;
|
|
22
|
+
this.locale = config.locale;
|
|
21
23
|
}
|
|
22
24
|
static fromClientConfig(config) {
|
|
23
25
|
const fetchImpl = config.fetch ?? getBoundGlobalFetch();
|
|
@@ -39,9 +41,21 @@ export class HttpClient {
|
|
|
39
41
|
siteSlug: config.siteSlug,
|
|
40
42
|
timeoutMs: config.timeoutMs,
|
|
41
43
|
preview: config.preview,
|
|
42
|
-
onPreviewInvalid: config.onPreviewInvalid
|
|
44
|
+
onPreviewInvalid: config.onPreviewInvalid,
|
|
45
|
+
locale: config.locale
|
|
43
46
|
});
|
|
44
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Adds the `locale` query parameter for localized content: the request's
|
|
50
|
+
* own locale, else the client default. Requests without one are unchanged.
|
|
51
|
+
*/
|
|
52
|
+
withLocale(options) {
|
|
53
|
+
const locale = options?.locale ?? this.locale;
|
|
54
|
+
if (typeof locale !== "string" || locale.trim() === "") {
|
|
55
|
+
return options;
|
|
56
|
+
}
|
|
57
|
+
return { ...options, query: { ...options?.query, locale: locale.trim() } };
|
|
58
|
+
}
|
|
45
59
|
getSiteSlug() {
|
|
46
60
|
return this.siteSlug;
|
|
47
61
|
}
|
|
@@ -117,7 +131,15 @@ export class HttpClient {
|
|
|
117
131
|
else if (previewStatus === "active") {
|
|
118
132
|
notifyPreviewActive();
|
|
119
133
|
}
|
|
120
|
-
const
|
|
134
|
+
const parsed = await parseResponsePayload(response);
|
|
135
|
+
if (parsed === INVALID_JSON && response.ok) {
|
|
136
|
+
throw new CraftyError({
|
|
137
|
+
code: "UNKNOWN_ERROR",
|
|
138
|
+
message: "Response body was not valid JSON.",
|
|
139
|
+
status: response.status
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
const payload = parsed === INVALID_JSON ? null : parsed;
|
|
121
143
|
if (!response.ok) {
|
|
122
144
|
const requestId = response.headers.get("x-request-id") ?? undefined;
|
|
123
145
|
const message = extractErrorMessage(payload) ?? (response.statusText || "Request failed");
|
|
@@ -137,12 +159,17 @@ export class HttpClient {
|
|
|
137
159
|
if (error instanceof CraftyError) {
|
|
138
160
|
throw error;
|
|
139
161
|
}
|
|
140
|
-
if (
|
|
141
|
-
const code = timeoutController?.signal.aborted ? "TIMEOUT" : "NETWORK_ERROR";
|
|
142
|
-
const message = code === "TIMEOUT" ? "Request timed out." : "Request was aborted.";
|
|
162
|
+
if (timeoutController?.signal.aborted) {
|
|
143
163
|
throw new CraftyError({
|
|
144
|
-
code,
|
|
145
|
-
message,
|
|
164
|
+
code: "TIMEOUT",
|
|
165
|
+
message: "Request timed out.",
|
|
166
|
+
cause: error
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
if (options.signal?.aborted || isAbortError(error)) {
|
|
170
|
+
throw new CraftyError({
|
|
171
|
+
code: "NETWORK_ERROR",
|
|
172
|
+
message: "Request was aborted.",
|
|
146
173
|
cause: error
|
|
147
174
|
});
|
|
148
175
|
}
|
|
@@ -203,15 +230,27 @@ function mergeSignals(a, b) {
|
|
|
203
230
|
b.addEventListener("abort", () => abort(b), { once: true });
|
|
204
231
|
return controller.signal;
|
|
205
232
|
}
|
|
233
|
+
/** Marks a JSON response whose body could not be parsed. */
|
|
234
|
+
const INVALID_JSON = Symbol("invalid-json");
|
|
235
|
+
/**
|
|
236
|
+
* Reads the body as text and parses JSON when possible. An empty body yields
|
|
237
|
+
* null; a body labelled JSON that fails to parse yields INVALID_JSON so the
|
|
238
|
+
* caller can build an error carrying the HTTP status.
|
|
239
|
+
*/
|
|
206
240
|
async function parseResponsePayload(response) {
|
|
207
241
|
const contentType = response.headers.get("content-type") ?? "";
|
|
208
|
-
if (contentType.includes("application/json")) {
|
|
209
|
-
return response.json();
|
|
210
|
-
}
|
|
211
242
|
const text = await response.text();
|
|
212
|
-
if (text === "") {
|
|
243
|
+
if (text.trim() === "") {
|
|
213
244
|
return null;
|
|
214
245
|
}
|
|
246
|
+
if (contentType.includes("application/json")) {
|
|
247
|
+
try {
|
|
248
|
+
return JSON.parse(text);
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
return INVALID_JSON;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
215
254
|
try {
|
|
216
255
|
return JSON.parse(text);
|
|
217
256
|
}
|
package/dist/http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAsBtB,MAAM,OAAO,UAAU;IACJ,UAAU,CAAS;IACnB,SAAS,CAAe;IACxB,cAAc,CAA0B;IACxC,MAAM,CAAqB;IAC3B,QAAQ,CAAqB;IAC7B,gBAAgB,CAAqB;IACrC,OAAO,CAAoC;IAC3C,gBAAgB,CAA2B;IAC3C,MAAM,CAAqB;IAE5C,YAAmB,MAA+B;QAChD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,MAA0B;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,mBAAmB,EAAE,CAAC;QAExD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,6EAA6E;aACvF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC;YACtD,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,GAAG,iBAAiB,SAAS,CAAC;QAElC,OAAO,IAAI,UAAU,CAAC;YACpB,UAAU;YACV,SAAS;YACT,cAAc,EAAE,MAAM,CAAC,OAAO;YAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,OAA4B;QAC5C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;IAC7E,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,wEAAwE;IACjE,YAAY;QACjB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,GAAG,CAAI,IAAY,EAAE,OAA4B;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,IAAY,EACZ,IAAa,EACb,OAAuD;QAEvD,MAAM,cAAc,GAAyC;YAC3D,GAAG,OAAO;YACV,MAAM,EAAE,MAAe;YACvB,IAAI;SACL,CAAC;QAEF,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAI,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,IAAY,EACZ,OAIC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAEzC,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC7D,MAAM,iBAAiB,GAAG,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,GAAG,CAAC;YACtE,CAAC,CAAC,IAAI,eAAe,EAAE;YACvB,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAEvE,IAAI,aAAwD,CAAC;QAC7D,IAAI,iBAAiB,IAAI,SAAS,EAAE,CAAC;YACnC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAgB;gBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO;gBACP,MAAM,EAAE,MAAM,IAAI,IAAI;aACvB,CAAC;YAEF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAEtD,MAAM,aAAa,GAAG,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjG,IAAI,aAAa,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACzD,mBAAmB,CAAC,YAAY,CAAC,CAAC;gBAClC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC1B,oBAAoB,EAAE,CAAC;YACzB,CAAC;iBAAM,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBACtC,mBAAmB,EAAE,CAAC;YACxB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAEpD,IAAI,MAAM,KAAK,YAAY,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,WAAW,CAAC;oBACpB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,mCAAmC;oBAC5C,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAExD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;gBACpE,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,gBAAgB,CAAC,CAAC;gBAE1F,MAAM,YAAY,GAAG;oBACnB,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC3C,OAAO;oBACP,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,OAAO,EAAE,OAAO;iBACR,CAAC;gBAEX,MAAM,IAAI,WAAW,CACnB,SAAS;oBACP,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE;oBAChC,CAAC,CAAC,YAAY,CACjB,CAAC;YACJ,CAAC;YAED,OAAO,OAAY,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,iBAAiB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,IAAI,WAAW,CAAC;oBACpB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,oBAAoB;oBAC7B,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,WAAW,CAAC;oBACpB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,sBAAsB;oBAC/B,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YACL,CAAC;YAED,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,yBAAyB;gBAClC,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,IAAI,aAAa,EAAE,CAAC;gBAClB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,KAAmB;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC,CAAC;QAE3D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBACD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;CACF;AAED,SAAS,mBAAmB;IAC1B,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAiB,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CACnB,CAAe,EACf,CAAe;IAEf,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAG,CAAC,MAAmB,EAAQ,EAAE;QAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,KAAK,CAAC,CAAC,CAAC,CAAC;QACT,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,KAAK,CAAC,CAAC,CAAC,CAAC;QACT,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,OAAO,UAAU,CAAC,MAAM,CAAC;AAC3B,CAAC;AAED,4DAA4D;AAC5D,MAAM,YAAY,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAC;AAE3D;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CAAC,QAAkB;IACpD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEnC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAI,OAAiC,CAAC,OAAO,CAAC;IAChE,OAAO,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9F,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,YAAY;QAClC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;QAC7B,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;YACvB,KAAK,KAAK,IAAI;YACd,MAAM,IAAI,KAAK;YACd,KAA4B,CAAC,IAAI,KAAK,YAAY,CAAC;AAC5D,CAAC"}
|
package/dist/image.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { CraftyImageOptions, CraftyImageSource } from "./types/public.js";
|
|
2
|
+
/**
|
|
3
|
+
* URL of a resized / re-encoded version of a Crafty image, served by
|
|
4
|
+
* Cloudflare Image Transformations (`<base>/cdn-cgi/image/<options>/<source>`).
|
|
5
|
+
*
|
|
6
|
+
* Falls back to the original `url` when the media has no
|
|
7
|
+
* `image_transform_base` (transformations disabled on the server, private
|
|
8
|
+
* media, SVGs or non-images), so it is always safe to use as `src`.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* <img src={crafty.image(block.data.image_media, { width: 800, format: "auto" })} />
|
|
12
|
+
*/
|
|
13
|
+
export declare function imageUrl(media: CraftyImageSource, options?: CraftyImageOptions): string;
|
|
14
|
+
/**
|
|
15
|
+
* `srcset` value with one transformed URL per width (`<url> 400w, <url> 800w`).
|
|
16
|
+
* Widths are clamped to 1..4096, de-duplicated and sorted. Returns an empty
|
|
17
|
+
* string when the image cannot be transformed: browsers then use `src`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* <img
|
|
21
|
+
* src={crafty.image(media, { width: 800, format: "auto" })}
|
|
22
|
+
* srcSet={crafty.srcset(media, [400, 800, 1200], { format: "auto" })}
|
|
23
|
+
* sizes="(min-width: 768px) 50vw, 100vw"
|
|
24
|
+
* />
|
|
25
|
+
*/
|
|
26
|
+
export declare function imageSrcSet(media: CraftyImageSource, widths: readonly number[], options?: Omit<CraftyImageOptions, "width">): string;
|
|
27
|
+
//# sourceMappingURL=image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqC,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMlH;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAe3F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,GAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAM,GAC9C,MAAM,CAUR"}
|
package/dist/image.js
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
const MAX_DIMENSION = 4096;
|
|
2
|
+
const FITS = ["scale-down", "contain", "cover", "crop", "pad"];
|
|
3
|
+
const FORMATS = ["auto", "webp", "avif", "jpeg", "png"];
|
|
4
|
+
/**
|
|
5
|
+
* URL of a resized / re-encoded version of a Crafty image, served by
|
|
6
|
+
* Cloudflare Image Transformations (`<base>/cdn-cgi/image/<options>/<source>`).
|
|
7
|
+
*
|
|
8
|
+
* Falls back to the original `url` when the media has no
|
|
9
|
+
* `image_transform_base` (transformations disabled on the server, private
|
|
10
|
+
* media, SVGs or non-images), so it is always safe to use as `src`.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* <img src={crafty.image(block.data.image_media, { width: 800, format: "auto" })} />
|
|
14
|
+
*/
|
|
15
|
+
export function imageUrl(media, options = {}) {
|
|
16
|
+
const url = sourceUrl(media);
|
|
17
|
+
if (url === "") {
|
|
18
|
+
return "";
|
|
19
|
+
}
|
|
20
|
+
const base = transformBase(media);
|
|
21
|
+
const params = transformParams(options);
|
|
22
|
+
if (base === null || params === "") {
|
|
23
|
+
return url;
|
|
24
|
+
}
|
|
25
|
+
return `${base}/cdn-cgi/image/${params}/${sourceForBase(url, base)}`;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* `srcset` value with one transformed URL per width (`<url> 400w, <url> 800w`).
|
|
29
|
+
* Widths are clamped to 1..4096, de-duplicated and sorted. Returns an empty
|
|
30
|
+
* string when the image cannot be transformed: browsers then use `src`.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* <img
|
|
34
|
+
* src={crafty.image(media, { width: 800, format: "auto" })}
|
|
35
|
+
* srcSet={crafty.srcset(media, [400, 800, 1200], { format: "auto" })}
|
|
36
|
+
* sizes="(min-width: 768px) 50vw, 100vw"
|
|
37
|
+
* />
|
|
38
|
+
*/
|
|
39
|
+
export function imageSrcSet(media, widths, options = {}) {
|
|
40
|
+
if (sourceUrl(media) === "" || transformBase(media) === null) {
|
|
41
|
+
return "";
|
|
42
|
+
}
|
|
43
|
+
const uniqueWidths = [
|
|
44
|
+
...new Set(widths.map((width) => clampInteger(width, 1, MAX_DIMENSION)).filter((width) => width !== null))
|
|
45
|
+
].sort((a, b) => a - b);
|
|
46
|
+
return uniqueWidths.map((width) => `${imageUrl(media, { ...options, width })} ${width}w`).join(", ");
|
|
47
|
+
}
|
|
48
|
+
function sourceUrl(media) {
|
|
49
|
+
if (typeof media === "string") {
|
|
50
|
+
return media;
|
|
51
|
+
}
|
|
52
|
+
return media !== null && typeof media === "object" && typeof media.url === "string" ? media.url : "";
|
|
53
|
+
}
|
|
54
|
+
function transformBase(media) {
|
|
55
|
+
if (media === null || typeof media !== "object") {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
const base = media.image_transform_base;
|
|
59
|
+
if (typeof base !== "string" || !/^https?:\/\/[^/\s]+\/?$/i.test(base)) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return base.replace(/\/$/, "");
|
|
63
|
+
}
|
|
64
|
+
/** Same origin as the zone: a root-relative path; otherwise the absolute URL. */
|
|
65
|
+
function sourceForBase(url, base) {
|
|
66
|
+
try {
|
|
67
|
+
const source = new URL(url);
|
|
68
|
+
if (source.origin === new URL(base).origin) {
|
|
69
|
+
return source.pathname.replace(/^\//, "") + source.search;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return url;
|
|
74
|
+
}
|
|
75
|
+
return url;
|
|
76
|
+
}
|
|
77
|
+
function transformParams(options) {
|
|
78
|
+
const params = [];
|
|
79
|
+
const width = clampInteger(options.width, 1, MAX_DIMENSION);
|
|
80
|
+
const height = clampInteger(options.height, 1, MAX_DIMENSION);
|
|
81
|
+
const quality = clampInteger(options.quality, 1, 100);
|
|
82
|
+
if (width !== null) {
|
|
83
|
+
params.push(`width=${width}`);
|
|
84
|
+
}
|
|
85
|
+
if (height !== null) {
|
|
86
|
+
params.push(`height=${height}`);
|
|
87
|
+
}
|
|
88
|
+
if (options.fit !== undefined && FITS.includes(options.fit)) {
|
|
89
|
+
params.push(`fit=${options.fit}`);
|
|
90
|
+
}
|
|
91
|
+
if (quality !== null) {
|
|
92
|
+
params.push(`quality=${quality}`);
|
|
93
|
+
}
|
|
94
|
+
if (options.format !== undefined && FORMATS.includes(options.format)) {
|
|
95
|
+
params.push(`format=${options.format}`);
|
|
96
|
+
}
|
|
97
|
+
if (params.length === 0) {
|
|
98
|
+
return "";
|
|
99
|
+
}
|
|
100
|
+
// Serve the original image instead of an error page if a transform fails.
|
|
101
|
+
params.push("onerror=redirect");
|
|
102
|
+
return params.join(",");
|
|
103
|
+
}
|
|
104
|
+
function clampInteger(value, min, max) {
|
|
105
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
return Math.min(max, Math.max(min, Math.round(value)));
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../src/image.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,10 +4,13 @@ export { CraftyError } from "./errors.js";
|
|
|
4
4
|
export type { CraftyErrorCode } from "./errors.js";
|
|
5
5
|
export { attrs, attrsHtml } from "./attrs.js";
|
|
6
6
|
export type { CraftyAttrsOptions, CraftyEditAttributes, CraftyEditTarget, CraftyEditTargetType } from "./attrs.js";
|
|
7
|
+
export { imageSrcSet, imageUrl } from "./image.js";
|
|
7
8
|
export { PREVIEW_HEADER, PREVIEW_INVALID_EVENT, PREVIEW_QUERY_PARAM, PREVIEW_STATUS_HEADER, clearPreviewToken, previewFromRequest, readPreviewToken, storePreviewToken } from "./preview.js";
|
|
8
9
|
export type { PreviewContent, PreviewEntry, PreviewPage, PreviewRequestLike } from "./preview.js";
|
|
9
10
|
export { ANALYTICS_FLAG } from "./resources/analytics.js";
|
|
10
11
|
export type { AnalyticsLoadResult } from "./resources/analytics.js";
|
|
12
|
+
export { ASSISTANT_FLAG } from "./resources/assistant.js";
|
|
13
|
+
export type { AssistantLoadResult } from "./resources/assistant.js";
|
|
11
14
|
export type { LlmsHandlerOptions, LlmsLinkTag } from "./resources/llms.js";
|
|
12
15
|
export type * from "./types/public.js";
|
|
13
16
|
export type * from "./types/blocks.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEnH,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE3E,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEnH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE3E,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { createCraftyClient } from "./client.js";
|
|
2
2
|
export { CraftyError } from "./errors.js";
|
|
3
3
|
export { attrs, attrsHtml } from "./attrs.js";
|
|
4
|
+
export { imageSrcSet, imageUrl } from "./image.js";
|
|
4
5
|
export { PREVIEW_HEADER, PREVIEW_INVALID_EVENT, PREVIEW_QUERY_PARAM, PREVIEW_STATUS_HEADER, clearPreviewToken, previewFromRequest, readPreviewToken, storePreviewToken } from "./preview.js";
|
|
5
6
|
export { ANALYTICS_FLAG } from "./resources/analytics.js";
|
|
7
|
+
export { ASSISTANT_FLAG } from "./resources/assistant.js";
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { HttpClient } from "../http.js";
|
|
2
|
+
import type { CraftyAssistant, RequestOptions } from "../types/public.js";
|
|
3
|
+
/** Global the site assistant widget sets once it starts, so a second loader does nothing. */
|
|
4
|
+
export declare const ASSISTANT_FLAG = "__CRAFTY_ASSISTANT__";
|
|
5
|
+
export type AssistantLoadResult =
|
|
6
|
+
/** The SDK inserted the widget loader. */
|
|
7
|
+
"loaded"
|
|
8
|
+
/** The page already carries the widget (Crafty Hosting deploy, SSR, or an earlier load). */
|
|
9
|
+
| "already-loaded"
|
|
10
|
+
/** The assistant is not set up for this environment. */
|
|
11
|
+
| "not-installed"
|
|
12
|
+
/** Not running in a browser. */
|
|
13
|
+
| "unavailable";
|
|
14
|
+
export declare class AssistantResource {
|
|
15
|
+
private readonly http;
|
|
16
|
+
constructor(http: HttpClient);
|
|
17
|
+
/**
|
|
18
|
+
* Whether the environment shows the assistant, plus the ready-made loader
|
|
19
|
+
* `html`. For SSR, render `html` right before `</body>`.
|
|
20
|
+
*/
|
|
21
|
+
get(options?: RequestOptions): Promise<CraftyAssistant>;
|
|
22
|
+
/**
|
|
23
|
+
* Browser loader for sites that render on the client. Skips when the page
|
|
24
|
+
* already carries the widget, so on Crafty Hosting the loader the deploy
|
|
25
|
+
* injected always wins. The widget reads its settings live, so changes in
|
|
26
|
+
* the panel apply without reloading the SDK.
|
|
27
|
+
*/
|
|
28
|
+
load(options?: RequestOptions): Promise<AssistantLoadResult>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=assistant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant.d.ts","sourceRoot":"","sources":["../../src/resources/assistant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAA2B,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEnG,6FAA6F;AAC7F,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,MAAM,MAAM,mBAAmB;AAC7B,0CAA0C;AACxC,QAAQ;AACV,4FAA4F;GAC1F,gBAAgB;AAClB,wDAAwD;GACtD,eAAe;AACjB,gCAAgC;GAC9B,aAAa,CAAC;AAMlB,qBAAa,iBAAiB;IACT,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAEpD;;;OAGG;IACU,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAMpE;;;;;OAKG;IACU,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;CA8B1E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Global the site assistant widget sets once it starts, so a second loader does nothing. */
|
|
2
|
+
export const ASSISTANT_FLAG = "__CRAFTY_ASSISTANT__";
|
|
3
|
+
const LOADER_SELECTOR = "script[data-crafty-assistant]";
|
|
4
|
+
export class AssistantResource {
|
|
5
|
+
http;
|
|
6
|
+
constructor(http) {
|
|
7
|
+
this.http = http;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Whether the environment shows the assistant, plus the ready-made loader
|
|
11
|
+
* `html`. For SSR, render `html` right before `</body>`.
|
|
12
|
+
*/
|
|
13
|
+
async get(options) {
|
|
14
|
+
const response = await this.http.get("/assistant", options);
|
|
15
|
+
return response.data;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Browser loader for sites that render on the client. Skips when the page
|
|
19
|
+
* already carries the widget, so on Crafty Hosting the loader the deploy
|
|
20
|
+
* injected always wins. The widget reads its settings live, so changes in
|
|
21
|
+
* the panel apply without reloading the SDK.
|
|
22
|
+
*/
|
|
23
|
+
async load(options) {
|
|
24
|
+
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
25
|
+
return "unavailable";
|
|
26
|
+
}
|
|
27
|
+
if (isLoaded()) {
|
|
28
|
+
return "already-loaded";
|
|
29
|
+
}
|
|
30
|
+
const assistant = await this.get(options);
|
|
31
|
+
if (isLoaded()) {
|
|
32
|
+
return "already-loaded";
|
|
33
|
+
}
|
|
34
|
+
if (!assistant.installed) {
|
|
35
|
+
return "not-installed";
|
|
36
|
+
}
|
|
37
|
+
const script = document.createElement("script");
|
|
38
|
+
script.src = assistant.script_url;
|
|
39
|
+
script.async = true;
|
|
40
|
+
script.setAttribute("data-crafty-assistant", "");
|
|
41
|
+
script.setAttribute("data-site", assistant.site);
|
|
42
|
+
script.setAttribute("data-environment", assistant.environment);
|
|
43
|
+
script.setAttribute("data-api", assistant.api_url);
|
|
44
|
+
document.body.appendChild(script);
|
|
45
|
+
return "loaded";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function isLoaded() {
|
|
49
|
+
return window[ASSISTANT_FLAG] !== undefined || document.querySelector(LOADER_SELECTOR) !== null;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=assistant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assistant.js","sourceRoot":"","sources":["../../src/resources/assistant.ts"],"names":[],"mappings":"AAGA,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAcrD,MAAM,eAAe,GAAG,+BAA+B,CAAC;AAExD,MAAM,OAAO,iBAAiB;IACQ;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAExD;;;OAGG;IACI,KAAK,CAAC,GAAG,CAAC,OAAwB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA0B,YAAY,EAAE,OAAO,CAAC,CAAC;QAErF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI,CAAC,OAAwB;QACxC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,CAAC;YACrE,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,QAAQ,EAAE,EAAE,CAAC;YACf,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,QAAQ,EAAE,EAAE,CAAC;YACf,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YACzB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC,UAAU,CAAC;QAClC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,YAAY,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,SAAS,QAAQ;IACf,OAAQ,MAAwB,CAAC,cAAc,CAAC,KAAK,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;AACrH,CAAC"}
|
|
@@ -6,12 +6,12 @@ export class EntriesResource {
|
|
|
6
6
|
}
|
|
7
7
|
async list(collectionSlug, query, options) {
|
|
8
8
|
const requestOptions = query ? { ...options, query } : options;
|
|
9
|
-
const response = await this.http.get(`/collections/${encodeURIComponent(collectionSlug)}/entries`, requestOptions);
|
|
9
|
+
const response = await this.http.get(`/collections/${encodeURIComponent(collectionSlug)}/entries`, this.http.withLocale(requestOptions));
|
|
10
10
|
this.recordShown(collectionSlug, Array.isArray(response?.data) ? response.data : []);
|
|
11
11
|
return response;
|
|
12
12
|
}
|
|
13
13
|
async get(collectionSlug, id, options) {
|
|
14
|
-
const response = await this.http.get(`/collections/${encodeURIComponent(collectionSlug)}/entries/${encodeURIComponent(String(id))}`, options);
|
|
14
|
+
const response = await this.http.get(`/collections/${encodeURIComponent(collectionSlug)}/entries/${encodeURIComponent(String(id))}`, this.http.withLocale(options));
|
|
15
15
|
this.recordShown(collectionSlug, response?.data ? [response.data] : []);
|
|
16
16
|
return response;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/resources/entries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AASrD,MAAM,OAAO,eAAe;IACU;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,IAAI,CAAC,cAAsB,EAAE,KAAwB,EAAE,OAAwB;QAC1F,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,gBAAgB,kBAAkB,CAAC,cAAc,CAAC,UAAU,EAC5D,cAAc,
|
|
1
|
+
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/resources/entries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AASrD,MAAM,OAAO,eAAe;IACU;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,KAAK,CAAC,IAAI,CAAC,cAAsB,EAAE,KAAwB,EAAE,OAAwB;QAC1F,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,gBAAgB,kBAAkB,CAAC,cAAc,CAAC,UAAU,EAC5D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CACrC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAErF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,cAAsB,EAAE,EAAmB,EAAE,OAAwB;QACpF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,gBAAgB,kBAAkB,CAAC,cAAc,CAAC,YAAY,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAC9F,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAC9B,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAExE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,WAAW,CAAC,cAAsB,EAAE,OAAsB;QAChE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAE5B,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACnC,oBAAoB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/resources/forms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,aAAa;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIzD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../src/resources/forms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,aAAa;IACL,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIzD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIhE,MAAM,CACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,CAAC;CAgB/B"}
|
package/dist/resources/forms.js
CHANGED
|
@@ -5,12 +5,12 @@ export class FormsResource {
|
|
|
5
5
|
this.http = http;
|
|
6
6
|
}
|
|
7
7
|
list(options) {
|
|
8
|
-
return this.http.get("/forms", options);
|
|
8
|
+
return this.http.get("/forms", this.http.withLocale(options));
|
|
9
9
|
}
|
|
10
10
|
get(slug, options) {
|
|
11
|
-
return this.http.get(`/forms/${encodeURIComponent(slug)}`, options);
|
|
11
|
+
return this.http.get(`/forms/${encodeURIComponent(slug)}`, this.http.withLocale(options));
|
|
12
12
|
}
|
|
13
|
-
submit(formSlug, data, options) {
|
|
13
|
+
async submit(formSlug, data, options) {
|
|
14
14
|
const siteSlug = this.http.getSiteSlug();
|
|
15
15
|
if (!siteSlug) {
|
|
16
16
|
throw new CraftyError({
|
|
@@ -18,7 +18,7 @@ export class FormsResource {
|
|
|
18
18
|
message: "siteSlug is required in client config to submit forms."
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
-
return this.http.post(`/sites/${encodeURIComponent(siteSlug)}/forms/${encodeURIComponent(formSlug)}/submit`, data,
|
|
21
|
+
return this.http.post(`/sites/${encodeURIComponent(siteSlug)}/forms/${encodeURIComponent(formSlug)}/submit`, data, this.http.withLocale(options));
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=forms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/resources/forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAU3C,MAAM,OAAO,aAAa;IACY;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,OAAwB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,QAAQ,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../src/resources/forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAU3C,MAAM,OAAO,aAAa;IACY;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,OAAwB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,GAAG,CAAC,IAAY,EAAE,OAAwB;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,UAAU,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9G,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,QAAgB,EAChB,IAAoB,EACpB,OAAwB;QAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,WAAW,CAAC;gBACpB,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,wDAAwD;aAClE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,UAAU,kBAAkB,CAAC,QAAQ,CAAC,UAAU,kBAAkB,CAAC,QAAQ,CAAC,SAAS,EACrF,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAC9B,CAAC;IACJ,CAAC;CACF"}
|
package/dist/resources/pages.js
CHANGED
|
@@ -6,10 +6,10 @@ export class PagesResource {
|
|
|
6
6
|
}
|
|
7
7
|
list(query, options) {
|
|
8
8
|
const requestOptions = query ? { ...options, query } : options;
|
|
9
|
-
return this.http.get("/pages", requestOptions);
|
|
9
|
+
return this.http.get("/pages", this.http.withLocale(requestOptions));
|
|
10
10
|
}
|
|
11
11
|
async get(pageSlug, options) {
|
|
12
|
-
const response = await this.http.get(`/pages/${encodeURIComponent(pageSlug)}`, options);
|
|
12
|
+
const response = await this.http.get(`/pages/${encodeURIComponent(pageSlug)}`, this.http.withLocale(options));
|
|
13
13
|
if (this.http.previewToken() !== null && response?.data) {
|
|
14
14
|
recordPreviewContent({ type: "page", id: response.data.id, slug: response.data.slug });
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/resources/pages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAWrD,MAAM,OAAO,aAAa;IACY;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,KAAsB,EAAE,OAAwB;QAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAE/D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,QAAQ,EAAE,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/resources/pages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAWrD,MAAM,OAAO,aAAa;IACY;IAApC,YAAoC,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,IAAI,CAAC,KAAsB,EAAE,OAAwB;QAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAE/D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IACzF,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,OAAwB;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,UAAU,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1I,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,IAAI,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxD,oBAAoB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAEO,kBAAkB,CAAC,QAAoC;QAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAkC,EAAE,CAAC;QACjD,MAAM,WAAW,GAAuC,EAAE,CAAC;QAE3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;QAC9B,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,MAAM;YACN,MAAM;YACN,WAAW;YACX,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI;YAClD,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;YAC9C,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YAC3D,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;gBAExC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;gBAC1D,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|