platform-types 1.10.675 → 1.10.676

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.
@@ -0,0 +1,769 @@
1
+ export type StorefrontResolutionLayer = 'GLOBAL' | 'WEB' | 'WEB#store';
2
+ export type StorefrontRegistryAudience = 'internal' | 'app' | 'public';
3
+ export type StorefrontRegistryLifecycle = 'live' | 'release-owned';
4
+ export type StorefrontRegistryStorage = {
5
+ policy?: 'GLOBALS';
6
+ override?: 'design.settings' | 'design.literalOverrides';
7
+ document?: 'storefront-design';
8
+ source?: 'LITERALS' | 'store' | 'catalogue' | 'featureFlags';
9
+ };
10
+ export type StorefrontSettingValueSchema = {
11
+ readonly type: 'boolean';
12
+ } | {
13
+ readonly type: 'string';
14
+ readonly format?: 'hex-color';
15
+ readonly enum?: readonly string[];
16
+ readonly maxLength?: number;
17
+ };
18
+ export interface StorefrontRegistryMetadata {
19
+ allowedLayers: readonly StorefrontResolutionLayer[];
20
+ audience: StorefrontRegistryAudience;
21
+ lifecycle: StorefrontRegistryLifecycle;
22
+ storage: StorefrontRegistryStorage;
23
+ ownership: 'platform' | 'storefront-design' | 'storefront-operation';
24
+ literal?: {
25
+ readonly kind: 'text';
26
+ readonly label: string;
27
+ readonly help: string;
28
+ };
29
+ valueSchema?: StorefrontSettingValueSchema;
30
+ }
31
+ export declare const STOREFRONT_DESIGN_SETTINGS: {
32
+ readonly primaryColor: {
33
+ readonly key: "primaryColor";
34
+ readonly defaultValue: string;
35
+ readonly valueType: "string";
36
+ readonly valueSchema: {
37
+ readonly type: "string";
38
+ readonly format: "hex-color";
39
+ readonly maxLength: 7;
40
+ };
41
+ readonly maxLength: 7;
42
+ readonly description: string;
43
+ readonly literal: {
44
+ readonly kind: "text";
45
+ readonly label: string;
46
+ readonly help: string;
47
+ };
48
+ readonly scope: "storefront";
49
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
50
+ readonly audience: "public";
51
+ readonly lifecycle: "release-owned";
52
+ readonly storage: {
53
+ readonly policy: "GLOBALS";
54
+ readonly override: "design.settings";
55
+ };
56
+ readonly ownership: "storefront-design";
57
+ };
58
+ readonly accentColor: {
59
+ readonly key: "accentColor";
60
+ readonly defaultValue: string;
61
+ readonly valueType: "string";
62
+ readonly valueSchema: {
63
+ readonly type: "string";
64
+ readonly format: "hex-color";
65
+ readonly maxLength: 7;
66
+ };
67
+ readonly maxLength: 7;
68
+ readonly description: string;
69
+ readonly literal: {
70
+ readonly kind: "text";
71
+ readonly label: string;
72
+ readonly help: string;
73
+ };
74
+ readonly scope: "storefront";
75
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
76
+ readonly audience: "public";
77
+ readonly lifecycle: "release-owned";
78
+ readonly storage: {
79
+ readonly policy: "GLOBALS";
80
+ readonly override: "design.settings";
81
+ };
82
+ readonly ownership: "storefront-design";
83
+ };
84
+ readonly backgroundColor: {
85
+ readonly key: "backgroundColor";
86
+ readonly defaultValue: string;
87
+ readonly valueType: "string";
88
+ readonly valueSchema: {
89
+ readonly type: "string";
90
+ readonly format: "hex-color";
91
+ readonly maxLength: 7;
92
+ };
93
+ readonly maxLength: 7;
94
+ readonly description: string;
95
+ readonly literal: {
96
+ readonly kind: "text";
97
+ readonly label: string;
98
+ readonly help: string;
99
+ };
100
+ readonly scope: "storefront";
101
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
102
+ readonly audience: "public";
103
+ readonly lifecycle: "release-owned";
104
+ readonly storage: {
105
+ readonly policy: "GLOBALS";
106
+ readonly override: "design.settings";
107
+ };
108
+ readonly ownership: "storefront-design";
109
+ };
110
+ readonly headerColor: {
111
+ readonly key: "headerColor";
112
+ readonly defaultValue: string;
113
+ readonly valueType: "string";
114
+ readonly valueSchema: {
115
+ readonly type: "string";
116
+ readonly format: "hex-color";
117
+ readonly maxLength: 7;
118
+ };
119
+ readonly maxLength: 7;
120
+ readonly description: string;
121
+ readonly literal: {
122
+ readonly kind: "text";
123
+ readonly label: string;
124
+ readonly help: string;
125
+ };
126
+ readonly scope: "storefront";
127
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
128
+ readonly audience: "public";
129
+ readonly lifecycle: "release-owned";
130
+ readonly storage: {
131
+ readonly policy: "GLOBALS";
132
+ readonly override: "design.settings";
133
+ };
134
+ readonly ownership: "storefront-design";
135
+ };
136
+ readonly footerColor: {
137
+ readonly key: "footerColor";
138
+ readonly defaultValue: string;
139
+ readonly valueType: "string";
140
+ readonly valueSchema: {
141
+ readonly type: "string";
142
+ readonly format: "hex-color";
143
+ readonly maxLength: 7;
144
+ };
145
+ readonly maxLength: 7;
146
+ readonly description: string;
147
+ readonly literal: {
148
+ readonly kind: "text";
149
+ readonly label: string;
150
+ readonly help: string;
151
+ };
152
+ readonly scope: "storefront";
153
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
154
+ readonly audience: "public";
155
+ readonly lifecycle: "release-owned";
156
+ readonly storage: {
157
+ readonly policy: "GLOBALS";
158
+ readonly override: "design.settings";
159
+ };
160
+ readonly ownership: "storefront-design";
161
+ };
162
+ readonly headingFont: {
163
+ readonly key: "headingFont";
164
+ readonly defaultValue: "ubuntu" | "noto-sans" | "noto-serif";
165
+ readonly valueType: "string";
166
+ readonly allowedValues: readonly ["ubuntu", "noto-sans", "noto-serif"];
167
+ readonly valueSchema: {
168
+ readonly type: "string";
169
+ readonly enum: readonly ["ubuntu", "noto-sans", "noto-serif"];
170
+ };
171
+ readonly description: string;
172
+ readonly literal: {
173
+ readonly kind: "text";
174
+ readonly label: string;
175
+ readonly help: string;
176
+ };
177
+ readonly scope: "storefront";
178
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
179
+ readonly audience: "public";
180
+ readonly lifecycle: "release-owned";
181
+ readonly storage: {
182
+ readonly policy: "GLOBALS";
183
+ readonly override: "design.settings";
184
+ };
185
+ readonly ownership: "storefront-design";
186
+ };
187
+ readonly bodyFont: {
188
+ readonly key: "bodyFont";
189
+ readonly defaultValue: "ubuntu" | "noto-sans" | "noto-serif";
190
+ readonly valueType: "string";
191
+ readonly allowedValues: readonly ["ubuntu", "noto-sans", "noto-serif"];
192
+ readonly valueSchema: {
193
+ readonly type: "string";
194
+ readonly enum: readonly ["ubuntu", "noto-sans", "noto-serif"];
195
+ };
196
+ readonly description: string;
197
+ readonly literal: {
198
+ readonly kind: "text";
199
+ readonly label: string;
200
+ readonly help: string;
201
+ };
202
+ readonly scope: "storefront";
203
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
204
+ readonly audience: "public";
205
+ readonly lifecycle: "release-owned";
206
+ readonly storage: {
207
+ readonly policy: "GLOBALS";
208
+ readonly override: "design.settings";
209
+ };
210
+ readonly ownership: "storefront-design";
211
+ };
212
+ readonly textSize: {
213
+ readonly key: "textSize";
214
+ readonly defaultValue: "compact" | "standard" | "large";
215
+ readonly valueType: "string";
216
+ readonly allowedValues: readonly ["compact", "standard", "large"];
217
+ readonly valueSchema: {
218
+ readonly type: "string";
219
+ readonly enum: readonly ["compact", "standard", "large"];
220
+ };
221
+ readonly description: string;
222
+ readonly literal: {
223
+ readonly kind: "text";
224
+ readonly label: string;
225
+ readonly help: string;
226
+ };
227
+ readonly scope: "storefront";
228
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
229
+ readonly audience: "public";
230
+ readonly lifecycle: "release-owned";
231
+ readonly storage: {
232
+ readonly policy: "GLOBALS";
233
+ readonly override: "design.settings";
234
+ };
235
+ readonly ownership: "storefront-design";
236
+ };
237
+ readonly cardImageRatio: {
238
+ readonly key: "cardImageRatio";
239
+ readonly defaultValue: "square" | "portrait";
240
+ readonly valueType: "string";
241
+ readonly allowedValues: readonly ["square", "portrait"];
242
+ readonly valueSchema: {
243
+ readonly type: "string";
244
+ readonly enum: readonly ["square", "portrait"];
245
+ };
246
+ readonly description: string;
247
+ readonly literal: {
248
+ readonly kind: "text";
249
+ readonly label: string;
250
+ readonly help: string;
251
+ };
252
+ readonly scope: "storefront";
253
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
254
+ readonly audience: "public";
255
+ readonly lifecycle: "release-owned";
256
+ readonly storage: {
257
+ readonly policy: "GLOBALS";
258
+ readonly override: "design.settings";
259
+ };
260
+ readonly ownership: "storefront-design";
261
+ };
262
+ readonly cardDensity: {
263
+ readonly key: "cardDensity";
264
+ readonly defaultValue: "compact" | "spacious";
265
+ readonly valueType: "string";
266
+ readonly allowedValues: readonly ["compact", "spacious"];
267
+ readonly valueSchema: {
268
+ readonly type: "string";
269
+ readonly enum: readonly ["compact", "spacious"];
270
+ };
271
+ readonly description: string;
272
+ readonly literal: {
273
+ readonly kind: "text";
274
+ readonly label: string;
275
+ readonly help: string;
276
+ };
277
+ readonly scope: "storefront";
278
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
279
+ readonly audience: "public";
280
+ readonly lifecycle: "release-owned";
281
+ readonly storage: {
282
+ readonly policy: "GLOBALS";
283
+ readonly override: "design.settings";
284
+ };
285
+ readonly ownership: "storefront-design";
286
+ };
287
+ readonly showBrand: {
288
+ readonly key: "showBrand";
289
+ readonly defaultValue: boolean;
290
+ readonly valueType: "boolean";
291
+ readonly valueSchema: {
292
+ readonly type: "boolean";
293
+ };
294
+ readonly description: string;
295
+ readonly literal: {
296
+ readonly kind: "text";
297
+ readonly label: string;
298
+ readonly help: string;
299
+ };
300
+ readonly scope: "storefront";
301
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
302
+ readonly audience: "public";
303
+ readonly lifecycle: "release-owned";
304
+ readonly storage: {
305
+ readonly policy: "GLOBALS";
306
+ readonly override: "design.settings";
307
+ };
308
+ readonly ownership: "storefront-design";
309
+ };
310
+ readonly showSku: {
311
+ readonly key: "showSku";
312
+ readonly defaultValue: boolean;
313
+ readonly valueType: "boolean";
314
+ readonly valueSchema: {
315
+ readonly type: "boolean";
316
+ };
317
+ readonly description: string;
318
+ readonly literal: {
319
+ readonly kind: "text";
320
+ readonly label: string;
321
+ readonly help: string;
322
+ };
323
+ readonly scope: "storefront";
324
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
325
+ readonly audience: "public";
326
+ readonly lifecycle: "release-owned";
327
+ readonly storage: {
328
+ readonly policy: "GLOBALS";
329
+ readonly override: "design.settings";
330
+ };
331
+ readonly ownership: "storefront-design";
332
+ };
333
+ };
334
+ type SettingValue<T> = T extends {
335
+ valueSchema: {
336
+ enum: readonly (infer V)[];
337
+ };
338
+ } ? V : T extends {
339
+ valueType: 'boolean';
340
+ } ? boolean : string;
341
+ type ResolvedSettings = {
342
+ -readonly [K in keyof typeof STOREFRONT_DESIGN_SETTINGS]: SettingValue<(typeof STOREFRONT_DESIGN_SETTINGS)[K]>;
343
+ };
344
+ declare global {
345
+ type StorefrontDesignSettings = ResolvedSettings;
346
+ }
347
+ export type { StorefrontDesignSettings };
348
+ export type StorefrontDesignSettingKey = keyof StorefrontDesignSettings;
349
+ export declare const isStorefrontDesignSettingKey: (key: string) => key is StorefrontDesignSettingKey;
350
+ export declare const validateStorefrontSettingValue: (schema: StorefrontSettingValueSchema, value: unknown) => boolean;
351
+ export declare const validateStorefrontDesignSetting: (key: string, value: unknown) => boolean;
352
+ export declare const STOREFRONT_DESIGN_LITERAL_MAX_CODE_POINTS = 4096;
353
+ export interface StorefrontDesignSettingsLayer {
354
+ layer: StorefrontResolutionLayer;
355
+ values: Partial<StorefrontDesignSettings>;
356
+ }
357
+ export interface ResolvedStorefrontDesignSettings {
358
+ values: StorefrontDesignSettings;
359
+ provenance: Record<StorefrontDesignSettingKey, 'default' | StorefrontResolutionLayer | 'design'>;
360
+ }
361
+ export declare const resolveStorefrontDesignSettingsLayers: (layers: readonly StorefrontDesignSettingsLayer[], overrides?: Partial<StorefrontDesignSettings>) => ResolvedStorefrontDesignSettings;
362
+ export declare const resolveStorefrontDesignSettings: (overrides?: Partial<StorefrontDesignSettings>, layers?: readonly StorefrontDesignSettingsLayer[]) => StorefrontDesignSettings;
363
+ export declare const STOREFRONT_DESIGN_REGISTRY: {
364
+ readonly settings: {
365
+ readonly primaryColor: {
366
+ readonly key: "primaryColor";
367
+ readonly defaultValue: string;
368
+ readonly valueType: "string";
369
+ readonly valueSchema: {
370
+ readonly type: "string";
371
+ readonly format: "hex-color";
372
+ readonly maxLength: 7;
373
+ };
374
+ readonly maxLength: 7;
375
+ readonly description: string;
376
+ readonly literal: {
377
+ readonly kind: "text";
378
+ readonly label: string;
379
+ readonly help: string;
380
+ };
381
+ readonly scope: "storefront";
382
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
383
+ readonly audience: "public";
384
+ readonly lifecycle: "release-owned";
385
+ readonly storage: {
386
+ readonly policy: "GLOBALS";
387
+ readonly override: "design.settings";
388
+ };
389
+ readonly ownership: "storefront-design";
390
+ };
391
+ readonly accentColor: {
392
+ readonly key: "accentColor";
393
+ readonly defaultValue: string;
394
+ readonly valueType: "string";
395
+ readonly valueSchema: {
396
+ readonly type: "string";
397
+ readonly format: "hex-color";
398
+ readonly maxLength: 7;
399
+ };
400
+ readonly maxLength: 7;
401
+ readonly description: string;
402
+ readonly literal: {
403
+ readonly kind: "text";
404
+ readonly label: string;
405
+ readonly help: string;
406
+ };
407
+ readonly scope: "storefront";
408
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
409
+ readonly audience: "public";
410
+ readonly lifecycle: "release-owned";
411
+ readonly storage: {
412
+ readonly policy: "GLOBALS";
413
+ readonly override: "design.settings";
414
+ };
415
+ readonly ownership: "storefront-design";
416
+ };
417
+ readonly backgroundColor: {
418
+ readonly key: "backgroundColor";
419
+ readonly defaultValue: string;
420
+ readonly valueType: "string";
421
+ readonly valueSchema: {
422
+ readonly type: "string";
423
+ readonly format: "hex-color";
424
+ readonly maxLength: 7;
425
+ };
426
+ readonly maxLength: 7;
427
+ readonly description: string;
428
+ readonly literal: {
429
+ readonly kind: "text";
430
+ readonly label: string;
431
+ readonly help: string;
432
+ };
433
+ readonly scope: "storefront";
434
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
435
+ readonly audience: "public";
436
+ readonly lifecycle: "release-owned";
437
+ readonly storage: {
438
+ readonly policy: "GLOBALS";
439
+ readonly override: "design.settings";
440
+ };
441
+ readonly ownership: "storefront-design";
442
+ };
443
+ readonly headerColor: {
444
+ readonly key: "headerColor";
445
+ readonly defaultValue: string;
446
+ readonly valueType: "string";
447
+ readonly valueSchema: {
448
+ readonly type: "string";
449
+ readonly format: "hex-color";
450
+ readonly maxLength: 7;
451
+ };
452
+ readonly maxLength: 7;
453
+ readonly description: string;
454
+ readonly literal: {
455
+ readonly kind: "text";
456
+ readonly label: string;
457
+ readonly help: string;
458
+ };
459
+ readonly scope: "storefront";
460
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
461
+ readonly audience: "public";
462
+ readonly lifecycle: "release-owned";
463
+ readonly storage: {
464
+ readonly policy: "GLOBALS";
465
+ readonly override: "design.settings";
466
+ };
467
+ readonly ownership: "storefront-design";
468
+ };
469
+ readonly footerColor: {
470
+ readonly key: "footerColor";
471
+ readonly defaultValue: string;
472
+ readonly valueType: "string";
473
+ readonly valueSchema: {
474
+ readonly type: "string";
475
+ readonly format: "hex-color";
476
+ readonly maxLength: 7;
477
+ };
478
+ readonly maxLength: 7;
479
+ readonly description: string;
480
+ readonly literal: {
481
+ readonly kind: "text";
482
+ readonly label: string;
483
+ readonly help: string;
484
+ };
485
+ readonly scope: "storefront";
486
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
487
+ readonly audience: "public";
488
+ readonly lifecycle: "release-owned";
489
+ readonly storage: {
490
+ readonly policy: "GLOBALS";
491
+ readonly override: "design.settings";
492
+ };
493
+ readonly ownership: "storefront-design";
494
+ };
495
+ readonly headingFont: {
496
+ readonly key: "headingFont";
497
+ readonly defaultValue: "ubuntu" | "noto-sans" | "noto-serif";
498
+ readonly valueType: "string";
499
+ readonly allowedValues: readonly ["ubuntu", "noto-sans", "noto-serif"];
500
+ readonly valueSchema: {
501
+ readonly type: "string";
502
+ readonly enum: readonly ["ubuntu", "noto-sans", "noto-serif"];
503
+ };
504
+ readonly description: string;
505
+ readonly literal: {
506
+ readonly kind: "text";
507
+ readonly label: string;
508
+ readonly help: string;
509
+ };
510
+ readonly scope: "storefront";
511
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
512
+ readonly audience: "public";
513
+ readonly lifecycle: "release-owned";
514
+ readonly storage: {
515
+ readonly policy: "GLOBALS";
516
+ readonly override: "design.settings";
517
+ };
518
+ readonly ownership: "storefront-design";
519
+ };
520
+ readonly bodyFont: {
521
+ readonly key: "bodyFont";
522
+ readonly defaultValue: "ubuntu" | "noto-sans" | "noto-serif";
523
+ readonly valueType: "string";
524
+ readonly allowedValues: readonly ["ubuntu", "noto-sans", "noto-serif"];
525
+ readonly valueSchema: {
526
+ readonly type: "string";
527
+ readonly enum: readonly ["ubuntu", "noto-sans", "noto-serif"];
528
+ };
529
+ readonly description: string;
530
+ readonly literal: {
531
+ readonly kind: "text";
532
+ readonly label: string;
533
+ readonly help: string;
534
+ };
535
+ readonly scope: "storefront";
536
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
537
+ readonly audience: "public";
538
+ readonly lifecycle: "release-owned";
539
+ readonly storage: {
540
+ readonly policy: "GLOBALS";
541
+ readonly override: "design.settings";
542
+ };
543
+ readonly ownership: "storefront-design";
544
+ };
545
+ readonly textSize: {
546
+ readonly key: "textSize";
547
+ readonly defaultValue: "compact" | "standard" | "large";
548
+ readonly valueType: "string";
549
+ readonly allowedValues: readonly ["compact", "standard", "large"];
550
+ readonly valueSchema: {
551
+ readonly type: "string";
552
+ readonly enum: readonly ["compact", "standard", "large"];
553
+ };
554
+ readonly description: string;
555
+ readonly literal: {
556
+ readonly kind: "text";
557
+ readonly label: string;
558
+ readonly help: string;
559
+ };
560
+ readonly scope: "storefront";
561
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
562
+ readonly audience: "public";
563
+ readonly lifecycle: "release-owned";
564
+ readonly storage: {
565
+ readonly policy: "GLOBALS";
566
+ readonly override: "design.settings";
567
+ };
568
+ readonly ownership: "storefront-design";
569
+ };
570
+ readonly cardImageRatio: {
571
+ readonly key: "cardImageRatio";
572
+ readonly defaultValue: "square" | "portrait";
573
+ readonly valueType: "string";
574
+ readonly allowedValues: readonly ["square", "portrait"];
575
+ readonly valueSchema: {
576
+ readonly type: "string";
577
+ readonly enum: readonly ["square", "portrait"];
578
+ };
579
+ readonly description: string;
580
+ readonly literal: {
581
+ readonly kind: "text";
582
+ readonly label: string;
583
+ readonly help: string;
584
+ };
585
+ readonly scope: "storefront";
586
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
587
+ readonly audience: "public";
588
+ readonly lifecycle: "release-owned";
589
+ readonly storage: {
590
+ readonly policy: "GLOBALS";
591
+ readonly override: "design.settings";
592
+ };
593
+ readonly ownership: "storefront-design";
594
+ };
595
+ readonly cardDensity: {
596
+ readonly key: "cardDensity";
597
+ readonly defaultValue: "compact" | "spacious";
598
+ readonly valueType: "string";
599
+ readonly allowedValues: readonly ["compact", "spacious"];
600
+ readonly valueSchema: {
601
+ readonly type: "string";
602
+ readonly enum: readonly ["compact", "spacious"];
603
+ };
604
+ readonly description: string;
605
+ readonly literal: {
606
+ readonly kind: "text";
607
+ readonly label: string;
608
+ readonly help: string;
609
+ };
610
+ readonly scope: "storefront";
611
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
612
+ readonly audience: "public";
613
+ readonly lifecycle: "release-owned";
614
+ readonly storage: {
615
+ readonly policy: "GLOBALS";
616
+ readonly override: "design.settings";
617
+ };
618
+ readonly ownership: "storefront-design";
619
+ };
620
+ readonly showBrand: {
621
+ readonly key: "showBrand";
622
+ readonly defaultValue: boolean;
623
+ readonly valueType: "boolean";
624
+ readonly valueSchema: {
625
+ readonly type: "boolean";
626
+ };
627
+ readonly description: string;
628
+ readonly literal: {
629
+ readonly kind: "text";
630
+ readonly label: string;
631
+ readonly help: string;
632
+ };
633
+ readonly scope: "storefront";
634
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
635
+ readonly audience: "public";
636
+ readonly lifecycle: "release-owned";
637
+ readonly storage: {
638
+ readonly policy: "GLOBALS";
639
+ readonly override: "design.settings";
640
+ };
641
+ readonly ownership: "storefront-design";
642
+ };
643
+ readonly showSku: {
644
+ readonly key: "showSku";
645
+ readonly defaultValue: boolean;
646
+ readonly valueType: "boolean";
647
+ readonly valueSchema: {
648
+ readonly type: "boolean";
649
+ };
650
+ readonly description: string;
651
+ readonly literal: {
652
+ readonly kind: "text";
653
+ readonly label: string;
654
+ readonly help: string;
655
+ };
656
+ readonly scope: "storefront";
657
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
658
+ readonly audience: "public";
659
+ readonly lifecycle: "release-owned";
660
+ readonly storage: {
661
+ readonly policy: "GLOBALS";
662
+ readonly override: "design.settings";
663
+ };
664
+ readonly ownership: "storefront-design";
665
+ };
666
+ };
667
+ readonly content: {
668
+ readonly schema: "StorefrontDesignV1";
669
+ readonly lifecycle: "release-owned";
670
+ readonly ownership: "storefront-design";
671
+ readonly audience: "public";
672
+ readonly storage: {
673
+ readonly document: "storefront-design";
674
+ };
675
+ };
676
+ readonly literalOverrides: {
677
+ readonly catalog: "WEB_LITERAL_DEFAULTS";
678
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
679
+ readonly lifecycle: "release-owned";
680
+ readonly ownership: "storefront-design";
681
+ readonly audience: "public";
682
+ readonly storage: {
683
+ readonly source: "LITERALS";
684
+ readonly override: "design.literalOverrides";
685
+ };
686
+ };
687
+ readonly live: {
688
+ readonly showIvaAlert: {
689
+ readonly storage: {
690
+ readonly source: "featureFlags";
691
+ };
692
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
693
+ readonly audience: "public";
694
+ readonly lifecycle: "live";
695
+ readonly ownership: "storefront-operation";
696
+ readonly excludedFromSnapshot: true;
697
+ };
698
+ readonly showCurrencySelector: {
699
+ readonly storage: {
700
+ readonly source: "featureFlags";
701
+ };
702
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
703
+ readonly audience: "public";
704
+ readonly lifecycle: "live";
705
+ readonly ownership: "storefront-operation";
706
+ readonly excludedFromSnapshot: true;
707
+ };
708
+ readonly enableSaveForLater: {
709
+ readonly storage: {
710
+ readonly source: "featureFlags";
711
+ };
712
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
713
+ readonly audience: "public";
714
+ readonly lifecycle: "live";
715
+ readonly ownership: "storefront-operation";
716
+ readonly excludedFromSnapshot: true;
717
+ };
718
+ readonly prices: {
719
+ readonly storage: {
720
+ readonly source: "catalogue";
721
+ };
722
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
723
+ readonly audience: "public";
724
+ readonly lifecycle: "live";
725
+ readonly ownership: "storefront-operation";
726
+ readonly excludedFromSnapshot: true;
727
+ };
728
+ readonly stock: {
729
+ readonly storage: {
730
+ readonly source: "catalogue";
731
+ };
732
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
733
+ readonly audience: "public";
734
+ readonly lifecycle: "live";
735
+ readonly ownership: "storefront-operation";
736
+ readonly excludedFromSnapshot: true;
737
+ };
738
+ readonly checkout: {
739
+ readonly storage: {
740
+ readonly source: "store";
741
+ };
742
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
743
+ readonly audience: "public";
744
+ readonly lifecycle: "live";
745
+ readonly ownership: "storefront-operation";
746
+ readonly excludedFromSnapshot: true;
747
+ };
748
+ readonly catalogue: {
749
+ readonly storage: {
750
+ readonly source: "catalogue";
751
+ };
752
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
753
+ readonly audience: "public";
754
+ readonly lifecycle: "live";
755
+ readonly ownership: "storefront-operation";
756
+ readonly excludedFromSnapshot: true;
757
+ };
758
+ readonly availability: {
759
+ readonly storage: {
760
+ readonly source: "store";
761
+ };
762
+ readonly allowedLayers: readonly ["GLOBAL", "WEB", "WEB#store"];
763
+ readonly audience: "public";
764
+ readonly lifecycle: "live";
765
+ readonly ownership: "storefront-operation";
766
+ readonly excludedFromSnapshot: true;
767
+ };
768
+ };
769
+ };