@foxy.io/elements 1.35.0-beta.1 → 1.35.0-beta.2
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/cdn/foxy-admin-subscription-form.js +1 -1
- package/dist/cdn/foxy-cart-form.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-user-invitation-form.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/shared-44118acb.js +1 -0
- package/dist/cdn/translations/experimental-add-to-cart-builder/en.json +445 -432
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.d.ts +1 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +3 -3
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js +1 -0
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/ExperimentalAddToCartBuilder.d.ts +6 -0
- package/dist/elements/public/ExperimentalAddToCartBuilder/ExperimentalAddToCartBuilder.js +200 -123
- package/dist/elements/public/ExperimentalAddToCartBuilder/ExperimentalAddToCartBuilder.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/index.d.ts +2 -0
- package/dist/elements/public/ExperimentalAddToCartBuilder/index.js +2 -0
- package/dist/elements/public/ExperimentalAddToCartBuilder/index.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionCard/InternalExperimentalAddToCartBuilderCustomOptionCard.js +2 -2
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionCard/InternalExperimentalAddToCartBuilderCustomOptionCard.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionCard/types.d.ts +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionCard/types.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionForm/InternalExperimentalAddToCartBuilderCustomOptionForm.d.ts +2 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionForm/InternalExperimentalAddToCartBuilderCustomOptionForm.js +50 -49
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionForm/InternalExperimentalAddToCartBuilderCustomOptionForm.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionForm/types.d.ts +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionForm/types.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderItemControl/InternalExperimentalAddToCartBuilderItemControl.d.ts +4 -0
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderItemControl/InternalExperimentalAddToCartBuilderItemControl.js +109 -91
- package/dist/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderItemControl/InternalExperimentalAddToCartBuilderItemControl.js.map +1 -1
- package/dist/elements/public/ExperimentalAddToCartBuilder/types.d.ts +30 -27
- package/dist/elements/public/ExperimentalAddToCartBuilder/types.js.map +1 -1
- package/package.json +3 -2
- package/dist/cdn/shared-19cd0786.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ExperimentalAddToCartSnippet } from '../../types';\nimport type { Graph, Resource } from '@foxy.io/sdk/core';\n\ninterface ExperimentalAddToCartSnippetCustomOption extends Graph {\n curie: 'fx:experimental_add_to_cart_snippet_custom_option';\n links: { self: ExperimentalAddToCartSnippetCustomOption };\n props: ExperimentalAddToCartSnippet['props']['items'][number]['custom_options'][number];\n}\n\nexport type Data = Resource<ExperimentalAddToCartSnippetCustomOption>;\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderCustomOptionForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ExperimentalAddToCartSnippet } from '../../types';\nimport type { Graph, Resource } from '@foxy.io/sdk/core';\n\ninterface ExperimentalAddToCartSnippetCustomOption extends Graph {\n curie: 'fx:experimental_add_to_cart_snippet_custom_option';\n links: { self: ExperimentalAddToCartSnippetCustomOption };\n props: Required<ExperimentalAddToCartSnippet['props']>['items'][number]['custom_options'][number];\n}\n\nexport type Data = Resource<ExperimentalAddToCartSnippetCustomOption>;\n"]}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { PropertyDeclarations, TemplateResult } from 'lit-element';
|
|
2
|
+
import type { Resource } from '@foxy.io/sdk/core';
|
|
3
|
+
import type { Rels } from '@foxy.io/sdk/backend';
|
|
2
4
|
import { InternalControl } from '../../../../internal/InternalControl/InternalControl';
|
|
3
5
|
export declare class InternalExperimentalAddToCartBuilderItemControl extends InternalControl {
|
|
4
6
|
static get properties(): PropertyDeclarations;
|
|
7
|
+
defaultItemCategory: Resource<Rels.ItemCategory> | null;
|
|
5
8
|
itemCategories: string | null;
|
|
6
9
|
currencyCode: string | null;
|
|
7
10
|
index: number;
|
|
8
11
|
renderControl(): TemplateResult;
|
|
12
|
+
private get __resolvedItemCategory();
|
|
9
13
|
private get __itemCategoryLoader();
|
|
10
14
|
private __handleDiscountBuilderChange;
|
|
11
15
|
}
|
|
@@ -4,6 +4,7 @@ import { html } from 'lit-html';
|
|
|
4
4
|
export class InternalExperimentalAddToCartBuilderItemControl extends InternalControl {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
|
+
this.defaultItemCategory = null;
|
|
7
8
|
this.itemCategories = null;
|
|
8
9
|
this.currencyCode = null;
|
|
9
10
|
this.index = 0;
|
|
@@ -11,18 +12,19 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
11
12
|
static get properties() {
|
|
12
13
|
return {
|
|
13
14
|
...super.properties,
|
|
15
|
+
defaultItemCategory: { type: Object, attribute: 'default-item-category' },
|
|
14
16
|
itemCategories: { attribute: 'item-categories' },
|
|
15
17
|
currencyCode: { attribute: 'currency-code' },
|
|
16
18
|
index: { type: Number },
|
|
17
|
-
store: {},
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
21
|
renderControl() {
|
|
21
22
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
22
|
-
const itemCategory =
|
|
23
|
+
const itemCategory = this.__resolvedItemCategory;
|
|
24
|
+
const itemDeliveryType = itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.item_delivery_type;
|
|
23
25
|
const nucleon = this.nucleon;
|
|
24
26
|
const index = this.index;
|
|
25
|
-
const item = (
|
|
27
|
+
const item = (_a = nucleon === null || nucleon === void 0 ? void 0 : nucleon.form.items) === null || _a === void 0 ? void 0 : _a[index];
|
|
26
28
|
return html `
|
|
27
29
|
<div class="space-y-m">
|
|
28
30
|
<foxy-internal-summary-control infer="basics-group">
|
|
@@ -36,7 +38,7 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
36
38
|
<foxy-internal-resource-picker-control
|
|
37
39
|
property="items.${index}.item_category_uri"
|
|
38
40
|
layout="summary-item"
|
|
39
|
-
first=${ifDefined((
|
|
41
|
+
first=${ifDefined((_b = this.itemCategories) !== null && _b !== void 0 ? _b : void 0)}
|
|
40
42
|
infer="item-category-uri"
|
|
41
43
|
item="foxy-item-category-card"
|
|
42
44
|
>
|
|
@@ -47,7 +49,7 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
47
49
|
<foxy-internal-number-control
|
|
48
50
|
property="items.${index}.price"
|
|
49
51
|
layout="summary-item"
|
|
50
|
-
suffix=${ifDefined((
|
|
52
|
+
suffix=${ifDefined((_c = this.currencyCode) !== null && _c !== void 0 ? _c : void 0)}
|
|
51
53
|
infer=${(item === null || item === void 0 ? void 0 : item.price_configurable) ? 'price-default' : 'price'}
|
|
52
54
|
>
|
|
53
55
|
</foxy-internal-number-control>
|
|
@@ -76,26 +78,23 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
76
78
|
</foxy-internal-text-control>
|
|
77
79
|
</foxy-internal-summary-control>
|
|
78
80
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
${(item === null || item === void 0 ? void 0 : item.image) ? html `
|
|
88
|
-
<foxy-internal-text-control
|
|
89
|
-
property="items.${index}.url"
|
|
81
|
+
${itemDeliveryType === 'notshipped' || itemDeliveryType === 'downloaded'
|
|
82
|
+
? ''
|
|
83
|
+
: html `
|
|
84
|
+
<foxy-internal-summary-control infer="appearance-group">
|
|
85
|
+
<foxy-internal-number-control
|
|
86
|
+
placeholder=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_weight)}
|
|
87
|
+
property="items.${index}.weight"
|
|
90
88
|
layout="summary-item"
|
|
91
|
-
|
|
89
|
+
suffix=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_weight_unit)}
|
|
90
|
+
infer="weight"
|
|
91
|
+
min="0"
|
|
92
92
|
>
|
|
93
|
-
</foxy-internal-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
</foxy-internal-summary-control>
|
|
93
|
+
</foxy-internal-number-control>
|
|
94
|
+
</foxy-internal-summary-control>
|
|
95
|
+
`}
|
|
97
96
|
|
|
98
|
-
<foxy-internal-summary-control infer="subscriptions-group"
|
|
97
|
+
<foxy-internal-summary-control infer="subscriptions-group">
|
|
99
98
|
<foxy-internal-switch-control
|
|
100
99
|
property="items.${index}.sub_enabled"
|
|
101
100
|
layout="summary-item"
|
|
@@ -108,6 +107,7 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
108
107
|
property="items.${index}.sub_frequency"
|
|
109
108
|
layout="summary-item"
|
|
110
109
|
infer="sub-frequency"
|
|
110
|
+
allow-twice-a-month
|
|
111
111
|
>
|
|
112
112
|
</foxy-internal-frequency-control>
|
|
113
113
|
|
|
@@ -191,7 +191,46 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
191
191
|
: ''}
|
|
192
192
|
</foxy-internal-summary-control>
|
|
193
193
|
|
|
194
|
-
<foxy-internal-summary-control infer="
|
|
194
|
+
<foxy-internal-summary-control infer="quantity-group" layout="details">
|
|
195
|
+
<foxy-internal-number-control
|
|
196
|
+
property="items.${index}.quantity"
|
|
197
|
+
layout="summary-item"
|
|
198
|
+
infer="quantity"
|
|
199
|
+
step="1"
|
|
200
|
+
min="1"
|
|
201
|
+
>
|
|
202
|
+
</foxy-internal-number-control>
|
|
203
|
+
|
|
204
|
+
${(item === null || item === void 0 ? void 0 : item.expires_format) === 'minutes'
|
|
205
|
+
? ''
|
|
206
|
+
: html `
|
|
207
|
+
<foxy-internal-number-control
|
|
208
|
+
property="items.${index}.quantity_min"
|
|
209
|
+
layout="summary-item"
|
|
210
|
+
infer="quantity-min"
|
|
211
|
+
step="1"
|
|
212
|
+
min="1"
|
|
213
|
+
>
|
|
214
|
+
</foxy-internal-number-control>
|
|
215
|
+
|
|
216
|
+
<foxy-internal-number-control
|
|
217
|
+
property="items.${index}.quantity_max"
|
|
218
|
+
layout="summary-item"
|
|
219
|
+
infer="quantity-max"
|
|
220
|
+
step="1"
|
|
221
|
+
min="1"
|
|
222
|
+
>
|
|
223
|
+
</foxy-internal-number-control>
|
|
224
|
+
`}
|
|
225
|
+
|
|
226
|
+
<foxy-internal-switch-control
|
|
227
|
+
property="items.${index}.hide_quantity"
|
|
228
|
+
infer="hide-quantity"
|
|
229
|
+
>
|
|
230
|
+
</foxy-internal-switch-control>
|
|
231
|
+
</foxy-internal-summary-control>
|
|
232
|
+
|
|
233
|
+
<foxy-internal-summary-control infer="advanced-group" layout="details">
|
|
195
234
|
<foxy-internal-text-control
|
|
196
235
|
property="items.${index}.discount_name"
|
|
197
236
|
layout="summary-item"
|
|
@@ -203,18 +242,35 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
203
242
|
<foxy-discount-builder
|
|
204
243
|
infer="discount-builder"
|
|
205
244
|
.parsedValue=${{
|
|
206
|
-
details: (
|
|
207
|
-
type: (
|
|
208
|
-
name: (
|
|
245
|
+
details: (_d = item === null || item === void 0 ? void 0 : item.discount_details) !== null && _d !== void 0 ? _d : '',
|
|
246
|
+
type: (_e = item === null || item === void 0 ? void 0 : item.discount_type) !== null && _e !== void 0 ? _e : 'amount_percentage',
|
|
247
|
+
name: (_f = item === null || item === void 0 ? void 0 : item.discount_name) !== null && _f !== void 0 ? _f : '',
|
|
248
|
+
}}
|
|
249
|
+
@change=${(evt) => {
|
|
250
|
+
this.__handleDiscountBuilderChange(evt, item, index);
|
|
209
251
|
}}
|
|
210
|
-
@change=${(evt) => this.__handleDiscountBuilderChange(evt, item, index)}
|
|
211
252
|
>
|
|
212
253
|
</foxy-discount-builder>
|
|
213
254
|
`
|
|
214
255
|
: ''}
|
|
215
|
-
</foxy-internal-summary-control>
|
|
216
256
|
|
|
217
|
-
|
|
257
|
+
<foxy-internal-text-control
|
|
258
|
+
property="items.${index}.image"
|
|
259
|
+
layout="summary-item"
|
|
260
|
+
infer="image"
|
|
261
|
+
>
|
|
262
|
+
</foxy-internal-text-control>
|
|
263
|
+
|
|
264
|
+
${(item === null || item === void 0 ? void 0 : item.image) ? html `
|
|
265
|
+
<foxy-internal-text-control
|
|
266
|
+
property="items.${index}.url"
|
|
267
|
+
layout="summary-item"
|
|
268
|
+
infer="url"
|
|
269
|
+
>
|
|
270
|
+
</foxy-internal-text-control>
|
|
271
|
+
`
|
|
272
|
+
: ''}
|
|
273
|
+
|
|
218
274
|
<foxy-internal-select-control
|
|
219
275
|
property="items.${index}.expires_format"
|
|
220
276
|
layout="summary-item"
|
|
@@ -248,78 +304,36 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
248
304
|
</foxy-internal-date-control>
|
|
249
305
|
`
|
|
250
306
|
: ''}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
<foxy-internal-summary-control infer="quantity-group" layout="details">
|
|
254
|
-
<foxy-internal-number-control
|
|
255
|
-
property="items.${index}.quantity"
|
|
256
|
-
layout="summary-item"
|
|
257
|
-
infer="quantity"
|
|
258
|
-
step="1"
|
|
259
|
-
min="1"
|
|
260
|
-
>
|
|
261
|
-
</foxy-internal-number-control>
|
|
262
|
-
|
|
263
|
-
${(item === null || item === void 0 ? void 0 : item.expires_format) === 'minutes'
|
|
307
|
+
${itemDeliveryType === 'notshipped' || itemDeliveryType === 'downloaded'
|
|
264
308
|
? ''
|
|
265
309
|
: html `
|
|
266
310
|
<foxy-internal-number-control
|
|
267
|
-
property="items.${index}.
|
|
311
|
+
property="items.${index}.length"
|
|
268
312
|
layout="summary-item"
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
min="
|
|
313
|
+
suffix=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_length_unit)}
|
|
314
|
+
infer="length"
|
|
315
|
+
min="0"
|
|
272
316
|
>
|
|
273
317
|
</foxy-internal-number-control>
|
|
274
318
|
|
|
275
319
|
<foxy-internal-number-control
|
|
276
|
-
property="items.${index}.
|
|
320
|
+
property="items.${index}.width"
|
|
277
321
|
layout="summary-item"
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
min="
|
|
322
|
+
suffix=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_length_unit)}
|
|
323
|
+
infer="width"
|
|
324
|
+
min="0"
|
|
281
325
|
>
|
|
282
326
|
</foxy-internal-number-control>
|
|
283
|
-
`}
|
|
284
|
-
</foxy-internal-summary-control>
|
|
285
|
-
|
|
286
|
-
<foxy-internal-summary-control infer="dimensions-group" layout="details">
|
|
287
|
-
<foxy-internal-number-control
|
|
288
|
-
placeholder=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_weight)}
|
|
289
|
-
property="items.${index}.weight"
|
|
290
|
-
layout="summary-item"
|
|
291
|
-
suffix=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_weight_unit)}
|
|
292
|
-
infer="weight"
|
|
293
|
-
min="0"
|
|
294
|
-
>
|
|
295
|
-
</foxy-internal-number-control>
|
|
296
|
-
|
|
297
|
-
<foxy-internal-number-control
|
|
298
|
-
property="items.${index}.length"
|
|
299
|
-
layout="summary-item"
|
|
300
|
-
suffix=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_length_unit)}
|
|
301
|
-
infer="length"
|
|
302
|
-
min="0"
|
|
303
|
-
>
|
|
304
|
-
</foxy-internal-number-control>
|
|
305
327
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
<foxy-internal-number-control
|
|
316
|
-
property="items.${index}.height"
|
|
317
|
-
layout="summary-item"
|
|
318
|
-
suffix=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_length_unit)}
|
|
319
|
-
infer="height"
|
|
320
|
-
min="0"
|
|
321
|
-
>
|
|
322
|
-
</foxy-internal-number-control>
|
|
328
|
+
<foxy-internal-number-control
|
|
329
|
+
property="items.${index}.height"
|
|
330
|
+
layout="summary-item"
|
|
331
|
+
suffix=${ifDefined(itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_length_unit)}
|
|
332
|
+
infer="height"
|
|
333
|
+
min="0"
|
|
334
|
+
>
|
|
335
|
+
</foxy-internal-number-control>
|
|
336
|
+
`}
|
|
323
337
|
</foxy-internal-summary-control>
|
|
324
338
|
|
|
325
339
|
<foxy-internal-async-list-control
|
|
@@ -330,14 +344,14 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
330
344
|
alert
|
|
331
345
|
.formProps=${{
|
|
332
346
|
'.defaultWeightUnit': itemCategory === null || itemCategory === void 0 ? void 0 : itemCategory.default_weight_unit,
|
|
333
|
-
'.existingOptions': (
|
|
347
|
+
'.existingOptions': (_g = item === null || item === void 0 ? void 0 : item.custom_options) !== null && _g !== void 0 ? _g : [],
|
|
334
348
|
'.itemCategories': this.itemCategories,
|
|
335
349
|
'.currencyCode': this.currencyCode,
|
|
336
350
|
}}
|
|
337
351
|
>
|
|
338
352
|
</foxy-internal-async-list-control>
|
|
339
353
|
|
|
340
|
-
${((_j = nucleon === null || nucleon === void 0 ? void 0 : nucleon.form.items) === null ||
|
|
354
|
+
${((_j = (_h = nucleon === null || nucleon === void 0 ? void 0 : nucleon.form.items) === null || _h === void 0 ? void 0 : _h.length) !== null && _j !== void 0 ? _j : 0) <= 1
|
|
341
355
|
? html ``
|
|
342
356
|
: html `
|
|
343
357
|
<vaadin-button
|
|
@@ -361,6 +375,10 @@ export class InternalExperimentalAddToCartBuilderItemControl extends InternalCon
|
|
|
361
375
|
</div>
|
|
362
376
|
`;
|
|
363
377
|
}
|
|
378
|
+
get __resolvedItemCategory() {
|
|
379
|
+
var _a, _b;
|
|
380
|
+
return (_b = (_a = this.__itemCategoryLoader) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : this.defaultItemCategory;
|
|
381
|
+
}
|
|
364
382
|
get __itemCategoryLoader() {
|
|
365
383
|
return this.renderRoot.querySelector('#itemCategoryLoader');
|
|
366
384
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalExperimentalAddToCartBuilderItemControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderItemControl/InternalExperimentalAddToCartBuilderItemControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { ExperimentalAddToCartBuilder } from '../../ExperimentalAddToCartBuilder';\nimport type { DiscountBuilder } from '../../../DiscountBuilder/DiscountBuilder';\nimport type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from '../../types';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class InternalExperimentalAddToCartBuilderItemControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n itemCategories: { attribute: 'item-categories' },\n currencyCode: { attribute: 'currency-code' },\n index: { type: Number },\n store: {},\n };\n }\n\n itemCategories: string | null = null;\n\n currencyCode: string | null = null;\n\n index = 0;\n\n renderControl(): TemplateResult {\n const itemCategory = this.__itemCategoryLoader?.data;\n const nucleon = this.nucleon as ExperimentalAddToCartBuilder | null;\n const index = this.index;\n const item = nucleon?.form.items?.[index];\n\n return html`\n <div class=\"space-y-m\">\n <foxy-internal-summary-control infer=\"basics-group\">\n <foxy-internal-text-control\n property=\"items.${index}.name\"\n layout=\"summary-item\"\n infer=\"name\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-resource-picker-control\n property=\"items.${index}.item_category_uri\"\n layout=\"summary-item\"\n first=${ifDefined(this.itemCategories ?? void 0)}\n infer=\"item-category-uri\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-resource-picker-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"price-group\">\n <foxy-internal-number-control\n property=\"items.${index}.price\"\n layout=\"summary-item\"\n suffix=${ifDefined(this.currencyCode ?? void 0)}\n infer=${item?.price_configurable ? 'price-default' : 'price'}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-switch-control\n property=\"items.${index}.price_configurable\"\n layout=\"summary-item\"\n infer=\"price-configurable\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"code-group\">\n <foxy-internal-text-control\n property=\"items.${index}.code\"\n layout=\"summary-item\"\n infer=\"code\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n property=\"items.${index}.parent_code\"\n layout=\"summary-item\"\n infer=\"parent-code\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"appearance-group\" layout=\"details\">\n <foxy-internal-text-control\n property=\"items.${index}.image\"\n layout=\"summary-item\"\n infer=\"image\"\n >\n </foxy-internal-text-control>\n\n ${item?.image\n ? html`\n <foxy-internal-text-control\n property=\"items.${index}.url\"\n layout=\"summary-item\"\n infer=\"url\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"subscriptions-group\" layout=\"details\">\n <foxy-internal-switch-control\n property=\"items.${index}.sub_enabled\"\n layout=\"summary-item\"\n infer=\"sub-enabled\"\n >\n </foxy-internal-switch-control>\n\n ${item?.sub_enabled\n ? html`\n <foxy-internal-frequency-control\n property=\"items.${index}.sub_frequency\"\n layout=\"summary-item\"\n infer=\"sub-frequency\"\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-select-control\n property=\"items.${index}.sub_startdate_format\"\n layout=\"summary-item\"\n infer=\"sub-startdate-format\"\n .options=${[\n { label: 'option_none', value: 'none' },\n { label: 'option_yyyymmdd', value: 'yyyymmdd' },\n { label: 'option_dd', value: 'dd' },\n { label: 'option_duration', value: 'duration' },\n ]}\n >\n </foxy-internal-select-control>\n\n ${item.sub_startdate_format === 'yyyymmdd'\n ? html`\n <foxy-internal-date-control\n property=\"items.${index}.sub_startdate\"\n layout=\"summary-item\"\n infer=\"sub-startdate-yyyymmdd\"\n >\n </foxy-internal-date-control>\n `\n : item.sub_startdate_format === 'duration'\n ? html`\n <foxy-internal-frequency-control\n property=\"items.${index}.sub_startdate\"\n layout=\"summary-item\"\n infer=\"sub-startdate-duration\"\n >\n </foxy-internal-frequency-control>\n `\n : item.sub_startdate_format === 'dd'\n ? html`\n <foxy-internal-number-control\n property=\"items.${index}.sub_startdate\"\n layout=\"summary-item\"\n infer=\"sub-startdate-dd\"\n step=\"1\"\n min=\"1\"\n max=\"31\"\n >\n </foxy-internal-number-control>\n `\n : ''}\n\n <foxy-internal-select-control\n property=\"items.${index}.sub_enddate_format\"\n layout=\"summary-item\"\n infer=\"sub-enddate-format\"\n .options=${[\n { label: 'option_none', value: 'none' },\n { label: 'option_yyyymmdd', value: 'yyyymmdd' },\n { label: 'option_duration', value: 'duration' },\n ]}\n >\n </foxy-internal-select-control>\n\n ${item.sub_enddate_format === 'yyyymmdd'\n ? html`\n <foxy-internal-date-control\n property=\"items.${index}.sub_enddate\"\n layout=\"summary-item\"\n infer=\"sub-enddate-yyyymmdd\"\n >\n </foxy-internal-date-control>\n `\n : item.sub_enddate_format === 'duration'\n ? html`\n <foxy-internal-frequency-control\n property=\"items.${index}.sub_enddate\"\n layout=\"summary-item\"\n infer=\"sub-enddate-duration\"\n >\n </foxy-internal-frequency-control>\n `\n : ''}\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"discount-group\" layout=\"details\">\n <foxy-internal-text-control\n property=\"items.${index}.discount_name\"\n layout=\"summary-item\"\n infer=\"discount-name\"\n >\n </foxy-internal-text-control>\n\n ${item?.discount_name\n ? html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n .parsedValue=${{\n details: item?.discount_details ?? '',\n type: item?.discount_type ?? 'discount_amount_percentage',\n name: item?.discount_name ?? '',\n }}\n @change=${(evt: CustomEvent) =>\n this.__handleDiscountBuilderChange(evt, item, index)}\n >\n </foxy-discount-builder>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"expires-group\" layout=\"details\">\n <foxy-internal-select-control\n property=\"items.${index}.expires_format\"\n layout=\"summary-item\"\n infer=\"expires-format\"\n .options=${[\n { label: 'option_none', value: 'none' },\n { label: 'option_minutes', value: 'minutes' },\n { label: 'option_timestamp', value: 'timestamp' },\n ]}\n >\n </foxy-internal-select-control>\n\n ${item?.expires_format === 'minutes'\n ? html`\n <foxy-internal-number-control\n property=\"items.${index}.expires_value\"\n layout=\"summary-item\"\n suffix=\"min\"\n infer=\"expires-value-minutes\"\n >\n </foxy-internal-number-control>\n `\n : item?.expires_format === 'timestamp'\n ? html`\n <foxy-internal-date-control\n property=\"items.${index}.expires_value\"\n layout=\"summary-item\"\n format=\"unix\"\n infer=\"expires-value-timestamp\"\n >\n </foxy-internal-date-control>\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"quantity-group\" layout=\"details\">\n <foxy-internal-number-control\n property=\"items.${index}.quantity\"\n layout=\"summary-item\"\n infer=\"quantity\"\n step=\"1\"\n min=\"1\"\n >\n </foxy-internal-number-control>\n\n ${item?.expires_format === 'minutes'\n ? ''\n : html`\n <foxy-internal-number-control\n property=\"items.${index}.quantity_min\"\n layout=\"summary-item\"\n infer=\"quantity-min\"\n step=\"1\"\n min=\"1\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n property=\"items.${index}.quantity_max\"\n layout=\"summary-item\"\n infer=\"quantity-max\"\n step=\"1\"\n min=\"1\"\n >\n </foxy-internal-number-control>\n `}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"dimensions-group\" layout=\"details\">\n <foxy-internal-number-control\n placeholder=${ifDefined(itemCategory?.default_weight)}\n property=\"items.${index}.weight\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_weight_unit)}\n infer=\"weight\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n property=\"items.${index}.length\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_length_unit)}\n infer=\"length\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n property=\"items.${index}.width\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_length_unit)}\n infer=\"width\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n property=\"items.${index}.height\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_length_unit)}\n infer=\"height\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${nucleon?.virtualHost}/form/items/${index}/custom_options\"\n infer=\"custom-options\"\n form=\"foxy-internal-experimental-add-to-cart-builder-custom-option-form\"\n item=\"foxy-internal-experimental-add-to-cart-builder-custom-option-card\"\n alert\n .formProps=${{\n '.defaultWeightUnit': itemCategory?.default_weight_unit,\n '.existingOptions': item?.custom_options ?? [],\n '.itemCategories': this.itemCategories,\n '.currencyCode': this.currencyCode,\n }}\n >\n </foxy-internal-async-list-control>\n\n ${nucleon?.form.items?.length === 1\n ? html``\n : html`\n <vaadin-button\n theme=\"error\"\n class=\"w-full\"\n ?disabled=${this.disabled}\n @click=${() => this.dispatchEvent(new CustomEvent('remove'))}\n >\n <foxy-i18n infer=\"delete\" key=\"caption\"></foxy-i18n>\n </vaadin-button>\n `}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(item?.item_category_uri)}\n id=\"itemCategoryLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n </div>\n `;\n }\n\n private get __itemCategoryLoader() {\n type Loader = NucleonElement<Resource<Rels.ItemCategory>>;\n return this.renderRoot.querySelector<Loader>('#itemCategoryLoader');\n }\n\n private __handleDiscountBuilderChange(\n evt: CustomEvent,\n item: Data['items'][number],\n index: number\n ) {\n const builder = evt.currentTarget as DiscountBuilder;\n const nucleon = this.nucleon as ExperimentalAddToCartBuilder | null;\n\n item.discount_details = builder.parsedValue.details;\n item.discount_type = builder.parsedValue.type;\n item.discount_name = builder.parsedValue.name;\n\n const items = nucleon?.form.items ?? [];\n items.splice(index, 1, item);\n nucleon?.edit({ items: [...items] });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalExperimentalAddToCartBuilderItemControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ExperimentalAddToCartBuilder/internal/InternalExperimentalAddToCartBuilderItemControl/InternalExperimentalAddToCartBuilderItemControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { ExperimentalAddToCartBuilder } from '../../ExperimentalAddToCartBuilder';\nimport type { DiscountBuilder } from '../../../DiscountBuilder/DiscountBuilder';\nimport type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from '../../types';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class InternalExperimentalAddToCartBuilderItemControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n defaultItemCategory: { type: Object, attribute: 'default-item-category' },\n itemCategories: { attribute: 'item-categories' },\n currencyCode: { attribute: 'currency-code' },\n index: { type: Number },\n };\n }\n\n defaultItemCategory: Resource<Rels.ItemCategory> | null = null;\n\n itemCategories: string | null = null;\n\n currencyCode: string | null = null;\n\n index = 0;\n\n renderControl(): TemplateResult {\n const itemCategory = this.__resolvedItemCategory;\n const itemDeliveryType = itemCategory?.item_delivery_type;\n const nucleon = this.nucleon as ExperimentalAddToCartBuilder | null;\n const index = this.index;\n const item = nucleon?.form.items?.[index];\n\n return html`\n <div class=\"space-y-m\">\n <foxy-internal-summary-control infer=\"basics-group\">\n <foxy-internal-text-control\n property=\"items.${index}.name\"\n layout=\"summary-item\"\n infer=\"name\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-resource-picker-control\n property=\"items.${index}.item_category_uri\"\n layout=\"summary-item\"\n first=${ifDefined(this.itemCategories ?? void 0)}\n infer=\"item-category-uri\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-resource-picker-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"price-group\">\n <foxy-internal-number-control\n property=\"items.${index}.price\"\n layout=\"summary-item\"\n suffix=${ifDefined(this.currencyCode ?? void 0)}\n infer=${item?.price_configurable ? 'price-default' : 'price'}\n >\n </foxy-internal-number-control>\n\n <foxy-internal-switch-control\n property=\"items.${index}.price_configurable\"\n layout=\"summary-item\"\n infer=\"price-configurable\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"code-group\">\n <foxy-internal-text-control\n property=\"items.${index}.code\"\n layout=\"summary-item\"\n infer=\"code\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control\n property=\"items.${index}.parent_code\"\n layout=\"summary-item\"\n infer=\"parent-code\"\n >\n </foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n ${itemDeliveryType === 'notshipped' || itemDeliveryType === 'downloaded'\n ? ''\n : html`\n <foxy-internal-summary-control infer=\"appearance-group\">\n <foxy-internal-number-control\n placeholder=${ifDefined(itemCategory?.default_weight)}\n property=\"items.${index}.weight\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_weight_unit)}\n infer=\"weight\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n `}\n\n <foxy-internal-summary-control infer=\"subscriptions-group\">\n <foxy-internal-switch-control\n property=\"items.${index}.sub_enabled\"\n layout=\"summary-item\"\n infer=\"sub-enabled\"\n >\n </foxy-internal-switch-control>\n\n ${item?.sub_enabled\n ? html`\n <foxy-internal-frequency-control\n property=\"items.${index}.sub_frequency\"\n layout=\"summary-item\"\n infer=\"sub-frequency\"\n allow-twice-a-month\n >\n </foxy-internal-frequency-control>\n\n <foxy-internal-select-control\n property=\"items.${index}.sub_startdate_format\"\n layout=\"summary-item\"\n infer=\"sub-startdate-format\"\n .options=${[\n { label: 'option_none', value: 'none' },\n { label: 'option_yyyymmdd', value: 'yyyymmdd' },\n { label: 'option_dd', value: 'dd' },\n { label: 'option_duration', value: 'duration' },\n ]}\n >\n </foxy-internal-select-control>\n\n ${item.sub_startdate_format === 'yyyymmdd'\n ? html`\n <foxy-internal-date-control\n property=\"items.${index}.sub_startdate\"\n layout=\"summary-item\"\n infer=\"sub-startdate-yyyymmdd\"\n >\n </foxy-internal-date-control>\n `\n : item.sub_startdate_format === 'duration'\n ? html`\n <foxy-internal-frequency-control\n property=\"items.${index}.sub_startdate\"\n layout=\"summary-item\"\n infer=\"sub-startdate-duration\"\n >\n </foxy-internal-frequency-control>\n `\n : item.sub_startdate_format === 'dd'\n ? html`\n <foxy-internal-number-control\n property=\"items.${index}.sub_startdate\"\n layout=\"summary-item\"\n infer=\"sub-startdate-dd\"\n step=\"1\"\n min=\"1\"\n max=\"31\"\n >\n </foxy-internal-number-control>\n `\n : ''}\n\n <foxy-internal-select-control\n property=\"items.${index}.sub_enddate_format\"\n layout=\"summary-item\"\n infer=\"sub-enddate-format\"\n .options=${[\n { label: 'option_none', value: 'none' },\n { label: 'option_yyyymmdd', value: 'yyyymmdd' },\n { label: 'option_duration', value: 'duration' },\n ]}\n >\n </foxy-internal-select-control>\n\n ${item.sub_enddate_format === 'yyyymmdd'\n ? html`\n <foxy-internal-date-control\n property=\"items.${index}.sub_enddate\"\n layout=\"summary-item\"\n infer=\"sub-enddate-yyyymmdd\"\n >\n </foxy-internal-date-control>\n `\n : item.sub_enddate_format === 'duration'\n ? html`\n <foxy-internal-frequency-control\n property=\"items.${index}.sub_enddate\"\n layout=\"summary-item\"\n infer=\"sub-enddate-duration\"\n >\n </foxy-internal-frequency-control>\n `\n : ''}\n `\n : ''}\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"quantity-group\" layout=\"details\">\n <foxy-internal-number-control\n property=\"items.${index}.quantity\"\n layout=\"summary-item\"\n infer=\"quantity\"\n step=\"1\"\n min=\"1\"\n >\n </foxy-internal-number-control>\n\n ${item?.expires_format === 'minutes'\n ? ''\n : html`\n <foxy-internal-number-control\n property=\"items.${index}.quantity_min\"\n layout=\"summary-item\"\n infer=\"quantity-min\"\n step=\"1\"\n min=\"1\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n property=\"items.${index}.quantity_max\"\n layout=\"summary-item\"\n infer=\"quantity-max\"\n step=\"1\"\n min=\"1\"\n >\n </foxy-internal-number-control>\n `}\n\n <foxy-internal-switch-control\n property=\"items.${index}.hide_quantity\"\n infer=\"hide-quantity\"\n >\n </foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"advanced-group\" layout=\"details\">\n <foxy-internal-text-control\n property=\"items.${index}.discount_name\"\n layout=\"summary-item\"\n infer=\"discount-name\"\n >\n </foxy-internal-text-control>\n\n ${item?.discount_name\n ? html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n .parsedValue=${{\n details: item?.discount_details ?? '',\n type: item?.discount_type ?? 'amount_percentage',\n name: item?.discount_name ?? '',\n }}\n @change=${(evt: CustomEvent) => {\n this.__handleDiscountBuilderChange(evt, item, index);\n }}\n >\n </foxy-discount-builder>\n `\n : ''}\n\n <foxy-internal-text-control\n property=\"items.${index}.image\"\n layout=\"summary-item\"\n infer=\"image\"\n >\n </foxy-internal-text-control>\n\n ${item?.image\n ? html`\n <foxy-internal-text-control\n property=\"items.${index}.url\"\n layout=\"summary-item\"\n infer=\"url\"\n >\n </foxy-internal-text-control>\n `\n : ''}\n\n <foxy-internal-select-control\n property=\"items.${index}.expires_format\"\n layout=\"summary-item\"\n infer=\"expires-format\"\n .options=${[\n { label: 'option_none', value: 'none' },\n { label: 'option_minutes', value: 'minutes' },\n { label: 'option_timestamp', value: 'timestamp' },\n ]}\n >\n </foxy-internal-select-control>\n\n ${item?.expires_format === 'minutes'\n ? html`\n <foxy-internal-number-control\n property=\"items.${index}.expires_value\"\n layout=\"summary-item\"\n suffix=\"min\"\n infer=\"expires-value-minutes\"\n >\n </foxy-internal-number-control>\n `\n : item?.expires_format === 'timestamp'\n ? html`\n <foxy-internal-date-control\n property=\"items.${index}.expires_value\"\n layout=\"summary-item\"\n format=\"unix\"\n infer=\"expires-value-timestamp\"\n >\n </foxy-internal-date-control>\n `\n : ''}\n ${itemDeliveryType === 'notshipped' || itemDeliveryType === 'downloaded'\n ? ''\n : html`\n <foxy-internal-number-control\n property=\"items.${index}.length\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_length_unit)}\n infer=\"length\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n property=\"items.${index}.width\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_length_unit)}\n infer=\"width\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n property=\"items.${index}.height\"\n layout=\"summary-item\"\n suffix=${ifDefined(itemCategory?.default_length_unit)}\n infer=\"height\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n `}\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=\"foxy://${nucleon?.virtualHost}/form/items/${index}/custom_options\"\n infer=\"custom-options\"\n form=\"foxy-internal-experimental-add-to-cart-builder-custom-option-form\"\n item=\"foxy-internal-experimental-add-to-cart-builder-custom-option-card\"\n alert\n .formProps=${{\n '.defaultWeightUnit': itemCategory?.default_weight_unit,\n '.existingOptions': item?.custom_options ?? [],\n '.itemCategories': this.itemCategories,\n '.currencyCode': this.currencyCode,\n }}\n >\n </foxy-internal-async-list-control>\n\n ${(nucleon?.form.items?.length ?? 0) <= 1\n ? html``\n : html`\n <vaadin-button\n theme=\"error\"\n class=\"w-full\"\n ?disabled=${this.disabled}\n @click=${() => this.dispatchEvent(new CustomEvent('remove'))}\n >\n <foxy-i18n infer=\"delete\" key=\"caption\"></foxy-i18n>\n </vaadin-button>\n `}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(item?.item_category_uri)}\n id=\"itemCategoryLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n </div>\n `;\n }\n\n private get __resolvedItemCategory() {\n return this.__itemCategoryLoader?.data ?? this.defaultItemCategory;\n }\n\n private get __itemCategoryLoader() {\n type Loader = NucleonElement<Resource<Rels.ItemCategory>>;\n return this.renderRoot.querySelector<Loader>('#itemCategoryLoader');\n }\n\n private __handleDiscountBuilderChange(\n evt: CustomEvent,\n item: Required<Data>['items'][number],\n index: number\n ) {\n const builder = evt.currentTarget as DiscountBuilder;\n const nucleon = this.nucleon as ExperimentalAddToCartBuilder | null;\n\n item.discount_details = builder.parsedValue.details;\n item.discount_type = builder.parsedValue.type;\n item.discount_name = builder.parsedValue.name;\n\n const items = nucleon?.form.items ?? [];\n items.splice(index, 1, item);\n nucleon?.edit({ items: [...items] });\n }\n}\n"]}
|
|
@@ -8,47 +8,50 @@ export interface ExperimentalAddToCartSnippet extends Graph {
|
|
|
8
8
|
'fx:store': Rels.Store;
|
|
9
9
|
};
|
|
10
10
|
props: {
|
|
11
|
-
template_set_uri
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
template_set_uri?: string;
|
|
12
|
+
redirect?: string;
|
|
13
|
+
coupon?: string;
|
|
14
|
+
empty?: 'false' | 'true' | 'reset';
|
|
15
|
+
cart?: 'add' | 'checkout' | 'redirect';
|
|
16
|
+
items?: {
|
|
15
17
|
name: string;
|
|
16
|
-
item_category_uri?: string
|
|
18
|
+
item_category_uri?: string;
|
|
17
19
|
price: number;
|
|
18
20
|
price_configurable?: boolean;
|
|
19
|
-
code?: string
|
|
20
|
-
parent_code?: string
|
|
21
|
-
image?: string
|
|
22
|
-
url?: string
|
|
21
|
+
code?: string;
|
|
22
|
+
parent_code?: string;
|
|
23
|
+
image?: string;
|
|
24
|
+
url?: string;
|
|
23
25
|
sub_enabled?: boolean;
|
|
24
|
-
sub_frequency?: string
|
|
26
|
+
sub_frequency?: string;
|
|
25
27
|
sub_startdate_format?: 'none' | 'yyyymmdd' | 'dd' | 'duration';
|
|
26
|
-
sub_startdate?: string | number
|
|
28
|
+
sub_startdate?: string | number;
|
|
27
29
|
sub_enddate_format?: 'none' | 'yyyymmdd' | 'duration';
|
|
28
|
-
sub_enddate?: string |
|
|
29
|
-
discount_details?: string
|
|
30
|
-
discount_type?: string
|
|
31
|
-
discount_name?: string
|
|
30
|
+
sub_enddate?: string | number;
|
|
31
|
+
discount_details?: string;
|
|
32
|
+
discount_type?: string;
|
|
33
|
+
discount_name?: string;
|
|
32
34
|
expires_format?: 'minutes' | 'timestamp' | 'none';
|
|
33
|
-
expires_value?: number
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
35
|
+
expires_value?: number;
|
|
36
|
+
hide_quantity?: boolean;
|
|
37
|
+
quantity?: number;
|
|
38
|
+
quantity_max?: number;
|
|
39
|
+
quantity_min?: number;
|
|
40
|
+
weight?: number;
|
|
41
|
+
length?: number;
|
|
42
|
+
width?: number;
|
|
43
|
+
height?: number;
|
|
41
44
|
custom_options: {
|
|
42
45
|
name: string;
|
|
43
46
|
value?: string;
|
|
44
47
|
value_configurable?: boolean;
|
|
45
|
-
price?: number
|
|
48
|
+
price?: number;
|
|
46
49
|
replace_price?: boolean;
|
|
47
|
-
weight?: number
|
|
50
|
+
weight?: number;
|
|
48
51
|
replace_weight?: boolean;
|
|
49
|
-
code?: string
|
|
52
|
+
code?: string;
|
|
50
53
|
replace_code?: boolean;
|
|
51
|
-
item_category_uri?: string
|
|
54
|
+
item_category_uri?: string;
|
|
52
55
|
}[];
|
|
53
56
|
}[];
|
|
54
57
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/ExperimentalAddToCartBuilder/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Graph, Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\n/** WARNING: this API doesn't exist. Fields and data types may change without notice. */\nexport interface ExperimentalAddToCartSnippet extends Graph {\n curie: 'fx:experimental_add_to_cart_snippet';\n links: {\n 'self': ExperimentalAddToCartSnippet;\n 'fx:store': Rels.Store;\n };\n props: {\n template_set_uri
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/ExperimentalAddToCartBuilder/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Graph, Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\n/** WARNING: this API doesn't exist. Fields and data types may change without notice. */\nexport interface ExperimentalAddToCartSnippet extends Graph {\n curie: 'fx:experimental_add_to_cart_snippet';\n links: {\n 'self': ExperimentalAddToCartSnippet;\n 'fx:store': Rels.Store;\n };\n props: {\n template_set_uri?: string;\n redirect?: string;\n coupon?: string;\n empty?: 'false' | 'true' | 'reset';\n cart?: 'add' | 'checkout' | 'redirect';\n items?: {\n name: string;\n item_category_uri?: string;\n price: number;\n price_configurable?: boolean;\n code?: string;\n parent_code?: string;\n image?: string;\n url?: string;\n sub_enabled?: boolean;\n sub_frequency?: string;\n sub_startdate_format?: 'none' | 'yyyymmdd' | 'dd' | 'duration';\n sub_startdate?: string | number;\n sub_enddate_format?: 'none' | 'yyyymmdd' | 'duration';\n sub_enddate?: string | number;\n discount_details?: string;\n discount_type?: string;\n discount_name?: string;\n expires_format?: 'minutes' | 'timestamp' | 'none';\n expires_value?: number;\n hide_quantity?: boolean;\n quantity?: number;\n quantity_max?: number;\n quantity_min?: number;\n weight?: number;\n length?: number;\n width?: number;\n height?: number;\n custom_options: {\n name: string;\n value?: string;\n value_configurable?: boolean;\n price?: number;\n replace_price?: boolean;\n weight?: number;\n replace_weight?: boolean;\n code?: string;\n replace_code?: boolean;\n item_category_uri?: string;\n }[];\n }[];\n };\n}\n\nexport type Data = Resource<ExperimentalAddToCartSnippet>;\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foxy.io/elements",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.35.0-beta.
|
|
4
|
+
"version": "1.35.0-beta.2",
|
|
5
5
|
"description": "E-commerce web components by Foxy.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@vaadin/vaadin": "^14.8.5",
|
|
37
37
|
"check-password-strength": "^2.0.7",
|
|
38
38
|
"cookie-storage": "^6.1.0",
|
|
39
|
-
"dedent": "^
|
|
39
|
+
"dedent": "^1.5.3",
|
|
40
40
|
"email-validator": "^2.0.4",
|
|
41
41
|
"html-entities": "^2.4.0",
|
|
42
42
|
"i18next": "^19.7.0",
|
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
"@rollup/plugin-replace": "^2.3.4",
|
|
65
65
|
"@rollup/plugin-typescript": "^8.2.0",
|
|
66
66
|
"@stylelint/postcss-css-in-js": "^0.37.3",
|
|
67
|
+
"@types/dedent": "^0.7.2",
|
|
67
68
|
"@types/lodash-es": "^4.17.3",
|
|
68
69
|
"@types/mocha": "^8.0.3",
|
|
69
70
|
"@types/node": "^14.6.3",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as e}from"./shared-44fd89ce.js";import"./shared-57a98543.js";import{_ as s}from"./shared-d1195c27.js";import{c as t,h as r,s as o}from"./shared-dc73b9a5.js";let l,a,i,d,n=e=>e;customElements.define("foxy-internal-summary-control",class extends e{constructor(){super(...arguments),this.layout=null,this.open=!1}static get properties(){return s(s({},super.properties),{},{layout:{},open:{type:Boolean}})}static get styles(){return[...super.styles,t(l||(l=n`::slotted(*){background-color:var(--lumo-contrast-5pct);padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)}details summary>div{border-radius:var(--lumo-border-radius)}details[open] summary>div{border-radius:var(--lumo-border-radius) var(--lumo-border-radius) 0 0}`))]}renderLightDom(){}renderControl(){return"details"===this.layout?r(a||(a=n` <details class="rounded overflow-hidden" ?open="${0}" @toggle="${0}"> <summary class="select-none cursor-pointer focus-outline-none group"> <div class="leading-s bg-contrast-5 group-focus-ring-2 group-focus-ring-inset group-focus-ring-primary-50" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" ?hidden="${0}"> <p class="font-medium text-body text-l flex items-center justify-between gap-s" ?hidden="${0}"> <span>${0}</span> <span class="flex items-center justify-center transition-colors text-tertiary group-hover-text-body" style="transform:translateX(.2em)"> ${0} </span> </p> <p class="text-s text-secondary" ?hidden="${0}">${0}</p> </div> </summary> <div class="overflow-hidden grid" style="gap:1px"> <slot></slot> </div> </details> `),this.open,(e=>{const s=e.currentTarget;this.open=s.open,e.composed||this.dispatchEvent(new CustomEvent("toggle"))}),!this.label&&!this.helperText,!this.label,this.label,o(i||(i=n`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1.2em; height: 1.2em"><path fill-rule="evenodd" d="M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z" clip-rule="evenodd" /></svg>`)),!this.helperText,this.helperText):r(d||(d=n` <div class="leading-s mb-s" ?hidden="${0}"> <p class="font-medium text-body text-l" ?hidden="${0}">${0}</p> <p class="text-s text-secondary" ?hidden="${0}">${0}</p> </div> <div class="rounded overflow-hidden grid" style="gap:1px"> <slot></slot> </div> `),!this.label&&!this.helperText,!this.label,this.label,!this.helperText,this.helperText)}});
|