@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.
Files changed (188) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +3 -85
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +1 -1
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-card.js +1 -1
  20. package/dist/cdn/foxy-customer-form.js +1 -1
  21. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  22. package/dist/cdn/foxy-customer-portal.js +2 -2
  23. package/dist/cdn/foxy-customer.js +1 -1
  24. package/dist/cdn/foxy-customers-table.js +1 -1
  25. package/dist/cdn/foxy-discount-builder.js +1 -1
  26. package/dist/cdn/foxy-discount-card.js +1 -1
  27. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  28. package/dist/cdn/foxy-donation.js +1 -1
  29. package/dist/cdn/foxy-email-template-form.js +1 -1
  30. package/dist/cdn/foxy-error-entry-card.js +1 -1
  31. package/dist/cdn/foxy-form-dialog.js +1 -1
  32. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  33. package/dist/cdn/foxy-gift-card-card.js +1 -1
  34. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  35. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  36. package/dist/cdn/foxy-gift-card-form.js +1 -1
  37. package/dist/cdn/foxy-i18n.js +1 -1
  38. package/dist/cdn/foxy-item-card.js +1 -1
  39. package/dist/cdn/foxy-item-form.js +1 -1
  40. package/dist/cdn/foxy-item-option-card.js +1 -1
  41. package/dist/cdn/foxy-item-option-form.js +1 -1
  42. package/dist/cdn/foxy-items-form.js +1 -1
  43. package/dist/cdn/foxy-pagination.js +1 -1
  44. package/dist/cdn/foxy-payment-card.js +1 -1
  45. package/dist/cdn/foxy-payment-method-card.js +1 -1
  46. package/dist/cdn/foxy-query-builder.js +1 -1
  47. package/dist/cdn/foxy-report-form.js +4 -4
  48. package/dist/cdn/foxy-reports-table.js +6 -6
  49. package/dist/cdn/foxy-shipment-card.js +1 -1
  50. package/dist/cdn/foxy-sign-in-form.js +1 -1
  51. package/dist/cdn/foxy-spinner.js +2 -2
  52. package/dist/cdn/foxy-store-shipping-method-card.js +1 -0
  53. package/dist/cdn/foxy-store-shipping-method-form.js +150 -0
  54. package/dist/cdn/foxy-subscription-card.js +1 -1
  55. package/dist/cdn/foxy-subscription-form.js +4 -4
  56. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  57. package/dist/cdn/foxy-table.js +1 -1
  58. package/dist/cdn/foxy-tax-card.js +1 -1
  59. package/dist/cdn/foxy-tax-form.js +1 -1
  60. package/dist/cdn/foxy-template-config-form.js +1 -1
  61. package/dist/cdn/foxy-template-form.js +1 -1
  62. package/dist/cdn/foxy-transaction-card.js +1 -1
  63. package/dist/cdn/foxy-transaction.js +1 -1
  64. package/dist/cdn/foxy-transactions-table.js +1 -1
  65. package/dist/cdn/foxy-user-form.js +1 -1
  66. package/dist/cdn/foxy-users-table.js +1 -1
  67. package/dist/cdn/foxy-webhook-card.js +1 -1
  68. package/dist/cdn/foxy-webhook-form.js +1 -1
  69. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  70. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  71. package/dist/cdn/{shared-7474af47.js → shared-0561e4c0.js} +1 -1
  72. package/dist/cdn/{shared-4e201e09.js → shared-12f8034b.js} +1 -1
  73. package/dist/cdn/{shared-8d937ae4.js → shared-17331dc5.js} +3 -3
  74. package/dist/cdn/{shared-322e7efb.js → shared-18fa34a8.js} +1 -1
  75. package/dist/cdn/{shared-bf6fb415.js → shared-1eb23210.js} +1 -1
  76. package/dist/cdn/shared-2b077e01.js +134 -0
  77. package/dist/cdn/{shared-d28ac9dc.js → shared-32b15545.js} +1 -1
  78. package/dist/cdn/{shared-62169210.js → shared-33b47806.js} +3 -3
  79. package/dist/cdn/{shared-c8677ba3.js → shared-354e0ed8.js} +1 -1
  80. package/dist/cdn/{shared-3b2dedf9.js → shared-40689cd2.js} +1 -1
  81. package/dist/cdn/{shared-6d104622.js → shared-48ef8a04.js} +1 -1
  82. package/dist/cdn/{shared-5c3a88d2.js → shared-4b85b408.js} +1 -1
  83. package/dist/cdn/{shared-7c612495.js → shared-4de4a8bc.js} +1 -1
  84. package/dist/cdn/{shared-8d4fef94.js → shared-4eae0021.js} +1 -1
  85. package/dist/cdn/{shared-8e9a3bbb.js → shared-4fc53390.js} +1 -1
  86. package/dist/cdn/shared-593c3727.js +1 -0
  87. package/dist/cdn/{shared-d699348f.js → shared-59796faa.js} +2 -2
  88. package/dist/cdn/{shared-a0836fa5.js → shared-6bcd6831.js} +1 -1
  89. package/dist/cdn/{shared-39f2c345.js → shared-7b7b6065.js} +1 -1
  90. package/dist/cdn/shared-7c977470.js +1 -0
  91. package/dist/cdn/{shared-c89ba319.js → shared-7ed7818e.js} +1 -1
  92. package/dist/cdn/{shared-2bdd4f74.js → shared-80ca2f70.js} +2 -2
  93. package/dist/cdn/{shared-195fd5af.js → shared-8936b109.js} +1 -1
  94. package/dist/cdn/shared-91a28cfe.js +1 -0
  95. package/dist/cdn/{shared-f84686a8.js → shared-93d93d79.js} +1 -1
  96. package/dist/cdn/shared-97654b20.js +169 -0
  97. package/dist/cdn/{shared-baf79b0b.js → shared-9d905cdc.js} +1 -1
  98. package/dist/cdn/{shared-dd6d3c18.js → shared-9f9cdbb0.js} +1 -1
  99. package/dist/cdn/{shared-dc23b751.js → shared-a64ead08.js} +1 -1
  100. package/dist/cdn/{shared-a5e52b8f.js → shared-b52c7edf.js} +3 -3
  101. package/dist/cdn/{shared-ae415a98.js → shared-c13674cb.js} +1 -1
  102. package/dist/cdn/{shared-a052131e.js → shared-c5a638d1.js} +1 -1
  103. package/dist/cdn/{shared-c309e0ef.js → shared-c73ca2c5.js} +1 -1
  104. package/dist/cdn/{shared-c5c60417.js → shared-d539ee69.js} +1 -1
  105. package/dist/cdn/shared-d6dd67a5.js +82 -0
  106. package/dist/cdn/{shared-31c43743.js → shared-dbdc2a38.js} +1 -1
  107. package/dist/cdn/{shared-f1317609.js → shared-e06de519.js} +1 -1
  108. package/dist/cdn/{shared-dda2a74d.js → shared-e144edd2.js} +1 -1
  109. package/dist/cdn/{shared-bb686fc6.js → shared-e28fb2ef.js} +1 -1
  110. package/dist/cdn/{shared-b3df4f38.js → shared-e8312a29.js} +1 -1
  111. package/dist/cdn/{shared-2188d5f7.js → shared-fd001fd3.js} +1 -1
  112. package/dist/cdn/translations/store-shipping-method-card/en.json +15 -0
  113. package/dist/cdn/translations/store-shipping-method-form/en.json +83 -0
  114. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +2 -0
  115. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +10 -0
  116. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  117. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.d.ts +17 -0
  118. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +51 -0
  119. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -0
  120. package/dist/elements/internal/InternalCheckboxGroupControl/index.d.ts +6 -0
  121. package/dist/elements/internal/InternalCheckboxGroupControl/index.js +8 -0
  122. package/dist/elements/internal/InternalCheckboxGroupControl/index.js.map +1 -0
  123. package/dist/elements/internal/InternalCheckboxGroupControl/types.d.ts +6 -0
  124. package/dist/elements/internal/InternalCheckboxGroupControl/types.js +2 -0
  125. package/dist/elements/internal/InternalCheckboxGroupControl/types.js.map +1 -0
  126. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +2 -0
  127. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +6 -4
  128. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  129. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.d.ts +13 -0
  130. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js +40 -0
  131. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js.map +1 -0
  132. package/dist/elements/internal/InternalTextAreaControl/index.d.ts +4 -0
  133. package/dist/elements/internal/InternalTextAreaControl/index.js +6 -0
  134. package/dist/elements/internal/InternalTextAreaControl/index.js.map +1 -0
  135. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.d.ts +16 -0
  136. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +60 -0
  137. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +1 -0
  138. package/dist/elements/public/StoreShippingMethodCard/index.d.ts +6 -0
  139. package/dist/elements/public/StoreShippingMethodCard/index.js +8 -0
  140. package/dist/elements/public/StoreShippingMethodCard/index.js.map +1 -0
  141. package/dist/elements/public/StoreShippingMethodCard/types.d.ts +5 -0
  142. package/dist/elements/public/StoreShippingMethodCard/types.js +2 -0
  143. package/dist/elements/public/StoreShippingMethodCard/types.js.map +1 -0
  144. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +25 -0
  145. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +152 -0
  146. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -0
  147. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +11 -0
  148. package/dist/elements/public/StoreShippingMethodForm/index.js +13 -0
  149. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -0
  150. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +5 -0
  151. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +33 -0
  152. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -0
  153. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +6 -0
  154. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +8 -0
  155. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +1 -0
  156. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +19 -0
  157. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +96 -0
  158. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -0
  159. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +5 -0
  160. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +7 -0
  161. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +1 -0
  162. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +17 -0
  163. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +45 -0
  164. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +1 -0
  165. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +3 -0
  166. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +5 -0
  167. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +1 -0
  168. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +16 -0
  169. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +49 -0
  170. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +1 -0
  171. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +3 -0
  172. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +5 -0
  173. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +1 -0
  174. package/dist/elements/public/StoreShippingMethodForm/types.d.ts +5 -0
  175. package/dist/elements/public/StoreShippingMethodForm/types.js +2 -0
  176. package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -0
  177. package/dist/elements/public/index.d.ts +2 -0
  178. package/dist/elements/public/index.defined.d.ts +2 -0
  179. package/dist/elements/public/index.defined.js +2 -0
  180. package/dist/elements/public/index.defined.js.map +1 -1
  181. package/dist/elements/public/index.js +2 -0
  182. package/dist/elements/public/index.js.map +1 -1
  183. package/dist/mixins/themeable.js +16 -0
  184. package/dist/mixins/themeable.js.map +1 -1
  185. package/package.json +1 -1
  186. package/dist/cdn/shared-63685d2e.js +0 -302
  187. package/dist/cdn/shared-dc1c6edd.js +0 -1
  188. 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,6 @@
1
+ import '@polymer/iron-icons/maps-icons';
2
+ import '@polymer/iron-icon';
3
+ import '../../internal/InternalCard/index';
4
+ import '../I18n/index';
5
+ import { StoreShippingMethodCard } from './StoreShippingMethodCard';
6
+ export { StoreShippingMethodCard };
@@ -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,5 @@
1
+ import type { Rels } from '@foxy.io/sdk/backend';
2
+ import type { Resource } from '@foxy.io/sdk/core';
3
+ export declare type Data = Resource<Rels.StoreShippingMethod, {
4
+ zoom: ['shipping_method', 'shipping_container', 'shipping_drop_type'];
5
+ }>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -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,5 @@
1
+ import { TemplateResult } from 'lit-html';
2
+ import { InternalControl } from '../../../../internal/InternalControl/InternalControl';
3
+ export declare class InternalStoreShippingMethodFormServicesControl extends InternalControl {
4
+ renderControl(): TemplateResult;
5
+ }
@@ -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 {};