@foxy.io/elements 1.18.0-beta.20 → 1.18.0-beta.21

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.
Files changed (214) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-cancellation-form.js +1 -1
  12. package/dist/cdn/foxy-cart-card.js +1 -1
  13. package/dist/cdn/foxy-cart-form.js +1 -1
  14. package/dist/cdn/foxy-collection-page.js +1 -1
  15. package/dist/cdn/foxy-collection-pages.js +1 -1
  16. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  17. package/dist/cdn/foxy-coupon-card.js +1 -1
  18. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  19. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-form.js +1 -1
  22. package/dist/cdn/foxy-custom-field-card.js +1 -1
  23. package/dist/cdn/foxy-custom-field-form.js +1 -1
  24. package/dist/cdn/foxy-customer-card.js +1 -1
  25. package/dist/cdn/foxy-customer-form.js +1 -1
  26. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  27. package/dist/cdn/foxy-customer-portal.js +2 -2
  28. package/dist/cdn/foxy-customer.js +1 -1
  29. package/dist/cdn/foxy-customers-table.js +1 -1
  30. package/dist/cdn/foxy-discount-builder.js +1 -1
  31. package/dist/cdn/foxy-discount-card.js +1 -1
  32. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  33. package/dist/cdn/foxy-donation.js +1 -1
  34. package/dist/cdn/foxy-email-template-card.js +1 -1
  35. package/dist/cdn/foxy-email-template-form.js +1 -1
  36. package/dist/cdn/foxy-error-entry-card.js +1 -1
  37. package/dist/cdn/foxy-form-dialog.js +1 -1
  38. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  39. package/dist/cdn/foxy-gift-card-card.js +1 -1
  40. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  42. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  43. package/dist/cdn/foxy-gift-card-form.js +1 -1
  44. package/dist/cdn/foxy-i18n-editor.js +2 -2
  45. package/dist/cdn/foxy-i18n.js +1 -1
  46. package/dist/cdn/foxy-integration-card.js +1 -1
  47. package/dist/cdn/foxy-integration-form.js +1 -1
  48. package/dist/cdn/foxy-item-card.js +1 -1
  49. package/dist/cdn/foxy-item-category-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-form.js +1 -1
  51. package/dist/cdn/foxy-item-form.js +1 -1
  52. package/dist/cdn/foxy-item-option-card.js +1 -1
  53. package/dist/cdn/foxy-item-option-form.js +1 -1
  54. package/dist/cdn/foxy-items-form.js +1 -1
  55. package/dist/cdn/foxy-pagination.js +1 -1
  56. package/dist/cdn/foxy-payment-card.js +1 -1
  57. package/dist/cdn/foxy-payment-method-card.js +1 -1
  58. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  59. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  60. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  61. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  64. package/dist/cdn/foxy-query-builder.js +1 -1
  65. package/dist/cdn/foxy-report-form.js +2 -2
  66. package/dist/cdn/foxy-reports-table.js +1 -1
  67. package/dist/cdn/foxy-shipment-card.js +1 -1
  68. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  69. package/dist/cdn/foxy-sign-in-form.js +1 -1
  70. package/dist/cdn/foxy-spinner.js +1 -1
  71. package/dist/cdn/foxy-store-form.js +1 -1
  72. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  73. package/dist/cdn/foxy-subscription-card.js +1 -1
  74. package/dist/cdn/foxy-subscription-form.js +1 -1
  75. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  76. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  77. package/dist/cdn/foxy-table.js +1 -1
  78. package/dist/cdn/foxy-tax-card.js +1 -1
  79. package/dist/cdn/foxy-tax-form.js +1 -1
  80. package/dist/cdn/foxy-template-config-form.js +1 -1
  81. package/dist/cdn/foxy-template-form.js +1 -1
  82. package/dist/cdn/foxy-template-set-card.js +1 -1
  83. package/dist/cdn/foxy-template-set-form.js +1 -1
  84. package/dist/cdn/foxy-transaction-card.js +1 -1
  85. package/dist/cdn/foxy-transaction.js +1 -1
  86. package/dist/cdn/foxy-transactions-table.js +4 -4
  87. package/dist/cdn/foxy-user-form.js +1 -1
  88. package/dist/cdn/foxy-users-table.js +1 -1
  89. package/dist/cdn/foxy-webhook-card.js +1 -1
  90. package/dist/cdn/foxy-webhook-form.js +1 -1
  91. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  92. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  93. package/dist/cdn/{shared-2b2002ac.js → shared-02d4bc14.js} +1 -1
  94. package/dist/cdn/shared-0301f5c5.js +1 -0
  95. package/dist/cdn/{shared-6cc53630.js → shared-0a40a749.js} +1 -1
  96. package/dist/cdn/{shared-869df7ed.js → shared-0d3bec9f.js} +1 -1
  97. package/dist/cdn/{shared-bae9da44.js → shared-0f29fba2.js} +1 -1
  98. package/dist/cdn/{shared-88c7755d.js → shared-1392183b.js} +1 -1
  99. package/dist/cdn/{shared-68e0cf30.js → shared-13e6fe8a.js} +1 -1
  100. package/dist/cdn/{shared-b48e5aaf.js → shared-18d42566.js} +1 -1
  101. package/dist/cdn/{shared-df462496.js → shared-206b4ae2.js} +1 -1
  102. package/dist/cdn/{shared-9d7bbdd8.js → shared-25ecdf66.js} +1 -1
  103. package/dist/cdn/{shared-179ff8af.js → shared-2bd47510.js} +3 -3
  104. package/dist/cdn/{shared-bf47ead0.js → shared-2d2ce3b1.js} +1 -1
  105. package/dist/cdn/{shared-17c1eab2.js → shared-307382e5.js} +1 -1
  106. package/dist/cdn/{shared-fafafc09.js → shared-324f9551.js} +1 -1
  107. package/dist/cdn/{shared-7fb8ecc5.js → shared-33912f50.js} +1 -1
  108. package/dist/cdn/{shared-13982611.js → shared-3b249b20.js} +1 -1
  109. package/dist/cdn/{shared-d4a652b7.js → shared-3e8cd935.js} +1 -1
  110. package/dist/cdn/{shared-1e94e6dd.js → shared-459a5ec4.js} +1 -1
  111. package/dist/cdn/{shared-cdc183c5.js → shared-45db2087.js} +1 -1
  112. package/dist/cdn/{shared-776f948d.js → shared-46e22714.js} +1 -1
  113. package/dist/cdn/{shared-0d4f9b06.js → shared-4817dcd1.js} +1 -1
  114. package/dist/cdn/{shared-79d6a262.js → shared-4cbd9a4f.js} +1 -1
  115. package/dist/cdn/{shared-ae588315.js → shared-674c1c04.js} +1 -1
  116. package/dist/cdn/{shared-23bf6ee6.js → shared-6ac71f60.js} +1 -1
  117. package/dist/cdn/{shared-0f649dc6.js → shared-715ee51e.js} +5 -5
  118. package/dist/cdn/{shared-5c6eb602.js → shared-71beb422.js} +1 -1
  119. package/dist/cdn/{shared-a41f2200.js → shared-72279946.js} +1 -1
  120. package/dist/cdn/shared-7304a1ab.js +1 -0
  121. package/dist/cdn/{shared-5b3ae513.js → shared-7788977c.js} +1 -1
  122. package/dist/cdn/{shared-a90a5235.js → shared-780ead03.js} +1 -1
  123. package/dist/cdn/{shared-e94165e9.js → shared-78f6e15f.js} +1 -1
  124. package/dist/cdn/{shared-1db07286.js → shared-7992035c.js} +3 -3
  125. package/dist/cdn/{shared-9d511d7e.js → shared-7a739f89.js} +1 -1
  126. package/dist/cdn/{shared-a343ec6b.js → shared-80378a15.js} +1 -1
  127. package/dist/cdn/{shared-dbd4a5e8.js → shared-8e6a8a88.js} +1 -1
  128. package/dist/cdn/{shared-c379590f.js → shared-915e8780.js} +1 -1
  129. package/dist/cdn/{shared-1351c1e3.js → shared-9291d900.js} +1 -1
  130. package/dist/cdn/{shared-7d658c02.js → shared-9643b6c8.js} +1 -1
  131. package/dist/cdn/{shared-21689ac0.js → shared-9862ca28.js} +1 -1
  132. package/dist/cdn/{shared-5ada1ccb.js → shared-a4165acb.js} +1 -1
  133. package/dist/cdn/{shared-ea6c8bae.js → shared-a6de944b.js} +1 -1
  134. package/dist/cdn/{shared-b7636a23.js → shared-ad3c1ddc.js} +1 -1
  135. package/dist/cdn/{shared-11ffd643.js → shared-c6567654.js} +1 -1
  136. package/dist/cdn/{shared-e99fa3d6.js → shared-d0c5c38f.js} +1 -1
  137. package/dist/cdn/{shared-90c7dbdb.js → shared-d6a78c23.js} +1 -1
  138. package/dist/cdn/{shared-2f6e33b6.js → shared-d7c271d2.js} +1 -1
  139. package/dist/cdn/{shared-d384d6a3.js → shared-d7dfd3d8.js} +1 -1
  140. package/dist/cdn/{shared-413415b0.js → shared-daab7e76.js} +1 -1
  141. package/dist/cdn/{shared-8eb4c8d7.js → shared-e0615601.js} +1 -1
  142. package/dist/cdn/{shared-3ca1e8e4.js → shared-e39be772.js} +1 -1
  143. package/dist/cdn/{shared-cf784db1.js → shared-e7e0ee80.js} +1 -1
  144. package/dist/cdn/{shared-034c6aeb.js → shared-ef98812b.js} +1 -1
  145. package/dist/cdn/{shared-39b184de.js → shared-f69afa4b.js} +1 -1
  146. package/dist/cdn/{shared-e06b70cc.js → shared-f821859e.js} +1 -1
  147. package/dist/cdn/shared-fedeb7b2.js +1 -0
  148. package/dist/cdn/translations/cart-card/en.json +3 -3
  149. package/dist/cdn/translations/gift-card-code-form/en.json +6 -3
  150. package/dist/cdn/translations/gift-card-code-log-card/en.json +6 -3
  151. package/dist/cdn/translations/integration-form/en.json +13 -15
  152. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +0 -2
  153. package/dist/cdn/translations/payments-api-payment-method-card/en.json +0 -2
  154. package/dist/cdn/translations/template-set-form/en.json +10 -0
  155. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -1
  156. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +1 -1
  157. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  158. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +12 -0
  159. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +12 -0
  160. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -1
  161. package/dist/elements/public/AdminSubscriptionCard/index.d.ts +1 -0
  162. package/dist/elements/public/AdminSubscriptionCard/index.js +1 -0
  163. package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -1
  164. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +23 -4
  165. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +19 -0
  166. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
  167. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +12 -0
  168. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
  169. package/dist/elements/public/CartCard/CartCard.d.ts +7 -2
  170. package/dist/elements/public/CartCard/CartCard.js +16 -9
  171. package/dist/elements/public/CartCard/CartCard.js.map +1 -1
  172. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +13 -2
  173. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +66 -76
  174. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -1
  175. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +1 -2
  176. package/dist/elements/public/GiftCardCodeLogCard/index.js +1 -2
  177. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -1
  178. package/dist/elements/public/I18n/format/price.js +1 -0
  179. package/dist/elements/public/I18n/format/price.js.map +1 -1
  180. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +35 -0
  181. package/dist/elements/public/IntegrationForm/IntegrationForm.js +156 -164
  182. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
  183. package/dist/elements/public/IntegrationForm/index.d.ts +1 -0
  184. package/dist/elements/public/IntegrationForm/index.js +1 -0
  185. package/dist/elements/public/IntegrationForm/index.js.map +1 -1
  186. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +24 -3
  187. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +33 -20
  188. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
  189. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +2 -1
  190. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +2 -1
  191. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -1
  192. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +24 -4
  193. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +32 -21
  194. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
  195. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +2 -1
  196. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +2 -1
  197. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -1
  198. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +1 -1
  199. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +1 -1
  200. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  201. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +49 -8
  202. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +100 -64
  203. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  204. package/dist/elements/public/TemplateSetForm/index.d.ts +1 -0
  205. package/dist/elements/public/TemplateSetForm/index.js +1 -0
  206. package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
  207. package/dist/elements/public/TemplateSetForm/types.d.ts +22 -0
  208. package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
  209. package/dist/mixins/themeable.js +0 -4
  210. package/dist/mixins/themeable.js.map +1 -1
  211. package/package.json +1 -1
  212. package/dist/cdn/shared-004f1a77.js +0 -1
  213. package/dist/cdn/shared-2f9b7791.js +0 -1
  214. package/dist/cdn/shared-888d690a.js +0 -1
@@ -1,15 +1,35 @@
1
1
  import type { PropertyDeclarations } from 'lit-element';
2
2
  import type { TemplateResult } from 'lit-html';
3
3
  import type { Data } from './types';
4
- import { InternalCard } from '../../internal/InternalCard/InternalCard';
5
- declare const Base: typeof InternalCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
4
+ import { TwoLineCard } from '../CustomFieldCard/TwoLineCard';
5
+ declare const Base: typeof TwoLineCard & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
6
6
  defaultNS: string;
7
7
  };
8
+ /**
9
+ * Card element representing a `fx:payment_method` resource of Payments API.
10
+ *
11
+ * _Payments API is a client-side virtual API layer built on top of hAPI
12
+ * in an attempt to streamline access to stores' payment method settings
13
+ * that is currently a bit quirky due to the legacy functionality. To use
14
+ * this element with hAPI, wrap it into a foxy-payments-api node._
15
+ *
16
+ * @slot title:before
17
+ * @slot title:after
18
+ *
19
+ * @slot subtitle:before
20
+ * @slot subtitle:after
21
+ *
22
+ * @element foxy-payments-api-payment-method-card
23
+ * @since 1.21.0
24
+ */
8
25
  export declare class PaymentsApiPaymentMethodCard extends Base<Data> {
9
26
  static get defaultImageSrc(): string;
10
27
  static get properties(): PropertyDeclarations;
11
- paymentGatewaysHelper: string | null;
28
+ /**
29
+ * Payment method image/logo URL getter.
30
+ * If left `null`, the card will display the default image.
31
+ */
12
32
  getImageSrc: ((type: string) => string) | null;
13
- renderBody(): TemplateResult;
33
+ render(): TemplateResult;
14
34
  }
15
35
  export {};
@@ -1,12 +1,32 @@
1
1
  import { TranslatableMixin } from "../../../mixins/translatable.js";
2
- import { InternalCard } from "../../internal/InternalCard/InternalCard.js";
2
+ import { TwoLineCard } from "../CustomFieldCard/TwoLineCard.js";
3
3
  import { html } from 'lit-html';
4
4
  const NS = 'payments-api-payment-method-card';
5
- const Base = TranslatableMixin(InternalCard, NS);
5
+ const Base = TranslatableMixin(TwoLineCard, NS);
6
+ /**
7
+ * Card element representing a `fx:payment_method` resource of Payments API.
8
+ *
9
+ * _Payments API is a client-side virtual API layer built on top of hAPI
10
+ * in an attempt to streamline access to stores' payment method settings
11
+ * that is currently a bit quirky due to the legacy functionality. To use
12
+ * this element with hAPI, wrap it into a foxy-payments-api node._
13
+ *
14
+ * @slot title:before
15
+ * @slot title:after
16
+ *
17
+ * @slot subtitle:before
18
+ * @slot subtitle:after
19
+ *
20
+ * @element foxy-payments-api-payment-method-card
21
+ * @since 1.21.0
22
+ */
6
23
  export class PaymentsApiPaymentMethodCard extends Base {
7
24
  constructor() {
8
25
  super(...arguments);
9
- this.paymentGatewaysHelper = null;
26
+ /**
27
+ * Payment method image/logo URL getter.
28
+ * If left `null`, the card will display the default image.
29
+ */
10
30
  this.getImageSrc = null;
11
31
  }
12
32
  static get defaultImageSrc() {
@@ -15,16 +35,21 @@ export class PaymentsApiPaymentMethodCard extends Base {
15
35
  static get properties() {
16
36
  return {
17
37
  ...super.properties,
18
- paymentGatewaysHelper: { type: String, attribute: 'payment-gateways-helper' },
19
38
  getImageSrc: { attribute: false },
20
39
  };
21
40
  }
22
- renderBody() {
41
+ render() {
23
42
  var _a, _b;
43
+ const defaultLayout = super.render({
44
+ title: data => html `${data.helper.name}`,
45
+ subtitle: data => html `${data.description}`,
46
+ });
47
+ if (!this.in({ idle: 'snapshot' }))
48
+ return defaultLayout;
24
49
  const defaultSrc = PaymentsApiPaymentMethodCard.defaultImageSrc;
25
50
  const data = this.data;
26
51
  return html `
27
- <figure class="flex items-center gap-m h-m">
52
+ <figure class="flex items-center gap-m">
28
53
  <img
29
54
  class="relative h-s w-s object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs"
30
55
  src=${(_b = (data ? (_a = this.getImageSrc) === null || _a === void 0 ? void 0 : _a.call(this, data.type) : null)) !== null && _b !== void 0 ? _b : defaultSrc}
@@ -32,21 +57,7 @@ export class PaymentsApiPaymentMethodCard extends Base {
32
57
  @error=${(evt) => (evt.currentTarget.src = defaultSrc)}
33
58
  />
34
59
 
35
- <figcaption class="min-w-0 flex-1">
36
- <dl class="flex justify-between gap-s">
37
- <dt class="sr-only">${this.t('title_description')}</dt>
38
- <dd class="font-semibold truncate flex-shrink-0">
39
- ${data === null || data === void 0 ? void 0 : data.helper.name}&ZeroWidthSpace;
40
- </dd>
41
-
42
- ${(data === null || data === void 0 ? void 0 : data.helper.name) !== (data === null || data === void 0 ? void 0 : data.description)
43
- ? html `
44
- <dt class="sr-only">${this.t('subtitle_description')}</dt>
45
- <dd class="truncate text-tertiary">${data === null || data === void 0 ? void 0 : data.description}</dd>
46
- `
47
- : ''}
48
- </dl>
49
- </figcaption>
60
+ <figcaption class="min-w-0 flex-1">${defaultLayout}</figcaption>
50
61
  </figure>
51
62
  `;
52
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentsApiPaymentMethodCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,kCAAkC,CAAC;AAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,4BAA6B,SAAQ,IAAU;IAA5D;;QAaE,0BAAqB,GAAkB,IAAI,CAAC;QAE5C,gBAAW,GAAsC,IAAI,CAAC;IAiCxD,CAAC;IA/CC,MAAM,KAAK,eAAe;QACxB,OAAO,goBAAgoB,CAAC;IAC1oB,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,yBAAyB,EAAE;YAC7E,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAClC,CAAC;IACJ,CAAC;IAMD,UAAU;;QACR,MAAM,UAAU,GAAG,4BAA4B,CAAC,eAAe,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAA;;;;gBAIC,MAAA,CAAC,IAAI,CAAC,CAAC,OAAC,IAAI,CAAC,WAAW,+CAAhB,IAAI,EAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,mCAAI,UAAU;gBAC3D,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;mBAChB,CAAC,GAAU,EAAE,EAAE,CAAC,CAAE,GAAG,CAAC,aAAkC,CAAC,GAAG,GAAG,UAAU,CAAC;;;;;kCAK3D,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;;gBAE7C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,IAAI;;;cAGnB,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,IAAI,OAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA;YACvC,CAAC,CAAC,IAAI,CAAA;wCACoB,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC;uDACf,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW;iBACvD;YACH,CAAC,CAAC,EAAE;;;;KAIb,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport 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 = 'payments-api-payment-method-card';\nconst Base = TranslatableMixin(InternalCard, NS);\n\nexport class PaymentsApiPaymentMethodCard extends Base<Data> {\n static get defaultImageSrc(): string {\n return \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 44 44'%3E%3Cpath fill='%23fff' d='m29.3 14 14-14H32.1l-14 14h11.2Zm2.7 9.9 12-12V.7L30.62 14.1A2 2 0 0 1 32 16v7.9ZM13.31 44h11.18L44 24.5V13.3l-12 12V28a2 2 0 0 1-2 2h-2.69l-14 14Zm-1.41 0H.7l14-14h11.2l-14 14Zm14 0h11.2l6.9-6.9V25.9L25.9 44Zm12.6 0H44v-5.5L38.5 44Z'/%3E%3Cpath fill='%23fff' d='M30 28H14v-6h16v6Zm0-10v-2H14v2h16ZM0 43.3l13.4-13.4A2 2 0 0 1 12 28v-7.9L0 32.12V43.3Z'/%3E%3Cpath fill='%23fff' d='M16.7 14H14c-1.11 0-1.99.89-1.99 2v2.7L0 30.7V19.52L19.52 0H30.7l-14 14Zm1.4-14H6.92L0 6.92V18.1L18.1 0ZM5.5 0H0v5.5L5.5 0Z'/%3E%3C/svg%3E\";\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n paymentGatewaysHelper: { type: String, attribute: 'payment-gateways-helper' },\n getImageSrc: { attribute: false },\n };\n }\n\n paymentGatewaysHelper: string | null = null;\n\n getImageSrc: ((type: string) => string) | null = null;\n\n renderBody(): TemplateResult {\n const defaultSrc = PaymentsApiPaymentMethodCard.defaultImageSrc;\n const data = this.data;\n\n return html`\n <figure class=\"flex items-center gap-m h-m\">\n <img\n class=\"relative h-s w-s object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs\"\n src=${(data ? this.getImageSrc?.(data.type) : null) ?? defaultSrc}\n alt=${this.t('image_alt')}\n @error=${(evt: Event) => ((evt.currentTarget as HTMLImageElement).src = defaultSrc)}\n />\n\n <figcaption class=\"min-w-0 flex-1\">\n <dl class=\"flex justify-between gap-s\">\n <dt class=\"sr-only\">${this.t('title_description')}</dt>\n <dd class=\"font-semibold truncate flex-shrink-0\">\n ${data?.helper.name}&ZeroWidthSpace;\n </dd>\n\n ${data?.helper.name !== data?.description\n ? html`\n <dt class=\"sr-only\">${this.t('subtitle_description')}</dt>\n <dd class=\"truncate text-tertiary\">${data?.description}</dd>\n `\n : ''}\n </dl>\n </figcaption>\n </figure>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"PaymentsApiPaymentMethodCard.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,WAAW,EAAE,0CAAuC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,kCAAkC,CAAC;AAC9C,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAEhD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,4BAA6B,SAAQ,IAAU;IAA5D;;QAYE;;;WAGG;QACH,gBAAW,GAAsC,IAAI,CAAC;IA0BxD,CAAC;IAzCC,MAAM,KAAK,eAAe;QACxB,OAAO,goBAAgoB,CAAC;IAC1oB,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAClC,CAAC;IACJ,CAAC;IAQD,MAAM;;QACJ,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,WAAW,EAAE;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAAE,OAAO,aAAa,CAAC;QAEzD,MAAM,UAAU,GAAG,4BAA4B,CAAC,eAAe,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAA;;;;gBAIC,MAAA,CAAC,IAAI,CAAC,CAAC,OAAC,IAAI,CAAC,WAAW,+CAAhB,IAAI,EAAe,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,mCAAI,UAAU;gBAC3D,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;mBAChB,CAAC,GAAU,EAAE,EAAE,CAAC,CAAE,GAAG,CAAC,aAAkC,CAAC,GAAG,GAAG,UAAU,CAAC;;;6CAGhD,aAAa;;KAErD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { html } from 'lit-html';\n\nconst NS = 'payments-api-payment-method-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Card element representing a `fx:payment_method` resource of Payments API.\n *\n * _Payments API is a client-side virtual API layer built on top of hAPI\n * in an attempt to streamline access to stores' payment method settings\n * that is currently a bit quirky due to the legacy functionality. To use\n * this element with hAPI, wrap it into a foxy-payments-api node._\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-payments-api-payment-method-card\n * @since 1.21.0\n */\nexport class PaymentsApiPaymentMethodCard extends Base<Data> {\n static get defaultImageSrc(): string {\n return \"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 44 44'%3E%3Cpath fill='%23fff' d='m29.3 14 14-14H32.1l-14 14h11.2Zm2.7 9.9 12-12V.7L30.62 14.1A2 2 0 0 1 32 16v7.9ZM13.31 44h11.18L44 24.5V13.3l-12 12V28a2 2 0 0 1-2 2h-2.69l-14 14Zm-1.41 0H.7l14-14h11.2l-14 14Zm14 0h11.2l6.9-6.9V25.9L25.9 44Zm12.6 0H44v-5.5L38.5 44Z'/%3E%3Cpath fill='%23fff' d='M30 28H14v-6h16v6Zm0-10v-2H14v2h16ZM0 43.3l13.4-13.4A2 2 0 0 1 12 28v-7.9L0 32.12V43.3Z'/%3E%3Cpath fill='%23fff' d='M16.7 14H14c-1.11 0-1.99.89-1.99 2v2.7L0 30.7V19.52L19.52 0H30.7l-14 14Zm1.4-14H6.92L0 6.92V18.1L18.1 0ZM5.5 0H0v5.5L5.5 0Z'/%3E%3C/svg%3E\";\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getImageSrc: { attribute: false },\n };\n }\n\n /**\n * Payment method image/logo URL getter.\n * If left `null`, the card will display the default image.\n */\n getImageSrc: ((type: string) => string) | null = null;\n\n render(): TemplateResult {\n const defaultLayout = super.render({\n title: data => html`${data.helper.name}`,\n subtitle: data => html`${data.description}`,\n });\n\n if (!this.in({ idle: 'snapshot' })) return defaultLayout;\n\n const defaultSrc = PaymentsApiPaymentMethodCard.defaultImageSrc;\n const data = this.data;\n\n return html`\n <figure class=\"flex items-center gap-m\">\n <img\n class=\"relative h-s w-s object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs\"\n src=${(data ? this.getImageSrc?.(data.type) : null) ?? defaultSrc}\n alt=${this.t('image_alt')}\n @error=${(evt: Event) => ((evt.currentTarget as HTMLImageElement).src = defaultSrc)}\n />\n\n <figcaption class=\"min-w-0 flex-1\">${defaultLayout}</figcaption>\n </figure>\n `;\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
- import '../../internal/InternalCard/index';
1
+ import '../../internal/InternalSandbox/index';
2
+ import '../Spinner/index';
2
3
  import '../I18n/index';
3
4
  import { PaymentsApiPaymentMethodCard } from './PaymentsApiPaymentMethodCard';
4
5
  export { PaymentsApiPaymentMethodCard };
@@ -1,4 +1,5 @@
1
- import "../../internal/InternalCard/index.js";
1
+ import "../../internal/InternalSandbox/index.js";
2
+ import "../Spinner/index.js";
2
3
  import "../I18n/index.js";
3
4
  import { PaymentsApiPaymentMethodCard } from "./PaymentsApiPaymentMethodCard.js";
4
5
  customElements.define('foxy-payments-api-payment-method-card', PaymentsApiPaymentMethodCard);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodCard/index.ts"],"names":[],"mappings":"AAAA,8CAA2C;AAE3C,0BAAuB;AAEvB,OAAO,EAAE,4BAA4B,EAAE,0CAAuC;AAE9E,cAAc,CAAC,MAAM,CAAC,uCAAuC,EAAE,4BAA4B,CAAC,CAAC;AAE7F,OAAO,EAAE,4BAA4B,EAAE,CAAC","sourcesContent":["import '../../internal/InternalCard/index';\n\nimport '../I18n/index';\n\nimport { PaymentsApiPaymentMethodCard } from './PaymentsApiPaymentMethodCard';\n\ncustomElements.define('foxy-payments-api-payment-method-card', PaymentsApiPaymentMethodCard);\n\nexport { PaymentsApiPaymentMethodCard };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/PaymentsApiPaymentMethodCard/index.ts"],"names":[],"mappings":"AAAA,iDAA8C;AAE9C,6BAA0B;AAC1B,0BAAuB;AAEvB,OAAO,EAAE,4BAA4B,EAAE,0CAAuC;AAE9E,cAAc,CAAC,MAAM,CAAC,uCAAuC,EAAE,4BAA4B,CAAC,CAAC;AAE7F,OAAO,EAAE,4BAA4B,EAAE,CAAC","sourcesContent":["import '../../internal/InternalSandbox/index';\n\nimport '../Spinner/index';\nimport '../I18n/index';\n\nimport { PaymentsApiPaymentMethodCard } from './PaymentsApiPaymentMethodCard';\n\ncustomElements.define('foxy-payments-api-payment-method-card', PaymentsApiPaymentMethodCard);\n\nexport { PaymentsApiPaymentMethodCard };\n"]}
@@ -10,7 +10,7 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
10
10
  * Form element for creating and editing store shipping methods (`fx:store_shipping_method`).
11
11
  *
12
12
  * @element foxy-store-shipping-method-form
13
- * @since 1.18.0
13
+ * @since 1.21.0
14
14
  */
15
15
  export declare class StoreShippingMethodForm extends Base<Data> {
16
16
  static get properties(): typeof Base['properties'];
@@ -19,7 +19,7 @@ const isURL = (value) => {
19
19
  * Form element for creating and editing store shipping methods (`fx:store_shipping_method`).
20
20
  *
21
21
  * @element foxy-store-shipping-method-form
22
- * @since 1.18.0
22
+ * @since 1.21.0
23
23
  */
24
24
  export class StoreShippingMethodForm extends Base {
25
25
  constructor() {
@@ -1 +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 { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\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 form => {\n if (form._embedded?.['fx:shipping_method'].code === 'CUSTOM-ENDPOINT-POST') {\n return (form.accountid && isURL(form.accountid)) || 'endpoint:required';\n } else {\n return true;\n }\n },\n\n form => {\n const url = form.shipping_container_uri;\n const code = form._embedded?.['fx:shipping_method'].code;\n const codes = ['USPS', 'FedEx', 'UPS'];\n\n if (code && codes.includes(code)) {\n return (url && isURL(url)) || 'shipping-container-uri:required';\n } else {\n return true;\n }\n },\n\n form => {\n const url = form.shipping_drop_type_uri;\n const code = form._embedded?.['fx:shipping_method'].code;\n const codes = ['FedEx', 'UPS'];\n\n if (code && codes.includes(code)) {\n return (url && isURL(url)) || 'shipping-drop-type-uri:required';\n } else {\n return true;\n }\n },\n ];\n }\n\n shippingMethods: string | null = null;\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 use_for_domestic: newValue.includes('domestic'),\n use_for_international: newValue.includes('international'),\n });\n };\n\n get hiddenSelector(): BooleanSelector {\n const code = this.form._embedded?.['fx:shipping_method'].code;\n if (!code) return new BooleanSelector('not=shipping-method-uri,timestamps,create,delete');\n\n const orgControls = ['shipping-container-uri', 'shipping-drop-type-uri', 'destinations'];\n const authControls = ['authentication-key', 'meter-number', 'accountid', 'password'];\n const codeToControls: Record<string, string[]> = {\n 'CUSTOM-ENDPOINT-POST': ['endpoint'],\n 'CUSTOM-CODE': ['custom-code'],\n 'CUSTOM': ['destinations', 'services'],\n 'FedEx': [...orgControls, ...authControls, 'services'],\n 'USPS': [...orgControls, 'services'],\n 'UPS': [...orgControls, ...authControls, 'services'],\n };\n\n if (codeToControls[code]) {\n const controls = codeToControls[code];\n const set = ['shipping-method-uri', ...controls, 'timestamps', 'delete', 'create'];\n return new BooleanSelector(`not=${set.join()} ${super.hiddenSelector}`);\n } else {\n return super.hiddenSelector;\n }\n }\n\n renderBody(): TemplateResult {\n const method = this.form._embedded?.['fx:shipping_method'];\n\n return html`\n ${['method', 'container', 'drop_type'].map(tgt => {\n const curie = `fx:shipping_${tgt}` as keyof Data['_embedded'];\n const prop = `shipping_${tgt}_uri` as keyof Data;\n\n if (this.form._embedded?.[curie] || !this.form[prop]) return;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${this.form[prop]}\n @update=${(evt: CustomEvent) => {\n const loader = evt.currentTarget as NucleonElement<any>;\n const data = loader.data;\n\n if (data) {\n const newEmbeds = { ...this.form._embedded, [curie]: data };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }\n }}\n >\n </foxy-nucleon>\n `;\n })}\n\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\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\n <foxy-internal-text-control\n infer=${method?.code === 'CUSTOM-ENDPOINT-POST' ? 'endpoint' : 'accountid'}\n property=\"accountid\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"password\"></foxy-internal-text-control>\n <foxy-internal-text-area-control infer=\"custom-code\"></foxy-internal-text-area-control>\n\n <foxy-internal-store-shipping-method-form-services-control infer=\"services\">\n </foxy-internal-store-shipping-method-form-services-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
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 { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\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.21.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 form => {\n if (form._embedded?.['fx:shipping_method'].code === 'CUSTOM-ENDPOINT-POST') {\n return (form.accountid && isURL(form.accountid)) || 'endpoint:required';\n } else {\n return true;\n }\n },\n\n form => {\n const url = form.shipping_container_uri;\n const code = form._embedded?.['fx:shipping_method'].code;\n const codes = ['USPS', 'FedEx', 'UPS'];\n\n if (code && codes.includes(code)) {\n return (url && isURL(url)) || 'shipping-container-uri:required';\n } else {\n return true;\n }\n },\n\n form => {\n const url = form.shipping_drop_type_uri;\n const code = form._embedded?.['fx:shipping_method'].code;\n const codes = ['FedEx', 'UPS'];\n\n if (code && codes.includes(code)) {\n return (url && isURL(url)) || 'shipping-drop-type-uri:required';\n } else {\n return true;\n }\n },\n ];\n }\n\n shippingMethods: string | null = null;\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 use_for_domestic: newValue.includes('domestic'),\n use_for_international: newValue.includes('international'),\n });\n };\n\n get hiddenSelector(): BooleanSelector {\n const code = this.form._embedded?.['fx:shipping_method'].code;\n if (!code) return new BooleanSelector('not=shipping-method-uri,timestamps,create,delete');\n\n const orgControls = ['shipping-container-uri', 'shipping-drop-type-uri', 'destinations'];\n const authControls = ['authentication-key', 'meter-number', 'accountid', 'password'];\n const codeToControls: Record<string, string[]> = {\n 'CUSTOM-ENDPOINT-POST': ['endpoint'],\n 'CUSTOM-CODE': ['custom-code'],\n 'CUSTOM': ['destinations', 'services'],\n 'FedEx': [...orgControls, ...authControls, 'services'],\n 'USPS': [...orgControls, 'services'],\n 'UPS': [...orgControls, ...authControls, 'services'],\n };\n\n if (codeToControls[code]) {\n const controls = codeToControls[code];\n const set = ['shipping-method-uri', ...controls, 'timestamps', 'delete', 'create'];\n return new BooleanSelector(`not=${set.join()} ${super.hiddenSelector}`);\n } else {\n return super.hiddenSelector;\n }\n }\n\n renderBody(): TemplateResult {\n const method = this.form._embedded?.['fx:shipping_method'];\n\n return html`\n ${['method', 'container', 'drop_type'].map(tgt => {\n const curie = `fx:shipping_${tgt}` as keyof Data['_embedded'];\n const prop = `shipping_${tgt}_uri` as keyof Data;\n\n if (this.form._embedded?.[curie] || !this.form[prop]) return;\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${this.form[prop]}\n @update=${(evt: CustomEvent) => {\n const loader = evt.currentTarget as NucleonElement<any>;\n const data = loader.data;\n\n if (data) {\n const newEmbeds = { ...this.form._embedded, [curie]: data };\n this.edit({ _embedded: newEmbeds as Data['_embedded'] });\n }\n }}\n >\n </foxy-nucleon>\n `;\n })}\n\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\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\n <foxy-internal-text-control\n infer=${method?.code === 'CUSTOM-ENDPOINT-POST' ? 'endpoint' : 'accountid'}\n property=\"accountid\"\n >\n </foxy-internal-text-control>\n\n <foxy-internal-text-control infer=\"password\"></foxy-internal-text-control>\n <foxy-internal-text-area-control infer=\"custom-code\"></foxy-internal-text-area-control>\n\n <foxy-internal-store-shipping-method-form-services-control infer=\"services\">\n </foxy-internal-store-shipping-method-form-services-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -1,26 +1,67 @@
1
- import type { CSSResultArray, PropertyDeclarations } from 'lit-element';
2
- import type { PaymentsApiPaymentPresetForm } from '../PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm';
3
- import type { TemplateConfigForm } from '../TemplateConfigForm/TemplateConfigForm';
1
+ import type { PropertyDeclarations } from 'lit-element';
2
+ import type { Data, Templates } from './types';
4
3
  import type { TemplateResult } from 'lit-html';
5
4
  import type { NucleonV8N } from '../NucleonElement/types';
6
- import type { Data } from './types';
7
5
  import { BooleanSelector } from '@foxy.io/sdk/core';
8
6
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
9
7
  declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
10
8
  defaultNS: string;
11
9
  };
10
+ /**
11
+ * Form element for creating and editing template sets (`fx:template_set`).
12
+ *
13
+ * @slot description:before
14
+ * @slot description:after
15
+ *
16
+ * @slot code:before
17
+ * @slot code:after
18
+ *
19
+ * @slot language:before
20
+ * @slot language:after
21
+ *
22
+ * @slot locale-code:before
23
+ * @slot locale-code:after
24
+ *
25
+ * @slot payment-method-set-uri:before
26
+ * @slot payment-method-set-uri:after
27
+ *
28
+ * @slot language-overrides:before
29
+ * @slot language-overrides:after
30
+ *
31
+ * @slot timestamps:before
32
+ * @slot timestamps:after
33
+ *
34
+ * @slot create:before
35
+ * @slot create:after
36
+ *
37
+ * @slot delete:before
38
+ * @slot delete:after
39
+ *
40
+ * @element foxy-template-set-form
41
+ * @since 1.21.0
42
+ */
12
43
  export declare class TemplateSetForm extends Base<Data> {
13
44
  static get properties(): PropertyDeclarations;
14
- static get styles(): CSSResultArray;
15
45
  static get v8n(): NucleonV8N<Data>;
46
+ /** URL of the store's `fx:payment_method_sets` collection (used to fill the relevant dropdown with options). */
16
47
  paymentMethodSets: string | null;
48
+ /** URL of the `fx:language_strings` property helper (passed through to foxy-i18n-editor). */
17
49
  languageStrings: string | null;
50
+ /** URL of the `fx:locale_codes` property helper (used to fill the relevant dropdown with options). */
18
51
  localeCodes: string | null;
52
+ /** URL of the `fx:languages` property helper (used to fill the relevant dropdown with options). */
19
53
  languages: string | null;
20
- get hiddenSelector(): BooleanSelector;
54
+ /** Template render functions mapped to their name. */
55
+ templates: Templates;
56
+ private readonly __paymentMethodSetLoaderId;
57
+ private readonly __localeCodesLoaderId;
58
+ private readonly __languagesLoaderId;
59
+ get disabledSelector(): BooleanSelector;
21
60
  get readonlySelector(): BooleanSelector;
22
- get templateConfigForm(): TemplateConfigForm | null;
23
- get paymentsApiPaymentPresetForm(): PaymentsApiPaymentPresetForm | null;
61
+ get hiddenSelector(): BooleanSelector;
24
62
  renderBody(): TemplateResult;
63
+ private get __paymentMethodSetLoader();
64
+ private get __localeCodesLoader();
65
+ private get __languagesLoader();
25
66
  }
26
67
  export {};
@@ -1,17 +1,60 @@
1
1
  import { TranslatableMixin } from "../../../mixins/translatable.js";
2
2
  import { BooleanSelector } from '@foxy.io/sdk/core';
3
+ import { ResponsiveMixin } from "../../../mixins/responsive.js";
3
4
  import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
4
5
  import { ifDefined } from 'lit-html/directives/if-defined';
5
- import { html, css } from 'lit-element';
6
+ import { html } from 'lit-element';
6
7
  const NS = 'template-set-form';
7
- const Base = TranslatableMixin(InternalForm, NS);
8
+ const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
9
+ /**
10
+ * Form element for creating and editing template sets (`fx:template_set`).
11
+ *
12
+ * @slot description:before
13
+ * @slot description:after
14
+ *
15
+ * @slot code:before
16
+ * @slot code:after
17
+ *
18
+ * @slot language:before
19
+ * @slot language:after
20
+ *
21
+ * @slot locale-code:before
22
+ * @slot locale-code:after
23
+ *
24
+ * @slot payment-method-set-uri:before
25
+ * @slot payment-method-set-uri:after
26
+ *
27
+ * @slot language-overrides:before
28
+ * @slot language-overrides:after
29
+ *
30
+ * @slot timestamps:before
31
+ * @slot timestamps:after
32
+ *
33
+ * @slot create:before
34
+ * @slot create:after
35
+ *
36
+ * @slot delete:before
37
+ * @slot delete:after
38
+ *
39
+ * @element foxy-template-set-form
40
+ * @since 1.21.0
41
+ */
8
42
  export class TemplateSetForm extends Base {
9
43
  constructor() {
10
44
  super(...arguments);
45
+ /** URL of the store's `fx:payment_method_sets` collection (used to fill the relevant dropdown with options). */
11
46
  this.paymentMethodSets = null;
12
- this.languageStrings = 'https://demo.api/hapi/property_helpers/10';
47
+ /** URL of the `fx:language_strings` property helper (passed through to foxy-i18n-editor). */
48
+ this.languageStrings = null;
49
+ /** URL of the `fx:locale_codes` property helper (used to fill the relevant dropdown with options). */
13
50
  this.localeCodes = null;
51
+ /** URL of the `fx:languages` property helper (used to fill the relevant dropdown with options). */
14
52
  this.languages = null;
53
+ /** Template render functions mapped to their name. */
54
+ this.templates = {};
55
+ this.__paymentMethodSetLoaderId = 'paymentMethodSetLoader';
56
+ this.__localeCodesLoaderId = 'localeCodesLoader';
57
+ this.__languagesLoaderId = 'languagesLoader';
15
58
  }
16
59
  static get properties() {
17
60
  return {
@@ -22,20 +65,6 @@ export class TemplateSetForm extends Base {
22
65
  languages: {},
23
66
  };
24
67
  }
25
- static get styles() {
26
- return [
27
- super.styles,
28
- css `vaadin-button::part(label){
29
- flex:1;
30
- padding:0;
31
- }
32
-
33
- .grid-cols-16rem{
34
- grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr));
35
- }
36
- `,
37
- ];
38
- }
39
68
  static get v8n() {
40
69
  return [
41
70
  ({ description: v }) => !!v || 'description:v8n_required',
@@ -46,56 +75,44 @@ export class TemplateSetForm extends Base {
46
75
  ({ locale_code: v }) => !!v || 'locale_code:v8n_required',
47
76
  ];
48
77
  }
49
- get hiddenSelector() {
50
- var _a;
51
- const alwaysHidden = [
52
- 'cart-template-uri:not=content',
53
- 'cart-include-template-uri:not=content',
54
- 'email-template-uri:not=content,template-language',
55
- 'checkout-template-uri:not=content',
56
- 'receipt-template-uri:not=content',
57
- 'config:payment-method-set-uri:delete',
58
- 'config:payment-method-set-uri:create',
59
- 'config:payment-method-set-uri:timestamps',
60
- 'config:payment-method-set-uri:description',
61
- 'config:template-dialog:description',
62
- 'config:template-dialog:delete',
63
- ];
64
- if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
65
- alwaysHidden.push('delete');
66
- return new BooleanSelector(`${alwaysHidden.join(' ')} ${super.hiddenSelector.toString()}`);
78
+ get disabledSelector() {
79
+ var _a, _b, _c;
80
+ const alwaysDisabled = [];
81
+ if (!((_a = this.__languagesLoader) === null || _a === void 0 ? void 0 : _a.data))
82
+ alwaysDisabled.push('language');
83
+ if (!((_b = this.__localeCodesLoader) === null || _b === void 0 ? void 0 : _b.data))
84
+ alwaysDisabled.push('locale-code');
85
+ if (!((_c = this.__paymentMethodSetLoader) === null || _c === void 0 ? void 0 : _c.data) && this.form.payment_method_set_uri) {
86
+ alwaysDisabled.push('payment-method-set-uri');
87
+ }
88
+ return new BooleanSelector(`${alwaysDisabled.join(' ')} ${super.disabledSelector}`);
67
89
  }
68
90
  get readonlySelector() {
69
91
  var _a;
70
92
  const alwaysReadonly = [];
71
93
  if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
72
94
  alwaysReadonly.push('code', 'description');
73
- return new BooleanSelector(`${alwaysReadonly.join(' ')} ${super.readonlySelector.toString()}`);
74
- }
75
- get templateConfigForm() {
76
- return this.renderRoot.querySelector('foxy-template-config-form');
95
+ return new BooleanSelector(`${alwaysReadonly.join(' ')} ${super.readonlySelector}`);
77
96
  }
78
- get paymentsApiPaymentPresetForm() {
79
- return this.renderRoot.querySelector('foxy-payments-api-payment-preset-form');
97
+ get hiddenSelector() {
98
+ var _a;
99
+ const alwaysHidden = [];
100
+ if (((_a = this.data) === null || _a === void 0 ? void 0 : _a.code) === 'DEFAULT')
101
+ alwaysHidden.push('delete');
102
+ return new BooleanSelector(`${alwaysHidden.join(' ')} ${super.hiddenSelector}`);
80
103
  }
81
104
  renderBody() {
82
- var _a, _b, _c, _d;
83
- const localeCodesLoader = this.renderRoot.querySelector('#localeCodes');
84
- const localeCodes = localeCodesLoader === null || localeCodesLoader === void 0 ? void 0 : localeCodesLoader.data;
85
- const localeCodeEntries = Object.entries((_a = localeCodes === null || localeCodes === void 0 ? void 0 : localeCodes.values) !== null && _a !== void 0 ? _a : {});
86
- const localeCodeOptions = localeCodeEntries.map(([value, label]) => ({ value, label }));
87
- const languagesLoader = this.renderRoot.querySelector('#languages');
88
- const languages = languagesLoader === null || languagesLoader === void 0 ? void 0 : languagesLoader.data;
89
- const languageEntries = Object.entries((_b = languages === null || languages === void 0 ? void 0 : languages.values) !== null && _b !== void 0 ? _b : {});
90
- const languageOptions = languageEntries.map(([value, label]) => ({ value, label }));
91
- const paymentMethodSetLoader = this.renderRoot.querySelector('#paymentMethodSet');
92
- const paymentMethodSet = paymentMethodSetLoader === null || paymentMethodSetLoader === void 0 ? void 0 : paymentMethodSetLoader.data;
105
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
106
+ const localeCodeEntries = Object.entries((_c = (_b = (_a = this.__localeCodesLoader) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.values) !== null && _c !== void 0 ? _c : {});
107
+ const localeCodes = localeCodeEntries.map(([value, label]) => ({ value, label }));
108
+ const languageEntries = Object.entries((_f = (_e = (_d = this.__languagesLoader) === null || _d === void 0 ? void 0 : _d.data) === null || _e === void 0 ? void 0 : _e.values) !== null && _f !== void 0 ? _f : {});
109
+ const languages = languageEntries.map(([value, label]) => ({ value, label }));
93
110
  return html `
94
111
  <foxy-nucleon
95
112
  class="hidden"
96
113
  infer=""
97
- href=${ifDefined((_c = this.languages) !== null && _c !== void 0 ? _c : undefined)}
98
- id="languages"
114
+ href=${ifDefined((_g = this.languages) !== null && _g !== void 0 ? _g : undefined)}
115
+ id=${this.__languagesLoaderId}
99
116
  @update=${() => this.requestUpdate()}
100
117
  >
101
118
  </foxy-nucleon>
@@ -103,8 +120,8 @@ export class TemplateSetForm extends Base {
103
120
  <foxy-nucleon
104
121
  class="hidden"
105
122
  infer=""
106
- href=${ifDefined((_d = this.localeCodes) !== null && _d !== void 0 ? _d : undefined)}
107
- id="localeCodes"
123
+ href=${ifDefined((_h = this.localeCodes) !== null && _h !== void 0 ? _h : undefined)}
124
+ id=${this.__localeCodesLoaderId}
108
125
  @update=${() => this.requestUpdate()}
109
126
  >
110
127
  </foxy-nucleon>
@@ -112,20 +129,21 @@ export class TemplateSetForm extends Base {
112
129
  <foxy-nucleon
113
130
  class="hidden"
114
131
  infer=""
115
- href=${ifDefined(this.form.payment_method_set_uri)}
116
- id="paymentMethodSet"
132
+ href=${ifDefined(this.form.payment_method_set_uri || undefined)}
133
+ id=${this.__paymentMethodSetLoaderId}
117
134
  @update=${() => this.requestUpdate()}
118
135
  >
119
136
  </foxy-nucleon>
120
137
 
121
- <div class="grid grid-cols-16rem gap-m">
138
+ <div class="grid grid-cols-1 gap-m sm-grid-cols-2">
122
139
  <foxy-internal-text-control infer="description"></foxy-internal-text-control>
140
+
123
141
  <foxy-internal-text-control infer="code"></foxy-internal-text-control>
124
142
 
125
- <foxy-internal-select-control infer="language" .options=${languageOptions}>
143
+ <foxy-internal-select-control infer="language" .options=${languages}>
126
144
  </foxy-internal-select-control>
127
145
 
128
- <foxy-internal-select-control infer="locale-code" .options=${localeCodeOptions}>
146
+ <foxy-internal-select-control infer="locale-code" .options=${localeCodes}>
129
147
  </foxy-internal-select-control>
130
148
  </div>
131
149
 
@@ -134,23 +152,41 @@ export class TemplateSetForm extends Base {
134
152
  item-id-path="_links.self.href"
135
153
  infer="payment-method-set-uri"
136
154
  first=${this.paymentMethodSets}
137
- .selectedItem=${paymentMethodSet}
155
+ .selectedItem=${(_j = this.__paymentMethodSetLoader) === null || _j === void 0 ? void 0 : _j.data}
138
156
  >
139
157
  </foxy-internal-async-combo-box-control>
140
158
 
141
- ${this.data && this.languageStrings
159
+ ${this.data &&
160
+ this.languageStrings &&
161
+ !this.hiddenSelector.matches('language-overrides', true)
142
162
  ? html `
163
+ ${this.renderTemplateOrSlot('language-overrides:before')}
164
+
143
165
  <foxy-i18n-editor
144
166
  language-overrides=${this.data._links['fx:language_overrides'].href}
145
167
  selected-language=${this.form.language}
146
- infer="i18n-editor"
168
+ infer="language-overrides"
147
169
  href=${this.languageStrings}
148
170
  >
149
171
  </foxy-i18n-editor>
172
+
173
+ ${this.renderTemplateOrSlot('language-overrides:after')}
150
174
  `
151
175
  : ''}
176
+
177
+ <!-- -->
178
+
152
179
  ${super.renderBody()}
153
180
  `;
154
181
  }
182
+ get __paymentMethodSetLoader() {
183
+ return this.renderRoot.querySelector(`#${this.__paymentMethodSetLoaderId}`);
184
+ }
185
+ get __localeCodesLoader() {
186
+ return this.renderRoot.querySelector(`#${this.__localeCodesLoaderId}`);
187
+ }
188
+ get __languagesLoader() {
189
+ return this.renderRoot.querySelector(`#${this.__languagesLoaderId}`);
190
+ }
155
191
  }
156
192
  //# sourceMappingURL=TemplateSetForm.js.map