@gofynd/fdk-client-javascript 1.4.15-beta.1 → 1.4.15-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/application.d.ts +1 -2
- package/application.js +2 -3
- package/index.d.ts +1 -2
- package/index.js +7 -1
- package/package.json +3 -4
- package/sdk/application/ApplicationClient.js +0 -18
- package/sdk/application/Cart/CartApplicationClient.d.ts +55 -90
- package/sdk/application/Cart/CartApplicationClient.js +60 -1185
- package/sdk/application/Catalog/CatalogApplicationClient.d.ts +90 -142
- package/sdk/application/Catalog/CatalogApplicationClient.js +187 -1293
- package/sdk/application/Common/CommonApplicationClient.d.ts +4 -8
- package/sdk/application/Common/CommonApplicationClient.js +5 -89
- package/sdk/application/Communication/CommunicationApplicationClient.d.ts +6 -19
- package/sdk/application/Communication/CommunicationApplicationClient.js +6 -145
- package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +32 -73
- package/sdk/application/Configuration/ConfigurationApplicationClient.js +31 -718
- package/sdk/application/Content/ContentApplicationClient.d.ts +46 -78
- package/sdk/application/Content/ContentApplicationClient.js +77 -914
- package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +6 -11
- package/sdk/application/FileStorage/FileStorageApplicationClient.js +19 -125
- package/sdk/application/Lead/LeadApplicationClient.d.ts +10 -18
- package/sdk/application/Lead/LeadApplicationClient.js +32 -202
- package/sdk/application/Logistic/LogisticApplicationClient.d.ts +22 -39
- package/sdk/application/Logistic/LogisticApplicationClient.js +50 -478
- package/sdk/application/Order/OrderApplicationClient.d.ts +22 -42
- package/sdk/application/Order/OrderApplicationClient.js +86 -472
- package/sdk/application/Payment/PaymentApplicationClient.d.ts +92 -212
- package/sdk/application/Payment/PaymentApplicationClient.js +57 -2102
- package/sdk/application/Rewards/RewardsApplicationClient.d.ts +14 -28
- package/sdk/application/Rewards/RewardsApplicationClient.js +16 -305
- package/sdk/application/Share/ShareApplicationClient.d.ts +14 -24
- package/sdk/application/Share/ShareApplicationClient.js +34 -294
- package/sdk/application/Theme/ThemeApplicationClient.d.ts +8 -14
- package/sdk/application/Theme/ThemeApplicationClient.js +28 -162
- package/sdk/application/User/UserApplicationClient.d.ts +85 -136
- package/sdk/application/User/UserApplicationClient.js +45 -1815
- package/sdk/application/Webhook/WebhookApplicationClient.d.ts +2 -5
- package/sdk/application/Webhook/WebhookApplicationClient.js +4 -47
- package/sdk/application/index.d.ts +0 -18
- package/sdk/application/index.js +0 -33
- package/sdk/common/Utility.d.ts +1 -1
- package/sdk/common/Utility.js +10 -7
- package/sdk/common/Validator.d.ts +1 -0
- package/sdk/common/Validator.js +20 -0
- package/sdk/common/utils.d.ts +0 -1
- package/sdk/common/utils.js +0 -14
- package/sdk/partner/OAuthClient.js +1 -0
- package/sdk/partner/Theme/ThemePartnerModel.d.ts +3 -40
- package/sdk/partner/Theme/ThemePartnerModel.js +2 -24
- package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +39 -1
- package/sdk/platform/Cart/CartPlatformApplicationClient.js +247 -1
- package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +33 -1
- package/sdk/platform/Cart/CartPlatformApplicationValidator.js +37 -0
- package/sdk/platform/Cart/CartPlatformModel.d.ts +193 -1
- package/sdk/platform/Cart/CartPlatformModel.js +132 -0
- package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +0 -7
- package/sdk/platform/Catalog/CatalogPlatformModel.js +1 -4
- package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +14 -0
- package/sdk/platform/Configuration/ConfigurationPlatformModel.js +6 -0
- package/sdk/platform/Order/OrderPlatformApplicationClient.d.ts +0 -10
- package/sdk/platform/Order/OrderPlatformApplicationClient.js +0 -92
- package/sdk/platform/Order/OrderPlatformApplicationValidator.d.ts +1 -28
- package/sdk/platform/Order/OrderPlatformApplicationValidator.js +0 -18
- package/sdk/platform/Order/OrderPlatformClient.d.ts +10 -0
- package/sdk/platform/Order/OrderPlatformClient.js +99 -0
- package/sdk/platform/Order/OrderPlatformModel.d.ts +7 -0
- package/sdk/platform/Order/OrderPlatformModel.js +3 -0
- package/sdk/platform/Order/OrderPlatformValidator.d.ts +33 -1
- package/sdk/platform/Order/OrderPlatformValidator.js +20 -0
- package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +1 -1
- package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +4 -4
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +56 -19
- package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +42 -18
- package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +3 -3
- package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +2 -2
- package/sdk/platform/Theme/ThemePlatformModel.d.ts +3 -40
- package/sdk/platform/Theme/ThemePlatformModel.js +2 -24
- package/sdk/public/Configuration/ConfigurationPublicClient.js +5 -2
- package/sdk/public/Content/ContentPublicClient.d.ts +1 -1
- package/sdk/public/Content/ContentPublicClient.js +14 -2
- package/sdk/public/Partner/PartnerPublicClient.d.ts +1 -1
- package/sdk/public/Partner/PartnerPublicClient.js +14 -2
- package/sdk/public/Webhook/WebhookPublicClient.js +5 -2
- package/sdk/application/Cart/CartApplicationModel.d.ts +0 -3994
- package/sdk/application/Cart/CartApplicationModel.js +0 -2497
- package/sdk/application/Cart/CartApplicationValidator.d.ts +0 -769
- package/sdk/application/Cart/CartApplicationValidator.js +0 -530
- package/sdk/application/Catalog/CatalogApplicationModel.d.ts +0 -3857
- package/sdk/application/Catalog/CatalogApplicationModel.js +0 -2629
- package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +0 -791
- package/sdk/application/Catalog/CatalogApplicationValidator.js +0 -551
- package/sdk/application/Common/CommonApplicationModel.d.ts +0 -449
- package/sdk/application/Common/CommonApplicationModel.js +0 -308
- package/sdk/application/Common/CommonApplicationValidator.d.ts +0 -46
- package/sdk/application/Common/CommonApplicationValidator.js +0 -38
- package/sdk/application/Communication/CommunicationApplicationModel.d.ts +0 -293
- package/sdk/application/Communication/CommunicationApplicationModel.js +0 -201
- package/sdk/application/Communication/CommunicationApplicationValidator.d.ts +0 -29
- package/sdk/application/Communication/CommunicationApplicationValidator.js +0 -38
- package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +0 -2556
- package/sdk/application/Configuration/ConfigurationApplicationModel.js +0 -1887
- package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +0 -179
- package/sdk/application/Configuration/ConfigurationApplicationValidator.js +0 -176
- package/sdk/application/Content/ContentApplicationModel.d.ts +0 -2133
- package/sdk/application/Content/ContentApplicationModel.js +0 -1589
- package/sdk/application/Content/ContentApplicationValidator.d.ts +0 -284
- package/sdk/application/Content/ContentApplicationValidator.js +0 -264
- package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +0 -272
- package/sdk/application/FileStorage/FileStorageApplicationModel.js +0 -190
- package/sdk/application/FileStorage/FileStorageApplicationValidator.d.ts +0 -56
- package/sdk/application/FileStorage/FileStorageApplicationValidator.js +0 -53
- package/sdk/application/Lead/LeadApplicationModel.d.ts +0 -590
- package/sdk/application/Lead/LeadApplicationModel.js +0 -480
- package/sdk/application/Lead/LeadApplicationValidator.d.ts +0 -68
- package/sdk/application/Lead/LeadApplicationValidator.js +0 -71
- package/sdk/application/Logistic/LogisticApplicationModel.d.ts +0 -1675
- package/sdk/application/Logistic/LogisticApplicationModel.js +0 -1121
- package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +0 -254
- package/sdk/application/Logistic/LogisticApplicationValidator.js +0 -190
- package/sdk/application/Order/OrderApplicationModel.d.ts +0 -2296
- package/sdk/application/Order/OrderApplicationModel.js +0 -1471
- package/sdk/application/Order/OrderApplicationValidator.d.ts +0 -265
- package/sdk/application/Order/OrderApplicationValidator.js +0 -197
- package/sdk/application/Payment/PaymentApplicationModel.d.ts +0 -4058
- package/sdk/application/Payment/PaymentApplicationModel.js +0 -2630
- package/sdk/application/Payment/PaymentApplicationValidator.d.ts +0 -576
- package/sdk/application/Payment/PaymentApplicationValidator.js +0 -594
- package/sdk/application/Rewards/RewardsApplicationModel.d.ts +0 -365
- package/sdk/application/Rewards/RewardsApplicationModel.js +0 -396
- package/sdk/application/Rewards/RewardsApplicationValidator.d.ts +0 -73
- package/sdk/application/Rewards/RewardsApplicationValidator.js +0 -84
- package/sdk/application/Share/ShareApplicationModel.d.ts +0 -339
- package/sdk/application/Share/ShareApplicationModel.js +0 -234
- package/sdk/application/Share/ShareApplicationValidator.d.ts +0 -90
- package/sdk/application/Share/ShareApplicationValidator.js +0 -91
- package/sdk/application/Theme/ThemeApplicationModel.d.ts +0 -1713
- package/sdk/application/Theme/ThemeApplicationModel.js +0 -1426
- package/sdk/application/Theme/ThemeApplicationValidator.d.ts +0 -66
- package/sdk/application/Theme/ThemeApplicationValidator.js +0 -58
- package/sdk/application/User/UserApplicationModel.d.ts +0 -1943
- package/sdk/application/User/UserApplicationModel.js +0 -1382
- package/sdk/application/User/UserApplicationValidator.d.ts +0 -560
- package/sdk/application/User/UserApplicationValidator.js +0 -573
- package/sdk/application/Webhook/WebhookApplicationModel.d.ts +0 -52
- package/sdk/application/Webhook/WebhookApplicationModel.js +0 -46
- package/sdk/application/Webhook/WebhookApplicationValidator.d.ts +0 -16
- package/sdk/application/Webhook/WebhookApplicationValidator.js +0 -19
- package/sdk/common/Clickstream.d.ts +0 -1
- package/sdk/common/Clickstream.js +0 -464
|
@@ -1,1426 +0,0 @@
|
|
|
1
|
-
const Joi = require("joi");
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @typedef AllAvailablePageSchema
|
|
5
|
-
* @property {AvailablePageSchema[]} [pages] - List all the pages.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* @typedef AvailablePageSchema
|
|
10
|
-
* @property {string} [value] - The name of the page. For example, 'about-us'.
|
|
11
|
-
* @property {string} [text] - The textual content associated with the page. For
|
|
12
|
-
* example, 'about us'.
|
|
13
|
-
* @property {string} [path] - The url path for the page. For example, 'about-us'.
|
|
14
|
-
* @property {string} [type] - The type of the page, which can be 'system',
|
|
15
|
-
* 'custom', or 'sections'.
|
|
16
|
-
* @property {AvailablePageSchemaSections[]} [sections] - An array of sections
|
|
17
|
-
* that make up the page.
|
|
18
|
-
* @property {AvailablePageSectionMetaAttributes[]} [sections_meta] - An array
|
|
19
|
-
* of metadata attributes for the sections of the page, each represented by an object.
|
|
20
|
-
* @property {string} [theme] - The unique identifier for the theme associated
|
|
21
|
-
* with the section.
|
|
22
|
-
* @property {AvailablePageSeo} [seo]
|
|
23
|
-
* @property {Object[]} [props] - An array of properties associated with the
|
|
24
|
-
* object, where each property is represented as an object.
|
|
25
|
-
* @property {string} [_id] - The unique identifier for the object.
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @typedef AvailablePageSectionMetaAttributes
|
|
30
|
-
* @property {Object} [attributes] - A key-value pair object containing metadata
|
|
31
|
-
* attributes for the section.
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @typedef SEOMetaItem
|
|
36
|
-
* @property {string} [title] - The title of the meta tag item.
|
|
37
|
-
* @property {SEOMetaItems[]} [items] - An array of items within the meta tag,
|
|
38
|
-
* each represented by an object.
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* @typedef SEOMetaItems
|
|
43
|
-
* @property {string} [key] - The key of the meta tag item.
|
|
44
|
-
* @property {string} [value] - The value of the meta tag item.
|
|
45
|
-
*/
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* @typedef SEOSitemap
|
|
49
|
-
* @property {number} [priority] - The priority of the page in the sitemap,
|
|
50
|
-
* typically a value between 0.0 And 1.0.
|
|
51
|
-
* @property {string} [frequency] - The frequency with which the content of the
|
|
52
|
-
* page is likely to change, such as 'always', 'hourly', 'daily', 'weekly',
|
|
53
|
-
* 'monthly', 'yearly', or 'never'.
|
|
54
|
-
*/
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* @typedef SEObreadcrumb
|
|
58
|
-
* @property {string} [url] - The url associated with the breadcrumb.
|
|
59
|
-
* @property {Action} [action]
|
|
60
|
-
*/
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* @typedef Action
|
|
64
|
-
* @property {string} [type] - Type of action to be taken e.g, page.
|
|
65
|
-
* @property {ActionPage} [page]
|
|
66
|
-
* @property {ActionPage} [popup]
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* @typedef AvailablePageSeo
|
|
71
|
-
* @property {string} [title] - The seo title of the page.
|
|
72
|
-
* @property {string} [description] - The seo description of the page.
|
|
73
|
-
* @property {string} [canonical_url] - The canonical url of the page.
|
|
74
|
-
* @property {SEOMetaItem[]} [meta_tags] - An array of meta tags for the page,
|
|
75
|
-
* each represented by an object.
|
|
76
|
-
* @property {SEOSitemap} [sitemap]
|
|
77
|
-
* @property {SEObreadcrumb[]} [breadcrumb] - An array representing breadcrumb
|
|
78
|
-
* navigation, where each item provides information about a step in the
|
|
79
|
-
* navigation path.
|
|
80
|
-
* @property {string} [_id] - The unique identifier for the object.
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* @typedef AvailablePageSchemaSections
|
|
85
|
-
* @property {string} [name] - The name of the section.
|
|
86
|
-
* @property {string} [label] - A label for the section, which can be used for
|
|
87
|
-
* display purposes.
|
|
88
|
-
* @property {string} [source] - The source of the section, for example, 'themebundle'.
|
|
89
|
-
* @property {Object} [props] - An object containing various properties
|
|
90
|
-
* associated with the section.
|
|
91
|
-
* @property {Object[]} [blocks] - An array of blocks within the section, where
|
|
92
|
-
* each block is represented as an object.
|
|
93
|
-
* @property {Object} [preset] - An object containing preset configurations for
|
|
94
|
-
* the section.
|
|
95
|
-
* @property {AvailablePagePredicate} [predicate]
|
|
96
|
-
*/
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* @typedef AvailablePagePredicate
|
|
100
|
-
* @property {AvailablePageScreenPredicate} [screen]
|
|
101
|
-
* @property {AvailablePageUserPredicate} [user]
|
|
102
|
-
* @property {AvailablePageRoutePredicate} [route]
|
|
103
|
-
* @property {AvailablePageSchedulePredicate} [schedule]
|
|
104
|
-
* @property {AvailablePagePlatformPredicate} [platform]
|
|
105
|
-
* @property {string[]} [zones] - An array of zone ids associated with the section.
|
|
106
|
-
*/
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* @typedef AvailablePageScreenPredicate
|
|
110
|
-
* @property {boolean} [mobile] - Indicates if the predicate applies to mobile screens.
|
|
111
|
-
* @property {boolean} [desktop] - Indicates if the predicate applies to desktop screens.
|
|
112
|
-
* @property {boolean} [tablet] - Indicates if the predicate applies to tablet screens.
|
|
113
|
-
*/
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* @typedef AvailablePageUserPredicate
|
|
117
|
-
* @property {boolean} [authenticated] - Indicates if the predicate applies to
|
|
118
|
-
* authenticated users.
|
|
119
|
-
* @property {boolean} [anonymous] - Indicates if the predicate applies to
|
|
120
|
-
* anonymous users.
|
|
121
|
-
*/
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* @typedef AvailablePageRoutePredicate
|
|
125
|
-
* @property {string} [selected] - Specifies the type of route selection, which
|
|
126
|
-
* can be 'none', 'exact', or 'query'.
|
|
127
|
-
* @property {string} [exact_url] - The exact url for the route when 'selected'
|
|
128
|
-
* is set to 'exact'.
|
|
129
|
-
* @property {Object} [query] - An object representing query parameters for the
|
|
130
|
-
* route when 'selected' is set to 'query'.
|
|
131
|
-
*/
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* @typedef AvailablePageSchedulePredicate
|
|
135
|
-
* @property {string} [cron] - A cron expression specifying the schedule for the
|
|
136
|
-
* predicate.
|
|
137
|
-
* @property {string} [start] - The start date and time for the schedule, in iso
|
|
138
|
-
* 8601 format.
|
|
139
|
-
* @property {string} [end] - The end date and time for the schedule, in iso 8601 format.
|
|
140
|
-
*/
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* @typedef ThemesSchema
|
|
144
|
-
* @property {Font} [font]
|
|
145
|
-
* @property {Config} [config]
|
|
146
|
-
* @property {boolean} [applied] - Whether the theme has been applied or not.
|
|
147
|
-
* @property {boolean} [is_private] - Whether the theme is private or not.
|
|
148
|
-
* @property {string[]} [tags] - An array of tags associated with the theme.
|
|
149
|
-
* @property {string} [_id] - The unique identifier of the theme.
|
|
150
|
-
* @property {string} [application_id] - The id of the application.
|
|
151
|
-
* @property {string} [marketplace_theme_id] - The id of the theme in the marketplace.
|
|
152
|
-
* @property {ThemeMeta} [meta]
|
|
153
|
-
* @property {string} [name] - The name of the theme.
|
|
154
|
-
* @property {string} [template_theme_id] - The id of the template theme.
|
|
155
|
-
* @property {string} [version] - The version of the theme.
|
|
156
|
-
* @property {Object} [styles] - The styles associated with the theme.
|
|
157
|
-
* @property {string} [created_at] - The creation timestamp of the theme.
|
|
158
|
-
* @property {string} [updated_at] - The last update timestamp of the theme.
|
|
159
|
-
* @property {Assets} [assets]
|
|
160
|
-
* @property {SectionItem[]} [available_sections] - Available sections information.
|
|
161
|
-
* @property {string} [theme_type] - The theme or category type associated with the page.
|
|
162
|
-
* @property {number} [company_id] - The company id in which sales channel exists.
|
|
163
|
-
*/
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* @typedef Font
|
|
167
|
-
* @property {FontVariants} variants
|
|
168
|
-
* @property {string} family - The font family.
|
|
169
|
-
*/
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* @typedef FontVariants
|
|
173
|
-
* @property {FontVariant} [light]
|
|
174
|
-
* @property {FontVariant} [regular]
|
|
175
|
-
* @property {FontVariant} [medium]
|
|
176
|
-
* @property {FontVariant} [semi_bold]
|
|
177
|
-
* @property {FontVariant} [bold]
|
|
178
|
-
*/
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* @typedef FontVariant
|
|
182
|
-
* @property {string} name - The name of the font variant.
|
|
183
|
-
* @property {string} file - The url of the font file.
|
|
184
|
-
*/
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* @typedef Config
|
|
188
|
-
* @property {string} current - The current configuration.
|
|
189
|
-
* @property {ThemeConfiguration[]} list - A list of configurations.
|
|
190
|
-
* @property {GlobalSchema} [global_schema]
|
|
191
|
-
* @property {Preset} [preset]
|
|
192
|
-
*/
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* @typedef ThemeConfiguration
|
|
196
|
-
* @property {string} [name] - The name of the configuration.
|
|
197
|
-
* @property {Object} [global_config] - A global configuration object containing
|
|
198
|
-
* various settings for the theme.
|
|
199
|
-
* @property {string[]} [page] - An array of pages associated with the theme
|
|
200
|
-
* configuration.
|
|
201
|
-
*/
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* @typedef CustomConfig
|
|
205
|
-
* @property {CustomProps} [props]
|
|
206
|
-
*/
|
|
207
|
-
|
|
208
|
-
/**
|
|
209
|
-
* @typedef CustomProps
|
|
210
|
-
* @property {string} [header_bg_color] - The header background color.
|
|
211
|
-
* @property {string} [header_text_color] - The header text color.
|
|
212
|
-
* @property {string} [header_border_color] - The header border color.
|
|
213
|
-
* @property {string} [header_icon_color] - The header icon color.
|
|
214
|
-
* @property {string} [header_cart_notification_bg_color] - The header cart
|
|
215
|
-
* notification background color.
|
|
216
|
-
* @property {string} [header_cart_notification_text_color] - The header cart
|
|
217
|
-
* notification text color.
|
|
218
|
-
* @property {string} [header_nav_hover_color] - The header navigation hover color.
|
|
219
|
-
* @property {string} [button_primary_color] - The primary button color.
|
|
220
|
-
* @property {string} [button_primary_label_color] - The primary button label color.
|
|
221
|
-
* @property {string} [button_add_to_cart_color] - The add to cart button color.
|
|
222
|
-
* @property {string} [button_add_to_cart_label_color] - The add to cart button
|
|
223
|
-
* label color.
|
|
224
|
-
* @property {string} [button_secondary_color] - The secondary button color.
|
|
225
|
-
* @property {string} [button_secondary_label_color] - The secondary button label color.
|
|
226
|
-
* @property {string} [button_tertiary_color] - The tertiary button color.
|
|
227
|
-
* @property {string} [button_tertiary_label_color] - The tertiary button label color.
|
|
228
|
-
* @property {string} [button_tertiary_hover_color] - The tertiary button hover color.
|
|
229
|
-
* @property {string} [button_tertiary_hover_text_color] - The tertiary button
|
|
230
|
-
* hover text color.
|
|
231
|
-
* @property {string} [text_heading_link_color] - The text heading link color.
|
|
232
|
-
* @property {string} [text_body_color] - The text body color.
|
|
233
|
-
* @property {string} [text_price_color] - The text price color.
|
|
234
|
-
* @property {string} [text_sale_price_color] - The text sale price color.
|
|
235
|
-
* @property {string} [text_strikethrough_price_color] - The text strikethrough
|
|
236
|
-
* price color.
|
|
237
|
-
* @property {string} [text_discount_color] - The text discount color.
|
|
238
|
-
* @property {string} [footer_bg_color] - The footer background color.
|
|
239
|
-
* @property {string} [footer_text_color] - The footer text color.
|
|
240
|
-
* @property {string} [footer_border_color] - The footer border color.
|
|
241
|
-
* @property {string} [footer_nav_hover_color] - The footer navigation hover color.
|
|
242
|
-
* @property {boolean} [disable_cart] - Whether to disable the cart or not.
|
|
243
|
-
* @property {boolean} [is_menu_below_logo] - Whether the menu is below the logo or not.
|
|
244
|
-
* @property {string} [menu_position] - The position of the menu.
|
|
245
|
-
*/
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* @typedef GlobalConfig
|
|
249
|
-
* @property {StaticConfig} [statics]
|
|
250
|
-
* @property {CustomConfig} [custom]
|
|
251
|
-
*/
|
|
252
|
-
|
|
253
|
-
/**
|
|
254
|
-
* @typedef GeneralSetting
|
|
255
|
-
* @property {ThemeSetting} [theme]
|
|
256
|
-
* @property {TextSetting} [text]
|
|
257
|
-
* @property {ButtonSetting} [button]
|
|
258
|
-
* @property {SaleDiscountSetting} [sale_discount]
|
|
259
|
-
* @property {HeaderSetting} [header]
|
|
260
|
-
* @property {FooterSetting} [footer]
|
|
261
|
-
*/
|
|
262
|
-
|
|
263
|
-
/**
|
|
264
|
-
* @typedef AdvanceSetting
|
|
265
|
-
* @property {OverlayPopupSetting} [overlay_popup]
|
|
266
|
-
* @property {DividerStrokeHighlightSetting} [divider_stroke_highlight]
|
|
267
|
-
* @property {UserAlertsSetting} [user_alerts]
|
|
268
|
-
*/
|
|
269
|
-
|
|
270
|
-
/**
|
|
271
|
-
* @typedef UserAlertsSetting
|
|
272
|
-
* @property {string} [success_background] - The success background color.
|
|
273
|
-
* @property {string} [success_text] - The success text color.
|
|
274
|
-
* @property {string} [error_background] - The error background color.
|
|
275
|
-
* @property {string} [error_text] - The error text color.
|
|
276
|
-
* @property {string} [info_background] - The info background color.
|
|
277
|
-
* @property {string} [info_text] - The info text color.
|
|
278
|
-
*/
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* @typedef ThemeSetting
|
|
282
|
-
* @property {string} [page_background] - The page background color.
|
|
283
|
-
* @property {string} [theme_accent] - The theme accent color.
|
|
284
|
-
*/
|
|
285
|
-
|
|
286
|
-
/**
|
|
287
|
-
* @typedef TextSetting
|
|
288
|
-
* @property {string} [text_heading] - The text heading color.
|
|
289
|
-
* @property {string} [text_body] - The text body color.
|
|
290
|
-
* @property {string} [text_label] - The text label color.
|
|
291
|
-
* @property {string} [text_secondary] - The secondary text color.
|
|
292
|
-
*/
|
|
293
|
-
|
|
294
|
-
/**
|
|
295
|
-
* @typedef ButtonSetting
|
|
296
|
-
* @property {string} [button_primary] - The primary button color.
|
|
297
|
-
* @property {string} [button_secondary] - The secondary button color.
|
|
298
|
-
* @property {string} [button_link] - The button link color.
|
|
299
|
-
*/
|
|
300
|
-
|
|
301
|
-
/**
|
|
302
|
-
* @typedef SaleDiscountSetting
|
|
303
|
-
* @property {string} [sale_badge_background] - The sale badge background color.
|
|
304
|
-
* @property {string} [sale_badge_text] - The sale badge text color.
|
|
305
|
-
* @property {string} [sale_discount_text] - The sale discount text color.
|
|
306
|
-
* @property {string} [sale_timer] - The sale timer color.
|
|
307
|
-
*/
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* @typedef HeaderSetting
|
|
311
|
-
* @property {string} [header_background] - The header background color.
|
|
312
|
-
* @property {string} [header_nav] - The header navigation color.
|
|
313
|
-
* @property {string} [header_icon] - The header icon color.
|
|
314
|
-
*/
|
|
315
|
-
|
|
316
|
-
/**
|
|
317
|
-
* @typedef FooterSetting
|
|
318
|
-
* @property {string} [footer_background] - The footer background color.
|
|
319
|
-
* @property {string} [footer_bottom_background] - The footer bottom background color.
|
|
320
|
-
* @property {string} [footer_heading_text] - The footer heading text color.
|
|
321
|
-
* @property {string} [footer_body_text] - The footer body text color.
|
|
322
|
-
* @property {string} [footer_icon] - The footer icon color.
|
|
323
|
-
*/
|
|
324
|
-
|
|
325
|
-
/**
|
|
326
|
-
* @typedef OverlayPopupSetting
|
|
327
|
-
* @property {string} [dialog_backgroung] - The dialog background color.
|
|
328
|
-
* @property {string} [overlay] - The overlay color.
|
|
329
|
-
*/
|
|
330
|
-
|
|
331
|
-
/**
|
|
332
|
-
* @typedef DividerStrokeHighlightSetting
|
|
333
|
-
* @property {string} [divider_strokes] - The divider strokes color.
|
|
334
|
-
* @property {string} [highlight] - The highlight color.
|
|
335
|
-
*/
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* @typedef StaticConfig
|
|
339
|
-
* @property {StaticProps} [props]
|
|
340
|
-
*/
|
|
341
|
-
|
|
342
|
-
/**
|
|
343
|
-
* @typedef StaticProps
|
|
344
|
-
* @property {Colors} [colors]
|
|
345
|
-
* @property {AuthConfig} [auth]
|
|
346
|
-
* @property {PaletteConfig} [palette]
|
|
347
|
-
*/
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* @typedef Colors
|
|
351
|
-
* @property {string} [primary_color] - The primary color.
|
|
352
|
-
* @property {string} [secondary_color] - The secondary color.
|
|
353
|
-
* @property {string} [accent_color] - The accent color.
|
|
354
|
-
* @property {string} [link_color] - The link color.
|
|
355
|
-
* @property {string} [button_secondary_color] - The secondary button color.
|
|
356
|
-
* @property {string} [bg_color] - The background color.
|
|
357
|
-
*/
|
|
358
|
-
|
|
359
|
-
/**
|
|
360
|
-
* @typedef AuthConfig
|
|
361
|
-
* @property {boolean} [show_header_auth] - Whether to show header authentication or not.
|
|
362
|
-
* @property {boolean} [show_footer_auth] - Whether to show footer authentication or not.
|
|
363
|
-
*/
|
|
364
|
-
|
|
365
|
-
/**
|
|
366
|
-
* @typedef PaletteConfig
|
|
367
|
-
* @property {GeneralSetting} [general_setting]
|
|
368
|
-
* @property {AdvanceSetting} [advance_setting]
|
|
369
|
-
*/
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* @typedef ThemeMeta
|
|
373
|
-
* @property {ThemePayment} [payment]
|
|
374
|
-
* @property {string} [description] - The description of the theme.
|
|
375
|
-
* @property {string[]} [industry] - An array of industries associated with the theme.
|
|
376
|
-
* @property {Release} [release]
|
|
377
|
-
* @property {Images} [images]
|
|
378
|
-
* @property {string} [slug] - The slug of the theme.
|
|
379
|
-
* @property {string} [name] - The name of the theme.
|
|
380
|
-
*/
|
|
381
|
-
|
|
382
|
-
/**
|
|
383
|
-
* @typedef ThemePayment
|
|
384
|
-
* @property {boolean} [is_paid] - Whether the theme is paid or not.
|
|
385
|
-
* @property {number} [amount] - The amount of the theme.
|
|
386
|
-
*/
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* @typedef Release
|
|
390
|
-
* @property {string} [notes] - The release notes of the theme.
|
|
391
|
-
* @property {string} [version] - The version of the theme.
|
|
392
|
-
*/
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* @typedef Images
|
|
396
|
-
* @property {string} [desktop] - The url of the desktop image.
|
|
397
|
-
* @property {string} [mobile] - The url of the mobile image.
|
|
398
|
-
*/
|
|
399
|
-
|
|
400
|
-
/**
|
|
401
|
-
* @typedef Assets
|
|
402
|
-
* @property {UMDJs} [umd_js]
|
|
403
|
-
* @property {CommonJS} [common_js]
|
|
404
|
-
* @property {CSS} [css]
|
|
405
|
-
*/
|
|
406
|
-
|
|
407
|
-
/**
|
|
408
|
-
* @typedef UMDJs
|
|
409
|
-
* @property {string[]} [links] - An array of strings representing urls or links.
|
|
410
|
-
*/
|
|
411
|
-
|
|
412
|
-
/**
|
|
413
|
-
* @typedef CommonJS
|
|
414
|
-
* @property {string} [link] - A string representing the url or link to the
|
|
415
|
-
* commonjs module.
|
|
416
|
-
*/
|
|
417
|
-
|
|
418
|
-
/**
|
|
419
|
-
* @typedef CSS
|
|
420
|
-
* @property {string[]} [links] - An array of strings representing urls for css assets.
|
|
421
|
-
*/
|
|
422
|
-
|
|
423
|
-
/**
|
|
424
|
-
* @typedef SectionItem
|
|
425
|
-
* @property {Object[]} [props] - An array of objects representing properties or
|
|
426
|
-
* attributes of the section item.
|
|
427
|
-
* @property {Object[]} [blocks] - An array having blocks of the section.
|
|
428
|
-
* @property {string} [name] - Name of the section.
|
|
429
|
-
* @property {string} [label] - Label for the section.
|
|
430
|
-
*/
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* @typedef GlobalSchema
|
|
434
|
-
* @property {Prop[]} [props] - An array of properties associated with the
|
|
435
|
-
* global schema, where each property is represented by an object.
|
|
436
|
-
*/
|
|
437
|
-
|
|
438
|
-
/**
|
|
439
|
-
* @typedef Prop
|
|
440
|
-
* @property {string} [type] - The type of the property.
|
|
441
|
-
* @property {string} [category] - The category of the property.
|
|
442
|
-
* @property {string} [id] - The id of the property.
|
|
443
|
-
* @property {string} [label] - The label of the property.
|
|
444
|
-
* @property {string} [info] - Additional information about the property.
|
|
445
|
-
*/
|
|
446
|
-
|
|
447
|
-
/**
|
|
448
|
-
* @typedef Preset
|
|
449
|
-
* @property {Page[]} [pages] - An array of pages included in the preset, each
|
|
450
|
-
* represented by an object.
|
|
451
|
-
*/
|
|
452
|
-
|
|
453
|
-
/**
|
|
454
|
-
* @typedef Page
|
|
455
|
-
* @property {Section[]} [sections] - An array of sections included in the page.
|
|
456
|
-
* @property {string} [value] - The value of the page.
|
|
457
|
-
*/
|
|
458
|
-
|
|
459
|
-
/**
|
|
460
|
-
* @typedef SectionProps
|
|
461
|
-
* @property {TextProp} [title]
|
|
462
|
-
* @property {TextProp} [item_margin]
|
|
463
|
-
* @property {CheckboxProp} [autoplay]
|
|
464
|
-
* @property {RangeProp} [slide_interval]
|
|
465
|
-
*/
|
|
466
|
-
|
|
467
|
-
/**
|
|
468
|
-
* @typedef SectionPreset
|
|
469
|
-
* @property {Block[]} [blocks] - An array of blocks included in the section preset.
|
|
470
|
-
*/
|
|
471
|
-
|
|
472
|
-
/**
|
|
473
|
-
* @typedef ImagePickerProp
|
|
474
|
-
* @property {string} [type] - The type of the property.
|
|
475
|
-
* @property {string} [value] - The value of the image picker property.
|
|
476
|
-
*/
|
|
477
|
-
|
|
478
|
-
/**
|
|
479
|
-
* @typedef UrlProp
|
|
480
|
-
* @property {string} [type] - The type of the property.
|
|
481
|
-
* @property {string} [value] - The value of the url property.
|
|
482
|
-
*/
|
|
483
|
-
|
|
484
|
-
/**
|
|
485
|
-
* @typedef BlockProps
|
|
486
|
-
* @property {ImagePickerProp} [image]
|
|
487
|
-
* @property {UrlProp} [slide_link]
|
|
488
|
-
*/
|
|
489
|
-
|
|
490
|
-
/**
|
|
491
|
-
* @typedef TextProp
|
|
492
|
-
* @property {string} [value] - The value of the text property.
|
|
493
|
-
* @property {string} [type] - The type of the property.
|
|
494
|
-
*/
|
|
495
|
-
|
|
496
|
-
/**
|
|
497
|
-
* @typedef CheckboxProp
|
|
498
|
-
* @property {boolean} [value] - The value of the checkbox property.
|
|
499
|
-
* @property {string} [type] - The type of the property.
|
|
500
|
-
*/
|
|
501
|
-
|
|
502
|
-
/**
|
|
503
|
-
* @typedef RangeProp
|
|
504
|
-
* @property {number} [value] - The value of the range property.
|
|
505
|
-
* @property {string} [type] - The type of the property.
|
|
506
|
-
*/
|
|
507
|
-
|
|
508
|
-
/**
|
|
509
|
-
* @typedef Section
|
|
510
|
-
* @property {Block[]} [blocks] - An array of blocks included in the section,
|
|
511
|
-
* each represented by an object conforming to the block schema.
|
|
512
|
-
* @property {Predicate} [predicate]
|
|
513
|
-
* @property {string} [name] - The name of the section.
|
|
514
|
-
* @property {SectionProps} [props]
|
|
515
|
-
* @property {SectionPreset} [preset]
|
|
516
|
-
*/
|
|
517
|
-
|
|
518
|
-
/**
|
|
519
|
-
* @typedef Block
|
|
520
|
-
* @property {string} [type] - The type of the block.
|
|
521
|
-
* @property {string} [name] - The name of the block.
|
|
522
|
-
* @property {BlockProps} [props]
|
|
523
|
-
*/
|
|
524
|
-
|
|
525
|
-
/**
|
|
526
|
-
* @typedef Predicate
|
|
527
|
-
* @property {Screen} [screen]
|
|
528
|
-
* @property {ThemeUserSchema} [user]
|
|
529
|
-
* @property {Route} [route]
|
|
530
|
-
*/
|
|
531
|
-
|
|
532
|
-
/**
|
|
533
|
-
* @typedef Screen
|
|
534
|
-
* @property {boolean} [mobile] - True if the screen is a mobile device.
|
|
535
|
-
* @property {boolean} [desktop] - True if the screen is a desktop device.
|
|
536
|
-
* @property {boolean} [tablet] - True if the screen is a tablet device.
|
|
537
|
-
*/
|
|
538
|
-
|
|
539
|
-
/**
|
|
540
|
-
* @typedef ThemeUserSchema
|
|
541
|
-
* @property {boolean} [authenticated] - True if the user is authenticated.
|
|
542
|
-
* @property {boolean} [anonymous] - True if the user is anonymous.
|
|
543
|
-
*/
|
|
544
|
-
|
|
545
|
-
/**
|
|
546
|
-
* @typedef Route
|
|
547
|
-
* @property {string} [selected] - The selected route.
|
|
548
|
-
* @property {string} [exact_url] - The exact url of the route.
|
|
549
|
-
*/
|
|
550
|
-
|
|
551
|
-
/**
|
|
552
|
-
* @typedef AvailablePagePlatformPredicate
|
|
553
|
-
* @property {boolean} [ios] - Section visibility on ios platform.
|
|
554
|
-
* @property {boolean} [android] - Section visibility on android platform.
|
|
555
|
-
* @property {boolean} [web] - Section visibility on web platform.
|
|
556
|
-
*/
|
|
557
|
-
|
|
558
|
-
/**
|
|
559
|
-
* @typedef BlitzkriegInternalServerErrorSchema
|
|
560
|
-
* @property {string} [message] - A descriptive message detailing the internal
|
|
561
|
-
* server error.
|
|
562
|
-
*/
|
|
563
|
-
|
|
564
|
-
/**
|
|
565
|
-
* @typedef BlitzkriegApiErrorSchema
|
|
566
|
-
* @property {string} [message] - A descriptive message detailing the api error.
|
|
567
|
-
*/
|
|
568
|
-
|
|
569
|
-
/**
|
|
570
|
-
* @typedef ActionPage
|
|
571
|
-
* @property {Object} [params] - Parameters that should be considered in path.
|
|
572
|
-
* @property {Object} [query] - Query parameter if any to be added to the action.
|
|
573
|
-
* @property {string} [url] - The URL for the action.
|
|
574
|
-
* @property {PageType} type
|
|
575
|
-
*/
|
|
576
|
-
|
|
577
|
-
/**
|
|
578
|
-
* @typedef {| "about-us"
|
|
579
|
-
* | "addresses"
|
|
580
|
-
* | "blog"
|
|
581
|
-
* | "brands"
|
|
582
|
-
* | "cards"
|
|
583
|
-
* | "cart"
|
|
584
|
-
* | "categories"
|
|
585
|
-
* | "brand"
|
|
586
|
-
* | "category"
|
|
587
|
-
* | "collection"
|
|
588
|
-
* | "collections"
|
|
589
|
-
* | "custom"
|
|
590
|
-
* | "contact-us"
|
|
591
|
-
* | "external"
|
|
592
|
-
* | "faq"
|
|
593
|
-
* | "freshchat"
|
|
594
|
-
* | "home"
|
|
595
|
-
* | "notification-settings"
|
|
596
|
-
* | "orders"
|
|
597
|
-
* | "page"
|
|
598
|
-
* | "policy"
|
|
599
|
-
* | "product"
|
|
600
|
-
* | "product-request"
|
|
601
|
-
* | "products"
|
|
602
|
-
* | "profile"
|
|
603
|
-
* | "profile-order-shipment"
|
|
604
|
-
* | "profile-basic"
|
|
605
|
-
* | "profile-company"
|
|
606
|
-
* | "profile-emails"
|
|
607
|
-
* | "profile-phones"
|
|
608
|
-
* | "rate-us"
|
|
609
|
-
* | "refer-earn"
|
|
610
|
-
* | "settings"
|
|
611
|
-
* | "shared-cart"
|
|
612
|
-
* | "tnc"
|
|
613
|
-
* | "track-order"
|
|
614
|
-
* | "wishlist"
|
|
615
|
-
* | "sections"
|
|
616
|
-
* | "form"
|
|
617
|
-
* | "cart-delivery"
|
|
618
|
-
* | "cart-payment"
|
|
619
|
-
* | "cart-review"
|
|
620
|
-
* | "login"
|
|
621
|
-
* | "register"
|
|
622
|
-
* | "shipping-policy"
|
|
623
|
-
* | "return-policy"
|
|
624
|
-
* | "order-status"
|
|
625
|
-
* | "locate-us"} PageType
|
|
626
|
-
*/
|
|
627
|
-
|
|
628
|
-
class ThemeApplicationModel {
|
|
629
|
-
/** @returns {AllAvailablePageSchema} */
|
|
630
|
-
static AllAvailablePageSchema() {
|
|
631
|
-
return Joi.object({
|
|
632
|
-
pages: Joi.array().items(ThemeApplicationModel.AvailablePageSchema()),
|
|
633
|
-
});
|
|
634
|
-
}
|
|
635
|
-
|
|
636
|
-
/** @returns {AvailablePageSchema} */
|
|
637
|
-
static AvailablePageSchema() {
|
|
638
|
-
return Joi.object({
|
|
639
|
-
value: Joi.string().allow(""),
|
|
640
|
-
text: Joi.string().allow(""),
|
|
641
|
-
path: Joi.string().allow(""),
|
|
642
|
-
type: Joi.string().allow(""),
|
|
643
|
-
sections: Joi.array().items(
|
|
644
|
-
ThemeApplicationModel.AvailablePageSchemaSections()
|
|
645
|
-
),
|
|
646
|
-
sections_meta: Joi.array().items(
|
|
647
|
-
ThemeApplicationModel.AvailablePageSectionMetaAttributes()
|
|
648
|
-
),
|
|
649
|
-
theme: Joi.string().allow(""),
|
|
650
|
-
seo: ThemeApplicationModel.AvailablePageSeo(),
|
|
651
|
-
props: Joi.array().items(Joi.any()),
|
|
652
|
-
_id: Joi.string().allow(""),
|
|
653
|
-
});
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
/** @returns {AvailablePageSectionMetaAttributes} */
|
|
657
|
-
static AvailablePageSectionMetaAttributes() {
|
|
658
|
-
return Joi.object({
|
|
659
|
-
attributes: Joi.any(),
|
|
660
|
-
});
|
|
661
|
-
}
|
|
662
|
-
|
|
663
|
-
/** @returns {SEOMetaItem} */
|
|
664
|
-
static SEOMetaItem() {
|
|
665
|
-
return Joi.object({
|
|
666
|
-
title: Joi.string().allow(""),
|
|
667
|
-
items: Joi.array().items(ThemeApplicationModel.SEOMetaItems()),
|
|
668
|
-
});
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
/** @returns {SEOMetaItems} */
|
|
672
|
-
static SEOMetaItems() {
|
|
673
|
-
return Joi.object({
|
|
674
|
-
key: Joi.string().allow(""),
|
|
675
|
-
value: Joi.string().allow(""),
|
|
676
|
-
});
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
/** @returns {SEOSitemap} */
|
|
680
|
-
static SEOSitemap() {
|
|
681
|
-
return Joi.object({
|
|
682
|
-
priority: Joi.number(),
|
|
683
|
-
frequency: Joi.string().allow(""),
|
|
684
|
-
});
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
/** @returns {SEObreadcrumb} */
|
|
688
|
-
static SEObreadcrumb() {
|
|
689
|
-
return Joi.object({
|
|
690
|
-
url: Joi.string().allow(""),
|
|
691
|
-
action: ThemeApplicationModel.Action(),
|
|
692
|
-
});
|
|
693
|
-
}
|
|
694
|
-
|
|
695
|
-
/** @returns {Action} */
|
|
696
|
-
static Action() {
|
|
697
|
-
return Joi.object({
|
|
698
|
-
type: Joi.string().allow(""),
|
|
699
|
-
page: ThemeApplicationModel.ActionPage(),
|
|
700
|
-
popup: ThemeApplicationModel.ActionPage(),
|
|
701
|
-
});
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
/** @returns {AvailablePageSeo} */
|
|
705
|
-
static AvailablePageSeo() {
|
|
706
|
-
return Joi.object({
|
|
707
|
-
title: Joi.string().allow(""),
|
|
708
|
-
description: Joi.string().allow(""),
|
|
709
|
-
canonical_url: Joi.string().allow(""),
|
|
710
|
-
meta_tags: Joi.array().items(ThemeApplicationModel.SEOMetaItem()),
|
|
711
|
-
sitemap: ThemeApplicationModel.SEOSitemap(),
|
|
712
|
-
breadcrumb: Joi.array().items(ThemeApplicationModel.SEObreadcrumb()),
|
|
713
|
-
_id: Joi.string().allow(""),
|
|
714
|
-
});
|
|
715
|
-
}
|
|
716
|
-
|
|
717
|
-
/** @returns {AvailablePageSchemaSections} */
|
|
718
|
-
static AvailablePageSchemaSections() {
|
|
719
|
-
return Joi.object({
|
|
720
|
-
name: Joi.string().allow(""),
|
|
721
|
-
label: Joi.string().allow(""),
|
|
722
|
-
source: Joi.string().allow(""),
|
|
723
|
-
props: Joi.any(),
|
|
724
|
-
blocks: Joi.array().items(Joi.any()),
|
|
725
|
-
preset: Joi.any(),
|
|
726
|
-
predicate: ThemeApplicationModel.AvailablePagePredicate(),
|
|
727
|
-
});
|
|
728
|
-
}
|
|
729
|
-
|
|
730
|
-
/** @returns {AvailablePagePredicate} */
|
|
731
|
-
static AvailablePagePredicate() {
|
|
732
|
-
return Joi.object({
|
|
733
|
-
screen: ThemeApplicationModel.AvailablePageScreenPredicate(),
|
|
734
|
-
user: ThemeApplicationModel.AvailablePageUserPredicate(),
|
|
735
|
-
route: ThemeApplicationModel.AvailablePageRoutePredicate(),
|
|
736
|
-
schedule: ThemeApplicationModel.AvailablePageSchedulePredicate(),
|
|
737
|
-
platform: ThemeApplicationModel.AvailablePagePlatformPredicate(),
|
|
738
|
-
zones: Joi.array().items(Joi.string().allow("")),
|
|
739
|
-
});
|
|
740
|
-
}
|
|
741
|
-
|
|
742
|
-
/** @returns {AvailablePageScreenPredicate} */
|
|
743
|
-
static AvailablePageScreenPredicate() {
|
|
744
|
-
return Joi.object({
|
|
745
|
-
mobile: Joi.boolean(),
|
|
746
|
-
desktop: Joi.boolean(),
|
|
747
|
-
tablet: Joi.boolean(),
|
|
748
|
-
});
|
|
749
|
-
}
|
|
750
|
-
|
|
751
|
-
/** @returns {AvailablePageUserPredicate} */
|
|
752
|
-
static AvailablePageUserPredicate() {
|
|
753
|
-
return Joi.object({
|
|
754
|
-
authenticated: Joi.boolean(),
|
|
755
|
-
anonymous: Joi.boolean(),
|
|
756
|
-
});
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
/** @returns {AvailablePageRoutePredicate} */
|
|
760
|
-
static AvailablePageRoutePredicate() {
|
|
761
|
-
return Joi.object({
|
|
762
|
-
selected: Joi.string().allow(""),
|
|
763
|
-
exact_url: Joi.string().allow(""),
|
|
764
|
-
query: Joi.any(),
|
|
765
|
-
});
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
/** @returns {AvailablePageSchedulePredicate} */
|
|
769
|
-
static AvailablePageSchedulePredicate() {
|
|
770
|
-
return Joi.object({
|
|
771
|
-
cron: Joi.string().allow(""),
|
|
772
|
-
start: Joi.string().allow(""),
|
|
773
|
-
end: Joi.string().allow(""),
|
|
774
|
-
});
|
|
775
|
-
}
|
|
776
|
-
|
|
777
|
-
/** @returns {ThemesSchema} */
|
|
778
|
-
static ThemesSchema() {
|
|
779
|
-
return Joi.object({
|
|
780
|
-
font: ThemeApplicationModel.Font(),
|
|
781
|
-
config: ThemeApplicationModel.Config(),
|
|
782
|
-
applied: Joi.boolean(),
|
|
783
|
-
is_private: Joi.boolean(),
|
|
784
|
-
tags: Joi.array().items(Joi.string().allow("")),
|
|
785
|
-
_id: Joi.string().allow(""),
|
|
786
|
-
application_id: Joi.string().allow(""),
|
|
787
|
-
marketplace_theme_id: Joi.string().allow(""),
|
|
788
|
-
meta: ThemeApplicationModel.ThemeMeta(),
|
|
789
|
-
name: Joi.string().allow(""),
|
|
790
|
-
template_theme_id: Joi.string().allow(""),
|
|
791
|
-
version: Joi.string().allow(""),
|
|
792
|
-
styles: Joi.any(),
|
|
793
|
-
created_at: Joi.string().allow(""),
|
|
794
|
-
updated_at: Joi.string().allow(""),
|
|
795
|
-
assets: ThemeApplicationModel.Assets(),
|
|
796
|
-
available_sections: Joi.array().items(
|
|
797
|
-
ThemeApplicationModel.SectionItem()
|
|
798
|
-
),
|
|
799
|
-
theme_type: Joi.string().allow(""),
|
|
800
|
-
company_id: Joi.number(),
|
|
801
|
-
});
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
/** @returns {Font} */
|
|
805
|
-
static Font() {
|
|
806
|
-
return Joi.object({
|
|
807
|
-
variants: ThemeApplicationModel.FontVariants().required(),
|
|
808
|
-
family: Joi.string().allow("").required(),
|
|
809
|
-
});
|
|
810
|
-
}
|
|
811
|
-
|
|
812
|
-
/** @returns {FontVariants} */
|
|
813
|
-
static FontVariants() {
|
|
814
|
-
return Joi.object({
|
|
815
|
-
light: ThemeApplicationModel.FontVariant(),
|
|
816
|
-
regular: ThemeApplicationModel.FontVariant(),
|
|
817
|
-
medium: ThemeApplicationModel.FontVariant(),
|
|
818
|
-
semi_bold: ThemeApplicationModel.FontVariant(),
|
|
819
|
-
bold: ThemeApplicationModel.FontVariant(),
|
|
820
|
-
});
|
|
821
|
-
}
|
|
822
|
-
|
|
823
|
-
/** @returns {FontVariant} */
|
|
824
|
-
static FontVariant() {
|
|
825
|
-
return Joi.object({
|
|
826
|
-
name: Joi.string().allow("").required(),
|
|
827
|
-
file: Joi.string().allow("").required(),
|
|
828
|
-
});
|
|
829
|
-
}
|
|
830
|
-
|
|
831
|
-
/** @returns {Config} */
|
|
832
|
-
static Config() {
|
|
833
|
-
return Joi.object({
|
|
834
|
-
current: Joi.string().allow("").required(),
|
|
835
|
-
list: Joi.array()
|
|
836
|
-
.items(ThemeApplicationModel.ThemeConfiguration())
|
|
837
|
-
.required(),
|
|
838
|
-
global_schema: ThemeApplicationModel.GlobalSchema(),
|
|
839
|
-
preset: ThemeApplicationModel.Preset(),
|
|
840
|
-
});
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
/** @returns {ThemeConfiguration} */
|
|
844
|
-
static ThemeConfiguration() {
|
|
845
|
-
return Joi.object({
|
|
846
|
-
name: Joi.string().allow(""),
|
|
847
|
-
global_config: Joi.any(),
|
|
848
|
-
page: Joi.array().items(Joi.string().allow("")),
|
|
849
|
-
});
|
|
850
|
-
}
|
|
851
|
-
|
|
852
|
-
/** @returns {CustomConfig} */
|
|
853
|
-
static CustomConfig() {
|
|
854
|
-
return Joi.object({
|
|
855
|
-
props: ThemeApplicationModel.CustomProps(),
|
|
856
|
-
});
|
|
857
|
-
}
|
|
858
|
-
|
|
859
|
-
/** @returns {CustomProps} */
|
|
860
|
-
static CustomProps() {
|
|
861
|
-
return Joi.object({
|
|
862
|
-
header_bg_color: Joi.string().allow(""),
|
|
863
|
-
header_text_color: Joi.string().allow(""),
|
|
864
|
-
header_border_color: Joi.string().allow(""),
|
|
865
|
-
header_icon_color: Joi.string().allow(""),
|
|
866
|
-
header_cart_notification_bg_color: Joi.string().allow(""),
|
|
867
|
-
header_cart_notification_text_color: Joi.string().allow(""),
|
|
868
|
-
header_nav_hover_color: Joi.string().allow(""),
|
|
869
|
-
button_primary_color: Joi.string().allow(""),
|
|
870
|
-
button_primary_label_color: Joi.string().allow(""),
|
|
871
|
-
button_add_to_cart_color: Joi.string().allow(""),
|
|
872
|
-
button_add_to_cart_label_color: Joi.string().allow(""),
|
|
873
|
-
button_secondary_color: Joi.string().allow(""),
|
|
874
|
-
button_secondary_label_color: Joi.string().allow(""),
|
|
875
|
-
button_tertiary_color: Joi.string().allow(""),
|
|
876
|
-
button_tertiary_label_color: Joi.string().allow(""),
|
|
877
|
-
button_tertiary_hover_color: Joi.string().allow(""),
|
|
878
|
-
button_tertiary_hover_text_color: Joi.string().allow(""),
|
|
879
|
-
text_heading_link_color: Joi.string().allow(""),
|
|
880
|
-
text_body_color: Joi.string().allow(""),
|
|
881
|
-
text_price_color: Joi.string().allow(""),
|
|
882
|
-
text_sale_price_color: Joi.string().allow(""),
|
|
883
|
-
text_strikethrough_price_color: Joi.string().allow(""),
|
|
884
|
-
text_discount_color: Joi.string().allow(""),
|
|
885
|
-
footer_bg_color: Joi.string().allow(""),
|
|
886
|
-
footer_text_color: Joi.string().allow(""),
|
|
887
|
-
footer_border_color: Joi.string().allow(""),
|
|
888
|
-
footer_nav_hover_color: Joi.string().allow(""),
|
|
889
|
-
disable_cart: Joi.boolean(),
|
|
890
|
-
is_menu_below_logo: Joi.boolean(),
|
|
891
|
-
menu_position: Joi.string().allow(""),
|
|
892
|
-
});
|
|
893
|
-
}
|
|
894
|
-
|
|
895
|
-
/** @returns {GlobalConfig} */
|
|
896
|
-
static GlobalConfig() {
|
|
897
|
-
return Joi.object({
|
|
898
|
-
statics: ThemeApplicationModel.StaticConfig(),
|
|
899
|
-
custom: ThemeApplicationModel.CustomConfig(),
|
|
900
|
-
});
|
|
901
|
-
}
|
|
902
|
-
|
|
903
|
-
/** @returns {GeneralSetting} */
|
|
904
|
-
static GeneralSetting() {
|
|
905
|
-
return Joi.object({
|
|
906
|
-
theme: ThemeApplicationModel.ThemeSetting(),
|
|
907
|
-
text: ThemeApplicationModel.TextSetting(),
|
|
908
|
-
button: ThemeApplicationModel.ButtonSetting(),
|
|
909
|
-
sale_discount: ThemeApplicationModel.SaleDiscountSetting(),
|
|
910
|
-
header: ThemeApplicationModel.HeaderSetting(),
|
|
911
|
-
footer: ThemeApplicationModel.FooterSetting(),
|
|
912
|
-
});
|
|
913
|
-
}
|
|
914
|
-
|
|
915
|
-
/** @returns {AdvanceSetting} */
|
|
916
|
-
static AdvanceSetting() {
|
|
917
|
-
return Joi.object({
|
|
918
|
-
overlay_popup: ThemeApplicationModel.OverlayPopupSetting(),
|
|
919
|
-
divider_stroke_highlight: ThemeApplicationModel.DividerStrokeHighlightSetting(),
|
|
920
|
-
user_alerts: ThemeApplicationModel.UserAlertsSetting(),
|
|
921
|
-
});
|
|
922
|
-
}
|
|
923
|
-
|
|
924
|
-
/** @returns {UserAlertsSetting} */
|
|
925
|
-
static UserAlertsSetting() {
|
|
926
|
-
return Joi.object({
|
|
927
|
-
success_background: Joi.string().allow(""),
|
|
928
|
-
success_text: Joi.string().allow(""),
|
|
929
|
-
error_background: Joi.string().allow(""),
|
|
930
|
-
error_text: Joi.string().allow(""),
|
|
931
|
-
info_background: Joi.string().allow(""),
|
|
932
|
-
info_text: Joi.string().allow(""),
|
|
933
|
-
});
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
/** @returns {ThemeSetting} */
|
|
937
|
-
static ThemeSetting() {
|
|
938
|
-
return Joi.object({
|
|
939
|
-
page_background: Joi.string().allow(""),
|
|
940
|
-
theme_accent: Joi.string().allow(""),
|
|
941
|
-
});
|
|
942
|
-
}
|
|
943
|
-
|
|
944
|
-
/** @returns {TextSetting} */
|
|
945
|
-
static TextSetting() {
|
|
946
|
-
return Joi.object({
|
|
947
|
-
text_heading: Joi.string().allow(""),
|
|
948
|
-
text_body: Joi.string().allow(""),
|
|
949
|
-
text_label: Joi.string().allow(""),
|
|
950
|
-
text_secondary: Joi.string().allow(""),
|
|
951
|
-
});
|
|
952
|
-
}
|
|
953
|
-
|
|
954
|
-
/** @returns {ButtonSetting} */
|
|
955
|
-
static ButtonSetting() {
|
|
956
|
-
return Joi.object({
|
|
957
|
-
button_primary: Joi.string().allow(""),
|
|
958
|
-
button_secondary: Joi.string().allow(""),
|
|
959
|
-
button_link: Joi.string().allow(""),
|
|
960
|
-
});
|
|
961
|
-
}
|
|
962
|
-
|
|
963
|
-
/** @returns {SaleDiscountSetting} */
|
|
964
|
-
static SaleDiscountSetting() {
|
|
965
|
-
return Joi.object({
|
|
966
|
-
sale_badge_background: Joi.string().allow(""),
|
|
967
|
-
sale_badge_text: Joi.string().allow(""),
|
|
968
|
-
sale_discount_text: Joi.string().allow(""),
|
|
969
|
-
sale_timer: Joi.string().allow(""),
|
|
970
|
-
});
|
|
971
|
-
}
|
|
972
|
-
|
|
973
|
-
/** @returns {HeaderSetting} */
|
|
974
|
-
static HeaderSetting() {
|
|
975
|
-
return Joi.object({
|
|
976
|
-
header_background: Joi.string().allow(""),
|
|
977
|
-
header_nav: Joi.string().allow(""),
|
|
978
|
-
header_icon: Joi.string().allow(""),
|
|
979
|
-
});
|
|
980
|
-
}
|
|
981
|
-
|
|
982
|
-
/** @returns {FooterSetting} */
|
|
983
|
-
static FooterSetting() {
|
|
984
|
-
return Joi.object({
|
|
985
|
-
footer_background: Joi.string().allow(""),
|
|
986
|
-
footer_bottom_background: Joi.string().allow(""),
|
|
987
|
-
footer_heading_text: Joi.string().allow(""),
|
|
988
|
-
footer_body_text: Joi.string().allow(""),
|
|
989
|
-
footer_icon: Joi.string().allow(""),
|
|
990
|
-
});
|
|
991
|
-
}
|
|
992
|
-
|
|
993
|
-
/** @returns {OverlayPopupSetting} */
|
|
994
|
-
static OverlayPopupSetting() {
|
|
995
|
-
return Joi.object({
|
|
996
|
-
dialog_backgroung: Joi.string().allow(""),
|
|
997
|
-
overlay: Joi.string().allow(""),
|
|
998
|
-
});
|
|
999
|
-
}
|
|
1000
|
-
|
|
1001
|
-
/** @returns {DividerStrokeHighlightSetting} */
|
|
1002
|
-
static DividerStrokeHighlightSetting() {
|
|
1003
|
-
return Joi.object({
|
|
1004
|
-
divider_strokes: Joi.string().allow(""),
|
|
1005
|
-
highlight: Joi.string().allow(""),
|
|
1006
|
-
});
|
|
1007
|
-
}
|
|
1008
|
-
|
|
1009
|
-
/** @returns {StaticConfig} */
|
|
1010
|
-
static StaticConfig() {
|
|
1011
|
-
return Joi.object({
|
|
1012
|
-
props: ThemeApplicationModel.StaticProps(),
|
|
1013
|
-
});
|
|
1014
|
-
}
|
|
1015
|
-
|
|
1016
|
-
/** @returns {StaticProps} */
|
|
1017
|
-
static StaticProps() {
|
|
1018
|
-
return Joi.object({
|
|
1019
|
-
colors: ThemeApplicationModel.Colors(),
|
|
1020
|
-
auth: ThemeApplicationModel.AuthConfig(),
|
|
1021
|
-
palette: ThemeApplicationModel.PaletteConfig(),
|
|
1022
|
-
});
|
|
1023
|
-
}
|
|
1024
|
-
|
|
1025
|
-
/** @returns {Colors} */
|
|
1026
|
-
static Colors() {
|
|
1027
|
-
return Joi.object({
|
|
1028
|
-
primary_color: Joi.string().allow(""),
|
|
1029
|
-
secondary_color: Joi.string().allow(""),
|
|
1030
|
-
accent_color: Joi.string().allow(""),
|
|
1031
|
-
link_color: Joi.string().allow(""),
|
|
1032
|
-
button_secondary_color: Joi.string().allow(""),
|
|
1033
|
-
bg_color: Joi.string().allow(""),
|
|
1034
|
-
});
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
/** @returns {AuthConfig} */
|
|
1038
|
-
static AuthConfig() {
|
|
1039
|
-
return Joi.object({
|
|
1040
|
-
show_header_auth: Joi.boolean(),
|
|
1041
|
-
show_footer_auth: Joi.boolean(),
|
|
1042
|
-
});
|
|
1043
|
-
}
|
|
1044
|
-
|
|
1045
|
-
/** @returns {PaletteConfig} */
|
|
1046
|
-
static PaletteConfig() {
|
|
1047
|
-
return Joi.object({
|
|
1048
|
-
general_setting: ThemeApplicationModel.GeneralSetting(),
|
|
1049
|
-
advance_setting: ThemeApplicationModel.AdvanceSetting(),
|
|
1050
|
-
});
|
|
1051
|
-
}
|
|
1052
|
-
|
|
1053
|
-
/** @returns {ThemeMeta} */
|
|
1054
|
-
static ThemeMeta() {
|
|
1055
|
-
return Joi.object({
|
|
1056
|
-
payment: ThemeApplicationModel.ThemePayment(),
|
|
1057
|
-
description: Joi.string().allow(""),
|
|
1058
|
-
industry: Joi.array().items(Joi.string().allow("")),
|
|
1059
|
-
release: ThemeApplicationModel.Release(),
|
|
1060
|
-
images: ThemeApplicationModel.Images(),
|
|
1061
|
-
slug: Joi.string().allow(""),
|
|
1062
|
-
name: Joi.string().allow(""),
|
|
1063
|
-
});
|
|
1064
|
-
}
|
|
1065
|
-
|
|
1066
|
-
/** @returns {ThemePayment} */
|
|
1067
|
-
static ThemePayment() {
|
|
1068
|
-
return Joi.object({
|
|
1069
|
-
is_paid: Joi.boolean(),
|
|
1070
|
-
amount: Joi.number(),
|
|
1071
|
-
});
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
/** @returns {Release} */
|
|
1075
|
-
static Release() {
|
|
1076
|
-
return Joi.object({
|
|
1077
|
-
notes: Joi.string().allow(""),
|
|
1078
|
-
version: Joi.string().allow(""),
|
|
1079
|
-
});
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
/** @returns {Images} */
|
|
1083
|
-
static Images() {
|
|
1084
|
-
return Joi.object({
|
|
1085
|
-
desktop: Joi.string().allow(""),
|
|
1086
|
-
mobile: Joi.string().allow(""),
|
|
1087
|
-
});
|
|
1088
|
-
}
|
|
1089
|
-
|
|
1090
|
-
/** @returns {Assets} */
|
|
1091
|
-
static Assets() {
|
|
1092
|
-
return Joi.object({
|
|
1093
|
-
umd_js: ThemeApplicationModel.UMDJs(),
|
|
1094
|
-
common_js: ThemeApplicationModel.CommonJS(),
|
|
1095
|
-
css: ThemeApplicationModel.CSS(),
|
|
1096
|
-
});
|
|
1097
|
-
}
|
|
1098
|
-
|
|
1099
|
-
/** @returns {UMDJs} */
|
|
1100
|
-
static UMDJs() {
|
|
1101
|
-
return Joi.object({
|
|
1102
|
-
links: Joi.array().items(Joi.string().allow("")),
|
|
1103
|
-
});
|
|
1104
|
-
}
|
|
1105
|
-
|
|
1106
|
-
/** @returns {CommonJS} */
|
|
1107
|
-
static CommonJS() {
|
|
1108
|
-
return Joi.object({
|
|
1109
|
-
link: Joi.string().allow(""),
|
|
1110
|
-
});
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
/** @returns {CSS} */
|
|
1114
|
-
static CSS() {
|
|
1115
|
-
return Joi.object({
|
|
1116
|
-
links: Joi.array().items(Joi.string().allow("")),
|
|
1117
|
-
});
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
/** @returns {SectionItem} */
|
|
1121
|
-
static SectionItem() {
|
|
1122
|
-
return Joi.object({
|
|
1123
|
-
props: Joi.array().items(Joi.any()),
|
|
1124
|
-
blocks: Joi.array().items(Joi.any()),
|
|
1125
|
-
name: Joi.string().allow(""),
|
|
1126
|
-
label: Joi.string().allow(""),
|
|
1127
|
-
});
|
|
1128
|
-
}
|
|
1129
|
-
|
|
1130
|
-
/** @returns {GlobalSchema} */
|
|
1131
|
-
static GlobalSchema() {
|
|
1132
|
-
return Joi.object({
|
|
1133
|
-
props: Joi.array().items(ThemeApplicationModel.Prop()),
|
|
1134
|
-
});
|
|
1135
|
-
}
|
|
1136
|
-
|
|
1137
|
-
/** @returns {Prop} */
|
|
1138
|
-
static Prop() {
|
|
1139
|
-
return Joi.object({
|
|
1140
|
-
type: Joi.string().allow(""),
|
|
1141
|
-
category: Joi.string().allow(""),
|
|
1142
|
-
id: Joi.string().allow(""),
|
|
1143
|
-
label: Joi.string().allow(""),
|
|
1144
|
-
info: Joi.string().allow(""),
|
|
1145
|
-
});
|
|
1146
|
-
}
|
|
1147
|
-
|
|
1148
|
-
/** @returns {Preset} */
|
|
1149
|
-
static Preset() {
|
|
1150
|
-
return Joi.object({
|
|
1151
|
-
pages: Joi.array().items(ThemeApplicationModel.Page()),
|
|
1152
|
-
});
|
|
1153
|
-
}
|
|
1154
|
-
|
|
1155
|
-
/** @returns {Page} */
|
|
1156
|
-
static Page() {
|
|
1157
|
-
return Joi.object({
|
|
1158
|
-
sections: Joi.array().items(ThemeApplicationModel.Section()),
|
|
1159
|
-
value: Joi.string().allow(""),
|
|
1160
|
-
});
|
|
1161
|
-
}
|
|
1162
|
-
|
|
1163
|
-
/** @returns {SectionProps} */
|
|
1164
|
-
static SectionProps() {
|
|
1165
|
-
return Joi.object({
|
|
1166
|
-
title: ThemeApplicationModel.TextProp(),
|
|
1167
|
-
item_margin: ThemeApplicationModel.TextProp(),
|
|
1168
|
-
autoplay: ThemeApplicationModel.CheckboxProp(),
|
|
1169
|
-
slide_interval: ThemeApplicationModel.RangeProp(),
|
|
1170
|
-
});
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1173
|
-
/** @returns {SectionPreset} */
|
|
1174
|
-
static SectionPreset() {
|
|
1175
|
-
return Joi.object({
|
|
1176
|
-
blocks: Joi.array().items(ThemeApplicationModel.Block()),
|
|
1177
|
-
});
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
|
-
/** @returns {ImagePickerProp} */
|
|
1181
|
-
static ImagePickerProp() {
|
|
1182
|
-
return Joi.object({
|
|
1183
|
-
type: Joi.string().allow(""),
|
|
1184
|
-
value: Joi.string().allow(""),
|
|
1185
|
-
});
|
|
1186
|
-
}
|
|
1187
|
-
|
|
1188
|
-
/** @returns {UrlProp} */
|
|
1189
|
-
static UrlProp() {
|
|
1190
|
-
return Joi.object({
|
|
1191
|
-
type: Joi.string().allow(""),
|
|
1192
|
-
value: Joi.string().allow(""),
|
|
1193
|
-
});
|
|
1194
|
-
}
|
|
1195
|
-
|
|
1196
|
-
/** @returns {BlockProps} */
|
|
1197
|
-
static BlockProps() {
|
|
1198
|
-
return Joi.object({
|
|
1199
|
-
image: ThemeApplicationModel.ImagePickerProp(),
|
|
1200
|
-
slide_link: ThemeApplicationModel.UrlProp(),
|
|
1201
|
-
});
|
|
1202
|
-
}
|
|
1203
|
-
|
|
1204
|
-
/** @returns {TextProp} */
|
|
1205
|
-
static TextProp() {
|
|
1206
|
-
return Joi.object({
|
|
1207
|
-
value: Joi.string().allow(""),
|
|
1208
|
-
type: Joi.string().allow(""),
|
|
1209
|
-
});
|
|
1210
|
-
}
|
|
1211
|
-
|
|
1212
|
-
/** @returns {CheckboxProp} */
|
|
1213
|
-
static CheckboxProp() {
|
|
1214
|
-
return Joi.object({
|
|
1215
|
-
value: Joi.boolean(),
|
|
1216
|
-
type: Joi.string().allow(""),
|
|
1217
|
-
});
|
|
1218
|
-
}
|
|
1219
|
-
|
|
1220
|
-
/** @returns {RangeProp} */
|
|
1221
|
-
static RangeProp() {
|
|
1222
|
-
return Joi.object({
|
|
1223
|
-
value: Joi.number(),
|
|
1224
|
-
type: Joi.string().allow(""),
|
|
1225
|
-
});
|
|
1226
|
-
}
|
|
1227
|
-
|
|
1228
|
-
/** @returns {Section} */
|
|
1229
|
-
static Section() {
|
|
1230
|
-
return Joi.object({
|
|
1231
|
-
blocks: Joi.array().items(ThemeApplicationModel.Block()),
|
|
1232
|
-
predicate: ThemeApplicationModel.Predicate(),
|
|
1233
|
-
name: Joi.string().allow(""),
|
|
1234
|
-
props: ThemeApplicationModel.SectionProps(),
|
|
1235
|
-
preset: ThemeApplicationModel.SectionPreset(),
|
|
1236
|
-
});
|
|
1237
|
-
}
|
|
1238
|
-
|
|
1239
|
-
/** @returns {Block} */
|
|
1240
|
-
static Block() {
|
|
1241
|
-
return Joi.object({
|
|
1242
|
-
type: Joi.string().allow(""),
|
|
1243
|
-
name: Joi.string().allow(""),
|
|
1244
|
-
props: ThemeApplicationModel.BlockProps(),
|
|
1245
|
-
});
|
|
1246
|
-
}
|
|
1247
|
-
|
|
1248
|
-
/** @returns {Predicate} */
|
|
1249
|
-
static Predicate() {
|
|
1250
|
-
return Joi.object({
|
|
1251
|
-
screen: ThemeApplicationModel.Screen(),
|
|
1252
|
-
user: ThemeApplicationModel.ThemeUserSchema(),
|
|
1253
|
-
route: ThemeApplicationModel.Route(),
|
|
1254
|
-
});
|
|
1255
|
-
}
|
|
1256
|
-
|
|
1257
|
-
/** @returns {Screen} */
|
|
1258
|
-
static Screen() {
|
|
1259
|
-
return Joi.object({
|
|
1260
|
-
mobile: Joi.boolean(),
|
|
1261
|
-
desktop: Joi.boolean(),
|
|
1262
|
-
tablet: Joi.boolean(),
|
|
1263
|
-
});
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
/** @returns {ThemeUserSchema} */
|
|
1267
|
-
static ThemeUserSchema() {
|
|
1268
|
-
return Joi.object({
|
|
1269
|
-
authenticated: Joi.boolean(),
|
|
1270
|
-
anonymous: Joi.boolean(),
|
|
1271
|
-
});
|
|
1272
|
-
}
|
|
1273
|
-
|
|
1274
|
-
/** @returns {Route} */
|
|
1275
|
-
static Route() {
|
|
1276
|
-
return Joi.object({
|
|
1277
|
-
selected: Joi.string().allow(""),
|
|
1278
|
-
exact_url: Joi.string().allow(""),
|
|
1279
|
-
});
|
|
1280
|
-
}
|
|
1281
|
-
|
|
1282
|
-
/** @returns {AvailablePagePlatformPredicate} */
|
|
1283
|
-
static AvailablePagePlatformPredicate() {
|
|
1284
|
-
return Joi.object({
|
|
1285
|
-
ios: Joi.boolean(),
|
|
1286
|
-
android: Joi.boolean(),
|
|
1287
|
-
web: Joi.boolean(),
|
|
1288
|
-
});
|
|
1289
|
-
}
|
|
1290
|
-
|
|
1291
|
-
/** @returns {BlitzkriegInternalServerErrorSchema} */
|
|
1292
|
-
static BlitzkriegInternalServerErrorSchema() {
|
|
1293
|
-
return Joi.object({
|
|
1294
|
-
message: Joi.string().allow(""),
|
|
1295
|
-
});
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1298
|
-
/** @returns {BlitzkriegApiErrorSchema} */
|
|
1299
|
-
static BlitzkriegApiErrorSchema() {
|
|
1300
|
-
return Joi.object({
|
|
1301
|
-
message: Joi.string().allow(""),
|
|
1302
|
-
});
|
|
1303
|
-
}
|
|
1304
|
-
|
|
1305
|
-
/** @returns {ActionPage} */
|
|
1306
|
-
static ActionPage() {
|
|
1307
|
-
return Joi.object({
|
|
1308
|
-
params: Joi.object().pattern(
|
|
1309
|
-
/\S/,
|
|
1310
|
-
Joi.array().items(Joi.string().allow(""))
|
|
1311
|
-
),
|
|
1312
|
-
query: Joi.object().pattern(
|
|
1313
|
-
/\S/,
|
|
1314
|
-
Joi.array().items(Joi.string().allow(""))
|
|
1315
|
-
),
|
|
1316
|
-
url: Joi.string().allow(""),
|
|
1317
|
-
type: ThemeApplicationModel.PageType().required(),
|
|
1318
|
-
});
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
/**
|
|
1322
|
-
* Enum: PageType Used By: Theme
|
|
1323
|
-
*
|
|
1324
|
-
* @returns {PageType}
|
|
1325
|
-
*/
|
|
1326
|
-
static PageType() {
|
|
1327
|
-
return Joi.string().valid(
|
|
1328
|
-
"about-us",
|
|
1329
|
-
|
|
1330
|
-
"addresses",
|
|
1331
|
-
|
|
1332
|
-
"blog",
|
|
1333
|
-
|
|
1334
|
-
"brands",
|
|
1335
|
-
|
|
1336
|
-
"cards",
|
|
1337
|
-
|
|
1338
|
-
"cart",
|
|
1339
|
-
|
|
1340
|
-
"categories",
|
|
1341
|
-
|
|
1342
|
-
"brand",
|
|
1343
|
-
|
|
1344
|
-
"category",
|
|
1345
|
-
|
|
1346
|
-
"collection",
|
|
1347
|
-
|
|
1348
|
-
"collections",
|
|
1349
|
-
|
|
1350
|
-
"custom",
|
|
1351
|
-
|
|
1352
|
-
"contact-us",
|
|
1353
|
-
|
|
1354
|
-
"external",
|
|
1355
|
-
|
|
1356
|
-
"faq",
|
|
1357
|
-
|
|
1358
|
-
"freshchat",
|
|
1359
|
-
|
|
1360
|
-
"home",
|
|
1361
|
-
|
|
1362
|
-
"notification-settings",
|
|
1363
|
-
|
|
1364
|
-
"orders",
|
|
1365
|
-
|
|
1366
|
-
"page",
|
|
1367
|
-
|
|
1368
|
-
"policy",
|
|
1369
|
-
|
|
1370
|
-
"product",
|
|
1371
|
-
|
|
1372
|
-
"product-request",
|
|
1373
|
-
|
|
1374
|
-
"products",
|
|
1375
|
-
|
|
1376
|
-
"profile",
|
|
1377
|
-
|
|
1378
|
-
"profile-order-shipment",
|
|
1379
|
-
|
|
1380
|
-
"profile-basic",
|
|
1381
|
-
|
|
1382
|
-
"profile-company",
|
|
1383
|
-
|
|
1384
|
-
"profile-emails",
|
|
1385
|
-
|
|
1386
|
-
"profile-phones",
|
|
1387
|
-
|
|
1388
|
-
"rate-us",
|
|
1389
|
-
|
|
1390
|
-
"refer-earn",
|
|
1391
|
-
|
|
1392
|
-
"settings",
|
|
1393
|
-
|
|
1394
|
-
"shared-cart",
|
|
1395
|
-
|
|
1396
|
-
"tnc",
|
|
1397
|
-
|
|
1398
|
-
"track-order",
|
|
1399
|
-
|
|
1400
|
-
"wishlist",
|
|
1401
|
-
|
|
1402
|
-
"sections",
|
|
1403
|
-
|
|
1404
|
-
"form",
|
|
1405
|
-
|
|
1406
|
-
"cart-delivery",
|
|
1407
|
-
|
|
1408
|
-
"cart-payment",
|
|
1409
|
-
|
|
1410
|
-
"cart-review",
|
|
1411
|
-
|
|
1412
|
-
"login",
|
|
1413
|
-
|
|
1414
|
-
"register",
|
|
1415
|
-
|
|
1416
|
-
"shipping-policy",
|
|
1417
|
-
|
|
1418
|
-
"return-policy",
|
|
1419
|
-
|
|
1420
|
-
"order-status",
|
|
1421
|
-
|
|
1422
|
-
"locate-us"
|
|
1423
|
-
);
|
|
1424
|
-
}
|
|
1425
|
-
}
|
|
1426
|
-
module.exports = ThemeApplicationModel;
|