@salesforce/storefront-next-runtime 0.4.1 → 1.0.0-alpha.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 +9 -3
- package/dist/config.d.ts +33 -221
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -116
- package/dist/config.js.map +1 -1
- package/dist/data-store.d.ts +185 -15
- package/dist/data-store.d.ts.map +1 -1
- package/dist/data-store.js +412 -10
- package/dist/data-store.js.map +1 -1
- package/dist/design-data.d.ts +266 -62
- package/dist/design-data.d.ts.map +1 -1
- package/dist/design-data.js +399 -14
- package/dist/design-data.js.map +1 -1
- package/dist/design-mode.d.ts +3 -2
- package/dist/design-mode.d.ts.map +1 -1
- package/dist/events.d.ts +32 -6
- package/dist/events.d.ts.map +1 -1
- package/dist/i18n-client.d.ts.map +1 -1
- package/dist/i18n-client.js.map +1 -1
- package/dist/i18n.d.ts +1 -2
- package/dist/i18n.d.ts.map +1 -1
- package/dist/modeDetection.js +0 -18
- package/dist/modeDetection.js.map +1 -1
- package/dist/scapi.d.ts +2185 -466
- package/dist/scapi.d.ts.map +1 -1
- package/dist/scapi.js +1 -1
- package/dist/scapi.js.map +1 -1
- package/dist/schema.d.ts +17 -15
- package/dist/schema.d.ts.map +1 -1
- package/dist/site-context.d.ts +43 -27
- package/dist/site-context.d.ts.map +1 -1
- package/dist/site-context.js +2 -2
- package/dist/site-context2.js +41 -31
- package/dist/site-context2.js.map +1 -1
- package/dist/types.d.ts +19 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types2.d.ts +89 -63
- package/dist/types2.d.ts.map +1 -1
- package/package.json +2 -20
- package/dist/custom-global-preferences.d.ts +0 -20
- package/dist/custom-global-preferences.d.ts.map +0 -1
- package/dist/custom-global-preferences.js +0 -31
- package/dist/custom-global-preferences.js.map +0 -1
- package/dist/custom-site-preferences.d.ts +0 -20
- package/dist/custom-site-preferences.d.ts.map +0 -1
- package/dist/custom-site-preferences.js +0 -31
- package/dist/custom-site-preferences.js.map +0 -1
- package/dist/data-store-custom-global-preferences.d.ts +0 -2
- package/dist/data-store-custom-global-preferences.js +0 -6
- package/dist/data-store-custom-site-preferences.d.ts +0 -2
- package/dist/data-store-custom-site-preferences.js +0 -6
- package/dist/data-store-gcp-preferences.d.ts +0 -2
- package/dist/data-store-gcp-preferences.js +0 -6
- package/dist/gcp-preferences.d.ts +0 -52
- package/dist/gcp-preferences.d.ts.map +0 -1
- package/dist/gcp-preferences.js +0 -64
- package/dist/gcp-preferences.js.map +0 -1
- package/dist/utils.js +0 -90
- package/dist/utils.js.map +0 -1
package/dist/design-data.d.ts
CHANGED
|
@@ -1,5 +1,163 @@
|
|
|
1
1
|
import { r as ShopperExperience } from "./types2.js";
|
|
2
2
|
|
|
3
|
+
//#region src/design/data/page/attribute-resolution.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Per-request resolution surface. Storefront-next builds one of these from
|
|
7
|
+
* the request URL + site config; Page Designer preview builds one against
|
|
8
|
+
* the BM origin. Both surfaces inject URL-building utilities so this module
|
|
9
|
+
* stays platform-neutral.
|
|
10
|
+
*/
|
|
11
|
+
interface AttributeResolutionContext {
|
|
12
|
+
/**
|
|
13
|
+
* Storefront origin used to absolutize URLs, e.g.
|
|
14
|
+
* `"https://www.shop.example"`. Page Designer preview supplies the BM
|
|
15
|
+
* origin instead.
|
|
16
|
+
*/
|
|
17
|
+
host: string;
|
|
18
|
+
/**
|
|
19
|
+
* Builds a static-content URL for a media-file path inside a library.
|
|
20
|
+
* Mirrors ECOM's `MediaFile.getAbsURL()` chain, parameterized by the
|
|
21
|
+
* storefront request rather than a JVM `Request`.
|
|
22
|
+
*
|
|
23
|
+
* The {@code locale} hint is optional — when omitted, the resolver
|
|
24
|
+
* substitutes `"default"` so URLs still resolve.
|
|
25
|
+
*/
|
|
26
|
+
resolveMediaUrl: (ref: {
|
|
27
|
+
libraryDomain: string;
|
|
28
|
+
path: string;
|
|
29
|
+
locale?: string;
|
|
30
|
+
}) => string;
|
|
31
|
+
/**
|
|
32
|
+
* Resolves a library-relative path inside markup (`?$staticlink$`).
|
|
33
|
+
* When omitted, falls back to {@link resolveMediaUrl}.
|
|
34
|
+
*/
|
|
35
|
+
staticLinkFor?: (ref: {
|
|
36
|
+
libraryDomain: string;
|
|
37
|
+
path: string;
|
|
38
|
+
locale?: string;
|
|
39
|
+
}) => string;
|
|
40
|
+
/**
|
|
41
|
+
* Default library media domain used when rewriting `?$staticlink$`
|
|
42
|
+
* references inside markup attributes. Sourced from
|
|
43
|
+
* {@code manifest.pageLibraryDomain} and threaded through by the
|
|
44
|
+
* caller. Optional — when omitted, `?$staticlink$` placeholders inside
|
|
45
|
+
* markup are left untouched and a one-time warning fires.
|
|
46
|
+
*/
|
|
47
|
+
pageLibraryDomain?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Locale hint forwarded to {@link resolveMediaUrl}. Page Designer
|
|
50
|
+
* preview may omit this when the editor session has no locale; the
|
|
51
|
+
* resolver substitutes `"default"` in that case.
|
|
52
|
+
*/
|
|
53
|
+
locale?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Optional handler invoked when the resolver encounters a recoverable
|
|
56
|
+
* problem — malformed envelopes, unknown attribute types, depth limits
|
|
57
|
+
* exceeded. Lets the consumer route these into its own logger / metric
|
|
58
|
+
* pipeline instead of the SDK calling `console.warn` directly.
|
|
59
|
+
*
|
|
60
|
+
* The runtime dedupes calls to {@code onWarn} per
|
|
61
|
+
* `(typeId, attrId, attrType)` triple so a misshapen value processed
|
|
62
|
+
* many times only fires the handler once per process.
|
|
63
|
+
*
|
|
64
|
+
* When omitted the runtime stays silent — fits unit tests and Page
|
|
65
|
+
* Designer preview where stderr noise is undesirable. Production
|
|
66
|
+
* callers should supply a handler that forwards to their structured
|
|
67
|
+
* logger.
|
|
68
|
+
*/
|
|
69
|
+
onWarn?: (warning: AttributeResolutionWarning) => void;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Payload passed to {@link AttributeResolutionContext.onWarn}. Keep this
|
|
73
|
+
* shape stable — consumers may pattern-match on `kind` to decide log
|
|
74
|
+
* level, attach extra metadata, etc.
|
|
75
|
+
*/
|
|
76
|
+
interface AttributeResolutionWarning {
|
|
77
|
+
/**
|
|
78
|
+
* Identifier for the kind of issue, useful for routing or grouping in
|
|
79
|
+
* downstream logging:
|
|
80
|
+
*
|
|
81
|
+
* - `malformed-image` / `malformed-file` / `malformed-cms-record` —
|
|
82
|
+
* the manifest envelope didn't match the expected shape and the
|
|
83
|
+
* value is being passed through unchanged.
|
|
84
|
+
* - `unknown-attribute-type` — the runtime saw an attribute type it
|
|
85
|
+
* doesn't recognize (forward-compat from a newer ECOM).
|
|
86
|
+
* - `cms-record-depth-exceeded` — recursive cms_record nesting hit
|
|
87
|
+
* the resolver's safety limit.
|
|
88
|
+
* - `staticlink-rewrite-skipped` — markup contains `?$staticlink$`
|
|
89
|
+
* placeholders but `ctx.pageLibraryDomain` was not configured, so
|
|
90
|
+
* the placeholder is left in the source. Fires once per process
|
|
91
|
+
* regardless of how many markup attributes hit it (tracked via the
|
|
92
|
+
* {@code typeId}/{@code attrId} fields, both empty strings, in the
|
|
93
|
+
* {@code warnOnce} dedup key).
|
|
94
|
+
*/
|
|
95
|
+
kind: 'malformed-image' | 'malformed-file' | 'malformed-cms-record' | 'cms-record-depth-exceeded' | 'unknown-attribute-type' | 'staticlink-rewrite-skipped';
|
|
96
|
+
/** Human-readable message — safe to log directly. */
|
|
97
|
+
message: string;
|
|
98
|
+
/** Component type id the offending attribute belongs to. */
|
|
99
|
+
typeId: string;
|
|
100
|
+
/** Attribute id within the component. */
|
|
101
|
+
attrId: string;
|
|
102
|
+
/** The attribute's declared type, when known. Empty for inner cms_record entries that don't carry a type. */
|
|
103
|
+
attrType: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Slim attribute definition used by the resolver to dispatch by type.
|
|
107
|
+
* Mirrors the fields {@code AttributeDefinition} ships in SCAPI's
|
|
108
|
+
* `componentTypes` map. Defined here so the resolver doesn't take a
|
|
109
|
+
* dependency on the larger SCAPI generated types.
|
|
110
|
+
*/
|
|
111
|
+
interface AttributeDefinition {
|
|
112
|
+
/** Attribute identifier as authored by the merchant (e.g. `"hero"`). */
|
|
113
|
+
id: string;
|
|
114
|
+
/**
|
|
115
|
+
* Lower-case attribute type identifier matching ECOM's
|
|
116
|
+
* {@code AttributeDefinition.Type#getID}. Examples:
|
|
117
|
+
* `"string"`, `"text"`, `"image"`, `"markup"`, `"file"`, `"cms_record"`.
|
|
118
|
+
*/
|
|
119
|
+
type: string;
|
|
120
|
+
/**
|
|
121
|
+
* Default value declared on the attribute definition. Used by component
|
|
122
|
+
* data composition as a fallback when neither the active locale nor the
|
|
123
|
+
* fallback locale has a value for this attribute (see
|
|
124
|
+
* {@code processPage}'s `visitComponent`). The shape is whatever the
|
|
125
|
+
* attribute's `type` would normally hold — a string for `string`/`text`,
|
|
126
|
+
* an envelope for `image`/`file`, etc.
|
|
127
|
+
*/
|
|
128
|
+
defaultValue?: unknown;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Resolves every attribute on a component's `data` map to the wire shape
|
|
132
|
+
* SCAPI `getPage` would have returned.
|
|
133
|
+
*
|
|
134
|
+
* Dispatch is type-driven when {@code typeAttributeDefinitions} is supplied.
|
|
135
|
+
* Otherwise the resolver inspects each value structurally — it recognizes
|
|
136
|
+
* the image envelope by the presence of `media.libraryDomain` and
|
|
137
|
+
* `media.path` and passes everything else through unchanged.
|
|
138
|
+
*
|
|
139
|
+
* Forward-compatibility (Q9): unknown attribute types pass through. Each
|
|
140
|
+
* `(typeId, attrId, attrType)` triple is logged once per process via a
|
|
141
|
+
* module-scoped dedup set.
|
|
142
|
+
*
|
|
143
|
+
* @param data attribute map to resolve, already
|
|
144
|
+
* locale-merged + data-binding-resolved by
|
|
145
|
+
* {@link processPage}.
|
|
146
|
+
* @param typeId component type identifier, used as part
|
|
147
|
+
* of the dedup key for warnings. Empty
|
|
148
|
+
* string is acceptable for anonymous
|
|
149
|
+
* callers (page-level data).
|
|
150
|
+
* @param typeAttributeDefinitions attribute definitions for {@code typeId}
|
|
151
|
+
* from `manifest.componentTypes`. When
|
|
152
|
+
* omitted, falls back to structural
|
|
153
|
+
* detection of the image envelope.
|
|
154
|
+
* @param ctx per-request resolution surface.
|
|
155
|
+
* @returns a new map with each attribute's value replaced by the resolved
|
|
156
|
+
* wire shape; pass-through for any attribute type the resolver
|
|
157
|
+
* doesn't yet recognize.
|
|
158
|
+
*/
|
|
159
|
+
declare function resolveAttributeValues(data: Record<string, unknown> | undefined | null, typeId: string, typeAttributeDefinitions: Record<string, AttributeDefinition> | undefined, ctx: AttributeResolutionContext): Record<string, unknown>;
|
|
160
|
+
//#endregion
|
|
3
161
|
//#region src/design/data/types.d.ts
|
|
4
162
|
|
|
5
163
|
/**
|
|
@@ -19,6 +177,22 @@ interface PageManifest {
|
|
|
19
177
|
variations: Record<string, VariationEntry>;
|
|
20
178
|
/** The variation ID to use when no other variation's rule matches. */
|
|
21
179
|
defaultVariation: string;
|
|
180
|
+
/**
|
|
181
|
+
* Per-component-type attribute definitions hoisted from the page layout
|
|
182
|
+
* by the manifest builder, deduped by `typeId`. Used by the MRT
|
|
183
|
+
* attribute resolver to dispatch by attribute type without round-tripping
|
|
184
|
+
* to ECOM. Optional — older manifests may not include this field.
|
|
185
|
+
*/
|
|
186
|
+
componentTypes?: Record<string, {
|
|
187
|
+
attributeDefinitions: Record<string, AttributeDefinition>;
|
|
188
|
+
}>;
|
|
189
|
+
/**
|
|
190
|
+
* Media-file domain name of the page's owning library. Used by the markup
|
|
191
|
+
* URL rewriter to resolve `?$staticlink$` placeholders at request time.
|
|
192
|
+
* Set by the manifest builder from `library.getMediaFileDomain().getDomainName()`.
|
|
193
|
+
* Optional — older manifests may not include this field.
|
|
194
|
+
*/
|
|
195
|
+
pageLibraryDomain?: string;
|
|
22
196
|
/**
|
|
23
197
|
* Component visibility rule definitions extracted from the page layout.
|
|
24
198
|
* Maps each component ID to its array of rule objects and a flag indicating
|
|
@@ -27,7 +201,7 @@ interface PageManifest {
|
|
|
27
201
|
componentInfo: {
|
|
28
202
|
[componentId: string]: {
|
|
29
203
|
/** The visibility rules for this component. */
|
|
30
|
-
visibilityRules
|
|
204
|
+
visibilityRules?: VisibilityRuleDef[];
|
|
31
205
|
/**
|
|
32
206
|
* Locale-specific content attributes for this component. Keyed by locale
|
|
33
207
|
* (e.g. `"en_US"`), each entry contains attribute values that are merged
|
|
@@ -36,10 +210,16 @@ interface PageManifest {
|
|
|
36
210
|
content?: {
|
|
37
211
|
[locale: string]: Record<string, unknown>;
|
|
38
212
|
};
|
|
39
|
-
/** Data binding metadata for this component
|
|
40
|
-
dataBinding?: ComponentDataBinding
|
|
213
|
+
/** Data binding metadata for this component. Omitted when the component has no bindings. */
|
|
214
|
+
dataBinding?: ComponentDataBinding;
|
|
215
|
+
/** Whether this component is a fragment (a reusable, externally-managed content asset). */
|
|
216
|
+
fragment?: boolean;
|
|
217
|
+
/** Custom component data produced by the type's serialize script. Omitted when the component has no custom data. */
|
|
218
|
+
custom?: Record<string, unknown>;
|
|
219
|
+
/** Display name of the component. Omitted when the component has no name. */
|
|
220
|
+
name?: string;
|
|
41
221
|
/** Region-level configuration (e.g. maxComponents limits), keyed by region ID. */
|
|
42
|
-
regions
|
|
222
|
+
regions?: {
|
|
43
223
|
[regionId: string]: RegionInfo;
|
|
44
224
|
};
|
|
45
225
|
};
|
|
@@ -48,13 +228,13 @@ interface PageManifest {
|
|
|
48
228
|
/** Region-level configuration extracted from the page manifest, including type filters and component limits. */
|
|
49
229
|
interface RegionInfo {
|
|
50
230
|
/** The name of the region. */
|
|
51
|
-
name
|
|
231
|
+
name?: string;
|
|
52
232
|
/** The component type exclusions for the region. */
|
|
53
|
-
componentTypeExclusions
|
|
233
|
+
componentTypeExclusions?: string[];
|
|
54
234
|
/** The component type inclusions for the region. */
|
|
55
|
-
componentTypeInclusions
|
|
56
|
-
/** Maximum number of visible components to render in this region
|
|
57
|
-
maxComponents
|
|
235
|
+
componentTypeInclusions?: string[];
|
|
236
|
+
/** Maximum number of visible components to render in this region. Omitted when there is no limit. */
|
|
237
|
+
maxComponents?: number;
|
|
58
238
|
}
|
|
59
239
|
/**
|
|
60
240
|
* Site-wide manifest containing content assignments that map product and category
|
|
@@ -152,13 +332,52 @@ interface VariationEntry {
|
|
|
152
332
|
ruleRequiresContext: boolean;
|
|
153
333
|
/** The visibility rule that must pass for this variation to be selected. Undefined for the default variation. */
|
|
154
334
|
visibilityRule?: VisibilityRuleDef;
|
|
155
|
-
/**
|
|
335
|
+
/**
|
|
336
|
+
* The full page data for this variation. Includes the SCAPI-shape page
|
|
337
|
+
* metadata fields (`name`, `aspectTypeId`, `description`, `pageTitle`,
|
|
338
|
+
* `pageDescription`, `pageKeywords`) populated from the default-locale
|
|
339
|
+
* `Page` by the manifest builder. Non-default-locale overrides for
|
|
340
|
+
* these fields live in {@link pageContent}.
|
|
341
|
+
*/
|
|
156
342
|
page: ShopperExperience.schemas['Page'];
|
|
343
|
+
/**
|
|
344
|
+
* Per-locale overlay for the variation's page metadata. When the request
|
|
345
|
+
* locale is not the default and the page metadata differs, the manifest
|
|
346
|
+
* builder writes the **full set** of locale-specific page metadata fields
|
|
347
|
+
* here (full replacement, not diff — see Q6 of the design plan).
|
|
348
|
+
*
|
|
349
|
+
* Each entry is a partial `Page` carrying only the metadata fields that
|
|
350
|
+
* may be locale-overridden (`name`, `aspectTypeId`, `description`,
|
|
351
|
+
* `pageTitle`, `pageDescription`, `pageKeywords`); structural fields
|
|
352
|
+
* (`id`, `typeId`, `regions`) live on {@link page} and are never
|
|
353
|
+
* locale-overlaid.
|
|
354
|
+
*
|
|
355
|
+
* Absent or missing entries fall back to the default-locale page
|
|
356
|
+
* metadata. Optional — older manifests may not include this field.
|
|
357
|
+
*/
|
|
358
|
+
pageContent?: {
|
|
359
|
+
[locale: string]: PageMetadataOverlay;
|
|
360
|
+
};
|
|
157
361
|
/** Page-level region configuration for this variation, keyed by region ID. These are top-level regions owned by the page itself, not nested under a component. */
|
|
158
362
|
regions: {
|
|
159
363
|
[regionId: string]: RegionInfo;
|
|
160
364
|
};
|
|
161
365
|
}
|
|
366
|
+
/**
|
|
367
|
+
* Subset of {@link ShopperExperience.schemas#Page} fields that the manifest
|
|
368
|
+
* builder may locale-overlay. Stored on
|
|
369
|
+
* {@link VariationEntry.pageContent} keyed by locale ID. Structural fields
|
|
370
|
+
* (`id`, `typeId`, `regions`) are intentionally excluded — they are not
|
|
371
|
+
* locale-scoped.
|
|
372
|
+
*/
|
|
373
|
+
interface PageMetadataOverlay {
|
|
374
|
+
name?: string;
|
|
375
|
+
aspectTypeId?: string;
|
|
376
|
+
description?: string;
|
|
377
|
+
pageTitle?: string;
|
|
378
|
+
pageDescription?: string;
|
|
379
|
+
pageKeywords?: string;
|
|
380
|
+
}
|
|
162
381
|
/**
|
|
163
382
|
* A visibility rule definition that controls when a page variation or component
|
|
164
383
|
* is shown. All conditions within a rule use AND logic — every specified
|
|
@@ -231,6 +450,24 @@ interface PageProcessorContext {
|
|
|
231
450
|
};
|
|
232
451
|
/** The locale to use when resolving locale-specific component content (e.g. `"en_US"`). */
|
|
233
452
|
locale: string;
|
|
453
|
+
/** The site's default locale, used as a fallback when the current locale has no content entry (e.g. `"en_US"`). */
|
|
454
|
+
defaultLocale: string;
|
|
455
|
+
/**
|
|
456
|
+
* Per-request resolution surface used by {@link resolveAttributeValues} to
|
|
457
|
+
* convert manifest envelopes into the wire shape SCAPI `getPage` would have
|
|
458
|
+
* returned. The storefront-next middleware builds it once per request and
|
|
459
|
+
* Page Designer preview supplies an editor-mode equivalent.
|
|
460
|
+
*/
|
|
461
|
+
attrCtx: AttributeResolutionContext;
|
|
462
|
+
/**
|
|
463
|
+
* Per-component-type attribute definitions hoisted by the manifest builder.
|
|
464
|
+
* Keyed by `typeId`. Optional — when omitted, the resolver falls back to
|
|
465
|
+
* structural detection for the image envelope and passes everything else
|
|
466
|
+
* through.
|
|
467
|
+
*/
|
|
468
|
+
componentTypes?: Record<string, {
|
|
469
|
+
attributeDefinitions: Record<string, AttributeDefinition>;
|
|
470
|
+
}>;
|
|
234
471
|
/**
|
|
235
472
|
* When `true` (default), invisible components are removed from the tree and
|
|
236
473
|
* regions are truncated to their `maxComponents` limit. When `false`, invisible
|
|
@@ -239,57 +476,6 @@ interface PageProcessorContext {
|
|
|
239
476
|
*/
|
|
240
477
|
pruneInvisible?: boolean;
|
|
241
478
|
}
|
|
242
|
-
/**
|
|
243
|
-
* Filters a page's components based on their visibility rules and resolves
|
|
244
|
-
* data binding expressions in a single traversal. Traverses the page tree
|
|
245
|
-
* using the visitor pattern and:
|
|
246
|
-
*
|
|
247
|
-
* 1. Removes any component whose visibility rules do not pass against the
|
|
248
|
-
* shopper's qualifier context.
|
|
249
|
-
* 2. Resolves data binding expressions in each surviving component's `data`
|
|
250
|
-
* attributes using the resolved data bindings from context resolution.
|
|
251
|
-
*
|
|
252
|
-
* A component is visible if **any** of its visibility rules pass (OR logic).
|
|
253
|
-
* If a component has rules and none of them pass, it is removed. Components
|
|
254
|
-
* without rules are always included.
|
|
255
|
-
*
|
|
256
|
-
* @param page - The page to process.
|
|
257
|
-
* @param context - The processing context with qualifier data, visibility rules, and resolved data bindings.
|
|
258
|
-
* @returns A new page with invisible components filtered out and data binding expressions resolved.
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* ```ts
|
|
262
|
-
* import { processPage } from '@salesforce/storefront-next-runtime/design/data';
|
|
263
|
-
*
|
|
264
|
-
* const page = {
|
|
265
|
-
* id: 'homepage',
|
|
266
|
-
* typeId: 'storePage',
|
|
267
|
-
* regions: [{
|
|
268
|
-
* id: 'main',
|
|
269
|
-
* components: [
|
|
270
|
-
* { id: 'public-banner', typeId: 'commerce_assets.heroBanner', regions: [] },
|
|
271
|
-
* { id: 'loyalty-offer', typeId: 'commerce_assets.promoTile', regions: [] },
|
|
272
|
-
* ],
|
|
273
|
-
* }],
|
|
274
|
-
* };
|
|
275
|
-
*
|
|
276
|
-
* // The "loyalty-offer" component requires the shopper to be in "loyalty-members"
|
|
277
|
-
* const componentInfo = {
|
|
278
|
-
* 'public-banner': { visibilityRules: [] },
|
|
279
|
-
* 'loyalty-offer': {
|
|
280
|
-
* visibilityRules: [{ customerGroups: ['loyalty-members'] }],
|
|
281
|
-
* },
|
|
282
|
-
* };
|
|
283
|
-
*
|
|
284
|
-
* // Guest shopper — not in any customer group
|
|
285
|
-
* const filtered = processPage(page, {
|
|
286
|
-
* qualifiers: { customerGroups: {}, campaignQualifiers: {} },
|
|
287
|
-
* componentInfo,
|
|
288
|
-
* });
|
|
289
|
-
* // filtered.regions[0].components has only "public-banner"
|
|
290
|
-
* // "loyalty-offer" was removed because the shopper isn't a loyalty member
|
|
291
|
-
* ```
|
|
292
|
-
*/
|
|
293
479
|
declare function processPage(page: ShopperExperience.schemas['Page'], processorContext: PageProcessorContext): ShopperExperience.schemas['Page'];
|
|
294
480
|
//#endregion
|
|
295
481
|
//#region src/design/data/page/transform.d.ts
|
|
@@ -721,16 +907,27 @@ declare function resolvePage({
|
|
|
721
907
|
identifierType,
|
|
722
908
|
aspectType,
|
|
723
909
|
locale,
|
|
910
|
+
defaultLocale,
|
|
724
911
|
manifestStorage,
|
|
725
912
|
contextResolver,
|
|
913
|
+
attrCtx,
|
|
726
914
|
pruneInvisible
|
|
727
915
|
}: {
|
|
728
916
|
id: string;
|
|
729
917
|
identifierType: IdentifierType;
|
|
730
918
|
aspectType?: string;
|
|
731
919
|
locale: string;
|
|
920
|
+
defaultLocale: string;
|
|
732
921
|
manifestStorage: ManifestStorage;
|
|
733
922
|
contextResolver?: ContextResolver;
|
|
923
|
+
/**
|
|
924
|
+
* Per-request resolution surface for attribute envelope rewriting. Built
|
|
925
|
+
* once per request by the storefront-next middleware (or Page Designer
|
|
926
|
+
* preview). The `componentTypes` map travels on the
|
|
927
|
+
* {@link PageManifest} itself and is read off the manifest below before
|
|
928
|
+
* being threaded into {@link processPage}.
|
|
929
|
+
*/
|
|
930
|
+
attrCtx: AttributeResolutionContext;
|
|
734
931
|
pruneInvisible?: boolean;
|
|
735
932
|
}): Promise<ShopperExperience.schemas['Page'] | null>;
|
|
736
933
|
//#endregion
|
|
@@ -986,5 +1183,12 @@ declare const ContentAssignmentResolvers: Map<string, ContentAssignmentResolver>
|
|
|
986
1183
|
*/
|
|
987
1184
|
declare function validateRule(rule: VisibilityRuleDef, locale: string, context?: QualifierContext | null): boolean;
|
|
988
1185
|
//#endregion
|
|
989
|
-
|
|
1186
|
+
//#region src/design/data/page/markup-url-rewriter.d.ts
|
|
1187
|
+
/**
|
|
1188
|
+
* Rewrites `?$staticlink$` placeholders in markup to fully-qualified
|
|
1189
|
+
* static-content URLs. Pipeline-action placeholders pass through unchanged.
|
|
1190
|
+
*/
|
|
1191
|
+
declare function rewriteMarkup(source: string, ctx: AttributeResolutionContext): string;
|
|
1192
|
+
//#endregion
|
|
1193
|
+
export { type AttributeDefinition, type AttributeResolutionContext, type AttributeResolutionWarning, CampaignQualifier, ComponentDataBinding, ContentAssignmentResolvers, ContextResolver, DataBindingRequirement, IdentifierType, InferNodeFromType, ManifestStorage, PageManifest, PageManifestContext, PageMetadataOverlay, type PageProcessorContext, type PageVisitor, QualifierContext, RegionInfo, RequiredError, ResolvedDataBinding, SiteManifest, VariationEntry, VisibilityRuleDef, type VisitorContext, VisitorContextType, getPageFromManifest, parseExpression, processPage, resolveAttributeValues, resolveComponentDataBindings, resolveDynamicPageId, resolveExpression, resolvePage, rewriteMarkup, transformComponent, transformPage, transformRegion, validateRule };
|
|
990
1194
|
//# sourceMappingURL=design-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-data.d.ts","names":[],"sources":["../src/design/data/types.ts","../src/design/data/page/process-page.ts","../src/design/data/page/transform.ts","../src/design/data/errors/required.ts","../src/design/data/page/resolve-data-bindings.ts","../src/design/data/page/resolve-page.ts","../src/design/data/manifest/resolve-dynamic-page-id.ts","../src/design/data/manifest/get-page.ts","../src/design/data/manifest/content-assignment-resolvers.ts","../src/design/data/validate-rule.ts"],"sourcesContent":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"design-data.d.ts","names":[],"sources":["../src/design/data/page/attribute-resolution.ts","../src/design/data/types.ts","../src/design/data/page/process-page.ts","../src/design/data/page/transform.ts","../src/design/data/errors/required.ts","../src/design/data/page/resolve-data-bindings.ts","../src/design/data/page/resolve-page.ts","../src/design/data/manifest/resolve-dynamic-page-id.ts","../src/design/data/manifest/get-page.ts","../src/design/data/manifest/content-assignment-resolvers.ts","../src/design/data/validate-rule.ts","../src/design/data/page/markup-url-rewriter.ts"],"sourcesContent":[],"mappings":";;;;;;;AA2CA;AA+DA;AA0CA;AAiWgB,UA1cC,0BAAA,CA0cqB;EAC5B;;;;;EAID,IAAA,EAAA,MAAA;;;;ACleT;;;;;EAiB4D,eAAA,EAAA,CAAA,GAAA,EAAA;IAAvC,aAAA,EAAA,MAAA;IAgBS,IAAA,EAAA,MAAA;IAOI,MAAA,CAAA,EAAA,MAAA;EAGR,CAAA,EAAA,GAAA,MAAA;EAIL;;;AAYrB;EAgBiB,aAAA,CAAA,EAAY,CAAA,GAAA,EAAA;IAsCZ,aAAA,EAAA,MAAoB;IAYzB,IAAA,EAAA,MAAA;IAOK,MAAA,CAAA,EAAA,MAAA;EAiBL,CAAA,EAAA,GAAA,MAAA;EAOK;;;;;;AAsDjB;EAciB,iBAAA,CAAA,EAAiB,MAAA;EAqBtB;AAOZ;AASA;AAOA;;EAEiC,MAAA,CAAA,EAAA,MAAA;EAEF;;;AAG/B;;;;;AAEA;AAEA;;;;;;EAIQ,MAAA,CAAA,EAAA,CAAA,OAAkB,EDjNH,0BCiNG,EAAA,GAAA,IAAA;;;;;ACpR1B;;AAImB,UFuEF,0BAAA,CEvEE;EAGF;;;;;;AAiIjB;;;;;;;;ACzIA;;;;EAUmB,IAAA,EAAA,iBAAkB,GAAA,gBAAA,GAAA,sBAAA,GAAA,2BAAA,GAAA,wBAAA,GAAA,4BAAA;EAGnB;EACA,OAAA,EAAA,MAAkB;EAClB;EAHG,MAAA,EAAA,MAAA;EAMM;EAEG,MAAA,EAAA,MAAA;EAId;EAOA,QAAA,EAAA,MAAA;;;;;;;;AA0DU,UH6BT,mBAAA,CG7B2B;EAA2B;EAsB/C,EAAA,EAAA,MAAA;EAAsC;;;;;EAkF1C,IAAA,EAAA,MAAA;EAAoC;;AA6ExD;;;;;;EAIO,YAAA,CAAA,EAAkB,OAAA;;AAsGzB;;;;;AA4CA;;;;;;;;ACnbA;;;;;;;;;;ACwCA;AAsBA;;;;;AAiEgB,iBLuWA,sBAAA,CKvW4B,IAAA,ELwWlC,MKxWkC,CAAA,MAAA,EAAA,OAAA,CAAA,GAAA,SAAA,GAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,wBAAA,EL0Wd,MK1Wc,CAAA,MAAA,EL0WC,mBK1WD,CAAA,GAAA,SAAA,EAAA,GAAA,EL2WnC,0BK3WmC,CAAA,EL4WzC,MK5WyC,CAAA,MAAA,EAAA,OAAA,CAAA;;;;;;;;;;AJrFd,UAjCb,YAAA,CAiCa;EAOI;EAGR,MAAA,EAAA,MAAA;EAIL;EAKe,OAAA,EAhDvB,mBAgDuB;EAAU;EAO7B,cAAU,EAAA,MAAA,EAAA;EAgBV;EAsCA,UAAA,EAzGD,MAyGC,CAAA,MAAoB,EAzGN,cA2Gd,CAAA;EAUL;EAOK,gBAAA,EAAA,MAAmB;EAiBxB;AAOZ;;;;;EA2CsC,cAAA,CAAA,EAtLjB,MAsLiB,CAAA,MAAA,EAAA;IAWrB,oBAAmB,EAjMwB,MAiMxB,CAAA,MAAA,EAjMuC,mBAiMvC,CAAA;EAcnB,CAAA,CAAA;EAqBL;AAOZ;AASA;AAOA;;;EAI+B,iBAAA,CAAA,EAAA,MAAA;EAAR;;AAGvB;;;EAAoE,aAAA,EAAA;IAAO,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA;MAE/D;MAEA,eAAiB,CAAA,EAtPC,iBAsPD,EAAA;MAAe;;;;;MAIpC,OAAkB,CAAA,EAAA;QAAO,CAAA,MAAA,EAAA,MAAA,CAAA,EAnPC,MAmPD,CAAA,MAAA,EAAA,OAAA,CAAA;;;oBAhPP;MCpCT;MAED,QAAA,CAAA,EAAA,OAAA;MAEG;MAGF,MAAA,CAAA,EDiCI,MCjCJ,CAAA,MAAA,EAAA,OAAA,CAAA;MAYJ;MAO8D,IAAA,CAAA,EAAA,MAAA;MAAf;MAAvC,OAAA,CAAA,EAAA;QAAM,CAAA,QAAA,EAAA,MAAA,CAAA,EDmBS,UCnBT;MA8GX,CAAA;IACN,CAAA;EACY,CAAA;;;UDtFL,UAAA;;;EErDJ;EAIK,uBAAA,CAAA,EAAA,MAAA,EAAA;EAEA;EAEG,uBAAA,CAAA,EAAA,MAAA,EAAA;EAEF;EAGD,aAAA,CAAA,EAAkB,MAAA;;;;;;;AAkBpB,UFsCC,YAAA,CEtCD;EAOA;;;;;;;EAmDU,wBAAkB,EAAA;IAA2B,CAAA,UAAkB,EAAA,MAAA,CAAA,EAAA;MAsBjE,CAAA,UAAkB,EAAA,MAAA,CAAA,EAAA;QAAoB,CAAA,QAAkB,EAAA,MAAA,CAAA,EAAA;UAoC1C;UACb,UAAA,EAAA,mBAAA,GAAA,mBAAA;UAsBuB;UAAyC,SAAA,EAAA,MAAA;QAuBrE,CAAA;MAAoC,CAAA;IAAyB,CAAA;EA6EhE,CAAA;EACsB;;;;EAEtB,UAAA,EAAA;IACV,CAAA,UAAkB,EAAA,MAAA,CAAA,EAAA;MAES;MAAf,IAAA,EAAA,MAAA;MACZ;MAAyB,cAAA,CAAA,EAAA,MAAA;IAwDhB,CAAA;EACN,CAAA;;;;AA0CV;;AAEa,UF/QI,oBAAA,CE+QJ;EACV;EAAyB,WAAA,EF9QX,ME8QW,CAAA,MAAA,EAAA,MAAA,CAAA;EAyCZ;EACJ,QAAA,EFtTE,sBEsTgB,EAAA;;;;;;;ACpbjB,KHsID,iBAAA,GAAoB,iBAAA,CAAkB,OGtIvB,CAAA,mBAAA,CAAA;;;;;;AAAa,UH6IvB,mBAAA,CG7IuB;;sBH+IhB;;EIvGR,cAAA,EAAA,MAAe,EAAA;EAsBf;EAEF,YAAA,EJmFI,sBInFJ,EAAA;;;;AA+Dd;;;;;;KJ+BY,sBAAA,GAAyB,iBAAA,CAAkB;;;AK3CvD;;;AAGI,UL+Ca,cAAA,CK/Cb;EACA;;;;;EAKA,mBAAA,EAAA,OAAA;EAGgB;;;;;EAehB,mBAAA,EAAA,OAAA;EAAO;mBLqCU;;;AM/HrB;;;;;EAGI,IAAA,ENoIM,iBAAA,CAAkB,OMpIxB,CAAA,MAAA,CAAA;EACA;;;;;;;ACuBJ;;;;;;;;EASU,WAAA,CAAA,EAAA;sBPoHgB;;;EQrMT,OAAA,EAAA;IAYL,CAAA,QAAA,EAAA,MAAA,CAAA,ER6LgB,UQ7LS;EAyCxB,CAAA;;;;ACfb;;;;AC8EA;UVgGiB,mBAAA;;;;;;;;;;;;;UAcA,iBAAA;;;;uBAIQ;;;;;;;;;;;;;;;;KAiBb,gBAAA,GAAmB,iBAAA,CAAkB;;;;;;KAOrC,mBAAA,GAAsB,iBAAA,CAAkB;;;;;;;;KASxC,cAAA;;;;;;UAOK,eAAA;;+BAEgB,QAAQ;;qBAElB,QAAQ;;KAGnB,eAAA,aAA4B,4BAA4B,QAAQ;KAEhE,kBAAA;KAEA,gCAAgC,sBAAsB,uBAC5D,iBAAA,CAAkB,kBAClB,yBACE,iBAAA,CAAkB,oBAClB,iBAAA,CAAkB;;;ADxQ1B;AA+DA;AA0CA;AAiWA;;AAG6C,UEzd5B,oBAAA,CFyd4B;EAAf;EACrB,UAAA,EExdO,gBFwdP,GAAA,IAAA;EACN;EAAM,aAAA,EEvdU,YFudV,CAAA,eAAA,CAAA;;;aEpdQ;EDdA,CAAA;EAIJ;EAIkB,MAAA,EAAA,MAAA;EAAf;EAS2D,aAAA,EAAA,MAAA;EAAf;;;;;;EAmCxB,OAAA,EC1BvB,0BD0BuB;EAAU;AAO9C;AAgBA;AAsCA;AAYA;AAOA;EAiBY,cAAA,CAAA,ECpHS,MDoHT,CAAA,MAAsB,EAAA;IAOjB,oBAAc,EC3H6B,MD2H7B,CAAA,MAAA,EC3H4C,mBD2H5C,CAAA;EAcV,CAAA,CAAA;EAQX;;;;AAgCV;AAcA;EAqBY,cAAA,CAAA,EAAA,OAAgB;AAO5B;AASY,iBCtHI,WAAA,CDsHU,IAAA,ECrHhB,iBAAA,CAAkB,ODqHF,CAAA,MAAA,CAAA,EAAA,gBAAA,ECpHJ,oBDoHI,CAAA,ECnHvB,iBAAA,CAAkB,ODmHK,CAAA,MAAA,CAAA;;;;;;;;;;;;;;AAjNoB,cE9CjC,cF8CiC,CAAA,KAAA,CAAA,CAAA;EAO7B,iBAAU,OAAA;EAgBV,WAAA,CAAA,OAAY,EAAA;IAsCZ;IAYL,IAAA,EEnHM,KFmHN;IAOK;IAiBL,IAAA,EEzIM,kBFyIgB;IAOjB;IAcI,OAAA,EE5JA,WF4JA;IAQX;IAiBgB,IAAA,CAAA,EEnLP,iBAAA,CAAkB,OFmLX,CAAA,MAAA,CAAA;IAIE;IAAU,MAAA,CAAA,EErLjB,cFqLiB,CEpLpB,iBAAA,CAAkB,OFoLE,CAAA,MAAA,CAAA,GEnLpB,iBAAA,CAAkB,OFmLE,CAAA,QAAA,CAAA,GElLpB,iBAAA,CAAkB,OFkLE,CAAA,WAAA,CAAA,CAAA;IAWrB;IAcA,YAAA,CAAA,EExMU,iBAAA,CAAkB,OF4MpB,CAAA,QAAiB,CAAA;IAiB9B;IAOA,eAAA,CAAA,EElOkB,iBAAA,CAAkB,OFkOd,CAAA,WAAkB,CAAA;EASxC,CAAA;EAOK,IAAA,IAAA,CAAA,CAAA,EE9OD,kBF8OgB;EAES;;;EAElB,IAAA,IAAA,CAAA,CAAA,EE3OP,KF2OO;EAAO;AAG9B;;EAA4E,IAAA,IAAA,CAAA,CAAA,EEvO5D,iBAAA,CAAkB,OFuO0C,CAAA,MAAA,CAAA,GAAA,SAAA;EAAR;;AAEpE;EAEY,IAAA,MAAA,CAAA,CAAA,EEnOF,cFmOmB,CElOb,iBAAA,CAAkB,OFkOL,CAAA,MAAA,CAAA,GEjOb,iBAAA,CAAkB,OFiOL,CAAA,QAAA,CAAA,GEhOb,iBAAA,CAAkB,OFgOL,CAAA,WAAA,CAAA,CAAA,GAAA,SAAA;EAAe;;;EAEtC,IAAA,YAAA,CAAA,CAAA,EEzNkB,iBAAA,CAAkB,OFyNpC,CAAA,QAAA,CAAA,GAAA,SAAA;EACE;;;yBEnNmB,iBAAA,CAAkB;;;ADhE7C;;;;;;;;;AAwIA;;;;;;;;ACzIA;EAIkB,YAAA,CAAA,OAAA,CAAA,EAqFQ,iBAAA,CAAkB,OArF1B,CAAA,QAAA,CAAA,EAAA,CAAA,EAqFqD,iBAAA,CAAkB,OArFvE,CAAA,QAAA,CAAA,EAAA;EAEA;;;;;;;;EAcY,WAAA,CAAA,MAAkB,EA2FxB,iBAAA,CAAkB,OA3FM,CAAA,QAAA,CAAA,CAAA,EA2Fc,iBAAA,CAAkB,OA3FhC,CAAA,QAAA,CAAA,GAAA,IAAA;EAIhC;;;;;;;;;;;;;;;;;;;;EAsPC,eAAW,CAAA,UAAA,CAAA,EA3HR,iBAAA,CAAkB,OA2HV,CAAA,WAAA,CAAA,EAAA,CAAA,EA1HrB,iBAAA,CAAkB,OA0HG,CAAA,WAAA,CAAA,EAAA;EACW;;;;;;;;EAMhC,cAAA,CAAkB,SAAA,EA3GK,iBAAA,CAAkB,OA2GvB,CAAA,WAAA,CAAA,CAAA,EA3G8C,iBAAA,CAAkB,OA2GhE,CAAA,WAAA,CAAA,GAAA,IAAA;EAAO;AAwDhC;;;;;AA2CA;;EAEa,SAAA,CAAA,IAAA,EAzLO,iBAAA,CAAkB,OAyLzB,CAAA,MAAA,CAAA,CAAA,EAzL2C,iBAAA,CAAkB,OAyL7D,CAAA,MAAA,CAAA,GAAA,IAAA;EACV,QAAA,cAAkB;;AAyCrB;;;;;;UAtJiB,WAAA;sBACO,eAAe,iBAAA,CAAkB,mBAAmB,iBAAA,CAAkB;EC9RjF,WAAA,EAAA,OAAc,EDgSV,cChSU,CDgSK,iBAAA,CAAkB,OChSvB,CAAA,QAAA,CAAA,CAAA,CAAA,EDiSpB,iBAAA,CAAkB,OCjSE,CAAA,QAAA,CAAA,GAAA,IAAA;EAOZ,cAAA,EAAA,SAAA,ED4RI,cC5RJ,CD4RmB,iBAAA,CAAkB,OC5RrC,CAAA,WAAA,CAAA,CAAA,CAAA,ED6RR,iBAAA,CAAkB,OC7RV,CAAA,WAAA,CAAA,GAAA,IAAA;;;;;;;;;ACiCf;AAsBA;;;;;AAiEA;;;;;;;;;ACZA;;;;;;;;;;;;;;;;;;;;AC/DA;;;;;;;;;;;iBJwSgB,aAAA,OACN,iBAAA,CAAkB,0BACf,cACV,iBAAA,CAAkB;;AKhRrB;;;;;;;;;;;;ACxEA;AAYA;AAyCA;;;;ACfA;;;;AC8EA;;;;;;;;;;;;;iBR4QgB,kBAAA,YACD,iBAAA,CAAkB,+BACpB,cACV,iBAAA,CAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyCL,eAAA,SACJ,iBAAA,CAAkB,4BACjB,cACV,iBAAA,CAAkB;;;;;;AH1ZrB;AA+DA;AA0CA;AAiWA;;;;;;;;;cItea,aAAA,SAAsB,KAAA;EHSlB,WAAA,CAAA,OAAY,EAAA,MAAA;EAIhB,OAAA,MAAA,CAAA,MAAA,CAAA,CAAA,KAAA,EGNE,MHMF,EAAA,OAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,KAAA,EGJY,MHIZ,EAAA,GAAA,OAAA,CAAA,EAAA,QAAA,KAAA,IGHW,WHGX,CGHuB,MHGvB,CAAA;;;;;;AAuDb;AAgBA;AAsCA;AAYA;AAOA;AAiBA;AAOA;;;;;AA2CsC,iBIxKtB,eAAA,CJwKsB,UAAA,EAAA,MAAA,CAAA,EAAA;EAWrB,IAAA,EAAA,MAAA;EAcA,KAAA,EAAA,MAAA;AAqBjB,CAAA,GAAY,IAAA;AAOZ;AASA;AAOA;;;;;;AAOA;;;;;AAEY,iBIhOI,iBAAA,CJgOc,UAAA,EAAA,MAAA,EAAA,QAAA,EI9NhB,sBJ8NgB,EAAA,EAAA,YAAA,EI7NZ,WJ6NY,CI7NA,gBJ6NA,CAAA,cAAA,CAAA,CAAA,CAAA,EAAA,OAAA;AAE9B;;;;;;;;;;;AChRA;;;;;;;;;AAwIA;;;;;;;;ACzIA;;;;;;;;;;;;;;;;;;;;AAyF0B,iBEuBV,4BAAA,CFvB4B,SAAA,EEwB7B,iBAAA,CAAkB,OFxBW,CAAA,WAAA,CAAA,EAAA,OAAA,EEyB/B,oBFzB+B,GAAA,IAAA,GAAA,SAAA,EAAA,YAAA,EE0B1B,gBF1B0B,CAAA,cAAA,CAAA,CAAA,EE2BzC,iBAAA,CAAkB,OF3BuB,CAAA,WAAA,CAAA;;;;;;;;;;;;;;AFpC5C;AAgBA;AAsCA;AAYA;AAOA;AAiBA;AAOA;;;;;;AAsDA;AAcA;AAqBA;AAOA;AASA;AAOA;;;;;;AAOA;;;;;AAEA;AAEA;;;;;;;;;;;AChRA;;;;;;AA0B4D,iBIyEtC,WAAA,CJzEsC;EAAA,EAAA;EAAA,cAAA;EAAA,UAAA;EAAA,MAAA;EAAA,aAAA;EAAA,eAAA;EAAA,eAAA;EAAA,OAAA;EAAA;CAAA,EAAA;EAAvC,EAAA,EAAA,MAAA;EAAM,cAAA,EIqFP,cJrFO;EA8GX,UAAA,CAAA,EAAA,MAAW;EACjB,MAAA,EAAA,MAAA;EACY,aAAA,EAAA,MAAA;EACnB,eAAkB,EIxBA,eJwBA;EAAO,eAAA,CAAA,EIvBN,eJuBM;;;;AC5I5B;;;;EAUmB,OAAA,EGmHN,0BHnHwB;EAGnB,cAAA,CAAkB,EAAA,OAAA;CAClB,CAAA,EGiHd,OHjHc,CGiHN,iBAAA,CAAkB,OHjHM,CAAA,MAAA,CAAA,GAAA,IAAA,CAAA;;;AFpBpC;;;;;;;;;;;;;AA2DA;AAgBA;AAsCA;AAYA;AAOA;AAiBA;AAOA;;;;;;AAsDA;AAcA;AAqBA;AAOA;AASA;AAOA;;;;;;AAOA;;;;;AAEA;AAEA;;;;;;;AAIiC,iBMhPjB,oBNgPiB,CAAA,oBMhPwB,cNgPxB,GMhPyC,cNgPzC,CAAA,CAAA;EAAA,EAAA;EAAA,cAAA;EAAA,YAAA;EAAA;CAAA,EAAA;;kBMzOb;;EL3CH,YAAA,CAAA,EK6CE,YL7CkB,GAAA,IAAA;CAErB,CAAA,EAAA,MAAA,GAAA,IAAA;;;ADThB;;;;;;;;;;;;;AA2DA;AAgBA;AAsCA;AAYA;AAOA;AAiBA;AAOA;;;;;;AAsDA;AAcA;AAqBA;AAOA;AASA;AAOA;;;;;;AAOA;;;;;AAEA;AAEA;;;;;;;;;;;AChRA;;;;;;;;;AAwIA;;;;;;;;ACzIA;;;;;;AAckB,iBKkDI,mBAAA,CLlDc,QAAA,EKmDtB,YLnDsB,EAAA;EAAA,eAAA;EAAA;CAAA,EAAA;EAClB,eAAkB,CAAA,EKuDV,eLvDU;EAHf,MAAA,EAAA,MAAA;CAMM,CAAA,EKuDxB,OLvDwB,CAAA;EAEG,KAAA,EKsDnB,cLtDqC;EAIhC,OAAA,EKmDH,gBLnDG,GAAA,IAAA;CAOA,GAAA,IAAA,CAAA;;;AFrChB;;;;;AAiB4D,UQnB3C,+BAAA,CRmB2C;EAAvC;EAgBS,UAAA,EAAA,MAAA;EAOI;EAGR,IAAA,EAAA,MAAA,EAAA;;;;AAgB1B;AAgBA;AAsCA;AAYY,KQnHA,yBAAA,GRmHoB,CAAA,GAAA,EAAA,MAAA,EAAA,QAAyB,CAAA,EQjH1C,YRiH0C,GAAA,IAAA,EAAA,GQhHpD,+BRgHoD;AAOzD;AAiBA;AAOA;;;;;;AAsDA;AAcA;AAqBA;AAOA;AASA;AAOA;;;;;;AAOA;;;;;AAEA;AAEA;;;;;;;;;;;AChRiB,cO4CJ,0BP5CwB,EO4CE,GP5CF,CAAA,MAAA,EO4CE,yBP5CF,CAAA;;;ADPrC;;;;;;;;;;;;;AA2DA;AAgBA;AAsCA;AAYA;AAOA;AAiBA;AAOA;;;;;;AAsDA;AAcA;AAqBA;AAOA;AASA;AAOA;;;;;;AAOA;;;;;AAEA;AAEA;AAA4C,iBSnP5B,YAAA,CTmP4B,IAAA,ESnPT,iBTmPS,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,ESnPoC,gBTmPpC,GAAA,IAAA,CAAA,EAAA,OAAA;;;;;;AA5N5C;AAgBiB,iBUuCD,aAAA,CVvCa,MAAA,EAAA,MAAA,EAAA,GAAA,EUuCsB,0BVvCtB,CAAA,EAAA,MAAA"}
|