@athoscommerce/snap-preact 1.12.0 → 1.13.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/dist/cjs/components/src/components/Atoms/Price/Price.js +2 -2
- package/dist/cjs/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.js +1 -1
- package/dist/cjs/components/src/components/Molecules/Slideshow/Slideshow.js +59 -30
- package/dist/cjs/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
- package/dist/cjs/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
- package/dist/cjs/components/src/hooks/useLayoutOptions.js +19 -14
- package/dist/cjs/components/src/utilities/mergeProps.js +647 -184
- package/dist/cjs/src/Snap.js +1 -1
- package/dist/cjs/src/Templates/SnapTemplates.js +17 -53
- package/dist/cjs/src/Templates/Stores/LibraryStore.js +2 -0
- package/dist/cjs/src/Templates/Stores/TemplateStore.js +37 -8
- package/dist/cjs/src/Templates/Stores/ThemeStore.js +125 -32
- package/dist/cjs/src/Templates/Stores/library/currencies/currencies.js +52 -29
- package/dist/cjs/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +5 -0
- package/dist/esm/components/src/components/Atoms/Price/Price.d.ts +2 -0
- package/dist/esm/components/src/components/Atoms/Price/Price.d.ts.map +1 -1
- package/dist/esm/components/src/components/Atoms/Price/Price.js +2 -2
- package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/CustomComponentWrapper/CustomComponentWrapper.js +1 -1
- package/dist/esm/components/src/components/Molecules/Select/Select.d.ts +2 -2
- package/dist/esm/components/src/components/Molecules/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts +1 -0
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.d.ts.map +1 -1
- package/dist/esm/components/src/components/Molecules/Slideshow/Slideshow.js +59 -30
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/AutocompleteLayout/AutocompleteLayout.js +13 -8
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.d.ts.map +1 -1
- package/dist/esm/components/src/components/Organisms/QuickviewLayout/QuickviewLayout.js +13 -8
- package/dist/esm/components/src/hooks/useLayoutOptions.d.ts.map +1 -1
- package/dist/esm/components/src/hooks/useLayoutOptions.js +19 -14
- package/dist/esm/components/src/providers/langComponents.d.ts +5 -0
- package/dist/esm/components/src/providers/langComponents.d.ts.map +1 -1
- package/dist/esm/components/src/providers/themeComponents.d.ts +214 -193
- package/dist/esm/components/src/providers/themeComponents.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/mergeProps.d.ts +11 -0
- package/dist/esm/components/src/utilities/mergeProps.d.ts.map +1 -1
- package/dist/esm/components/src/utilities/mergeProps.js +647 -184
- package/dist/esm/src/Snap.js +1 -1
- package/dist/esm/src/Templates/SnapTemplates.d.ts +32 -19
- package/dist/esm/src/Templates/SnapTemplates.d.ts.map +1 -1
- package/dist/esm/src/Templates/SnapTemplates.js +16 -51
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts +7 -0
- package/dist/esm/src/Templates/Stores/LibraryStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/LibraryStore.js +2 -0
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts +11 -7
- package/dist/esm/src/Templates/Stores/TemplateStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/TemplateStore.js +31 -8
- package/dist/esm/src/Templates/Stores/ThemeStore.d.ts +5 -2
- package/dist/esm/src/Templates/Stores/ThemeStore.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/ThemeStore.js +125 -32
- package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts +27 -0
- package/dist/esm/src/Templates/Stores/library/currencies/currencies.d.ts.map +1 -1
- package/dist/esm/src/Templates/Stores/library/currencies/currencies.js +52 -29
- package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts +2 -0
- package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.d.ts.map +1 -0
- package/dist/esm/src/Templates/Stores/library/plugins/shopify/pluginCurrency.js +1 -0
- package/eslint/src/validate-config.cjs +520 -0
- package/package.json +13 -13
|
@@ -87,16 +87,26 @@ export type ThemeComponentProps<ComponentProps> = {
|
|
|
87
87
|
desktop: Partial<ComponentProps>;
|
|
88
88
|
};
|
|
89
89
|
type ThemeComponentTemplateUnNamedSelectors<TemplateComponentType extends string> = `${TemplateComponentType}`;
|
|
90
|
-
type ThemeComponentOverridesUnNamedSelectors<ComponentType extends string> = `${ComponentType}` | `${string} ${ComponentType}`;
|
|
91
|
-
type ThemeComponentOverridesNamedSelectors<ComponentType extends string, ComponentNames extends string> = `${ComponentType}` | `${string} ${ComponentType}` | `${string} ${ComponentType}.${ComponentNames}` | `${ComponentType}.${ComponentNames}`;
|
|
92
|
-
type ThemeComponentOverridesOpenNamedOnlySelectors<ComponentType extends string> = `${ComponentType}.${string}` | `${string} ${ComponentType}.${string}`;
|
|
93
|
-
type ThemeComponentUnNamedSelectorsStartingWithTemplate<TemplateComponentType extends string, SubComponentType extends string> = `${TemplateComponentType} ${SubComponentType}` | `${TemplateComponentType} ${string} ${SubComponentType}`;
|
|
94
|
-
type ThemeComponentOpenNamedOnlySelectorsStartingWithTemplate<TemplateComponentType extends string, SubComponentType extends string> = `${TemplateComponentType} ${SubComponentType}.${string}` | `${TemplateComponentType} ${string} ${SubComponentType}.${string}`;
|
|
95
|
-
type ThemeComponentNamedSelectorsStartingWithTemplate<TemplateComponentType extends string, SubComponentType extends string, ComponentNames extends string> = `${TemplateComponentType} ${SubComponentType}` | `${TemplateComponentType} ${string} ${SubComponentType}` | `${TemplateComponentType} ${string} ${SubComponentType}.${ComponentNames}` | `${TemplateComponentType} ${SubComponentType}.${ComponentNames}`;
|
|
90
|
+
type ThemeComponentOverridesUnNamedSelectors<ComponentType extends string> = `${ComponentType}` | `${string} ${ComponentType}` | `${string}, ${ComponentType}` | `${string}, ${string} ${ComponentType}`;
|
|
91
|
+
type ThemeComponentOverridesNamedSelectors<ComponentType extends string, ComponentNames extends string> = `${ComponentType}` | `${string} ${ComponentType}` | `${string} ${ComponentType}.${ComponentNames}` | `${ComponentType}.${ComponentNames}` | `${string}, ${ComponentType}` | `${string}, ${string} ${ComponentType}` | `${string}, ${ComponentType}.${ComponentNames}` | `${string}, ${string} ${ComponentType}.${ComponentNames}`;
|
|
92
|
+
type ThemeComponentOverridesOpenNamedOnlySelectors<ComponentType extends string> = `${ComponentType}.${string}` | `${string} ${ComponentType}.${string}` | `${string}, ${ComponentType}.${string}` | `${string}, ${string} ${ComponentType}.${string}`;
|
|
93
|
+
type ThemeComponentUnNamedSelectorsStartingWithTemplate<TemplateComponentType extends string, SubComponentType extends string> = `${TemplateComponentType} ${SubComponentType}` | `${TemplateComponentType} ${string} ${SubComponentType}` | `${string}, ${TemplateComponentType} ${SubComponentType}` | `${string}, ${TemplateComponentType} ${string} ${SubComponentType}`;
|
|
94
|
+
type ThemeComponentOpenNamedOnlySelectorsStartingWithTemplate<TemplateComponentType extends string, SubComponentType extends string> = `${TemplateComponentType} ${SubComponentType}.${string}` | `${TemplateComponentType} ${string} ${SubComponentType}.${string}` | `${string}, ${TemplateComponentType} ${SubComponentType}.${string}` | `${string}, ${TemplateComponentType} ${string} ${SubComponentType}.${string}`;
|
|
95
|
+
type ThemeComponentNamedSelectorsStartingWithTemplate<TemplateComponentType extends string, SubComponentType extends string, ComponentNames extends string> = `${TemplateComponentType} ${SubComponentType}` | `${TemplateComponentType} ${string} ${SubComponentType}` | `${TemplateComponentType} ${string} ${SubComponentType}.${ComponentNames}` | `${TemplateComponentType} ${SubComponentType}.${ComponentNames}` | `${string}, ${TemplateComponentType} ${SubComponentType}` | `${string}, ${TemplateComponentType} ${string} ${SubComponentType}` | `${string}, ${TemplateComponentType} ${string} ${SubComponentType}.${ComponentNames}` | `${string}, ${TemplateComponentType} ${SubComponentType}.${ComponentNames}`;
|
|
96
96
|
export type ThemeComponentRestrictedProps<Props, LegalProps> = Partial<LegalProps & ThemeComponentAllowedProps<Props>>;
|
|
97
97
|
type ThemeComponentAllowedProps<Props> = {
|
|
98
98
|
themeStyleScript?: StyleScript<Props>;
|
|
99
99
|
};
|
|
100
|
+
/**
|
|
101
|
+
* Wraps a component's override props with an optional `$children` block: nested selectors
|
|
102
|
+
* scoped to this component (flattened + prefixed with this component's own selector by
|
|
103
|
+
* ThemeStore at construction time, e.g. `search { $children: { 'facet icon': {...} } }`
|
|
104
|
+
* becomes `'search facet icon'`). Purely an authoring convenience for organizing large
|
|
105
|
+
* override lists — cascading is resolved before mergeProps ever sees the theme.
|
|
106
|
+
*/
|
|
107
|
+
export type ThemeComponentCascade<LegalProps, ChildrenMap = ThemeComponentsRestricted> = Partial<LegalProps> & {
|
|
108
|
+
$children?: ChildrenMap;
|
|
109
|
+
};
|
|
100
110
|
export declare const DEFAULT_CUSTOM_COMPONENT_TYPES: readonly ['result', 'badge'];
|
|
101
111
|
export declare const ALL_CUSTOM_COMPONENT_TYPES: readonly ["result", "badge", "badgeImage", "badgePill", "badgeRectangle", "badgeText", "breadcrumbs", "button", "dropdown", "formattedNumber", "icon", "image", "loadingBar", "banner", "inlineBanner", "overlay", "paginationInfo", "slideshow", "price", "productDetail", "skeleton", "modal", "calloutBadge", "carousel", "checkbox", "grid", "layoutSelector", "list", "radio", "errorHandler", "facetGridOptions", "facetHierarchyOptions", "facetListOptions", "facetPaletteOptions", "facetSlider", "filter", "gallery", "loadMore", "overlayBadge", "pagination", "perPage", "quantityPicker", "overlayResult", "radioList", "rating", "searchInput", "select", "slideout", "sortBy", "swatches", "tabSelection", "variantSelection", "productDetailTable", "terms", "branchOverride", "facet", "facets", "facetsHorizontal", "filterSummary", "noResults", "results", "searchHeader", "sidebar", "toolbar", "termsList"];
|
|
102
112
|
export type TemplateDefaultComponentTypes = typeof DEFAULT_CUSTOM_COMPONENT_TYPES[number];
|
|
@@ -263,167 +273,161 @@ export type ThemeComponents = {
|
|
|
263
273
|
[K in ThemeComponentOverridesNamedSelectors<'searchHorizontal', string>]?: Partial<SearchHorizontalProps>;
|
|
264
274
|
};
|
|
265
275
|
type ThemeComponentsRestrictedNamedProps = {
|
|
266
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'badgeImage'>]?:
|
|
267
|
-
} & {
|
|
268
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'badgePill'>]?: Partial<BadgePillTemplatesLegalProps>;
|
|
269
|
-
} & {
|
|
270
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'badgeRectangle'>]?: Partial<BadgeRectangleTemplatesLegalProps>;
|
|
276
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgeImage'>]?: ThemeComponentCascade<BadgeImageTemplatesLegalProps>;
|
|
271
277
|
} & {
|
|
272
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
278
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgePill'>]?: ThemeComponentCascade<BadgePillTemplatesLegalProps>;
|
|
273
279
|
} & {
|
|
274
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
280
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgeRectangle'>]?: ThemeComponentCascade<BadgeRectangleTemplatesLegalProps>;
|
|
275
281
|
} & {
|
|
276
|
-
[K in
|
|
282
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgeText'>]?: ThemeComponentCascade<BadgeTextTemplatesLegalProps>;
|
|
277
283
|
} & {
|
|
278
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
284
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'breadcrumbs'>]?: ThemeComponentCascade<BreadcrumbsTemplatesLegalProps>;
|
|
279
285
|
} & {
|
|
280
|
-
[K in
|
|
286
|
+
[K in ThemeComponentOverridesNamedSelectors<'button', ButtonNames>]?: ThemeComponentCascade<ButtonTemplatesLegalProps>;
|
|
281
287
|
} & {
|
|
282
|
-
[K in
|
|
288
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'dropdown'>]?: ThemeComponentCascade<DropdownTemplatesLegalProps>;
|
|
283
289
|
} & {
|
|
284
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
290
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'formattedNumber'>]?: ThemeComponentCascade<FormattedNumberTemplatesLegalProps>;
|
|
285
291
|
} & {
|
|
286
|
-
[K in
|
|
292
|
+
[K in ThemeComponentOverridesNamedSelectors<'icon', IconNames>]?: ThemeComponentCascade<IconTemplatesLegalProps>;
|
|
287
293
|
} & {
|
|
288
|
-
[K in
|
|
294
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'image'>]?: ThemeComponentCascade<ImageTemplatesLegalProps>;
|
|
289
295
|
} & {
|
|
290
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
296
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'loadingBar'>]?: ThemeComponentCascade<LoadingBarTemplatesLegalProps>;
|
|
291
297
|
} & {
|
|
292
|
-
[K in
|
|
298
|
+
[K in ThemeComponentOverridesNamedSelectors<'banner', BannerNames>]?: ThemeComponentCascade<BannerTemplatesLegalProps>;
|
|
293
299
|
} & {
|
|
294
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
300
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'inlineBanner'>]?: ThemeComponentCascade<InlineBannerTemplatesLegalProps>;
|
|
295
301
|
} & {
|
|
296
|
-
[K in
|
|
302
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'overlay'>]?: ThemeComponentCascade<OverlayTemplatesLegalProps>;
|
|
297
303
|
} & {
|
|
298
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
304
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'paginationInfo'>]?: ThemeComponentCascade<PaginationInfoTemplatesLegalProps>;
|
|
299
305
|
} & {
|
|
300
|
-
[K in
|
|
306
|
+
[K in ThemeComponentOverridesNamedSelectors<'price', PriceNames>]?: ThemeComponentCascade<PriceTemplatesLegalProps>;
|
|
301
307
|
} & {
|
|
302
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
308
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'skeleton'>]?: ThemeComponentCascade<SkeletonTemplatesLegalProps>;
|
|
303
309
|
} & {
|
|
304
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
310
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'slideshow'>]?: ThemeComponentCascade<SlideshowTemplatesLegalProps>;
|
|
305
311
|
} & {
|
|
306
|
-
[K in
|
|
312
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'modal'>]?: ThemeComponentCascade<ModalTemplatesLegalProps>;
|
|
307
313
|
} & {
|
|
308
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
314
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'calloutBadge'>]?: ThemeComponentCascade<CalloutBadgeTemplatesLegalProps>;
|
|
309
315
|
} & {
|
|
310
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
316
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'carousel'>]?: ThemeComponentCascade<CarouselTemplatesLegalProps>;
|
|
311
317
|
} & {
|
|
312
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
318
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'checkbox'>]?: ThemeComponentCascade<CheckboxTemplatesLegalProps>;
|
|
313
319
|
} & {
|
|
314
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
320
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'grid'>]?: ThemeComponentCascade<GridTemplatesLegalProps>;
|
|
315
321
|
} & {
|
|
316
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
322
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'layoutSelector'>]?: ThemeComponentCascade<LayoutSelectorTemplatesLegalProps>;
|
|
317
323
|
} & {
|
|
318
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
324
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'list'>]?: ThemeComponentCascade<ListTemplatesLegalProps>;
|
|
319
325
|
} & {
|
|
320
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
326
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'radio'>]?: ThemeComponentCascade<RadioTemplatesLegalProps>;
|
|
321
327
|
} & {
|
|
322
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
328
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'errorHandler'>]?: ThemeComponentCascade<ErrorHandlerTemplatesLegalProps>;
|
|
323
329
|
} & {
|
|
324
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
330
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetGridOptions'>]?: ThemeComponentCascade<FacetGridOptionsTemplatesLegalProps>;
|
|
325
331
|
} & {
|
|
326
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
332
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetHierarchyOptions'>]?: ThemeComponentCascade<FacetHierarchyOptionsTemplatesLegalProps>;
|
|
327
333
|
} & {
|
|
328
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
334
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetListOptions'>]?: ThemeComponentCascade<FacetListOptionsTemplatesLegalProps>;
|
|
329
335
|
} & {
|
|
330
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
336
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetPaletteOptions'>]?: ThemeComponentCascade<FacetPaletteOptionsTemplatesLegalProps>;
|
|
331
337
|
} & {
|
|
332
|
-
[K in
|
|
338
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetSlider'>]?: ThemeComponentCascade<FacetSliderTemplatesLegalProps>;
|
|
333
339
|
} & {
|
|
334
|
-
[K in
|
|
340
|
+
[K in ThemeComponentOverridesNamedSelectors<'filter', FilterNames>]?: ThemeComponentCascade<FilterTemplatesLegalProps>;
|
|
335
341
|
} & {
|
|
336
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
342
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'gallery'>]?: ThemeComponentCascade<GalleryTemplatesLegalProps>;
|
|
337
343
|
} & {
|
|
338
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
344
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'loadMore'>]?: ThemeComponentCascade<LoadMoreTemplatesLegalProps>;
|
|
339
345
|
} & {
|
|
340
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
346
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'overlayBadge'>]?: ThemeComponentCascade<OverlayBadgeTemplatesLegalProps>;
|
|
341
347
|
} & {
|
|
342
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
348
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'pagination'>]?: ThemeComponentCascade<PaginationTemplatesLegalProps>;
|
|
343
349
|
} & {
|
|
344
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
350
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'perPage'>]?: ThemeComponentCascade<PerPageTemplatesLegalProps>;
|
|
345
351
|
} & {
|
|
346
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
352
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'quantityPicker'>]?: ThemeComponentCascade<QuantityPickerTemplatesLegalProps>;
|
|
347
353
|
} & {
|
|
348
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
354
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'radioList'>]?: ThemeComponentCascade<RadioListTemplatesLegalProps>;
|
|
349
355
|
} & {
|
|
350
|
-
[K in
|
|
356
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'rating'>]?: ThemeComponentCascade<RatingTemplatesLegalProps>;
|
|
351
357
|
} & {
|
|
352
|
-
[K in
|
|
358
|
+
[K in ThemeComponentOverridesNamedSelectors<'result', ResultNames>]?: ThemeComponentCascade<ResultTemplatesLegalProps>;
|
|
353
359
|
} & {
|
|
354
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
360
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'overlayResult'>]?: ThemeComponentCascade<OverlayResultTemplatesLegalProps>;
|
|
355
361
|
} & {
|
|
356
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
362
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchInput'>]?: ThemeComponentCascade<SearchInputTemplatesLegalProps>;
|
|
357
363
|
} & {
|
|
358
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
364
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'select'>]?: ThemeComponentCascade<SelectTemplatesLegalProps>;
|
|
359
365
|
} & {
|
|
360
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
366
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'slideout'>]?: ThemeComponentCascade<SlideoutTemplatesLegalProps>;
|
|
361
367
|
} & {
|
|
362
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
368
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'sortBy'>]?: ThemeComponentCascade<SortByTemplatesLegalProps>;
|
|
363
369
|
} & {
|
|
364
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
370
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'swatches'>]?: ThemeComponentCascade<SwatchesTemplatesLegalProps>;
|
|
365
371
|
} & {
|
|
366
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
372
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'tabSelection'>]?: ThemeComponentCascade<TabSelectionTemplatesLegalProps>;
|
|
367
373
|
} & {
|
|
368
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
374
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'variantSelection'>]?: ThemeComponentCascade<VariantSelectionTemplatesLegalProps>;
|
|
369
375
|
} & {
|
|
370
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
376
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'productDetail'>]?: ThemeComponentCascade<ProductDetailTemplatesLegalProps>;
|
|
371
377
|
} & {
|
|
372
|
-
[K in
|
|
378
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'productDetailTable'>]?: ThemeComponentCascade<ProductDetailTableTemplatesLegalProps>;
|
|
373
379
|
} & {
|
|
374
|
-
[K in
|
|
375
|
-
} & {
|
|
376
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facet'>]?: Partial<FacetTemplatesLegalProps>;
|
|
380
|
+
[K in ThemeComponentOverridesNamedSelectors<'terms', TermsNames>]?: ThemeComponentCascade<TermsTemplatesLegalProps>;
|
|
377
381
|
} & {
|
|
378
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
382
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'branchOverride'>]?: ThemeComponentCascade<BranchOverrideProps>;
|
|
379
383
|
} & {
|
|
380
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
384
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facet'>]?: ThemeComponentCascade<FacetTemplatesLegalProps>;
|
|
381
385
|
} & {
|
|
382
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
386
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facets'>]?: ThemeComponentCascade<FacetsTemplatesLegalProps>;
|
|
383
387
|
} & {
|
|
384
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
388
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetsHorizontal'>]?: ThemeComponentCascade<FacetsHorizontalTemplatesLegalProps>;
|
|
385
389
|
} & {
|
|
386
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
390
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'filterSummary'>]?: ThemeComponentCascade<FilterSummaryTemplatesLegalProps>;
|
|
387
391
|
} & {
|
|
388
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
392
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'noResults'>]?: ThemeComponentCascade<NoResultsTemplatesLegalProps>;
|
|
389
393
|
} & {
|
|
390
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
394
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'results'>]?: ThemeComponentCascade<ResultsTemplatesLegalProps>;
|
|
391
395
|
} & {
|
|
392
|
-
[K in
|
|
396
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchHeader'>]?: ThemeComponentCascade<SearchHeaderTemplatesLegalProps>;
|
|
393
397
|
} & {
|
|
394
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
398
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'sidebar'>]?: ThemeComponentCascade<SidebarTemplatesLegalProps>;
|
|
395
399
|
} & {
|
|
396
|
-
[K in
|
|
400
|
+
[K in ThemeComponentOverridesNamedSelectors<'toolbar', ToolbarNames>]?: ThemeComponentCascade<ToolbarTemplatesLegalProps>;
|
|
397
401
|
} & {
|
|
398
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
402
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'termsList'>]?: ThemeComponentCascade<TermsListTemplatesLegalProps>;
|
|
399
403
|
} & {
|
|
400
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
404
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteTemplate'>]?: ThemeComponentCascade<AutocompleteLayoutTemplatesLegalProps>;
|
|
401
405
|
} & {
|
|
402
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
406
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteFixed'>]?: ThemeComponentCascade<AutocompleteFixedTemplatesLegalProps>;
|
|
403
407
|
} & {
|
|
404
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
408
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteModal'>]?: ThemeComponentCascade<AutocompleteModalTemplatesLegalProps>;
|
|
405
409
|
} & {
|
|
406
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
410
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteSlideout'>]?: ThemeComponentCascade<AutocompleteSlideoutTemplatesLegalProps>;
|
|
407
411
|
} & {
|
|
408
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendation'>]?:
|
|
412
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendation'>]?: ThemeComponentCascade<RecommendationTemplatesLegalProps>;
|
|
409
413
|
} & {
|
|
410
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundle'>]?:
|
|
414
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundle'>]?: ThemeComponentCascade<RecommendationBundleTemplatesLegalProps>;
|
|
411
415
|
} & {
|
|
412
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleEasyAdd'>]?:
|
|
416
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleEasyAdd'>]?: ThemeComponentCascade<RecommendationBundleEasyAddTemplatesLegalProps>;
|
|
413
417
|
} & {
|
|
414
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleList'>]?:
|
|
418
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleList'>]?: ThemeComponentCascade<RecommendationBundleListTemplatesLegalProps>;
|
|
415
419
|
} & {
|
|
416
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleVertical'>]?:
|
|
420
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleVertical'>]?: ThemeComponentCascade<RecommendationBundleVerticalTemplatesLegalProps>;
|
|
417
421
|
} & {
|
|
418
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationGrid'>]?:
|
|
422
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationGrid'>]?: ThemeComponentCascade<RecommendationGridTemplatesLegalProps>;
|
|
419
423
|
} & {
|
|
420
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationEmail'>]?:
|
|
424
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationEmail'>]?: ThemeComponentCascade<RecommendationEmailTemplatesLegalProps>;
|
|
421
425
|
} & {
|
|
422
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'search'>]?:
|
|
426
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'search'>]?: ThemeComponentCascade<SearchTemplatesLegalProps>;
|
|
423
427
|
} & {
|
|
424
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'searchCollapsible'>]?:
|
|
428
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchCollapsible'>]?: ThemeComponentCascade<SearchCollapsibleTemplatesLegalProps>;
|
|
425
429
|
} & {
|
|
426
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'searchHorizontal'>]?:
|
|
430
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchHorizontal'>]?: ThemeComponentCascade<SearchHorizontalTemplatesLegalProps>;
|
|
427
431
|
};
|
|
428
432
|
type ThemeComponentsRestrictedTemplateOpenNamed = {
|
|
429
433
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'autocompleteFixed'>]?: unknown;
|
|
@@ -439,207 +443,224 @@ type ThemeComponentsRestrictedTemplateOpenNamed = {
|
|
|
439
443
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'searchHorizontal'>]?: unknown;
|
|
440
444
|
};
|
|
441
445
|
type ThemeComponentsRestrictedNamed = ThemeComponentsRestrictedNamedProps & ThemeComponentsRestrictedTemplateOpenNamed;
|
|
442
|
-
type ThemeComponentOpenNamedComponentTypes = 'facet' | 'productDetail' | 'variantSelection' | 'recommendation' | 'recommendationBundle' | 'recommendationBundleEasyAdd' | 'recommendationBundleList' | 'recommendationBundleVertical' | 'recommendationGrid';
|
|
443
|
-
|
|
444
|
-
[
|
|
445
|
-
};
|
|
446
|
-
type ThemeComponentSelectorSegment<Selector extends string> = Selector extends `${string} ${infer Rest}` ? ThemeComponentSelectorSegment<Rest> : Selector;
|
|
447
|
-
type ThemeComponentSelectorUnknown = {
|
|
448
|
-
'unknown theme override selector': never;
|
|
446
|
+
type ThemeComponentOpenNamedComponentTypes = 'calloutBadge' | 'facet' | 'productDetail' | 'variantSelection' | 'recommendation' | 'recommendationBundle' | 'recommendationBundleEasyAdd' | 'recommendationBundleList' | 'recommendationBundleVertical' | 'recommendationGrid';
|
|
447
|
+
type ThemeOverrideOpenNamedValue = {
|
|
448
|
+
[prop: string]: Capitalize<string> | Uncapitalize<string> | (string & {}) | number | boolean | null | undefined | object | ThemeOverrideOpenNamedValue;
|
|
449
449
|
};
|
|
450
|
-
type
|
|
451
|
-
|
|
452
|
-
export type ThemeComponentsRestrictedSelectors<Selectors extends string> = {
|
|
453
|
-
[Selector in Selectors]: ThemeComponentSelectorProps<Selector>;
|
|
450
|
+
export type ThemeComponentsRestricted = ThemeComponentsRestrictedNamed & {
|
|
451
|
+
[K in ThemeComponentOverridesOpenNamedOnlySelectors<ThemeComponentOpenNamedComponentTypes>]?: ThemeOverrideOpenNamedValue;
|
|
454
452
|
};
|
|
455
453
|
type WithCustomComponent = {
|
|
456
454
|
customComponent?: string;
|
|
457
455
|
};
|
|
458
|
-
type WithRequiredCustomComponent = {
|
|
459
|
-
customComponent: string;
|
|
460
|
-
[customProp: string]: unknown;
|
|
461
|
-
};
|
|
462
456
|
type ThemeComponentsRestrictedWithCustomComponentNamed = {
|
|
463
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'badgeImage'>]?:
|
|
464
|
-
} & {
|
|
465
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'badgePill'>]?: Partial<BadgePillTemplatesLegalProps> & WithCustomComponent;
|
|
457
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgeImage'>]?: ThemeComponentCascade<BadgeImageTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
466
458
|
} & {
|
|
467
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
459
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgePill'>]?: ThemeComponentCascade<BadgePillTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
468
460
|
} & {
|
|
469
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
461
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgeRectangle'>]?: ThemeComponentCascade<BadgeRectangleTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
470
462
|
} & {
|
|
471
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
463
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'badgeText'>]?: ThemeComponentCascade<BadgeTextTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
472
464
|
} & {
|
|
473
|
-
[K in
|
|
465
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'breadcrumbs'>]?: ThemeComponentCascade<BreadcrumbsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
474
466
|
} & {
|
|
475
|
-
[K in
|
|
467
|
+
[K in ThemeComponentOverridesNamedSelectors<'button', ButtonNames>]?: ThemeComponentCascade<ButtonTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
476
468
|
} & {
|
|
477
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
469
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'dropdown'>]?: ThemeComponentCascade<DropdownTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
478
470
|
} & {
|
|
479
|
-
[K in
|
|
471
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'formattedNumber'>]?: ThemeComponentCascade<FormattedNumberTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
480
472
|
} & {
|
|
481
|
-
[K in
|
|
473
|
+
[K in ThemeComponentOverridesNamedSelectors<'icon', IconNames>]?: ThemeComponentCascade<IconTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
482
474
|
} & {
|
|
483
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
475
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'image'>]?: ThemeComponentCascade<ImageTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
484
476
|
} & {
|
|
485
|
-
[K in
|
|
477
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'loadingBar'>]?: ThemeComponentCascade<LoadingBarTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
486
478
|
} & {
|
|
487
|
-
[K in
|
|
479
|
+
[K in ThemeComponentOverridesNamedSelectors<'banner', BannerNames>]?: ThemeComponentCascade<BannerTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
488
480
|
} & {
|
|
489
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
481
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'inlineBanner'>]?: ThemeComponentCascade<InlineBannerTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
490
482
|
} & {
|
|
491
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
483
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'overlay'>]?: ThemeComponentCascade<OverlayTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
492
484
|
} & {
|
|
493
|
-
[K in
|
|
485
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'paginationInfo'>]?: ThemeComponentCascade<PaginationInfoTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
494
486
|
} & {
|
|
495
|
-
[K in
|
|
487
|
+
[K in ThemeComponentOverridesNamedSelectors<'price', PriceNames>]?: ThemeComponentCascade<PriceTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
496
488
|
} & {
|
|
497
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
489
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'skeleton'>]?: ThemeComponentCascade<SkeletonTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
498
490
|
} & {
|
|
499
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
491
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'slideshow'>]?: ThemeComponentCascade<SlideshowTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
500
492
|
} & {
|
|
501
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
493
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'modal'>]?: ThemeComponentCascade<ModalTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
502
494
|
} & {
|
|
503
|
-
[K in
|
|
495
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'calloutBadge'>]?: ThemeComponentCascade<CalloutBadgeTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
504
496
|
} & {
|
|
505
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'carousel'>]?:
|
|
497
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'carousel'>]?: ThemeComponentCascade<CarouselTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
506
498
|
} & {
|
|
507
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'checkbox'>]?:
|
|
499
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'checkbox'>]?: ThemeComponentCascade<CheckboxTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
508
500
|
} & {
|
|
509
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'grid'>]?:
|
|
501
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'grid'>]?: ThemeComponentCascade<GridTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
510
502
|
} & {
|
|
511
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'layoutSelector'>]?:
|
|
503
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'layoutSelector'>]?: ThemeComponentCascade<LayoutSelectorTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
512
504
|
} & {
|
|
513
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'list'>]?:
|
|
505
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'list'>]?: ThemeComponentCascade<ListTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
514
506
|
} & {
|
|
515
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'radio'>]?:
|
|
507
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'radio'>]?: ThemeComponentCascade<RadioTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
516
508
|
} & {
|
|
517
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'errorHandler'>]?:
|
|
509
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'errorHandler'>]?: ThemeComponentCascade<ErrorHandlerTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
518
510
|
} & {
|
|
519
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facetGridOptions'>]?:
|
|
511
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetGridOptions'>]?: ThemeComponentCascade<FacetGridOptionsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
520
512
|
} & {
|
|
521
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facetHierarchyOptions'>]?:
|
|
513
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetHierarchyOptions'>]?: ThemeComponentCascade<FacetHierarchyOptionsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
522
514
|
} & {
|
|
523
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facetListOptions'>]?:
|
|
515
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetListOptions'>]?: ThemeComponentCascade<FacetListOptionsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
524
516
|
} & {
|
|
525
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facetPaletteOptions'>]?:
|
|
517
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetPaletteOptions'>]?: ThemeComponentCascade<FacetPaletteOptionsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
526
518
|
} & {
|
|
527
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facetSlider'>]?:
|
|
519
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetSlider'>]?: ThemeComponentCascade<FacetSliderTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
528
520
|
} & {
|
|
529
|
-
[K in ThemeComponentOverridesNamedSelectors<'filter', FilterNames>]?:
|
|
521
|
+
[K in ThemeComponentOverridesNamedSelectors<'filter', FilterNames>]?: ThemeComponentCascade<FilterTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
530
522
|
} & {
|
|
531
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'gallery'>]?:
|
|
523
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'gallery'>]?: ThemeComponentCascade<GalleryTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
532
524
|
} & {
|
|
533
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'loadMore'>]?:
|
|
525
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'loadMore'>]?: ThemeComponentCascade<LoadMoreTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
534
526
|
} & {
|
|
535
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'overlayBadge'>]?:
|
|
527
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'overlayBadge'>]?: ThemeComponentCascade<OverlayBadgeTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
536
528
|
} & {
|
|
537
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'pagination'>]?:
|
|
529
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'pagination'>]?: ThemeComponentCascade<PaginationTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
538
530
|
} & {
|
|
539
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'perPage'>]?:
|
|
531
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'perPage'>]?: ThemeComponentCascade<PerPageTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
540
532
|
} & {
|
|
541
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'quantityPicker'>]?:
|
|
533
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'quantityPicker'>]?: ThemeComponentCascade<QuantityPickerTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
542
534
|
} & {
|
|
543
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'radioList'>]?:
|
|
535
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'radioList'>]?: ThemeComponentCascade<RadioListTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
544
536
|
} & {
|
|
545
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'rating'>]?:
|
|
537
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'rating'>]?: ThemeComponentCascade<RatingTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
546
538
|
} & {
|
|
547
|
-
[K in ThemeComponentOverridesNamedSelectors<'result', ResultNames>]?:
|
|
539
|
+
[K in ThemeComponentOverridesNamedSelectors<'result', ResultNames>]?: ThemeComponentCascade<ResultTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent>;
|
|
548
540
|
} & {
|
|
549
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'overlayResult'>]?:
|
|
541
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'overlayResult'>]?: ThemeComponentCascade<OverlayResultTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
550
542
|
} & {
|
|
551
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'searchInput'>]?:
|
|
543
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchInput'>]?: ThemeComponentCascade<SearchInputTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
552
544
|
} & {
|
|
553
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'select'>]?:
|
|
545
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'select'>]?: ThemeComponentCascade<SelectTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
554
546
|
} & {
|
|
555
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'slideout'>]?:
|
|
547
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'slideout'>]?: ThemeComponentCascade<SlideoutTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
556
548
|
} & {
|
|
557
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'sortBy'>]?:
|
|
549
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'sortBy'>]?: ThemeComponentCascade<SortByTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
558
550
|
} & {
|
|
559
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'swatches'>]?:
|
|
551
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'swatches'>]?: ThemeComponentCascade<SwatchesTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
560
552
|
} & {
|
|
561
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'tabSelection'>]?:
|
|
553
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'tabSelection'>]?: ThemeComponentCascade<TabSelectionTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
562
554
|
} & {
|
|
563
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'variantSelection'>]?:
|
|
555
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'variantSelection'>]?: ThemeComponentCascade<VariantSelectionTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
564
556
|
} & {
|
|
565
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'productDetail'>]?:
|
|
557
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'productDetail'>]?: ThemeComponentCascade<ProductDetailTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
566
558
|
} & {
|
|
567
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'productDetailTable'>]?:
|
|
559
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'productDetailTable'>]?: ThemeComponentCascade<ProductDetailTableTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
568
560
|
} & {
|
|
569
|
-
[K in ThemeComponentOverridesNamedSelectors<'terms', TermsNames>]?:
|
|
561
|
+
[K in ThemeComponentOverridesNamedSelectors<'terms', TermsNames>]?: ThemeComponentCascade<TermsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
570
562
|
} & {
|
|
571
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'branchOverride'>]?:
|
|
563
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'branchOverride'>]?: ThemeComponentCascade<BranchOverrideProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
572
564
|
} & {
|
|
573
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facet'>]?:
|
|
565
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facet'>]?: ThemeComponentCascade<FacetTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
574
566
|
} & {
|
|
575
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facets'>]?:
|
|
567
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facets'>]?: ThemeComponentCascade<FacetsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
576
568
|
} & {
|
|
577
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'facetsHorizontal'>]?:
|
|
569
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'facetsHorizontal'>]?: ThemeComponentCascade<FacetsHorizontalTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
578
570
|
} & {
|
|
579
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'filterSummary'>]?:
|
|
571
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'filterSummary'>]?: ThemeComponentCascade<FilterSummaryTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
580
572
|
} & {
|
|
581
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'noResults'>]?:
|
|
573
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'noResults'>]?: ThemeComponentCascade<NoResultsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
582
574
|
} & {
|
|
583
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'results'>]?:
|
|
575
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'results'>]?: ThemeComponentCascade<ResultsTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
584
576
|
} & {
|
|
585
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'searchHeader'>]?:
|
|
577
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchHeader'>]?: ThemeComponentCascade<SearchHeaderTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
586
578
|
} & {
|
|
587
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'sidebar'>]?:
|
|
579
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'sidebar'>]?: ThemeComponentCascade<SidebarTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
588
580
|
} & {
|
|
589
|
-
[K in ThemeComponentOverridesNamedSelectors<'toolbar', ToolbarNames>]?:
|
|
581
|
+
[K in ThemeComponentOverridesNamedSelectors<'toolbar', ToolbarNames>]?: ThemeComponentCascade<ToolbarTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
590
582
|
} & {
|
|
591
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'termsList'>]?:
|
|
583
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'termsList'>]?: ThemeComponentCascade<TermsListTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
592
584
|
} & {
|
|
593
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteTemplate'>]?:
|
|
585
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteTemplate'>]?: ThemeComponentCascade<AutocompleteLayoutTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
594
586
|
} & {
|
|
595
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteFixed'>]?:
|
|
587
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteFixed'>]?: ThemeComponentCascade<AutocompleteFixedTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
596
588
|
} & {
|
|
597
589
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'autocompleteFixed'>]?: unknown;
|
|
598
590
|
} & {
|
|
599
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteModal'>]?:
|
|
591
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteModal'>]?: ThemeComponentCascade<AutocompleteModalTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
600
592
|
} & {
|
|
601
593
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'autocompleteModal'>]?: unknown;
|
|
602
594
|
} & {
|
|
603
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteSlideout'>]?:
|
|
595
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'autocompleteSlideout'>]?: ThemeComponentCascade<AutocompleteSlideoutTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
604
596
|
} & {
|
|
605
597
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'autocompleteSlideout'>]?: unknown;
|
|
606
598
|
} & {
|
|
607
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
599
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendation'>]?: ThemeComponentCascade<RecommendationTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
608
600
|
} & {
|
|
609
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
601
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundle'>]?: ThemeComponentCascade<RecommendationBundleTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
610
602
|
} & {
|
|
611
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
603
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleEasyAdd'>]?: ThemeComponentCascade<RecommendationBundleEasyAddTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
612
604
|
} & {
|
|
613
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
605
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleList'>]?: ThemeComponentCascade<RecommendationBundleListTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
614
606
|
} & {
|
|
615
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
607
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationBundleVertical'>]?: ThemeComponentCascade<RecommendationBundleVerticalTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
616
608
|
} & {
|
|
617
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
609
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationGrid'>]?: ThemeComponentCascade<RecommendationGridTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
618
610
|
} & {
|
|
619
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
611
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationEmail'>]?: ThemeComponentCascade<RecommendationEmailTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
620
612
|
} & {
|
|
621
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'
|
|
622
|
-
} & {
|
|
623
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'recommendationEmail'>]?: Partial<RecommendationEmailTemplatesLegalProps> & WithCustomComponent;
|
|
624
|
-
} & {
|
|
625
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'search'>]?: Partial<SearchTemplatesLegalProps> & WithCustomComponent;
|
|
613
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'search'>]?: ThemeComponentCascade<SearchTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
626
614
|
} & {
|
|
627
615
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'search'>]?: unknown;
|
|
628
616
|
} & {
|
|
629
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'searchCollapsible'>]?:
|
|
617
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchCollapsible'>]?: ThemeComponentCascade<SearchCollapsibleTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
630
618
|
} & {
|
|
631
619
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'searchCollapsible'>]?: unknown;
|
|
632
620
|
} & {
|
|
633
|
-
[K in ThemeComponentOverridesUnNamedSelectors<'searchHorizontal'>]?:
|
|
621
|
+
[K in ThemeComponentOverridesUnNamedSelectors<'searchHorizontal'>]?: ThemeComponentCascade<SearchHorizontalTemplatesLegalProps, ThemeComponentsRestrictedWithCustomComponent> & WithCustomComponent;
|
|
634
622
|
} & {
|
|
635
623
|
[K in ThemeComponentOverridesOpenNamedOnlySelectors<'searchHorizontal'>]?: unknown;
|
|
636
624
|
};
|
|
637
625
|
export type ThemeComponentsRestrictedWithCustomComponent = ThemeComponentsRestrictedWithCustomComponentNamed & {
|
|
638
|
-
[K in ThemeComponentOverridesOpenNamedOnlySelectors<ThemeComponentOpenNamedComponentTypes>]?:
|
|
626
|
+
[K in ThemeComponentOverridesOpenNamedOnlySelectors<ThemeComponentOpenNamedComponentTypes>]?: ThemeOverrideOpenNamedValue;
|
|
627
|
+
};
|
|
628
|
+
export type ThemeComponentOverrides = Partial<ThemeComponentsRestricted>;
|
|
629
|
+
export type ThemeComponentOverridesUnlocked = Partial<ThemeComponentsRestrictedWithCustomComponent>;
|
|
630
|
+
type ThemeComponentSelectorSegment<Selector extends string> = Selector extends `${string} ${infer Rest}` ? ThemeComponentSelectorSegment<Rest> : Selector;
|
|
631
|
+
type ThemeOverrideUnknownSelector = {
|
|
632
|
+
'unknown theme override selector': never;
|
|
633
|
+
};
|
|
634
|
+
type ThemeOverrideInvalidProp<Prop> = {
|
|
635
|
+
'invalid prop for this theme override selector': Prop;
|
|
636
|
+
};
|
|
637
|
+
type ThemeOverrideMixedSelectorGroup<Kinds> = {
|
|
638
|
+
'comma-separated selectors must all target the same component type, but this group mixes': Kinds;
|
|
639
|
+
};
|
|
640
|
+
type ThemeOverrideAlwaysAllowedProps = 'themeStyleScript';
|
|
641
|
+
type ThemeSelectorTrim<S extends string> = S extends ` ${infer Rest}` ? ThemeSelectorTrim<Rest> : S extends `${infer Rest} ` ? ThemeSelectorTrim<Rest> : S;
|
|
642
|
+
type ThemeSelectorSegmentKind<Segment extends string> = Segment extends `${infer ComponentType}.${string}` ? ComponentType : Segment;
|
|
643
|
+
type ThemeSelectorGroupKinds<S extends string> = S extends `${infer Part},${infer Rest}` ? ThemeSelectorSegmentKind<ThemeComponentSelectorSegment<ThemeSelectorTrim<Part>>> | ThemeSelectorGroupKinds<ThemeSelectorTrim<Rest>> : ThemeSelectorSegmentKind<ThemeComponentSelectorSegment<ThemeSelectorTrim<S>>>;
|
|
644
|
+
type ThemeSelectorUnionToIntersection<U> = (U extends unknown ? (member: U) => void : never) extends (intersection: infer I) => void ? I : never;
|
|
645
|
+
type ThemeSelectorSingleKind<Kinds> = [Kinds] extends [ThemeSelectorUnionToIntersection<Kinds>] ? true : false;
|
|
646
|
+
type ThemeOverridesMapChecked<Authored, NamedMap, CheckValues extends boolean> = Authored extends object ? {
|
|
647
|
+
[Selector in keyof Authored]: Selector extends string ? ThemeOverrideSelectorChecked<Selector, Authored[Selector], NamedMap, CheckValues> : unknown;
|
|
648
|
+
} : unknown;
|
|
649
|
+
type ThemeOverrideSelectorChecked<Selector extends string, Authored, NamedMap, CheckValues extends boolean> = ThemeSelectorSingleKind<ThemeSelectorGroupKinds<Selector>> extends false ? ThemeOverrideMixedSelectorGroup<ThemeSelectorGroupKinds<Selector>> : ThemeOverrideSegmentChecked<ThemeComponentSelectorSegment<Selector>, Authored, NamedMap, CheckValues>;
|
|
650
|
+
type ThemeOverrideSegmentChecked<Segment extends string, Authored, NamedMap, CheckValues extends boolean> = Segment extends keyof NamedMap ? unknown extends NamedMap[Segment] ? unknown : ThemeOverridePropsChecked<NonNullable<NamedMap[Segment]>, Authored, NamedMap, CheckValues> : Segment extends `${infer ComponentType}.${string}` ? ComponentType extends ThemeComponentOpenNamedComponentTypes & keyof NamedMap ? ThemeOverridePropsChecked<NonNullable<NamedMap[ComponentType]>, Authored, NamedMap, true> : ThemeOverrideUnknownSelector : ThemeOverrideUnknownSelector;
|
|
651
|
+
type ThemeOverridePropsChecked<Legal, Authored, NamedMap, CheckValues extends boolean> = unknown extends Authored ? unknown : [Authored, 'customComponent'] extends [{
|
|
652
|
+
customComponent: string;
|
|
653
|
+
}, keyof Legal] ? unknown : Authored extends object ? {
|
|
654
|
+
[Prop in keyof Authored]: Prop extends '$children' ? ThemeOverridesMapChecked<Authored[Prop], NamedMap, CheckValues> : Prop extends keyof Legal ? CheckValues extends true ? Legal[Prop] : unknown : Prop extends ThemeOverrideAlwaysAllowedProps ? unknown : ThemeOverrideInvalidProp<Prop>;
|
|
655
|
+
} : CheckValues extends true ? Legal : unknown;
|
|
656
|
+
export type ThemeOverridesErrors<Overrides> = ThemeOverridesErrorsIn<Overrides, ThemeComponentsRestrictedNamed>;
|
|
657
|
+
export type ThemeOverridesErrorsUnlocked<Overrides> = ThemeOverridesErrorsIn<Overrides, ThemeComponentsRestrictedWithCustomComponentNamed>;
|
|
658
|
+
type ThemeOverridesErrorsIn<Overrides, NamedMap> = {
|
|
659
|
+
[Breakpoint in keyof Overrides as ThemeOverridesFailing<Overrides[Breakpoint], NamedMap> extends true ? Breakpoint : never]: ThemeOverridesFailingSelectors<Overrides[Breakpoint], ThemeOverridesMapChecked<Overrides[Breakpoint], NamedMap, false>>;
|
|
639
660
|
};
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
[Selector in
|
|
661
|
+
type ThemeOverridesFailing<Authored, NamedMap> = [Authored] extends [ThemeOverridesMapChecked<Authored, NamedMap, false>] ? false : true;
|
|
662
|
+
type ThemeOverridesFailingSelectors<Authored, Checked> = {
|
|
663
|
+
[Selector in keyof Authored as [Authored[Selector]] extends [Checked[Selector & keyof Checked]] ? never : Selector]: Checked[Selector & keyof Checked];
|
|
643
664
|
};
|
|
644
665
|
export type ThemeComponentTemplateOverrides<Template extends string, Props, LegalProps> = {
|
|
645
666
|
[K in ThemeComponentTemplateUnNamedSelectors<Template>]?: ThemeComponentRestrictedProps<Props, LegalProps>;
|