@foxy.io/elements 1.17.0 → 1.18.0-beta.1
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-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +3 -85
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +1 -1
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +4 -4
- package/dist/cdn/foxy-reports-table.js +6 -6
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-shipping-method-card.js +1 -0
- package/dist/cdn/foxy-store-shipping-method-form.js +150 -0
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +4 -4
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-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-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-7474af47.js → shared-0561e4c0.js} +1 -1
- package/dist/cdn/{shared-4e201e09.js → shared-12f8034b.js} +1 -1
- package/dist/cdn/{shared-8d937ae4.js → shared-17331dc5.js} +3 -3
- package/dist/cdn/{shared-322e7efb.js → shared-18fa34a8.js} +1 -1
- package/dist/cdn/{shared-bf6fb415.js → shared-1eb23210.js} +1 -1
- package/dist/cdn/shared-2b077e01.js +134 -0
- package/dist/cdn/{shared-d28ac9dc.js → shared-32b15545.js} +1 -1
- package/dist/cdn/{shared-62169210.js → shared-33b47806.js} +3 -3
- package/dist/cdn/{shared-c8677ba3.js → shared-354e0ed8.js} +1 -1
- package/dist/cdn/{shared-3b2dedf9.js → shared-40689cd2.js} +1 -1
- package/dist/cdn/{shared-6d104622.js → shared-48ef8a04.js} +1 -1
- package/dist/cdn/{shared-5c3a88d2.js → shared-4b85b408.js} +1 -1
- package/dist/cdn/{shared-7c612495.js → shared-4de4a8bc.js} +1 -1
- package/dist/cdn/{shared-8d4fef94.js → shared-4eae0021.js} +1 -1
- package/dist/cdn/{shared-8e9a3bbb.js → shared-4fc53390.js} +1 -1
- package/dist/cdn/shared-593c3727.js +1 -0
- package/dist/cdn/{shared-d699348f.js → shared-59796faa.js} +2 -2
- package/dist/cdn/{shared-a0836fa5.js → shared-6bcd6831.js} +1 -1
- package/dist/cdn/{shared-39f2c345.js → shared-7b7b6065.js} +1 -1
- package/dist/cdn/shared-7c977470.js +1 -0
- package/dist/cdn/{shared-c89ba319.js → shared-7ed7818e.js} +1 -1
- package/dist/cdn/{shared-2bdd4f74.js → shared-80ca2f70.js} +2 -2
- package/dist/cdn/{shared-195fd5af.js → shared-8936b109.js} +1 -1
- package/dist/cdn/shared-91a28cfe.js +1 -0
- package/dist/cdn/{shared-f84686a8.js → shared-93d93d79.js} +1 -1
- package/dist/cdn/shared-97654b20.js +169 -0
- package/dist/cdn/{shared-baf79b0b.js → shared-9d905cdc.js} +1 -1
- package/dist/cdn/{shared-dd6d3c18.js → shared-9f9cdbb0.js} +1 -1
- package/dist/cdn/{shared-dc23b751.js → shared-a64ead08.js} +1 -1
- package/dist/cdn/{shared-a5e52b8f.js → shared-b52c7edf.js} +3 -3
- package/dist/cdn/{shared-ae415a98.js → shared-c13674cb.js} +1 -1
- package/dist/cdn/{shared-a052131e.js → shared-c5a638d1.js} +1 -1
- package/dist/cdn/{shared-c309e0ef.js → shared-c73ca2c5.js} +1 -1
- package/dist/cdn/{shared-c5c60417.js → shared-d539ee69.js} +1 -1
- package/dist/cdn/shared-d6dd67a5.js +82 -0
- package/dist/cdn/{shared-31c43743.js → shared-dbdc2a38.js} +1 -1
- package/dist/cdn/{shared-f1317609.js → shared-e06de519.js} +1 -1
- package/dist/cdn/{shared-dda2a74d.js → shared-e144edd2.js} +1 -1
- package/dist/cdn/{shared-bb686fc6.js → shared-e28fb2ef.js} +1 -1
- package/dist/cdn/{shared-b3df4f38.js → shared-e8312a29.js} +1 -1
- package/dist/cdn/{shared-2188d5f7.js → shared-fd001fd3.js} +1 -1
- package/dist/cdn/translations/store-shipping-method-card/en.json +15 -0
- package/dist/cdn/translations/store-shipping-method-form/en.json +83 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +2 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +10 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
- package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.d.ts +17 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +51 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/index.d.ts +6 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/index.js +8 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/index.js.map +1 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/types.d.ts +6 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/types.js +2 -0
- package/dist/elements/internal/InternalCheckboxGroupControl/types.js.map +1 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +2 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +6 -4
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
- package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.d.ts +13 -0
- package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js +40 -0
- package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js.map +1 -0
- package/dist/elements/internal/InternalTextAreaControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalTextAreaControl/index.js +6 -0
- package/dist/elements/internal/InternalTextAreaControl/index.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.d.ts +16 -0
- package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +60 -0
- package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodCard/index.d.ts +6 -0
- package/dist/elements/public/StoreShippingMethodCard/index.js +8 -0
- package/dist/elements/public/StoreShippingMethodCard/index.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodCard/types.d.ts +5 -0
- package/dist/elements/public/StoreShippingMethodCard/types.js +2 -0
- package/dist/elements/public/StoreShippingMethodCard/types.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +25 -0
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +152 -0
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/index.d.ts +11 -0
- package/dist/elements/public/StoreShippingMethodForm/index.js +13 -0
- package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +5 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +33 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +6 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +8 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +19 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +96 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +5 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +7 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +17 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +45 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +3 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +5 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +16 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +49 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +3 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +5 -0
- package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/types.d.ts +5 -0
- package/dist/elements/public/StoreShippingMethodForm/types.js +2 -0
- package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -0
- package/dist/elements/public/index.d.ts +2 -0
- package/dist/elements/public/index.defined.d.ts +2 -0
- package/dist/elements/public/index.defined.js +2 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +2 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +16 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-63685d2e.js +0 -302
- package/dist/cdn/shared-dc1c6edd.js +0 -1
- package/dist/cdn/shared-dc3ffd38.js +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
const NS = 'store-shipping-method-card';
|
|
5
|
+
const Base = TranslatableMixin(InternalCard, NS);
|
|
6
|
+
/**
|
|
7
|
+
* A basic card displaying a store shipping method (`fx:store_shipping_method`).
|
|
8
|
+
*
|
|
9
|
+
* @element foxy-store-shipping-method-card
|
|
10
|
+
* @since 1.18.0
|
|
11
|
+
*/
|
|
12
|
+
export class StoreShippingMethodCard extends Base {
|
|
13
|
+
renderBody() {
|
|
14
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
15
|
+
return html `
|
|
16
|
+
<dl class="items-center gap-x-s grid -my-xs" style="grid-template-columns: min-content 1fr">
|
|
17
|
+
<dt title=${this.t('shipping_method')} class="sr-only">
|
|
18
|
+
<foxy-i18n infer="" key="shipping_method"></foxy-i18n>
|
|
19
|
+
</dt>
|
|
20
|
+
|
|
21
|
+
<dd class="font-semibold truncate col-span-2">
|
|
22
|
+
${(_d = (_c = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._embedded) === null || _b === void 0 ? void 0 : _b['fx:shipping_method']) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : '--'}
|
|
23
|
+
</dd>
|
|
24
|
+
|
|
25
|
+
<dt class="text-secondary" title=${this.t('shipping_container')}>
|
|
26
|
+
<iron-icon class="icon-inline" icon="maps:zoom-out-map"></iron-icon>
|
|
27
|
+
</dt>
|
|
28
|
+
|
|
29
|
+
<dd class="text-secondary truncate">
|
|
30
|
+
${(_h = (_g = (_f = (_e = this.data) === null || _e === void 0 ? void 0 : _e._embedded) === null || _f === void 0 ? void 0 : _f['fx:shipping_container']) === null || _g === void 0 ? void 0 : _g.name) !== null && _h !== void 0 ? _h : '--'}
|
|
31
|
+
</dd>
|
|
32
|
+
|
|
33
|
+
<dt class="text-secondary" title=${this.t('shipping_drop_type')}>
|
|
34
|
+
<iron-icon class="icon-inline" icon="maps:pin-drop"></iron-icon>
|
|
35
|
+
</dt>
|
|
36
|
+
|
|
37
|
+
<dd class="text-secondary truncate">
|
|
38
|
+
${(_m = (_l = (_k = (_j = this.data) === null || _j === void 0 ? void 0 : _j._embedded) === null || _k === void 0 ? void 0 : _k['fx:shipping_drop_type']) === null || _l === void 0 ? void 0 : _l.name) !== null && _m !== void 0 ? _m : '--'}
|
|
39
|
+
</dd>
|
|
40
|
+
|
|
41
|
+
<dt class="text-secondary" title=${this.t('destinations')}>
|
|
42
|
+
<iron-icon class="icon-inline" icon="maps:map"></iron-icon>
|
|
43
|
+
</dt>
|
|
44
|
+
|
|
45
|
+
<dd class="text-secondary truncate">
|
|
46
|
+
<foxy-i18n
|
|
47
|
+
infer=""
|
|
48
|
+
key=${((_o = this.data) === null || _o === void 0 ? void 0 : _o.use_for_domestic) && ((_p = this.data) === null || _p === void 0 ? void 0 : _p.use_for_international)
|
|
49
|
+
? 'destinations_any'
|
|
50
|
+
: ((_q = this.data) === null || _q === void 0 ? void 0 : _q.use_for_domestic) ? 'destinations_domestic'
|
|
51
|
+
: ((_r = this.data) === null || _r === void 0 ? void 0 : _r.use_for_international) ? 'destinations_international'
|
|
52
|
+
: 'destinations_none'}
|
|
53
|
+
>
|
|
54
|
+
</foxy-i18n>
|
|
55
|
+
</dd>
|
|
56
|
+
</dl>
|
|
57
|
+
`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=StoreShippingMethodCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreShippingMethodCard.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,4BAA4B,CAAC;AACxC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,IAAU;IACrD,UAAU;;QACR,OAAO,IAAI,CAAA;;oBAEK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;;;;;YAKjC,wBAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,0CAAG,oBAAoB,2CAAG,IAAI,mCAAI,IAAI;;;2CAG3B,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;;;;;YAK3D,wBAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,0CAAG,uBAAuB,2CAAG,IAAI,mCAAI,IAAI;;;2CAG9B,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;;;;;YAK3D,wBAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,0CAAG,uBAAuB,2CAAG,IAAI,mCAAI,IAAI;;;2CAG9B,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;;;;;;;kBAO/C,OAAA,IAAI,CAAC,IAAI,0CAAE,gBAAgB,YAAI,IAAI,CAAC,IAAI,0CAAE,qBAAqB,CAAA;YACnE,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,OAAA,IAAI,CAAC,IAAI,0CAAE,gBAAgB,EAC7B,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,OAAA,IAAI,CAAC,IAAI,0CAAE,qBAAqB,EAClC,CAAC,CAAC,4BAA4B;oBAC9B,CAAC,CAAC,mBAAmB;;;;;KAK9B,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalCard } from '../../internal/InternalCard/InternalCard';\nimport { html } from 'lit-html';\n\nconst NS = 'store-shipping-method-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\n/**\n * A basic card displaying a store shipping method (`fx:store_shipping_method`).\n *\n * @element foxy-store-shipping-method-card\n * @since 1.18.0\n */\nexport class StoreShippingMethodCard extends Base<Data> {\n renderBody(): TemplateResult {\n return html`\n <dl class=\"items-center gap-x-s grid -my-xs\" style=\"grid-template-columns: min-content 1fr\">\n <dt title=${this.t('shipping_method')} class=\"sr-only\">\n <foxy-i18n infer=\"\" key=\"shipping_method\"></foxy-i18n>\n </dt>\n\n <dd class=\"font-semibold truncate col-span-2\">\n ${this.data?._embedded?.['fx:shipping_method']?.name ?? '--'}\n </dd>\n\n <dt class=\"text-secondary\" title=${this.t('shipping_container')}>\n <iron-icon class=\"icon-inline\" icon=\"maps:zoom-out-map\"></iron-icon>\n </dt>\n\n <dd class=\"text-secondary truncate\">\n ${this.data?._embedded?.['fx:shipping_container']?.name ?? '--'}\n </dd>\n\n <dt class=\"text-secondary\" title=${this.t('shipping_drop_type')}>\n <iron-icon class=\"icon-inline\" icon=\"maps:pin-drop\"></iron-icon>\n </dt>\n\n <dd class=\"text-secondary truncate\">\n ${this.data?._embedded?.['fx:shipping_drop_type']?.name ?? '--'}\n </dd>\n\n <dt class=\"text-secondary\" title=${this.t('destinations')}>\n <iron-icon class=\"icon-inline\" icon=\"maps:map\"></iron-icon>\n </dt>\n\n <dd class=\"text-secondary truncate\">\n <foxy-i18n\n infer=\"\"\n key=${this.data?.use_for_domestic && this.data?.use_for_international\n ? 'destinations_any'\n : this.data?.use_for_domestic\n ? 'destinations_domestic'\n : this.data?.use_for_international\n ? 'destinations_international'\n : 'destinations_none'}\n >\n </foxy-i18n>\n </dd>\n </dl>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import '@polymer/iron-icons/maps-icons';
|
|
2
|
+
import '@polymer/iron-icon';
|
|
3
|
+
import "../../internal/InternalCard/index.js";
|
|
4
|
+
import "../I18n/index.js";
|
|
5
|
+
import { StoreShippingMethodCard } from "./StoreShippingMethodCard.js";
|
|
6
|
+
customElements.define('foxy-store-shipping-method-card', StoreShippingMethodCard);
|
|
7
|
+
export { StoreShippingMethodCard };
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreShippingMethodCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAC;AACxC,OAAO,oBAAoB,CAAC;AAE5B,8CAA2C;AAC3C,0BAAuB;AAEvB,OAAO,EAAE,uBAAuB,EAAE,qCAAkC;AAEpE,cAAc,CAAC,MAAM,CAAC,iCAAiC,EAAE,uBAAuB,CAAC,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import '@polymer/iron-icons/maps-icons';\nimport '@polymer/iron-icon';\n\nimport '../../internal/InternalCard/index';\nimport '../I18n/index';\n\nimport { StoreShippingMethodCard } from './StoreShippingMethodCard';\n\ncustomElements.define('foxy-store-shipping-method-card', StoreShippingMethodCard);\n\nexport { StoreShippingMethodCard };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreShippingMethodCard/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Rels } from '@foxy.io/sdk/backend';\nimport type { Resource } from '@foxy.io/sdk/core';\n\nexport type Data = Resource<\n Rels.StoreShippingMethod,\n { zoom: ['shipping_method', 'shipping_container', 'shipping_drop_type'] }\n>;\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { NucleonV8N } from '../NucleonElement/types';
|
|
3
|
+
import type { Data } from './types';
|
|
4
|
+
import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
5
|
+
declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
6
|
+
defaultNS: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Form element for creating and editing store shipping methods (`fx:store_shipping_method`).
|
|
10
|
+
*
|
|
11
|
+
* @element foxy-store-shipping-method-form
|
|
12
|
+
* @since 1.18.0
|
|
13
|
+
*/
|
|
14
|
+
export declare class StoreShippingMethodForm extends Base<Data> {
|
|
15
|
+
static get properties(): typeof Base['properties'];
|
|
16
|
+
static get v8n(): NucleonV8N<Data>;
|
|
17
|
+
shippingMethods: string;
|
|
18
|
+
private __destinations;
|
|
19
|
+
private __getDestinations;
|
|
20
|
+
private __setDestinations;
|
|
21
|
+
renderBody(): TemplateResult;
|
|
22
|
+
private __renderCustomCodeMethodLayout;
|
|
23
|
+
private __renderGenericMethodLayout;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
|
+
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
3
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
4
|
+
import { html } from 'lit-html';
|
|
5
|
+
const NS = 'store-shipping-method-form';
|
|
6
|
+
const Base = TranslatableMixin(InternalForm, NS);
|
|
7
|
+
const getKbSize = (value) => new Blob([value]).size / 1024;
|
|
8
|
+
const isURL = (value) => {
|
|
9
|
+
try {
|
|
10
|
+
new URL(value);
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
catch (_a) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Form element for creating and editing store shipping methods (`fx:store_shipping_method`).
|
|
19
|
+
*
|
|
20
|
+
* @element foxy-store-shipping-method-form
|
|
21
|
+
* @since 1.18.0
|
|
22
|
+
*/
|
|
23
|
+
export class StoreShippingMethodForm extends Base {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(...arguments);
|
|
26
|
+
// shippingMethods: string | null = null;
|
|
27
|
+
this.shippingMethods = 'https://demo.api/hapi/shipping_methods';
|
|
28
|
+
this.__destinations = [
|
|
29
|
+
{ value: 'domestic', label: 'domestic' },
|
|
30
|
+
{ value: 'international', label: 'international' },
|
|
31
|
+
];
|
|
32
|
+
this.__getDestinations = () => {
|
|
33
|
+
const value = [];
|
|
34
|
+
if (this.form.use_for_domestic)
|
|
35
|
+
value.push('domestic');
|
|
36
|
+
if (this.form.use_for_international)
|
|
37
|
+
value.push('international');
|
|
38
|
+
return value;
|
|
39
|
+
};
|
|
40
|
+
this.__setDestinations = (newValue) => {
|
|
41
|
+
this.edit({
|
|
42
|
+
// TODO remove error directive after SDK types are fixed
|
|
43
|
+
// @ts-expect-error SDK types are wrong
|
|
44
|
+
use_for_domestic: newValue.includes('domestic'),
|
|
45
|
+
// TODO remove error directive after SDK types are fixed
|
|
46
|
+
// @ts-expect-error SDK types are wrong
|
|
47
|
+
use_for_international: newValue.includes('international'),
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
static get properties() {
|
|
52
|
+
return {
|
|
53
|
+
...super.properties,
|
|
54
|
+
shippingMethods: { type: String, attribute: 'shipping-methods' },
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
static get v8n() {
|
|
58
|
+
return [
|
|
59
|
+
({ shipping_method_uri: v }) => (v && isURL(v)) || 'shipping-method-uri:required',
|
|
60
|
+
({ accountid: v }) => !v || v.length <= 50 || 'accountid:too_long',
|
|
61
|
+
({ password: v }) => !v || v.length <= 50 || 'password:too_long',
|
|
62
|
+
({ meter_number: v }) => !v || v.length <= 50 || 'meter-number:too_long',
|
|
63
|
+
({ authentication_key: v }) => !v || v.length <= 50 || 'authentication-key:too_long',
|
|
64
|
+
({ custom_code: v }) => !v || getKbSize(v) <= 64 || 'custom-code:too_long',
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
renderBody() {
|
|
68
|
+
var _a, _b, _c, _d;
|
|
69
|
+
return html `
|
|
70
|
+
<foxy-internal-async-combo-box-control
|
|
71
|
+
item-value-path="_links.self.href"
|
|
72
|
+
item-label-path="name"
|
|
73
|
+
first=${ifDefined((_a = this.shippingMethods) !== null && _a !== void 0 ? _a : (_b = this.form._links) === null || _b === void 0 ? void 0 : _b['fx:shipping_methods'].href)}
|
|
74
|
+
infer="shipping-method-uri"
|
|
75
|
+
.selectedItem=${(_c = this.form._embedded) === null || _c === void 0 ? void 0 : _c['fx:shipping_method']}
|
|
76
|
+
@selected-item-changed=${(evt) => {
|
|
77
|
+
const { selectedItem } = evt.currentTarget;
|
|
78
|
+
const newEmbeds = { 'fx:shipping_method': selectedItem };
|
|
79
|
+
this.edit({
|
|
80
|
+
_embedded: newEmbeds,
|
|
81
|
+
shipping_container_uri: '',
|
|
82
|
+
shipping_drop_type_uri: '',
|
|
83
|
+
});
|
|
84
|
+
}}
|
|
85
|
+
>
|
|
86
|
+
</foxy-internal-async-combo-box-control>
|
|
87
|
+
${((_d = this.form._embedded) === null || _d === void 0 ? void 0 : _d['fx:shipping_method'].code) === 'CUSTOM-CODE'
|
|
88
|
+
? this.__renderCustomCodeMethodLayout()
|
|
89
|
+
: this.__renderGenericMethodLayout()}
|
|
90
|
+
${super.renderBody()}
|
|
91
|
+
`;
|
|
92
|
+
}
|
|
93
|
+
__renderCustomCodeMethodLayout() {
|
|
94
|
+
return html `
|
|
95
|
+
<foxy-internal-text-area-control infer="custom-code"></foxy-internal-text-area-control>
|
|
96
|
+
`;
|
|
97
|
+
}
|
|
98
|
+
__renderGenericMethodLayout() {
|
|
99
|
+
var _a, _b, _c;
|
|
100
|
+
const method = (_a = this.form._embedded) === null || _a === void 0 ? void 0 : _a['fx:shipping_method'];
|
|
101
|
+
return html `
|
|
102
|
+
<foxy-internal-async-combo-box-control
|
|
103
|
+
item-value-path="_links.self.href"
|
|
104
|
+
item-label-path="name"
|
|
105
|
+
first=${ifDefined(method === null || method === void 0 ? void 0 : method._links['fx:shipping_containers'].href)}
|
|
106
|
+
infer="shipping-container-uri"
|
|
107
|
+
.selectedItem=${(_b = this.form._embedded) === null || _b === void 0 ? void 0 : _b['fx:shipping_container']}
|
|
108
|
+
@selected-item-changed=${(evt) => {
|
|
109
|
+
const { selectedItem } = evt.currentTarget;
|
|
110
|
+
const newEmbeds = { ...this.form._embedded, 'fx:shipping_container': selectedItem };
|
|
111
|
+
this.edit({ _embedded: newEmbeds });
|
|
112
|
+
}}
|
|
113
|
+
>
|
|
114
|
+
</foxy-internal-async-combo-box-control>
|
|
115
|
+
|
|
116
|
+
<foxy-internal-async-combo-box-control
|
|
117
|
+
item-value-path="_links.self.href"
|
|
118
|
+
item-label-path="name"
|
|
119
|
+
first=${ifDefined(method === null || method === void 0 ? void 0 : method._links['fx:shipping_drop_types'].href)}
|
|
120
|
+
infer="shipping-drop-type-uri"
|
|
121
|
+
.selectedItem=${(_c = this.form._embedded) === null || _c === void 0 ? void 0 : _c['fx:shipping_drop_type']}
|
|
122
|
+
@selected-item-changed=${(evt) => {
|
|
123
|
+
const { selectedItem } = evt.currentTarget;
|
|
124
|
+
const newEmbeds = { ...this.form._embedded, 'fx:shipping_drop_type': selectedItem };
|
|
125
|
+
this.edit({ _embedded: newEmbeds });
|
|
126
|
+
}}
|
|
127
|
+
>
|
|
128
|
+
</foxy-internal-async-combo-box-control>
|
|
129
|
+
|
|
130
|
+
<foxy-internal-checkbox-group-control
|
|
131
|
+
infer="destinations"
|
|
132
|
+
.getValue=${this.__getDestinations}
|
|
133
|
+
.setValue=${this.__setDestinations}
|
|
134
|
+
.options=${this.__destinations}
|
|
135
|
+
>
|
|
136
|
+
</foxy-internal-checkbox-group-control>
|
|
137
|
+
|
|
138
|
+
<foxy-internal-text-control infer="authentication-key"></foxy-internal-text-control>
|
|
139
|
+
<foxy-internal-text-control infer="meter-number"></foxy-internal-text-control>
|
|
140
|
+
<foxy-internal-text-control infer="accountid"></foxy-internal-text-control>
|
|
141
|
+
<foxy-internal-text-control infer="password"></foxy-internal-text-control>
|
|
142
|
+
|
|
143
|
+
${this.data && this.data.shipping_method_uri === this.form.shipping_method_uri
|
|
144
|
+
? html `
|
|
145
|
+
<foxy-internal-store-shipping-method-form-services-control infer="services">
|
|
146
|
+
</foxy-internal-store-shipping-method-form-services-control>
|
|
147
|
+
`
|
|
148
|
+
: ''}
|
|
149
|
+
`;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=StoreShippingMethodForm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreShippingMethodForm.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalAsyncComboBoxControl } from '../../internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'store-shipping-method-form';\nconst Base = TranslatableMixin(InternalForm, NS);\nconst getKbSize = (value: string) => new Blob([value]).size / 1024;\nconst isURL = (value: string) => {\n try {\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\n/**\n * Form element for creating and editing store shipping methods (`fx:store_shipping_method`).\n *\n * @element foxy-store-shipping-method-form\n * @since 1.18.0\n */\nexport class StoreShippingMethodForm extends Base<Data> {\n static get properties(): typeof Base['properties'] {\n return {\n ...super.properties,\n shippingMethods: { type: String, attribute: 'shipping-methods' },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ shipping_method_uri: v }) => (v && isURL(v)) || 'shipping-method-uri:required',\n ({ accountid: v }) => !v || v.length <= 50 || 'accountid:too_long',\n ({ password: v }) => !v || v.length <= 50 || 'password:too_long',\n ({ meter_number: v }) => !v || v.length <= 50 || 'meter-number:too_long',\n ({ authentication_key: v }) => !v || v.length <= 50 || 'authentication-key:too_long',\n ({ custom_code: v }) => !v || getKbSize(v) <= 64 || 'custom-code:too_long',\n ];\n }\n\n // shippingMethods: string | null = null;\n shippingMethods = 'https://demo.api/hapi/shipping_methods';\n\n private __destinations = [\n { value: 'domestic', label: 'domestic' },\n { value: 'international', label: 'international' },\n ];\n\n private __getDestinations = () => {\n const value: string[] = [];\n if (this.form.use_for_domestic) value.push('domestic');\n if (this.form.use_for_international) value.push('international');\n return value;\n };\n\n private __setDestinations = (newValue: string[]) => {\n this.edit({\n // TODO remove error directive after SDK types are fixed\n // @ts-expect-error SDK types are wrong\n use_for_domestic: newValue.includes('domestic'),\n\n // TODO remove error directive after SDK types are fixed\n // @ts-expect-error SDK types are wrong\n use_for_international: newValue.includes('international'),\n });\n };\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(this.shippingMethods ?? this.form._links?.['fx:shipping_methods'].href)}\n infer=\"shipping-method-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_method']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { 'fx:shipping_method': selectedItem };\n\n this.edit({\n _embedded: newEmbeds as Data['_embedded'],\n shipping_container_uri: '',\n shipping_drop_type_uri: '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n ${this.form._embedded?.['fx:shipping_method'].code === 'CUSTOM-CODE'\n ? this.__renderCustomCodeMethodLayout()\n : this.__renderGenericMethodLayout()}\n ${super.renderBody()}\n `;\n }\n\n private __renderCustomCodeMethodLayout() {\n return html`\n <foxy-internal-text-area-control infer=\"custom-code\"></foxy-internal-text-area-control>\n `;\n }\n\n private __renderGenericMethodLayout() {\n const method = this.form._embedded?.['fx:shipping_method'];\n\n return html`\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(method?._links['fx:shipping_containers'].href)}\n infer=\"shipping-container-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_container']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { ...this.form._embedded, 'fx:shipping_container': selectedItem };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-value-path=\"_links.self.href\"\n item-label-path=\"name\"\n first=${ifDefined(method?._links['fx:shipping_drop_types'].href)}\n infer=\"shipping-drop-type-uri\"\n .selectedItem=${this.form._embedded?.['fx:shipping_drop_type']}\n @selected-item-changed=${(evt: CustomEvent) => {\n const { selectedItem } = evt.currentTarget as InternalAsyncComboBoxControl;\n const newEmbeds = { ...this.form._embedded, 'fx:shipping_drop_type': selectedItem };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-checkbox-group-control\n infer=\"destinations\"\n .getValue=${this.__getDestinations}\n .setValue=${this.__setDestinations}\n .options=${this.__destinations}\n >\n </foxy-internal-checkbox-group-control>\n\n <foxy-internal-text-control infer=\"authentication-key\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"meter-number\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"accountid\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"password\"></foxy-internal-text-control>\n\n ${this.data && this.data.shipping_method_uri === this.form.shipping_method_uri\n ? html`\n <foxy-internal-store-shipping-method-form-services-control infer=\"services\">\n </foxy-internal-store-shipping-method-form-services-control>\n `\n : ''}\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import '@polymer/iron-icons/maps-icons';
|
|
2
|
+
import '@polymer/iron-icon';
|
|
3
|
+
import '../../internal/InternalAsyncComboBoxControl/index';
|
|
4
|
+
import '../../internal/InternalCheckboxGroupControl/index';
|
|
5
|
+
import '../../internal/InternalTextAreaControl/index';
|
|
6
|
+
import '../../internal/InternalTextControl/index';
|
|
7
|
+
import '../../internal/InternalForm/index';
|
|
8
|
+
import '../I18n/index';
|
|
9
|
+
import './internal/InternalStoreShippingMethodFormServicesControl/index';
|
|
10
|
+
import { StoreShippingMethodForm } from './StoreShippingMethodForm';
|
|
11
|
+
export { StoreShippingMethodForm };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import '@polymer/iron-icons/maps-icons';
|
|
2
|
+
import '@polymer/iron-icon';
|
|
3
|
+
import "../../internal/InternalAsyncComboBoxControl/index.js";
|
|
4
|
+
import "../../internal/InternalCheckboxGroupControl/index.js";
|
|
5
|
+
import "../../internal/InternalTextAreaControl/index.js";
|
|
6
|
+
import "../../internal/InternalTextControl/index.js";
|
|
7
|
+
import "../../internal/InternalForm/index.js";
|
|
8
|
+
import "../I18n/index.js";
|
|
9
|
+
import "./internal/InternalStoreShippingMethodFormServicesControl/index.js";
|
|
10
|
+
import { StoreShippingMethodForm } from "./StoreShippingMethodForm.js";
|
|
11
|
+
customElements.define('foxy-store-shipping-method-form', StoreShippingMethodForm);
|
|
12
|
+
export { StoreShippingMethodForm };
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/StoreShippingMethodForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAC;AACxC,OAAO,oBAAoB,CAAC;AAE5B,8DAA2D;AAC3D,8DAA2D;AAC3D,yDAAsD;AACtD,qDAAkD;AAClD,8CAA2C;AAE3C,0BAAuB;AAEvB,4EAAyE;AAEzE,OAAO,EAAE,uBAAuB,EAAE,qCAAkC;AAEpE,cAAc,CAAC,MAAM,CAAC,iCAAiC,EAAE,uBAAuB,CAAC,CAAC;AAElF,OAAO,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import '@polymer/iron-icons/maps-icons';\nimport '@polymer/iron-icon';\n\nimport '../../internal/InternalAsyncComboBoxControl/index';\nimport '../../internal/InternalCheckboxGroupControl/index';\nimport '../../internal/InternalTextAreaControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../I18n/index';\n\nimport './internal/InternalStoreShippingMethodFormServicesControl/index';\n\nimport { StoreShippingMethodForm } from './StoreShippingMethodForm';\n\ncustomElements.define('foxy-store-shipping-method-form', StoreShippingMethodForm);\n\nexport { StoreShippingMethodForm };\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { html } from 'lit-html';
|
|
2
|
+
import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
|
|
3
|
+
export class InternalStoreShippingMethodFormServicesControl extends InternalControl {
|
|
4
|
+
renderControl() {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
const data = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.data;
|
|
7
|
+
const form = (_b = this.nucleon) === null || _b === void 0 ? void 0 : _b.form;
|
|
8
|
+
if (!data)
|
|
9
|
+
return html ``;
|
|
10
|
+
const firstURL = new URL(data._links['fx:shipping_services'].href);
|
|
11
|
+
firstURL.searchParams.set('limit', '5');
|
|
12
|
+
return html `
|
|
13
|
+
<foxy-pagination first=${firstURL.toString()} infer="">
|
|
14
|
+
<foxy-i18n
|
|
15
|
+
class="block text-s font-medium text-secondary leading-none mb-s"
|
|
16
|
+
infer=""
|
|
17
|
+
key="header"
|
|
18
|
+
>
|
|
19
|
+
</foxy-i18n>
|
|
20
|
+
|
|
21
|
+
<foxy-internal-store-shipping-method-form-services-page
|
|
22
|
+
store-shipping-services-uri=${data._links['fx:store_shipping_services'].href}
|
|
23
|
+
shipping-method-uri=${data._links['fx:shipping_method'].href}
|
|
24
|
+
class="border border-contrast-10 rounded-t-l rounded-b-l mb-s"
|
|
25
|
+
infer=""
|
|
26
|
+
?international-allowed=${!!form.use_for_international}
|
|
27
|
+
>
|
|
28
|
+
</foxy-internal-store-shipping-method-form-services-page>
|
|
29
|
+
</foxy-pagination>
|
|
30
|
+
`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=InternalStoreShippingMethodFormServicesControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalStoreShippingMethodFormServicesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,gEAA6D;AAGvF,MAAM,OAAO,8CAA+C,SAAQ,eAAe;IACjF,aAAa;;QACX,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAY,CAAC;QACxC,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAqB,CAAC;QAEjD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;QAEzB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAExC,OAAO,IAAI,CAAA;+BACgB,QAAQ,CAAC,QAAQ,EAAE;;;;;;;;;wCASV,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,IAAI;gCACtD,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,IAAI;;;mCAGnC,CAAC,CAAC,IAAI,CAAC,qBAAqB;;;;KAI1D,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { html, TemplateResult } from 'lit-html';\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { Data } from '../../types';\n\nexport class InternalStoreShippingMethodFormServicesControl extends InternalControl {\n renderControl(): TemplateResult {\n const data = this.nucleon?.data as Data;\n const form = this.nucleon?.form as Partial<Data>;\n\n if (!data) return html``;\n\n const firstURL = new URL(data._links['fx:shipping_services'].href);\n firstURL.searchParams.set('limit', '5');\n\n return html`\n <foxy-pagination first=${firstURL.toString()} infer=\"\">\n <foxy-i18n\n class=\"block text-s font-medium text-secondary leading-none mb-s\"\n infer=\"\"\n key=\"header\"\n >\n </foxy-i18n>\n\n <foxy-internal-store-shipping-method-form-services-page\n store-shipping-services-uri=${data._links['fx:store_shipping_services'].href}\n shipping-method-uri=${data._links['fx:shipping_method'].href}\n class=\"border border-contrast-10 rounded-t-l rounded-b-l mb-s\"\n infer=\"\"\n ?international-allowed=${!!form.use_for_international}\n >\n </foxy-internal-store-shipping-method-form-services-page>\n </foxy-pagination>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '../../../../internal/InternalControl/index';
|
|
2
|
+
import '../../../Pagination/index';
|
|
3
|
+
import '../../../I18n/index';
|
|
4
|
+
import '../InternalStoreShippingMethodFormServicesPage/index';
|
|
5
|
+
import { InternalStoreShippingMethodFormServicesControl } from './InternalStoreShippingMethodFormServicesControl';
|
|
6
|
+
export { InternalStoreShippingMethodFormServicesControl };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "../../../../internal/InternalControl/index.js";
|
|
2
|
+
import "../../../Pagination/index.js";
|
|
3
|
+
import "../../../I18n/index.js";
|
|
4
|
+
import "../InternalStoreShippingMethodFormServicesPage/index.js";
|
|
5
|
+
import { InternalStoreShippingMethodFormServicesControl } from "./InternalStoreShippingMethodFormServicesControl.js";
|
|
6
|
+
customElements.define('foxy-internal-store-shipping-method-form-services-control', InternalStoreShippingMethodFormServicesControl);
|
|
7
|
+
export { InternalStoreShippingMethodFormServicesControl };
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AAEpD,sCAAmC;AACnC,gCAA6B;AAE7B,iEAA8D;AAE9D,OAAO,EAAE,8CAA8C,EAAE,4DAAyD;AAElH,cAAc,CAAC,MAAM,CACnB,2DAA2D,EAC3D,8CAA8C,CAC/C,CAAC;AAEF,OAAO,EAAE,8CAA8C,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\n\nimport '../../../Pagination/index';\nimport '../../../I18n/index';\n\nimport '../InternalStoreShippingMethodFormServicesPage/index';\n\nimport { InternalStoreShippingMethodFormServicesControl } from './InternalStoreShippingMethodFormServicesControl';\n\ncustomElements.define(\n 'foxy-internal-store-shipping-method-form-services-control',\n InternalStoreShippingMethodFormServicesControl\n);\n\nexport { InternalStoreShippingMethodFormServicesControl };\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit-html';
|
|
2
|
+
import { NucleonElement } from '../../../NucleonElement/NucleonElement';
|
|
3
|
+
import { PropertyDeclarations } from 'lit-element';
|
|
4
|
+
import { Rels } from '@foxy.io/sdk/backend';
|
|
5
|
+
import { Resource } from '@foxy.io/sdk/core';
|
|
6
|
+
declare type Data = Resource<Rels.ShippingServices>;
|
|
7
|
+
declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../../../mixins/translatable").TranslatableMixinHost> & {
|
|
8
|
+
defaultNS: string;
|
|
9
|
+
} & {
|
|
10
|
+
styles: import("lit-element").CSSResultArray;
|
|
11
|
+
} & import("lit-element").Constructor<import("../../../../../mixins/configurable").ConfigurableMixinHost>;
|
|
12
|
+
export declare class InternalStoreShippingMethodFormServicesPage extends Base<Data> {
|
|
13
|
+
static get properties(): PropertyDeclarations;
|
|
14
|
+
storeShippingServicesUri: string | null;
|
|
15
|
+
internationalAllowed: boolean;
|
|
16
|
+
shippingMethodUri: string | null;
|
|
17
|
+
render(): TemplateResult;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { html } from 'lit-html';
|
|
2
|
+
import { ConfigurableMixin } from "../../../../../mixins/configurable.js";
|
|
3
|
+
import { NucleonElement } from "../../../NucleonElement/NucleonElement.js";
|
|
4
|
+
import { ThemeableMixin } from "../../../../../mixins/themeable.js";
|
|
5
|
+
import { TranslatableMixin } from "../../../../../mixins/translatable.js";
|
|
6
|
+
import { classMap } from "../../../../../utils/class-map.js";
|
|
7
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
8
|
+
const Base = ConfigurableMixin(ThemeableMixin(TranslatableMixin(NucleonElement)));
|
|
9
|
+
export class InternalStoreShippingMethodFormServicesPage extends Base {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.storeShippingServicesUri = null;
|
|
13
|
+
this.internationalAllowed = false;
|
|
14
|
+
this.shippingMethodUri = null;
|
|
15
|
+
}
|
|
16
|
+
static get properties() {
|
|
17
|
+
return {
|
|
18
|
+
...super.properties,
|
|
19
|
+
storeShippingServicesUri: { type: String, attribute: 'store-shipping-services-uri' },
|
|
20
|
+
internationalAllowed: { type: Boolean, attribute: 'international-allowed' },
|
|
21
|
+
shippingMethodUri: { type: String, attribute: 'shipping-method-uri' },
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
const services = (_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a._embedded['fx:shipping_services']) !== null && _b !== void 0 ? _b : [];
|
|
27
|
+
let limit = 20;
|
|
28
|
+
try {
|
|
29
|
+
const limitFromHref = parseInt((_c = new URL(this.href).searchParams.get('limit')) !== null && _c !== void 0 ? _c : '');
|
|
30
|
+
if (!isNaN(limitFromHref))
|
|
31
|
+
limit = limitFromHref;
|
|
32
|
+
}
|
|
33
|
+
catch (_d) {
|
|
34
|
+
// invalid URL, use the default
|
|
35
|
+
}
|
|
36
|
+
return html `
|
|
37
|
+
<div class="relative">
|
|
38
|
+
<div class="relative divide-y divide-contrast-10 ml-m">
|
|
39
|
+
${new Array(limit).fill(0).map((_, index) => {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
const service = services[index];
|
|
42
|
+
let href = undefined;
|
|
43
|
+
if (service) {
|
|
44
|
+
try {
|
|
45
|
+
const storeShippingServiceURL = new URL((_a = this.storeShippingServicesUri) !== null && _a !== void 0 ? _a : '');
|
|
46
|
+
const shippingServiceURL = new URL(service._links.self.href);
|
|
47
|
+
const shippingServiceID = shippingServiceURL.pathname.split('/').pop();
|
|
48
|
+
storeShippingServiceURL.searchParams.set('shipping_service_id', shippingServiceID);
|
|
49
|
+
storeShippingServiceURL.searchParams.set('limit', '1');
|
|
50
|
+
href = storeShippingServiceURL.toString();
|
|
51
|
+
}
|
|
52
|
+
catch (_c) {
|
|
53
|
+
// invalid URL, ignore
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (!href)
|
|
57
|
+
return html `<div class="h-l"></div>`;
|
|
58
|
+
return html `
|
|
59
|
+
<foxy-internal-store-shipping-method-form-services-page-item
|
|
60
|
+
shipping-service-uri=${service._links.self.href}
|
|
61
|
+
shipping-method-uri=${ifDefined((_b = this.shippingMethodUri) !== null && _b !== void 0 ? _b : void 0)}
|
|
62
|
+
data-testclass="item"
|
|
63
|
+
class="min-h-l"
|
|
64
|
+
infer=""
|
|
65
|
+
href=${href}
|
|
66
|
+
?international-allowed=${this.internationalAllowed}
|
|
67
|
+
>
|
|
68
|
+
${service === null || service === void 0 ? void 0 : service.name}
|
|
69
|
+
${service.is_international
|
|
70
|
+
? html `<foxy-i18n infer="" slot="suffix" key="international_only"></foxy-i18n>`
|
|
71
|
+
: ''}
|
|
72
|
+
</foxy-internal-store-shipping-method-form-services-page-item>
|
|
73
|
+
`;
|
|
74
|
+
})}
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
<div
|
|
78
|
+
data-testid="spinner"
|
|
79
|
+
class=${classMap({
|
|
80
|
+
'pointer-events-none absolute inset-0 flex transition-opacity': true,
|
|
81
|
+
'opacity-0': !!this.data,
|
|
82
|
+
})}
|
|
83
|
+
>
|
|
84
|
+
<foxy-spinner
|
|
85
|
+
layout="vertical"
|
|
86
|
+
state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}
|
|
87
|
+
class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs"
|
|
88
|
+
infer=""
|
|
89
|
+
>
|
|
90
|
+
</foxy-spinner>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
`;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=InternalStoreShippingMethodFormServicesPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalStoreShippingMethodFormServicesPage.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.ts"],"names":[],"mappings":"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","sourcesContent":["import { TemplateResult, html } from 'lit-html';\nimport { ConfigurableMixin } from '../../../../../mixins/configurable';\nimport { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport { PropertyDeclarations } from 'lit-element';\nimport { Rels } from '@foxy.io/sdk/backend';\nimport { Resource } from '@foxy.io/sdk/core';\nimport { ThemeableMixin } from '../../../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../../../mixins/translatable';\nimport { classMap } from '../../../../../utils/class-map';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\ntype Data = Resource<Rels.ShippingServices>;\nconst Base = ConfigurableMixin(ThemeableMixin(TranslatableMixin(NucleonElement)));\n\nexport class InternalStoreShippingMethodFormServicesPage extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n storeShippingServicesUri: { type: String, attribute: 'store-shipping-services-uri' },\n internationalAllowed: { type: Boolean, attribute: 'international-allowed' },\n shippingMethodUri: { type: String, attribute: 'shipping-method-uri' },\n };\n }\n\n storeShippingServicesUri: string | null = null;\n\n internationalAllowed = false;\n\n shippingMethodUri: string | null = null;\n\n render(): TemplateResult {\n const services = this.data?._embedded['fx:shipping_services'] ?? [];\n let limit = 20;\n\n try {\n const limitFromHref = parseInt(new URL(this.href).searchParams.get('limit') ?? '');\n if (!isNaN(limitFromHref)) limit = limitFromHref;\n } catch {\n // invalid URL, use the default\n }\n\n return html`\n <div class=\"relative\">\n <div class=\"relative divide-y divide-contrast-10 ml-m\">\n ${new Array(limit).fill(0).map((_, index) => {\n const service = services[index];\n let href: string | undefined = undefined;\n\n if (service) {\n try {\n const storeShippingServiceURL = new URL(this.storeShippingServicesUri ?? '');\n const shippingServiceURL = new URL(service._links.self.href);\n const shippingServiceID = shippingServiceURL.pathname.split('/').pop() as string;\n\n storeShippingServiceURL.searchParams.set('shipping_service_id', shippingServiceID);\n storeShippingServiceURL.searchParams.set('limit', '1');\n\n href = storeShippingServiceURL.toString();\n } catch {\n // invalid URL, ignore\n }\n }\n\n if (!href) return html`<div class=\"h-l\"></div>`;\n\n return html`\n <foxy-internal-store-shipping-method-form-services-page-item\n shipping-service-uri=${service._links.self.href}\n shipping-method-uri=${ifDefined(this.shippingMethodUri ?? void 0)}\n data-testclass=\"item\"\n class=\"min-h-l\"\n infer=\"\"\n href=${href}\n ?international-allowed=${this.internationalAllowed}\n >\n ${service?.name}\n ${service.is_international\n ? html`<foxy-i18n infer=\"\" slot=\"suffix\" key=\"international_only\"></foxy-i18n>`\n : ''}\n </foxy-internal-store-shipping-method-form-services-page-item>\n `;\n })}\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'pointer-events-none absolute inset-0 flex transition-opacity': true,\n 'opacity-0': !!this.data,\n })}\n >\n <foxy-spinner\n layout=\"vertical\"\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n class=\"m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs\"\n infer=\"\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n}\n"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import '../../../Spinner/index';
|
|
2
|
+
import '../../../I18n/index';
|
|
3
|
+
import '../InternalStoreShippingMethodFormServicesPageItem/index';
|
|
4
|
+
import { InternalStoreShippingMethodFormServicesPage } from './InternalStoreShippingMethodFormServicesPage';
|
|
5
|
+
export { InternalStoreShippingMethodFormServicesPage };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "../../../Spinner/index.js";
|
|
2
|
+
import "../../../I18n/index.js";
|
|
3
|
+
import "../InternalStoreShippingMethodFormServicesPageItem/index.js";
|
|
4
|
+
import { InternalStoreShippingMethodFormServicesPage } from "./InternalStoreShippingMethodFormServicesPage.js";
|
|
5
|
+
customElements.define('foxy-internal-store-shipping-method-form-services-page', InternalStoreShippingMethodFormServicesPage);
|
|
6
|
+
export { InternalStoreShippingMethodFormServicesPage };
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.ts"],"names":[],"mappings":"AAAA,mCAAgC;AAChC,gCAA6B;AAE7B,qEAAkE;AAElE,OAAO,EAAE,2CAA2C,EAAE,yDAAsD;AAE5G,cAAc,CAAC,MAAM,CACnB,wDAAwD,EACxD,2CAA2C,CAC5C,CAAC;AAEF,OAAO,EAAE,2CAA2C,EAAE,CAAC","sourcesContent":["import '../../../Spinner/index';\nimport '../../../I18n/index';\n\nimport '../InternalStoreShippingMethodFormServicesPageItem/index';\n\nimport { InternalStoreShippingMethodFormServicesPage } from './InternalStoreShippingMethodFormServicesPage';\n\ncustomElements.define(\n 'foxy-internal-store-shipping-method-form-services-page',\n InternalStoreShippingMethodFormServicesPage\n);\n\nexport { InternalStoreShippingMethodFormServicesPage };\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit-html';
|
|
2
|
+
import { NucleonElement } from '../../../NucleonElement/NucleonElement';
|
|
3
|
+
import { PropertyDeclarations } from 'lit-element';
|
|
4
|
+
import { Rels } from '@foxy.io/sdk/backend';
|
|
5
|
+
import { Resource } from '@foxy.io/sdk/core';
|
|
6
|
+
declare type Data = Resource<Rels.StoreShippingServices>;
|
|
7
|
+
declare const Base: typeof NucleonElement & {
|
|
8
|
+
styles: import("lit-element").CSSResultArray;
|
|
9
|
+
} & import("lit-element").Constructor<import("../../../../../mixins/configurable").ConfigurableMixinHost>;
|
|
10
|
+
export declare class InternalStoreShippingMethodFormServicesPageItem extends Base<Data> {
|
|
11
|
+
static get properties(): PropertyDeclarations;
|
|
12
|
+
internationalAllowed: boolean;
|
|
13
|
+
shippingServiceUri: string | null;
|
|
14
|
+
shippingMethodUri: string | null;
|
|
15
|
+
render(): TemplateResult;
|
|
16
|
+
}
|
|
17
|
+
export {};
|