@thryveai/theme-interfaces 2.8.44 → 2.8.46
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/JSONSchemas/index.d.ts +248 -196
- package/dist/JSONSchemas/index.js +531 -472
- package/dist/interfaces/admin-settings-interfaces.d.ts +2 -1
- package/dist/interfaces/shared-settings.interfaces.d.ts +15 -0
- package/dist/product-card-template/layouts/CarouselCard/DUN-attributes.js +9 -0
- package/dist/product-card-template/layouts/CarouselCard/Default.js +9 -0
- package/dist/product-card-template/layouts/CarouselCard/PCE-centered.js +9 -0
- package/dist/product-card-template/layouts/CarouselCard/PRS-labels.js +9 -0
- package/dist/product-card-template/layouts/ProductGrid/DUN-attributes.js +9 -0
- package/dist/product-card-template/layouts/ProductGrid/Default.js +9 -0
- package/dist/product-card-template/layouts/ProductGrid/PCE-centered.js +9 -0
- package/dist/product-card-template/layouts/ProductGrid/PRS-labels.js +9 -0
- package/dist/product-card-template/template.interfaces.d.ts +2 -1
- package/dist/product-card-template/template.interfaces.js +2 -1
- package/dist/storefront/SFUISharedSettingsTemplate.AdminUi.js +52 -0
- package/dist/storefront/commonSharedSettings.js +6 -0
- package/dist/storefront/defaultIconsStorefront.js +1 -1
- package/dist/storefront/defaultSharedSettings.js +6 -0
- package/dist/storefront/defaultThemeStorefront.js +1 -1
- package/package.json +36 -36
|
@@ -2,6 +2,7 @@ import { IDefaultCounty, IDefaultExternal, IValidationType, LinkTarget } from ".
|
|
|
2
2
|
import { IDefaultColors, IDefaultThemeInterface } from "./default-theme.interface";
|
|
3
3
|
import { IDefaultRetailerSettingsVersion2 } from "./default-settings.interfaces";
|
|
4
4
|
import { IThemeImages } from "./theme.interfaces";
|
|
5
|
+
import { IAttributeLabelVariants } from "./shared-settings.interfaces";
|
|
5
6
|
/**
|
|
6
7
|
* Helper types
|
|
7
8
|
*/
|
|
@@ -32,7 +33,7 @@ export interface IAdminControl<T> {
|
|
|
32
33
|
group?: IAdminGroupType;
|
|
33
34
|
message?: IMessageProps;
|
|
34
35
|
helpLink?: string;
|
|
35
|
-
options?: string[] | number[] | Object[] | IDefaultCounty[] | IValidationType[] | IImageRequiredFormat | LinkTarget | NumberRange;
|
|
36
|
+
options?: string[] | number[] | Object[] | IDefaultCounty[] | IValidationType[] | IAttributeLabelVariants[] | IImageRequiredFormat | LinkTarget | NumberRange;
|
|
36
37
|
uniqueOptions?: IDefaultExternal["provider"][];
|
|
37
38
|
value?: ITemplateObject<T>;
|
|
38
39
|
optional?: boolean;
|
|
@@ -5,8 +5,23 @@ export interface ISharedSettings {
|
|
|
5
5
|
features: ISharedFeatures;
|
|
6
6
|
checkout: ISharedCheckout;
|
|
7
7
|
general: ISharedGeneral;
|
|
8
|
+
products: ISharedProducts;
|
|
8
9
|
adminPanelOnly: IAdminOnlyV2;
|
|
9
10
|
}
|
|
11
|
+
export interface ISharedProducts {
|
|
12
|
+
productLabels: ProductLabelSettings;
|
|
13
|
+
}
|
|
14
|
+
export interface ProductLabelSettings {
|
|
15
|
+
maxListingLabels: number;
|
|
16
|
+
attributeLabelRules: AttributeLabelRule[];
|
|
17
|
+
}
|
|
18
|
+
export interface AttributeLabelRule {
|
|
19
|
+
attributeKey: string;
|
|
20
|
+
matchValue?: string | number;
|
|
21
|
+
variant: IAttributeLabelVariants;
|
|
22
|
+
renderBeforeRuleLabels: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare type IAttributeLabelVariants = "info" | "warning" | "critical";
|
|
10
25
|
export interface ISharedFeatures {
|
|
11
26
|
recommendedSubstitutions: IRecommendedSubstitutions;
|
|
12
27
|
multilingual: boolean;
|
|
@@ -200,6 +200,15 @@ var CarouselCardsDunnes = {
|
|
|
200
200
|
},
|
|
201
201
|
},
|
|
202
202
|
},
|
|
203
|
+
{
|
|
204
|
+
component: "MembersPrice",
|
|
205
|
+
sectionPosition: {
|
|
206
|
+
mobile: {
|
|
207
|
+
row: "auto/auto",
|
|
208
|
+
column: "1/3",
|
|
209
|
+
},
|
|
210
|
+
},
|
|
211
|
+
},
|
|
203
212
|
{
|
|
204
213
|
component: "OfferValidMessage",
|
|
205
214
|
sectionPosition: {
|
|
@@ -218,6 +218,15 @@ var CarouselCards = {
|
|
|
218
218
|
},
|
|
219
219
|
},
|
|
220
220
|
},
|
|
221
|
+
{
|
|
222
|
+
component: "MembersPrice",
|
|
223
|
+
sectionPosition: {
|
|
224
|
+
mobile: {
|
|
225
|
+
row: "auto/auto",
|
|
226
|
+
column: "1/3",
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
},
|
|
221
230
|
{
|
|
222
231
|
component: "OfferValidMessage",
|
|
223
232
|
sectionPosition: {
|
|
@@ -177,6 +177,15 @@ var CarouselCards = {
|
|
|
177
177
|
},
|
|
178
178
|
},
|
|
179
179
|
},
|
|
180
|
+
{
|
|
181
|
+
component: "MembersPrice",
|
|
182
|
+
sectionPosition: {
|
|
183
|
+
mobile: {
|
|
184
|
+
row: "auto/auto",
|
|
185
|
+
column: "1/3",
|
|
186
|
+
},
|
|
187
|
+
},
|
|
188
|
+
},
|
|
180
189
|
{
|
|
181
190
|
component: "OfferValidMessage",
|
|
182
191
|
sectionPosition: {
|
|
@@ -243,6 +243,15 @@ var ProductGridDunnes = {
|
|
|
243
243
|
},
|
|
244
244
|
},
|
|
245
245
|
},
|
|
246
|
+
{
|
|
247
|
+
component: "MembersPrice",
|
|
248
|
+
sectionPosition: {
|
|
249
|
+
mobile: {
|
|
250
|
+
row: "auto/auto",
|
|
251
|
+
column: "1/3",
|
|
252
|
+
},
|
|
253
|
+
},
|
|
254
|
+
},
|
|
246
255
|
{
|
|
247
256
|
component: "OfferValidMessage",
|
|
248
257
|
sectionPosition: {
|
|
@@ -240,6 +240,15 @@ var ProductGridDefault = {
|
|
|
240
240
|
},
|
|
241
241
|
},
|
|
242
242
|
},
|
|
243
|
+
{
|
|
244
|
+
component: "MembersPrice",
|
|
245
|
+
sectionPosition: {
|
|
246
|
+
mobile: {
|
|
247
|
+
row: "auto/auto",
|
|
248
|
+
column: "1/3",
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
},
|
|
243
252
|
{
|
|
244
253
|
component: "OfferValidMessage",
|
|
245
254
|
sectionPosition: {
|
|
@@ -224,6 +224,15 @@ var ProductGridDefault = {
|
|
|
224
224
|
},
|
|
225
225
|
},
|
|
226
226
|
},
|
|
227
|
+
{
|
|
228
|
+
component: "MembersPrice",
|
|
229
|
+
sectionPosition: {
|
|
230
|
+
mobile: {
|
|
231
|
+
row: "auto/auto",
|
|
232
|
+
column: "1/3",
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
},
|
|
227
236
|
{
|
|
228
237
|
component: "OfferValidMessage",
|
|
229
238
|
sectionPosition: {
|
|
@@ -19,7 +19,8 @@ export declare const OFFER_VALID_MESSAGE = "OfferValidMessage";
|
|
|
19
19
|
export declare const PRODUCT_PRICE_LOYALTY = "ProductPriceLoyalty";
|
|
20
20
|
export declare const TAX_DETAILS = "TaxDetails";
|
|
21
21
|
export declare const PRODUCT_WAS_UNIT_PRICE = "ProductWasUnitPrice";
|
|
22
|
-
export declare
|
|
22
|
+
export declare const MEMBERS_PRICE = "MembersPrice";
|
|
23
|
+
export declare type IComponentsNames = typeof FAVORITES_BUTTON | typeof PAST_PURCHASED | typeof PRODUCT_IMAGE | typeof PRODUCT_NAME | typeof ADD_TO_CART_BUTTON | typeof PRODUCT_PRICE | typeof PRODUCT_WAS_PRICE | typeof PRODUCT_UNIT_PRICE | typeof PRODUCT_WEIGHT_BASED | typeof SHOPPING_RULE_LABELS | typeof PRODUCT_COUPONS | typeof PRODUCT_ATTRIBUTES | typeof PROMOTION_LABEL | typeof RECOMMENDED_LABEL | typeof VIEW_DEAL_BUTTON | typeof SPONSORED_LABEL | typeof OFFER_VALID_MESSAGE | typeof PRODUCT_PRICE_LOYALTY | typeof TAX_DETAILS | typeof PRODUCT_WAS_UNIT_PRICE | typeof MEMBERS_PRICE;
|
|
23
24
|
export declare const layoutObjects: IProductCardLayoutObjects<ILayoutInterface>;
|
|
24
25
|
export interface IProductCardTemplate {
|
|
25
26
|
template: ILayoutInterface;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.layoutObjects = exports.PRODUCT_WAS_UNIT_PRICE = exports.TAX_DETAILS = exports.PRODUCT_PRICE_LOYALTY = exports.OFFER_VALID_MESSAGE = exports.SPONSORED_LABEL = exports.VIEW_DEAL_BUTTON = exports.RECOMMENDED_LABEL = exports.PROMOTION_LABEL = exports.PRODUCT_ATTRIBUTES = exports.PRODUCT_COUPONS = exports.SHOPPING_RULE_LABELS = exports.PRODUCT_WEIGHT_BASED = exports.PRODUCT_UNIT_PRICE = exports.PRODUCT_WAS_PRICE = exports.PRODUCT_PRICE = exports.ADD_TO_CART_BUTTON = exports.PRODUCT_NAME = exports.PRODUCT_IMAGE = exports.PAST_PURCHASED = exports.FAVORITES_BUTTON = void 0;
|
|
3
|
+
exports.layoutObjects = exports.MEMBERS_PRICE = exports.PRODUCT_WAS_UNIT_PRICE = exports.TAX_DETAILS = exports.PRODUCT_PRICE_LOYALTY = exports.OFFER_VALID_MESSAGE = exports.SPONSORED_LABEL = exports.VIEW_DEAL_BUTTON = exports.RECOMMENDED_LABEL = exports.PROMOTION_LABEL = exports.PRODUCT_ATTRIBUTES = exports.PRODUCT_COUPONS = exports.SHOPPING_RULE_LABELS = exports.PRODUCT_WEIGHT_BASED = exports.PRODUCT_UNIT_PRICE = exports.PRODUCT_WAS_PRICE = exports.PRODUCT_PRICE = exports.ADD_TO_CART_BUTTON = exports.PRODUCT_NAME = exports.PRODUCT_IMAGE = exports.PAST_PURCHASED = exports.FAVORITES_BUTTON = void 0;
|
|
4
4
|
var Default_1 = require("./layouts/ProductGrid/Default");
|
|
5
5
|
var PCE_centered_1 = require("./layouts/ProductGrid/PCE-centered");
|
|
6
6
|
var PRS_labels_1 = require("./layouts/ProductGrid/PRS-labels");
|
|
@@ -31,6 +31,7 @@ exports.OFFER_VALID_MESSAGE = "OfferValidMessage";
|
|
|
31
31
|
exports.PRODUCT_PRICE_LOYALTY = "ProductPriceLoyalty";
|
|
32
32
|
exports.TAX_DETAILS = "TaxDetails";
|
|
33
33
|
exports.PRODUCT_WAS_UNIT_PRICE = "ProductWasUnitPrice";
|
|
34
|
+
exports.MEMBERS_PRICE = "MembersPrice";
|
|
34
35
|
exports.layoutObjects = {
|
|
35
36
|
ContainersGrid: {
|
|
36
37
|
default: Default_1.default,
|
|
@@ -214,4 +214,56 @@ exports.AdminSharedSettingsTemplateSFUI = {
|
|
|
214
214
|
// },
|
|
215
215
|
},
|
|
216
216
|
},
|
|
217
|
+
products: {
|
|
218
|
+
title: "Products",
|
|
219
|
+
description: "",
|
|
220
|
+
type: exports.AdminSharedTemplateInputTypes.collapsableObject,
|
|
221
|
+
value: {
|
|
222
|
+
productLabels: {
|
|
223
|
+
title: "Product Labels",
|
|
224
|
+
description: "Configure how labels appear on product cards. This includes labels from your shopping rules and labels created from product attributes.",
|
|
225
|
+
type: exports.AdminSharedTemplateInputTypes.collapsableObject,
|
|
226
|
+
value: {
|
|
227
|
+
maxListingLabels: {
|
|
228
|
+
title: "Maximum Labels",
|
|
229
|
+
description: "The total number of labels that can appear on a product card (listings). This applies to both shopping rule labels and attribute-based labels combined.",
|
|
230
|
+
type: exports.AdminSharedTemplateInputTypes.inputNumber,
|
|
231
|
+
options: {
|
|
232
|
+
min: 1,
|
|
233
|
+
max: 8,
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
attributeLabelRules: {
|
|
237
|
+
title: "Attribute Based Label Rules",
|
|
238
|
+
description: "Create labels based on your product attributes. These labels will appear together with shopping-rule labels.",
|
|
239
|
+
type: exports.AdminSharedTemplateInputTypes.array,
|
|
240
|
+
value: {
|
|
241
|
+
attributeKey: {
|
|
242
|
+
title: "Attribute Display Name",
|
|
243
|
+
description: "Choose the attribute display name that should trigger this label.",
|
|
244
|
+
type: exports.AdminSharedTemplateInputTypes.inputChar,
|
|
245
|
+
},
|
|
246
|
+
variant: {
|
|
247
|
+
title: "Label Style",
|
|
248
|
+
description: "Select the visual style of the label (informational, warning, or critical).",
|
|
249
|
+
type: exports.AdminSharedTemplateInputTypes.dropdown,
|
|
250
|
+
options: ["info", "warning", "critical"],
|
|
251
|
+
},
|
|
252
|
+
matchValue: {
|
|
253
|
+
title: "Match Specific Value",
|
|
254
|
+
description: "Use only if this label should appear for a specific attribute value. Leave empty to show the label when the attribute exists (for strings) or is true (for boolean attributes).",
|
|
255
|
+
type: exports.AdminSharedTemplateInputTypes.inputChar,
|
|
256
|
+
optional: true,
|
|
257
|
+
},
|
|
258
|
+
renderBeforeRuleLabels: {
|
|
259
|
+
title: "Show Before Shopping Rule Labels",
|
|
260
|
+
description: "If enabled, this label will appear before any labels generated from shopping rules.",
|
|
261
|
+
type: exports.AdminSharedTemplateInputTypes.checkbox,
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
},
|
|
268
|
+
},
|
|
217
269
|
};
|