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

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 (284) hide show
  1. package/README.md +6 -1
  2. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  3. package/dist/cdn/foxy-address-card.js +1 -1
  4. package/dist/cdn/foxy-address-form.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-collection-page.js +1 -1
  16. package/dist/cdn/foxy-collection-pages.js +1 -1
  17. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  18. package/dist/cdn/foxy-coupon-card.js +1 -1
  19. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  21. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-form.js +1 -1
  23. package/dist/cdn/foxy-custom-field-card.js +1 -1
  24. package/dist/cdn/foxy-custom-field-form.js +1 -1
  25. package/dist/cdn/foxy-customer-card.js +1 -1
  26. package/dist/cdn/foxy-customer-form.js +1 -1
  27. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  28. package/dist/cdn/foxy-customer-portal.js +2 -2
  29. package/dist/cdn/foxy-customer.js +1 -1
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -1
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -2
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -1
  48. package/dist/cdn/foxy-integration-form.js +1 -1
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-form.js +1 -1
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-pagination.js +1 -1
  57. package/dist/cdn/foxy-payment-card.js +1 -1
  58. package/dist/cdn/foxy-payment-method-card.js +1 -1
  59. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  61. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  65. package/dist/cdn/foxy-query-builder.js +1 -1
  66. package/dist/cdn/foxy-report-form.js +2 -2
  67. package/dist/cdn/foxy-reports-table.js +5 -5
  68. package/dist/cdn/foxy-shipment-card.js +1 -1
  69. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  70. package/dist/cdn/foxy-sign-in-form.js +1 -1
  71. package/dist/cdn/foxy-spinner.js +1 -1
  72. package/dist/cdn/foxy-store-form.js +1 -1
  73. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  74. package/dist/cdn/foxy-subscription-card.js +1 -1
  75. package/dist/cdn/foxy-subscription-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  77. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  78. package/dist/cdn/foxy-table.js +1 -1
  79. package/dist/cdn/foxy-tax-card.js +1 -1
  80. package/dist/cdn/foxy-tax-form.js +1 -1
  81. package/dist/cdn/foxy-template-config-form.js +1 -1
  82. package/dist/cdn/foxy-template-form.js +1 -1
  83. package/dist/cdn/foxy-template-set-card.js +1 -1
  84. package/dist/cdn/foxy-template-set-form.js +1 -1
  85. package/dist/cdn/foxy-transaction-card.js +1 -1
  86. package/dist/cdn/foxy-transaction.js +1 -1
  87. package/dist/cdn/foxy-transactions-table.js +7 -7
  88. package/dist/cdn/foxy-user-form.js +1 -1
  89. package/dist/cdn/foxy-users-table.js +1 -1
  90. package/dist/cdn/foxy-webhook-card.js +1 -1
  91. package/dist/cdn/foxy-webhook-form.js +1 -1
  92. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  93. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  94. package/dist/cdn/{shared-f69afa4b.js → shared-08156595.js} +1 -1
  95. package/dist/cdn/{shared-fedeb7b2.js → shared-0821cfdc.js} +1 -1
  96. package/dist/cdn/{shared-6ac71f60.js → shared-08e27fe9.js} +3 -3
  97. package/dist/cdn/{shared-13e6fe8a.js → shared-0ce006b9.js} +1 -1
  98. package/dist/cdn/shared-1000b848.js +1 -0
  99. package/dist/cdn/{shared-d7dfd3d8.js → shared-101d1234.js} +2 -2
  100. package/dist/cdn/{shared-9643b6c8.js → shared-1c94a156.js} +1 -1
  101. package/dist/cdn/{shared-e39be772.js → shared-2092d86f.js} +1 -1
  102. package/dist/cdn/shared-21679ebd.js +1 -0
  103. package/dist/cdn/{shared-8e6a8a88.js → shared-2add595d.js} +1 -1
  104. package/dist/cdn/{shared-459a5ec4.js → shared-2cc638ad.js} +1 -1
  105. package/dist/cdn/{shared-4817dcd1.js → shared-39c10b22.js} +1 -1
  106. package/dist/cdn/{shared-d0c5c38f.js → shared-404aa9cc.js} +1 -1
  107. package/dist/cdn/{shared-307382e5.js → shared-4849ef5b.js} +1 -1
  108. package/dist/cdn/shared-486d7bb5.js +1 -0
  109. package/dist/cdn/{shared-715ee51e.js → shared-4f9d2417.js} +1 -1
  110. package/dist/cdn/{shared-daab7e76.js → shared-5378bd8c.js} +1 -1
  111. package/dist/cdn/{shared-780ead03.js → shared-5a4829e3.js} +1 -1
  112. package/dist/cdn/{shared-d6a78c23.js → shared-5b177708.js} +1 -1
  113. package/dist/cdn/{shared-7788977c.js → shared-5ea18e60.js} +1 -1
  114. package/dist/cdn/{shared-674c1c04.js → shared-62a54a6c.js} +1 -1
  115. package/dist/cdn/{shared-d7c271d2.js → shared-62c088b7.js} +1 -1
  116. package/dist/cdn/{shared-71beb422.js → shared-639c666f.js} +1 -1
  117. package/dist/cdn/{shared-9862ca28.js → shared-6581241a.js} +1 -1
  118. package/dist/cdn/{shared-206b4ae2.js → shared-6cb1015f.js} +1 -1
  119. package/dist/cdn/{shared-2bd47510.js → shared-71d8d167.js} +3 -3
  120. package/dist/cdn/{shared-45db2087.js → shared-71f2ef1f.js} +1 -1
  121. package/dist/cdn/{shared-25ecdf66.js → shared-744cf66b.js} +1 -1
  122. package/dist/cdn/{shared-80378a15.js → shared-7d4fb1a2.js} +1 -1
  123. package/dist/cdn/{shared-a4165acb.js → shared-80fc2b6a.js} +1 -1
  124. package/dist/cdn/{shared-ef98812b.js → shared-83596b46.js} +1 -1
  125. package/dist/cdn/shared-868065de.js +1 -0
  126. package/dist/cdn/{shared-02d4bc14.js → shared-88c4cfec.js} +1 -1
  127. package/dist/cdn/{shared-e7e0ee80.js → shared-8dd0af4d.js} +1 -1
  128. package/dist/cdn/{shared-46e22714.js → shared-988ec916.js} +1 -1
  129. package/dist/cdn/{shared-915e8780.js → shared-9bdacf65.js} +1 -1
  130. package/dist/cdn/{shared-72279946.js → shared-9f436277.js} +1 -1
  131. package/dist/cdn/shared-a0c8faf2.js +1 -0
  132. package/dist/cdn/{shared-0f29fba2.js → shared-a37abe4c.js} +2 -2
  133. package/dist/cdn/{shared-a6de944b.js → shared-a41234b4.js} +1 -1
  134. package/dist/cdn/{shared-0a40a749.js → shared-af226a9a.js} +1 -1
  135. package/dist/cdn/{shared-3b249b20.js → shared-b40cf0dd.js} +1 -1
  136. package/dist/cdn/{shared-7a739f89.js → shared-bb0e33c3.js} +1 -1
  137. package/dist/cdn/{shared-18d42566.js → shared-bc814810.js} +1 -1
  138. package/dist/cdn/{shared-1392183b.js → shared-bd252323.js} +1 -1
  139. package/dist/cdn/{shared-0d3bec9f.js → shared-be66c2e7.js} +1 -1
  140. package/dist/cdn/{shared-f821859e.js → shared-c774d080.js} +1 -1
  141. package/dist/cdn/{shared-78f6e15f.js → shared-c95c17e6.js} +1 -1
  142. package/dist/cdn/shared-cba08e1c.js +1 -0
  143. package/dist/cdn/{shared-33912f50.js → shared-d518bd55.js} +1 -1
  144. package/dist/cdn/shared-d61b3e4f.js +1 -0
  145. package/dist/cdn/{shared-3e8cd935.js → shared-d8dc97f0.js} +1 -1
  146. package/dist/cdn/{shared-2d2ce3b1.js → shared-de036570.js} +1 -1
  147. package/dist/cdn/{shared-7992035c.js → shared-ed0dee03.js} +3 -3
  148. package/dist/cdn/shared-f7e4cd67.js +1 -0
  149. package/dist/cdn/{shared-e0615601.js → shared-f80f402a.js} +1 -1
  150. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
  151. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +10 -5
  152. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  153. package/dist/elements/internal/InternalControl/InternalControl.js +2 -2
  154. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  155. package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
  156. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
  157. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
  158. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  159. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +2 -1
  160. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  161. package/dist/elements/private/Group/Group.js +1 -1
  162. package/dist/elements/private/Group/Group.js.map +1 -1
  163. package/dist/elements/private/Warning/Warning.js +1 -3
  164. package/dist/elements/private/Warning/Warning.js.map +1 -1
  165. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +2 -2
  166. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +7 -8
  167. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -1
  168. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
  169. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
  170. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
  171. package/dist/elements/public/AttributeCard/AttributeCard.js +28 -14
  172. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  173. package/dist/elements/public/CartForm/CartForm.d.ts +106 -1
  174. package/dist/elements/public/CartForm/CartForm.js +167 -37
  175. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  176. package/dist/elements/public/CartForm/index.d.ts +2 -0
  177. package/dist/elements/public/CartForm/index.js +2 -0
  178. package/dist/elements/public/CartForm/index.js.map +1 -1
  179. package/dist/elements/public/CartForm/types.d.ts +64 -0
  180. package/dist/elements/public/CartForm/types.js.map +1 -1
  181. package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
  182. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
  183. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
  184. package/dist/elements/public/CouponForm/CouponForm.js +13 -9
  185. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  186. package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
  187. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
  188. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
  189. package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
  190. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -35
  191. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  192. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
  193. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
  194. package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
  195. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -2
  196. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  197. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
  198. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
  199. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
  200. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +1 -1
  201. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +2 -2
  202. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  203. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +10 -2
  204. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  205. package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -3
  206. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  207. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +9 -0
  208. package/dist/elements/public/I18nEditor/I18nEditor.js +13 -4
  209. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -1
  210. package/dist/elements/public/ItemCard/ItemCard.js +14 -15
  211. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  212. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +1 -1
  213. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +2 -2
  214. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  215. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +1 -1
  216. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +2 -2
  217. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  218. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +1 -1
  219. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +6 -3
  220. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
  221. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +41 -3
  222. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +142 -84
  223. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
  224. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +2 -3
  225. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +2 -3
  226. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
  227. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +15 -0
  228. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
  229. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +1 -1
  230. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +6 -3
  231. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
  232. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +70 -3
  233. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +314 -263
  234. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  235. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -0
  236. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -0
  237. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
  238. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +29 -0
  239. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
  240. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +1 -1
  241. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +2 -2
  242. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
  243. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +40 -1
  244. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +93 -74
  245. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
  246. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +14 -0
  247. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
  248. package/dist/elements/public/ReportForm/ReportForm.js +4 -1
  249. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  250. package/dist/elements/public/StoreForm/StoreForm.d.ts +153 -1
  251. package/dist/elements/public/StoreForm/StoreForm.js +191 -27
  252. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  253. package/dist/elements/public/StoreForm/index.d.ts +1 -0
  254. package/dist/elements/public/StoreForm/index.js +1 -0
  255. package/dist/elements/public/StoreForm/index.js.map +1 -1
  256. package/dist/elements/public/StoreForm/types.d.ts +94 -0
  257. package/dist/elements/public/StoreForm/types.js.map +1 -1
  258. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +50 -1
  259. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +49 -0
  260. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  261. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +1 -1
  262. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -1
  263. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +1 -0
  264. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +1 -0
  265. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -1
  266. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +33 -1
  267. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
  268. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +4 -1
  269. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  270. package/dist/elements/public/TemplateForm/TemplateForm.js +10 -2
  271. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  272. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +1 -1
  273. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +2 -2
  274. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
  275. package/dist/mixins/themeable.js +19 -8
  276. package/dist/mixins/themeable.js.map +1 -1
  277. package/package.json +2 -1
  278. package/dist/cdn/shared-0301f5c5.js +0 -1
  279. package/dist/cdn/shared-324f9551.js +0 -1
  280. package/dist/cdn/shared-4cbd9a4f.js +0 -1
  281. package/dist/cdn/shared-7304a1ab.js +0 -1
  282. package/dist/cdn/shared-9291d900.js +0 -1
  283. package/dist/cdn/shared-ad3c1ddc.js +0 -1
  284. package/dist/cdn/shared-c6567654.js +0 -1
package/README.md CHANGED
@@ -13,7 +13,10 @@ If you're targeting [browsers that support ES6](https://caniuse.com/#feat=es6),
13
13
  <script src="https://unpkg.com/@webcomponents/webcomponentsjs@^2/webcomponents-bundle.js"></script>
14
14
 
15
15
  <!-- 2. Load element (replace "foxy-donation" with the one you need or add more script tags); -->
16
- <script type="module" src="https://unpkg.com/@foxy.io/elements@1/dist/cdn/foxy-donation.js"></script>
16
+ <script
17
+ type="module"
18
+ src="https://unpkg.com/@foxy.io/elements@1/dist/cdn/foxy-donation.js"
19
+ ></script>
17
20
 
18
21
  <!-- 3. Use the element anywhere on your page. -->
19
22
  <foxy-donation></foxy-donation>
@@ -65,3 +68,5 @@ There's a number of useful scripts that you might need:
65
68
  - `npm run format` fixes style errors in your code;
66
69
  - `npm run lint` shows style errors in your code;
67
70
  - `npm run test` runs all test suites with [Karma](https://github.com/karma-runner/karma);
71
+ - `npm run wca` generates docs for element slots and attributes;
72
+ - `npm run generate-schemas` generates JSONSchemas for element translations based on English i18n files;
@@ -1 +1 @@
1
- import"./shared-2bd47510.js";import"./shared-f69afa4b.js";import"./shared-18d42566.js";import"./shared-0d3bec9f.js";import"./shared-d7c271d2.js";import"./shared-780ead03.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-fedeb7b2.js";import{h as e}from"./shared-7f33a83a.js";import{C as s}from"./shared-43bcce74.js";import{N as i}from"./shared-181f51bd.js";import{T as t,a}from"./shared-459a5ec4.js";import{c as r}from"./shared-4e709717.js";import{i as l}from"./shared-d3bf9ac0.js";import{v as o}from"./shared-b738ee96.js";import"./shared-13e6fe8a.js";import"./shared-7788977c.js";import"./shared-e39be772.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let n,d,m,h,c=e=>e;const p=t(s(a(i,"access-recovery-form")));class u extends p{constructor(){super(...arguments),this.templates={},this.__checkEmailValidity=()=>!this.errors.some((e=>e.startsWith("email"))),this.__renderEmail=()=>{var s;const i=this.in("fail"),t=this.in("busy"),a=this.in({idle:"snapshot"}),r=this.errors.filter((e=>e.startsWith("email"))).map((e=>e.replace("email","v8n"))),o=r[0]?this.t(r[0]).toString():"";return e(n||(n=c` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @input="${0}" @keydown="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),o,this.t("email").toString(),l(null===(s=this.form.detail)||void 0===s?void 0:s.email),t||a||i||this.disabledSelector.matches("email",!0),this.readonlySelector.matches("email",!0),this.__checkEmailValidity,(e=>{this.edit({detail:{email:e.target.value},type:"email"})}),(e=>{"Enter"===e.key&&this.submit()}),this.renderTemplateOrSlot("email:after"))},this.__renderMessage=()=>{const s=this.in("fail"),i=s?"bg-error-10 text-error":"bg-success-10 text-success",t=s?"lumo:error":"lumo:cog",a=s?"unknown_error":"recover_access_success";return e(d||(d=c` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s ${0}"> <iron-icon class="flex-shrink-0 icon-inline text-l mr-s" icon="${0}"></iron-icon> <foxy-i18n lang="${0}" key="${0}" ns="${0}" data-testid="message"></foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("message:before"),i,t,this.lang,a,this.ns,this.renderTemplateOrSlot("message:after"))},this.__renderSubmit=()=>{const s=this.in("fail"),i=0===this.errors.length,t=this.in("busy"),a=this.in({idle:"snapshot"}),r=t||a||!i||s;return e(m||(m=c` <div> ${0} <vaadin-button data-testid="submit" class="w-full" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="recover_access" ns="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),r||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.lang,this.ns,this.renderTemplateOrSlot("submit:after"))}}static get v8n(){return[({detail:e})=>(null==e?void 0:e.email)&&e.email.length>0||"email_required",({detail:e})=>{var s;return o(null!==(s=null==e?void 0:e.email)&&void 0!==s?s:"")||"email_invalid_email"}]}render(){var s,i;const t=this.hiddenSelector,a=this.in({idle:"snapshot"})||this.in("fail"),l=this.in("busy");return e(h||(h=c` <main data-testid="wrapper" aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m space-y-m"> ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),l,t.matches("email",!0)?"":this.__renderEmail(),t.matches("message",!0)||!a?"":this.__renderMessage(),t.matches("submit",!0)?"":this.__renderSubmit(),r({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!l}),this.lang,this.ns,null!==(i=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==i?i:"")}}customElements.define("foxy-access-recovery-form",u);export{u as AccessRecoveryForm};
1
+ import"./shared-71d8d167.js";import"./shared-08156595.js";import"./shared-bc814810.js";import"./shared-be66c2e7.js";import"./shared-62c088b7.js";import"./shared-5a4829e3.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as e}from"./shared-7f33a83a.js";import{C as s}from"./shared-43bcce74.js";import{N as i}from"./shared-181f51bd.js";import{T as t,a as r}from"./shared-2cc638ad.js";import{c as a}from"./shared-4e709717.js";import{i as l}from"./shared-d3bf9ac0.js";import{v as o}from"./shared-b738ee96.js";import"./shared-0ce006b9.js";import"./shared-5ea18e60.js";import"./shared-2092d86f.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let n,d,m,h,c=e=>e;const p=t(s(r(i,"access-recovery-form")));class u extends p{constructor(){super(...arguments),this.templates={},this.__checkEmailValidity=()=>!this.errors.some((e=>e.startsWith("email"))),this.__renderEmail=()=>{var s;const i=this.in("fail"),t=this.in("busy"),r=this.in({idle:"snapshot"}),a=this.errors.filter((e=>e.startsWith("email"))).map((e=>e.replace("email","v8n"))),o=a[0]?this.t(a[0]).toString():"";return e(n||(n=c` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @input="${0}" @keydown="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),o,this.t("email").toString(),l(null===(s=this.form.detail)||void 0===s?void 0:s.email),t||r||i||this.disabledSelector.matches("email",!0),this.readonlySelector.matches("email",!0),this.__checkEmailValidity,(e=>{this.edit({detail:{email:e.target.value},type:"email"})}),(e=>{"Enter"===e.key&&this.submit()}),this.renderTemplateOrSlot("email:after"))},this.__renderMessage=()=>{const s=this.in("fail"),i=s?"bg-error-10 text-error":"bg-success-10 text-success",t=s?"lumo:error":"lumo:cog",r=s?"unknown_error":"recover_access_success";return e(d||(d=c` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s ${0}"> <iron-icon class="flex-shrink-0 icon-inline text-l mr-s" icon="${0}"></iron-icon> <foxy-i18n lang="${0}" key="${0}" ns="${0}" data-testid="message"></foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("message:before"),i,t,this.lang,r,this.ns,this.renderTemplateOrSlot("message:after"))},this.__renderSubmit=()=>{const s=this.in("fail"),i=0===this.errors.length,t=this.in("busy"),r=this.in({idle:"snapshot"}),a=t||r||!i||s;return e(m||(m=c` <div> ${0} <vaadin-button data-testid="submit" class="w-full" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="recover_access" ns="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),a||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.lang,this.ns,this.renderTemplateOrSlot("submit:after"))}}static get v8n(){return[({detail:e})=>(null==e?void 0:e.email)&&e.email.length>0||"email_required",({detail:e})=>{var s;return o(null!==(s=null==e?void 0:e.email)&&void 0!==s?s:"")||"email_invalid_email"}]}render(){var s,i;const t=this.hiddenSelector,r=this.in({idle:"snapshot"})||this.in("fail"),l=this.in("busy");return e(h||(h=c` <main data-testid="wrapper" aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m space-y-m"> ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),l,t.matches("email",!0)?"":this.__renderEmail(),t.matches("message",!0)||!r?"":this.__renderMessage(),t.matches("submit",!0)?"":this.__renderSubmit(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!l}),this.lang,this.ns,null!==(i=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==i?i:"")}}customElements.define("foxy-access-recovery-form",u);export{u as AccessRecoveryForm};
@@ -1,4 +1,4 @@
1
- import"./shared-d7c271d2.js";import"./shared-e39be772.js";import{h as s}from"./shared-13e6fe8a.js";import"./shared-d6a78c23.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-fedeb7b2.js";import{h as t}from"./shared-7f33a83a.js";import{C as e}from"./shared-43bcce74.js";import{N as a}from"./shared-181f51bd.js";import{T as c,a as h}from"./shared-459a5ec4.js";import{c as i}from"./shared-4e709717.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";
1
+ import"./shared-62c088b7.js";import"./shared-2092d86f.js";import{h as s}from"./shared-0ce006b9.js";import"./shared-5b177708.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as t}from"./shared-7f33a83a.js";import{C as e}from"./shared-43bcce74.js";import{N as a}from"./shared-181f51bd.js";import{T as c,a as h}from"./shared-2cc638ad.js";import{c as i}from"./shared-4e709717.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
@@ -1 +1 @@
1
- import"./shared-18d42566.js";import"./shared-206b4ae2.js";import"./shared-e7e0ee80.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-fedeb7b2.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{N as i}from"./shared-181f51bd.js";import{P as s}from"./shared-daab7e76.js";import{S as a,T as r,a as d}from"./shared-459a5ec4.js";import{c as o}from"./shared-4e709717.js";import{i as n}from"./shared-d3bf9ac0.js";import{m as l}from"./shared-76b3d76a.js";import"./shared-0d3bec9f.js";import"./shared-13e6fe8a.js";import"./shared-7788977c.js";import"./shared-6ac71f60.js";import"./shared-d7c271d2.js";import"./shared-f69afa4b.js";import"./shared-a8ced8bf.js";import"./shared-674c1c04.js";import"./shared-a85afa33.js";import"./shared-4f037e43.js";import"./shared-e39be772.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";const m=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","CW","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","SX","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","SS","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"],h=["AL","AK","AS","AZ","AR","AF","AA","AC","AE","AM","AP","CA","CO","CT","DE","DC","FM","FL","GA","GU","HI","ID","IL","IN","IA","KS","KY","LA","ME","MH","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","MP","OH","OK","OR","PA","PR","RI","SC","SD","TN","TX","UT","VT","VI","VA","WA","WV","WI","WY"];let c,_,f,p,u,g=e=>e;const b=a(t(r(d(i,"address-form"))));class y extends b{constructor(){super(...arguments),this.templates={},this.__getValidator=l((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=l((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderComboBox=t=>{var i,s;const{source:a,field:r,custom:d=!1}=t,o=r.replace(/_/,"-");if(this.hiddenSelector.matches(o))return"";const l=customElements.get("foxy-i18n").i18next.getFixedT(this.lang,r);return e(c||(c=g` <div> ${0} <vaadin-combo-box class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" item-value-path="code" item-label-path="text" .checkValidity="${0}" .items="${0}" ?allow-custom-value="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot(`${o}:before`),this.t(r).toString(),n(null===(s=null===(i=this.form)||void 0===i?void 0:i[r])||void 0===s?void 0:s.toString()),this.__getErrorMessage(r),o,this.__getValidator(r),a.map((e=>({text:l(e).toString(),code:e}))),d,this.readonlySelector.matches(o,!0),!this.in("idle")||this.disabledSelector.matches(o,!0),this.__bindField(r),this.renderTemplateOrSlot(`${o}:after`))},this.__maybeRenderTextField=t=>{var i,s;const{field:a,wide:r=!1,readonly:d=!1,required:l=!1}=t,m=a.replace(/_/,"-").replace("1","-one").replace("2","-two");return this.hiddenSelector.matches(m)?"":e(_||(_=g` <div class="${0}"> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?required="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),o({"col-span-2":r}),this.renderTemplateOrSlot(`${m}:before`),this.t(a).toString(),n(null===(s=null===(i=this.form)||void 0===i?void 0:i[a])||void 0===s?void 0:s.toString()),this.__getErrorMessage(a),m,this.__getValidator(a),!this.in("idle")||this.disabledSelector.matches(m),l,d||this.readonlySelector.matches(m),this.__bindField(a),this.__handleKeyDown,this.renderTemplateOrSlot(`${m}:after`))},this.__renderTimestamps=()=>{const t=["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}}));return e(f||(f=g` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),t,this.renderTemplateOrSlot("timestamps:after"))},this.__renderAction=t=>{var i,s;const a=this.in({idle:{template:{dirty:"valid"}}}),r=this.in({idle:{snapshot:{dirty:"valid"}}}),d=!this.in("idle")||this.disabledSelector.matches(t,!0),o=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_shipping),n=!!(null===(s=this.form)||void 0===s?void 0:s.is_default_billing),l=o||n,m=a||r;return e(p||(p=g` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${t}:before`),this.in("idle")?""+(this.href?"error":"primary success"):"",t,this.in({idle:"template"})&&!m||d||l,this.__handleActionClick,this.ns,t,this.lang,this.renderTemplateOrSlot(`${t}:after`))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"x-property-table":s,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({address_name:e})=>e&&e.length>0||"address_name_required",({address_name:e})=>!e||e.length<=100||"address_name_too_long",({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({region:e})=>!e||e.length<=50||"region_too_long",({city:e})=>!e||e.length<=50||"city_too_long",({phone:e})=>!e||e.length<=50||"phone_too_long",({company:e})=>!e||e.length<=50||"company_too_long",({address2:e})=>!e||e.length<=100||"address2_too_long",({address1:e})=>e&&e.length>0||"address1_required",({address1:e})=>e&&e.length<=100||"address1_too_long",({postal_code:e})=>!e||e.length<=50||"postal_code_too_long"]}connectedCallback(){super.connectedCallback(),customElements.get("foxy-i18n").i18next.loadNamespaces(["country","region"])}render(){var t,i,s,a;const{hiddenSelector:r,lang:d,ns:n}=this,l=this.href?"delete":"create",c=!!(null===(t=this.form)||void 0===t?void 0:t.is_default_shipping),_=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_billing),f=c||_,p=this.in("busy"),b=this.in("fail");return e(u||(u=g` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="space-y-l font-lumo text-m leading-m text-body relative" aria-busy="${0}" aria-live="polite" data-testid="wrapper"> <div class="grid grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} </div> ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),d,n,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"address_name",wide:!0,readonly:f,required:!0}),this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"company"}),this.__maybeRenderTextField({field:"phone"}),this.__maybeRenderTextField({field:"address1",wide:!0,required:!0}),this.__maybeRenderTextField({field:"address2",wide:!0}),this.__maybeRenderComboBox({field:"country",source:m}),this.__maybeRenderComboBox({field:"region",source:h,custom:!0}),this.__maybeRenderTextField({field:"city"}),this.__maybeRenderTextField({field:"postal_code"}),!this.data||r.matches("timestamps",!0)?"":this.__renderTimestamps(),r.matches(l,!0)?"":this.__renderAction(l),o({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!p&&!b}),b?"error":p?"busy":"empty",d,this.ns,null!==(a=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleActionClick(e){if(this.in({idle:"snapshot"})){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}else this.submit()}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-address-form",y);export{y as AddressForm};
1
+ import"./shared-bc814810.js";import"./shared-6cb1015f.js";import"./shared-8dd0af4d.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{N as i}from"./shared-181f51bd.js";import{P as s}from"./shared-5378bd8c.js";import{S as a,T as r,a as d}from"./shared-2cc638ad.js";import{c as o}from"./shared-4e709717.js";import{i as n}from"./shared-d3bf9ac0.js";import{m as l}from"./shared-76b3d76a.js";import"./shared-be66c2e7.js";import"./shared-0ce006b9.js";import"./shared-5ea18e60.js";import"./shared-08e27fe9.js";import"./shared-62c088b7.js";import"./shared-08156595.js";import"./shared-a8ced8bf.js";import"./shared-62a54a6c.js";import"./shared-a85afa33.js";import"./shared-4f037e43.js";import"./shared-2092d86f.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";const m=["AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BQ","BA","BW","BV","BR","IO","BN","BG","BF","BI","KH","CM","CA","CV","CW","KY","CF","TD","CL","CN","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","SX","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HK","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","SS","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VG","VI","WF","EH","YE","ZM","ZW"],h=["AL","AK","AS","AZ","AR","AF","AA","AC","AE","AM","AP","CA","CO","CT","DE","DC","FM","FL","GA","GU","HI","ID","IL","IN","IA","KS","KY","LA","ME","MH","MD","MA","MI","MN","MS","MO","MT","NE","NV","NH","NJ","NM","NY","NC","ND","MP","OH","OK","OR","PA","PR","RI","SC","SD","TN","TX","UT","VT","VI","VA","WA","WV","WI","WY"];let c,_,f,p,u,g=e=>e;const b=a(t(r(d(i,"address-form"))));class y extends b{constructor(){super(...arguments),this.templates={},this.__getValidator=l((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=l((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderComboBox=t=>{var i,s;const{source:a,field:r,custom:d=!1}=t,o=r.replace(/_/,"-");if(this.hiddenSelector.matches(o))return"";const l=customElements.get("foxy-i18n").i18next.getFixedT(this.lang,r);return e(c||(c=g` <div> ${0} <vaadin-combo-box class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" item-value-path="code" item-label-path="text" .checkValidity="${0}" .items="${0}" ?allow-custom-value="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot(`${o}:before`),this.t(r).toString(),n(null===(s=null===(i=this.form)||void 0===i?void 0:i[r])||void 0===s?void 0:s.toString()),this.__getErrorMessage(r),o,this.__getValidator(r),a.map((e=>({text:l(e).toString(),code:e}))),d,this.readonlySelector.matches(o,!0),!this.in("idle")||this.disabledSelector.matches(o,!0),this.__bindField(r),this.renderTemplateOrSlot(`${o}:after`))},this.__maybeRenderTextField=t=>{var i,s;const{field:a,wide:r=!1,readonly:d=!1,required:l=!1}=t,m=a.replace(/_/,"-").replace("1","-one").replace("2","-two");return this.hiddenSelector.matches(m)?"":e(_||(_=g` <div class="${0}"> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?required="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),o({"col-span-2":r}),this.renderTemplateOrSlot(`${m}:before`),this.t(a).toString(),n(null===(s=null===(i=this.form)||void 0===i?void 0:i[a])||void 0===s?void 0:s.toString()),this.__getErrorMessage(a),m,this.__getValidator(a),!this.in("idle")||this.disabledSelector.matches(m),l,d||this.readonlySelector.matches(m),this.__bindField(a),this.__handleKeyDown,this.renderTemplateOrSlot(`${m}:after`))},this.__renderTimestamps=()=>{const t=["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}}));return e(f||(f=g` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),t,this.renderTemplateOrSlot("timestamps:after"))},this.__renderAction=t=>{var i,s;const a=this.in({idle:{template:{dirty:"valid"}}}),r=this.in({idle:{snapshot:{dirty:"valid"}}}),d=!this.in("idle")||this.disabledSelector.matches(t,!0),o=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_shipping),n=!!(null===(s=this.form)||void 0===s?void 0:s.is_default_billing),l=o||n,m=a||r;return e(p||(p=g` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${t}:before`),this.in("idle")?""+(this.href?"error":"primary success"):"",t,this.in({idle:"template"})&&!m||d||l,this.__handleActionClick,this.ns,t,this.lang,this.renderTemplateOrSlot(`${t}:after`))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"x-property-table":s,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({address_name:e})=>e&&e.length>0||"address_name_required",({address_name:e})=>!e||e.length<=100||"address_name_too_long",({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({region:e})=>!e||e.length<=50||"region_too_long",({city:e})=>!e||e.length<=50||"city_too_long",({phone:e})=>!e||e.length<=50||"phone_too_long",({company:e})=>!e||e.length<=50||"company_too_long",({address2:e})=>!e||e.length<=100||"address2_too_long",({address1:e})=>e&&e.length>0||"address1_required",({address1:e})=>e&&e.length<=100||"address1_too_long",({postal_code:e})=>!e||e.length<=50||"postal_code_too_long"]}connectedCallback(){super.connectedCallback(),customElements.get("foxy-i18n").i18next.loadNamespaces(["country","region"])}render(){var t,i,s,a;const{hiddenSelector:r,lang:d,ns:n}=this,l=this.href?"delete":"create",c=!!(null===(t=this.form)||void 0===t?void 0:t.is_default_shipping),_=!!(null===(i=this.form)||void 0===i?void 0:i.is_default_billing),f=c||_,p=this.in("busy"),b=this.in("fail");return e(u||(u=g` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="space-y-l font-lumo text-m leading-m text-body relative" aria-busy="${0}" aria-live="polite" data-testid="wrapper"> <div class="grid grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} </div> ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),d,n,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"address_name",wide:!0,readonly:f,required:!0}),this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"company"}),this.__maybeRenderTextField({field:"phone"}),this.__maybeRenderTextField({field:"address1",wide:!0,required:!0}),this.__maybeRenderTextField({field:"address2",wide:!0}),this.__maybeRenderComboBox({field:"country",source:m}),this.__maybeRenderComboBox({field:"region",source:h,custom:!0}),this.__maybeRenderTextField({field:"city"}),this.__maybeRenderTextField({field:"postal_code"}),!this.data||r.matches("timestamps",!0)?"":this.__renderTimestamps(),r.matches(l,!0)?"":this.__renderAction(l),o({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!p&&!b}),b?"error":p?"busy":"empty",d,this.ns,null!==(a=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleActionClick(e){if(this.in({idle:"snapshot"})){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}else this.submit()}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-address-form",y);export{y as AddressForm};
@@ -1 +1 @@
1
- import{I as e}from"./shared-ad3c1ddc.js";import"./foxy-nucleon-element.js";import"./shared-fedeb7b2.js";import{_ as t}from"./shared-a8ced8bf.js";import{a as r}from"./shared-459a5ec4.js";import{C as i}from"./shared-43bcce74.js";import{p as s}from"./shared-0301f5c5.js";import{i as a}from"./shared-d3bf9ac0.js";import{h as o}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-d7c271d2.js";import"./shared-13e6fe8a.js";import"./shared-e39be772.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let n,d,l,_,c,u,m,p=e=>e;const f=i(r(e,"admin-subscription-card"));class h extends f{constructor(){super(...arguments),this.localeCodes=null,this.__transactionTemplateLoaderId="transactionTemplateLoader",this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__templateSetLoaderId="templateSetLoader",this.__itemsLoaderId="itemsLoader",this.__storeLoaderId="storeLoader"}static get properties(){return t(t({},super.properties),{},{localeCodes:{attribute:"locale-codes"}})}renderBody(){var e;const t=!!(null===(e=this.data)||void 0===e?void 0:e.first_failed_transaction_date),r=this.__transactionTemplate,i=this.__priceKey,s=this.__priceOptions,f=this.__summaryOptions,h=this.__summaryKey,v=this.__statusKey,y=this.__statusOptions;return o(n||(n=p` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="text-left leading-s text-tertiary"> <div class="flex items-center space-x-s"> <span class="block flex-1 font-semibold text-body truncate"> ${0} </span> <span class="text-s"> ${0} </span> </div> <div class="truncate text-s ${0}"> ${0} </div> <div class="text-tertiary truncate text-s">${0}&ZeroWidthSpace;</div> </div> `),a(this.__transactionTemplateHref),this.__transactionTemplateLoaderId,(()=>this.requestUpdate()),a(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),a(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),a(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),a(this.__itemsHref),this.__itemsLoaderId,(()=>this.requestUpdate()),a(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),f&&h?o(d||(d=p`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),h,f):o(l||(l=p`&ZeroWidthSpace;`)),s&&i?o(_||(_=p`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),i,s):o(c||(c=p`&ZeroWidthSpace;`)),t?"text-error":"text-secondary",y&&v?o(u||(u=p`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),v,y):o(m||(m=p`&ZeroWidthSpace;`)),null==r?void 0:r.customer_email)}get isBodyReady(){const e=!!this.__items&&!!this.__currencyCode&&!!this.__currencyDisplay;return super.isBodyReady&&e}get __transactionTemplateHref(){var e,t;const r=this.data;if(!r)return;if("_embedded"in r&&"fx:transaction_template"in r._embedded)return;const i=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:transaction_template"].href)&&void 0!==t?t:"");return i.searchParams.set("zoom","items"),i.toString()}get __defaultTemplateSetHref(){var e,t,r;if(""===(null===(e=this.__transactionTemplate)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(r=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==r?r:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __templateSetHref(){const e=this.__transactionTemplate;if(!(null==e?void 0:e.currency_code))return(null==e?void 0:e.template_set_uri)||void 0}get __itemsHref(){const e=this.__transactionTemplate;if(!e)return;if("_embedded"in e&&"fx:items"in e._embedded)return;const t=new URL(e._links["fx:items"].href);return t.searchParams.set("limit","1"),t.toString()}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __transactionTemplate(){var e,t;const r=this.data;if(r&&"_embedded"in r&&"fx:transaction_template"in r._embedded)return r._embedded["fx:transaction_template"];{const r=`#${this.__transactionTemplateLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}}get __defaultTemplateSet(){var e,t;const r=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(r);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const r=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __templateSet(){var e,t;const r=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __items(){const e=this.__transactionTemplate;if(e&&"_embedded"in e&&"fx:items"in e._embedded){const t=e._embedded["fx:items"];return{array:t,count:t.length,isApproximateCount:20===t.length}}const t=this.renderRoot.querySelector(`#${this.__itemsLoaderId}`);return(null==t?void 0:t.data)?{array:t.data._embedded["fx:items"],count:t.data.total_items,isApproximateCount:!1}:null}get __store(){var e,t;const r=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __currencyDisplay(){var e;const t=null===(e=this.__store)||void 0===e?void 0:e.use_international_currency_symbol;return!0===t?"code":!1===t?"symbol":void 0}get __summaryOptions(){var e;const{array:t,count:r}=null!==(e=this.__items)&&void 0!==e?e:{};if(t&&r)return{firstItem:t[0],count:r,countMinus1:r-1}}get __summaryKey(){const e=this.__items;if(e)return e.isApproximateCount?"summary_approximate":"summary"}get __statusOptions(){var e,t;const r=this.data,i=null!==(t=null!==(e=null==r?void 0:r.first_failed_transaction_date)&&void 0!==e?e:null==r?void 0:r.end_date)&&void 0!==t?t:null==r?void 0:r.next_transaction_date;if(i)return{date:i}}get __currencyCode(){var e,t,r;const i=this.__transactionTemplate;if(i&&"currency_code"in i)return i.currency_code;{const i=this.__localeCodesHelper,s=null===(t=null!==(e=this.__templateSet)&&void 0!==e?e:this.__defaultTemplateSet)||void 0===t?void 0:t.locale_code,a=s?null==i?void 0:i.values[s]:void 0;if(a)return null===(r=/Currency: ([A-Z]{3})/g.exec(a))||void 0===r?void 0:r[1]}}get __priceOptions(){var e,r;const i=this.__currencyDisplay;if(void 0===i)return;const a=this.__currencyCode;if(void 0===a)return;const o=null===(e=this.__transactionTemplate)||void 0===e?void 0:e.total_order;if(void 0===o)return;const n=null===(r=this.data)||void 0===r?void 0:r.frequency;return void 0!==n?t(t({},s(n)),{},{amount:`${o} ${a}`,currencyDisplay:i}):void 0}get __statusKey(){const e=this.data;if(null!==e){if(e.first_failed_transaction_date)return"subscription_failed";if(e.end_date){return new Date(e.end_date).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}return"subscription_"+(e.is_active?"active":"inactive")}}get __priceKey(){var e;const t=null===(e=this.data)||void 0===e?void 0:e.frequency;if(t)return"price_"+(".5m"===t?"twice_a_month":"recurring")}}customElements.define("foxy-admin-subscription-card",h);export{h as AdminSubscriptionCard};
1
+ import"./shared-21679ebd.js";import"./foxy-nucleon-element.js";import"./shared-0821cfdc.js";import{_ as e}from"./shared-a8ced8bf.js";import{a as t}from"./shared-2cc638ad.js";import{C as r}from"./shared-43bcce74.js";import{p as i}from"./shared-d61b3e4f.js";import{I as s}from"./shared-486d7bb5.js";import{i as a}from"./shared-d3bf9ac0.js";import{h as o}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let n,d,l,_,c,u,m,p=e=>e;const f=r(t(s,"admin-subscription-card"));class h extends f{constructor(){super(...arguments),this.localeCodes=null,this.__transactionTemplateLoaderId="transactionTemplateLoader",this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__templateSetLoaderId="templateSetLoader",this.__itemsLoaderId="itemsLoader",this.__storeLoaderId="storeLoader"}static get properties(){return e(e({},super.properties),{},{localeCodes:{attribute:"locale-codes"}})}renderBody(){var e;const t=!!(null===(e=this.data)||void 0===e?void 0:e.first_failed_transaction_date),r=this.__transactionTemplate,i=this.__priceKey,s=this.__priceOptions,f=this.__summaryOptions,h=this.__summaryKey,v=this.__statusKey,y=this.__statusOptions;return o(n||(n=p` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="text-left leading-s text-tertiary"> <div class="flex items-center space-x-s"> <span class="block flex-1 font-semibold text-body truncate"> ${0} </span> <span class="text-s"> ${0} </span> </div> <div class="truncate text-s ${0}"> ${0} </div> <div class="text-tertiary truncate text-s">${0}&ZeroWidthSpace;</div> </div> `),a(this.__transactionTemplateHref),this.__transactionTemplateLoaderId,(()=>this.requestUpdate()),a(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),a(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),a(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),a(this.__itemsHref),this.__itemsLoaderId,(()=>this.requestUpdate()),a(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),f&&h?o(d||(d=p`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),h,f):o(l||(l=p`&ZeroWidthSpace;`)),s&&i?o(_||(_=p`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),i,s):o(c||(c=p`&ZeroWidthSpace;`)),t?"text-error":"text-secondary",y&&v?o(u||(u=p`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),v,y):o(m||(m=p`&ZeroWidthSpace;`)),null==r?void 0:r.customer_email)}get isBodyReady(){const e=!!this.__items&&!!this.__currencyCode&&!!this.__currencyDisplay;return super.isBodyReady&&e}get __transactionTemplateHref(){var e,t;const r=this.data;if(!r)return;if("_embedded"in r&&"fx:transaction_template"in r._embedded)return;const i=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:transaction_template"].href)&&void 0!==t?t:"");return i.searchParams.set("zoom","items"),i.toString()}get __defaultTemplateSetHref(){var e,t,r;if(""===(null===(e=this.__transactionTemplate)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(r=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==r?r:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __templateSetHref(){const e=this.__transactionTemplate;if(!(null==e?void 0:e.currency_code))return(null==e?void 0:e.template_set_uri)||void 0}get __itemsHref(){const e=this.__transactionTemplate;if(!e)return;if("_embedded"in e&&"fx:items"in e._embedded)return;const t=new URL(e._links["fx:items"].href);return t.searchParams.set("limit","1"),t.toString()}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __transactionTemplate(){var e,t;const r=this.data;if(r&&"_embedded"in r&&"fx:transaction_template"in r._embedded)return r._embedded["fx:transaction_template"];{const r=`#${this.__transactionTemplateLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}}get __defaultTemplateSet(){var e,t;const r=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(r);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const r=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __templateSet(){var e,t;const r=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __items(){const e=this.__transactionTemplate;if(e&&"_embedded"in e&&"fx:items"in e._embedded){const t=e._embedded["fx:items"];return{array:t,count:t.length,isApproximateCount:20===t.length}}const t=this.renderRoot.querySelector(`#${this.__itemsLoaderId}`);return(null==t?void 0:t.data)?{array:t.data._embedded["fx:items"],count:t.data.total_items,isApproximateCount:!1}:null}get __store(){var e,t;const r=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __currencyDisplay(){var e;const t=null===(e=this.__store)||void 0===e?void 0:e.use_international_currency_symbol;return!0===t?"code":!1===t?"symbol":void 0}get __summaryOptions(){var e;const{array:t,count:r}=null!==(e=this.__items)&&void 0!==e?e:{};if(t&&r)return{firstItem:t[0],count:r,countMinus1:r-1}}get __summaryKey(){const e=this.__items;if(e)return e.isApproximateCount?"summary_approximate":"summary"}get __statusOptions(){var e,t;const r=this.data,i=null!==(t=null!==(e=null==r?void 0:r.first_failed_transaction_date)&&void 0!==e?e:null==r?void 0:r.end_date)&&void 0!==t?t:null==r?void 0:r.next_transaction_date;if(i)return{date:i}}get __currencyCode(){var e,t,r;const i=this.__transactionTemplate;if(i&&"currency_code"in i)return i.currency_code;{const i=this.__localeCodesHelper,s=null===(t=null!==(e=this.__templateSet)&&void 0!==e?e:this.__defaultTemplateSet)||void 0===t?void 0:t.locale_code,a=s?null==i?void 0:i.values[s]:void 0;if(a)return null===(r=/Currency: ([A-Z]{3})/g.exec(a))||void 0===r?void 0:r[1]}}get __priceOptions(){var t,r;const s=this.__currencyDisplay;if(void 0===s)return;const a=this.__currencyCode;if(void 0===a)return;const o=null===(t=this.__transactionTemplate)||void 0===t?void 0:t.total_order;if(void 0===o)return;const n=null===(r=this.data)||void 0===r?void 0:r.frequency;return void 0!==n?e(e({},i(n)),{},{amount:`${o} ${a}`,currencyDisplay:s}):void 0}get __statusKey(){const e=this.data;if(null!==e){if(e.first_failed_transaction_date)return"subscription_failed";if(e.end_date){return new Date(e.end_date).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}return"subscription_"+(e.is_active?"active":"inactive")}}get __priceKey(){var e;const t=null===(e=this.data)||void 0===e?void 0:e.frequency;if(t)return"price_"+(".5m"===t?"twice_a_month":"recurring")}}customElements.define("foxy-admin-subscription-card",h);export{h as AdminSubscriptionCard};
@@ -1,4 +1,4 @@
1
- import"./shared-f69afa4b.js";import"./shared-18d42566.js";import"./shared-e39be772.js";import"./shared-d7c271d2.js";import"./foxy-collection-page.js";import"./foxy-pagination.js";import"./shared-fedeb7b2.js";import{I as t}from"./shared-9862ca28.js";import"./foxy-copy-to-clipboard.js";import"./foxy-swipe-actions.js";import{_ as e}from"./shared-a8ced8bf.js";import{a as s,T as r}from"./shared-459a5ec4.js";import{c as i}from"./shared-4e709717.js";import{c as n,h as o}from"./shared-7f33a83a.js";import{C as a}from"./shared-43bcce74.js";import{N as l}from"./shared-181f51bd.js";import"./shared-0d3bec9f.js";import"./shared-13e6fe8a.js";import"./shared-7788977c.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-d519a301.js";import"./shared-11c2efc8.js";import"./shared-915e8780.js";import"./shared-0479553e.js";import"./shared-e7e0ee80.js";import"./shared-674c1c04.js";import"./shared-a85afa33.js";import"./shared-d3bf9ac0.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let h,c,d,p,f,u,m,_,g,y,b,v,x,$,w=t=>t;const j=Symbol(),k=Symbol();class S extends(s(t)){constructor(){super(...arguments),this.open=!1}static get properties(){return e(e({},super.properties),{},{open:{type:Boolean,reflect:!0}})}static get styles(){return[...super.styles,n(h||(h=w`.monospace{font-family:monospace}.resize-none{resize:none}.resource{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(18.75 * var(--lumo-space-m)),1fr));grid-gap:1px}.resource>:first-child{grid-column-start:1;grid-column-end:-2}textarea::selection{background:var(--lumo-contrast-10pct)}`))]}static get v8n(){return[...super.v8n,t=>"string"!=typeof t[j]||"invalid_json"]}renderBody(){return o(c||(c=w` <details class="select-none rounded-t-l rounded-b-l overflow-hidden border border-contrast-10" ?open="${0}" @toggle="${0}"> <summary class="${0}"> <div class="flex items-center space-x-s p-s pr-m transition-colors cursor-pointer bg-contrast-5 hover-bg-contrast-10"> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}"> </foxy-copy-to-clipboard> <span class="font-semibold truncate">${0}</span> <span class="flex-1"></span> ${0} ${0} ${0} </div> </summary> ${0} </details> `),this.open,(t=>{const e=t.currentTarget;this.open=e.open}),i({"ring-inset ring-primary-50 rounded-t-l":!0,"focus-outline-none focus-ring-2":!0,"rounded-b-l":!this.open}),this.href||this.parent,this.__renderTitle(),this.in({idle:{snapshot:"dirty"}})||this.in({idle:"template"})?o(d||(d=w` <foxy-internal-create-control infer="create" theme="tertiary-inline success"> </foxy-internal-create-control> `)):"",this.in({idle:{snapshot:"dirty"}})||this.in({idle:{template:"dirty"}})?o(p||(p=w` <vaadin-button data-testid="undo" theme="tertiary-inline contrast" class="px-xs" @click="${0}"> <foxy-i18n infer="" key="undo"></foxy-i18n> </vaadin-button> `),(()=>this.undo())):"",this.in({idle:"snapshot"})?o(f||(f=w` <foxy-internal-delete-control infer="delete" theme="tertiary-inline error"> </foxy-internal-delete-control> `)):"",this.open?this.__renderForm():"")}updated(t){super.updated(t),this.__setTextAreaHeight()}async _fetch(...t){var e;try{const s=t[0]instanceof Request?t[0]:new Request(...t);if("POST"!==s.method)return await super._fetch(...t);const r=null!==(e=this.form[k])&&void 0!==e?e:JSON.stringify(this.form);return await super._fetch(s.url,{method:"POST",body:r})}catch(t){throw["invalid_json"]}}__setTextAreaHeight(){const t=this.renderRoot.querySelector("textarea");t&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`,t.style.overflowY="hidden")}__renderTitle(){if(!this.href)return o(u||(u=w` <span class="text-tertiary">POST</span> <span>${0}</span> `),this.parent);let t="",e="",s="";try{const r=new URL(this.href);t=r.pathname,t.startsWith("/")&&(t=t.substring(1));const i=t.split("/");t=i.slice(0,i.length-1).join("/"),i.length>1&&(t=`${t}/`,e=i[i.length-1]),s=r.search}catch(e){t=this.href}return o(m||(m=w` ${0} `),[o(_||(_=w`<span>${0}</span>`),t),o(g||(g=w`<span class="text-primary">${0}</span>`),e),o(y||(y=w`<span class="text-tertiary">${0}</span>`),s)])}__renderForm(){return o(b||(b=w` <div class="bg-base"> <div class="${0} border-t border-contrast-5 bg-contrast-10"> <div class="flex-1 flex bg-base"> <div class="monospace bg-contrast-5 leading-s text-s p-m text-tertiary text-right"> ${0} </div> <textarea class="${0}" .value="${0}" @input="${0}">
1
+ import"./shared-08156595.js";import"./shared-bc814810.js";import"./shared-2092d86f.js";import"./shared-62c088b7.js";import"./foxy-collection-page.js";import"./foxy-pagination.js";import"./shared-0821cfdc.js";import{I as t}from"./shared-6581241a.js";import"./foxy-copy-to-clipboard.js";import"./foxy-swipe-actions.js";import{_ as e}from"./shared-a8ced8bf.js";import{a as s,T as r}from"./shared-2cc638ad.js";import{c as i}from"./shared-4e709717.js";import{c as n,h as o}from"./shared-7f33a83a.js";import{C as a}from"./shared-43bcce74.js";import{N as l}from"./shared-181f51bd.js";import"./shared-be66c2e7.js";import"./shared-0ce006b9.js";import"./shared-5ea18e60.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-d519a301.js";import"./shared-11c2efc8.js";import"./shared-9bdacf65.js";import"./shared-0479553e.js";import"./shared-8dd0af4d.js";import"./shared-62a54a6c.js";import"./shared-a85afa33.js";import"./shared-d3bf9ac0.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let h,c,d,p,f,u,m,_,g,y,b,v,x,$,w=t=>t;const j=Symbol(),k=Symbol();class S extends(s(t)){constructor(){super(...arguments),this.open=!1}static get properties(){return e(e({},super.properties),{},{open:{type:Boolean,reflect:!0}})}static get styles(){return[...super.styles,n(h||(h=w`.monospace{font-family:monospace}.resize-none{resize:none}.resource{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(18.75 * var(--lumo-space-m)),1fr));grid-gap:1px}.resource>:first-child{grid-column-start:1;grid-column-end:-2}textarea::selection{background:var(--lumo-contrast-10pct)}`))]}static get v8n(){return[...super.v8n,t=>"string"!=typeof t[j]||"invalid_json"]}renderBody(){return o(c||(c=w` <details class="select-none rounded-t-l rounded-b-l overflow-hidden border border-contrast-10" ?open="${0}" @toggle="${0}"> <summary class="${0}"> <div class="flex items-center space-x-s p-s pr-m transition-colors cursor-pointer bg-contrast-5 hover-bg-contrast-10"> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}"> </foxy-copy-to-clipboard> <span class="font-semibold truncate">${0}</span> <span class="flex-1"></span> ${0} ${0} ${0} </div> </summary> ${0} </details> `),this.open,(t=>{const e=t.currentTarget;this.open=e.open}),i({"ring-inset ring-primary-50 rounded-t-l":!0,"focus-outline-none focus-ring-2":!0,"rounded-b-l":!this.open}),this.href||this.parent,this.__renderTitle(),this.in({idle:{snapshot:"dirty"}})||this.in({idle:"template"})?o(d||(d=w` <foxy-internal-create-control infer="create" theme="tertiary-inline success"> </foxy-internal-create-control> `)):"",this.in({idle:{snapshot:"dirty"}})||this.in({idle:{template:"dirty"}})?o(p||(p=w` <vaadin-button data-testid="undo" theme="tertiary-inline contrast" class="px-xs" @click="${0}"> <foxy-i18n infer="" key="undo"></foxy-i18n> </vaadin-button> `),(()=>this.undo())):"",this.in({idle:"snapshot"})?o(f||(f=w` <foxy-internal-delete-control infer="delete" theme="tertiary-inline error"> </foxy-internal-delete-control> `)):"",this.open?this.__renderForm():"")}updated(t){super.updated(t),this.__setTextAreaHeight()}async _fetch(...t){var e;try{const s=t[0]instanceof Request?t[0]:new Request(...t);if("POST"!==s.method)return await super._fetch(...t);const r=null!==(e=this.form[k])&&void 0!==e?e:JSON.stringify(this.form);return await super._fetch(s.url,{method:"POST",body:r})}catch(t){throw["invalid_json"]}}__setTextAreaHeight(){const t=this.renderRoot.querySelector("textarea");t&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`,t.style.overflowY="hidden")}__renderTitle(){if(!this.href)return o(u||(u=w` <span class="text-tertiary">POST</span> <span>${0}</span> `),this.parent);let t="",e="",s="";try{const r=new URL(this.href);t=r.pathname,t.startsWith("/")&&(t=t.substring(1));const i=t.split("/");t=i.slice(0,i.length-1).join("/"),i.length>1&&(t=`${t}/`,e=i[i.length-1]),s=r.search}catch(e){t=this.href}return o(m||(m=w` ${0} `),[o(_||(_=w`<span>${0}</span>`),t),o(g||(g=w`<span class="text-primary">${0}</span>`),e),o(y||(y=w`<span class="text-tertiary">${0}</span>`),s)])}__renderForm(){return o(b||(b=w` <div class="bg-base"> <div class="${0} border-t border-contrast-5 bg-contrast-10"> <div class="flex-1 flex bg-base"> <div class="monospace bg-contrast-5 leading-s text-s p-m text-tertiary text-right"> ${0} </div> <textarea class="${0}" .value="${0}" @input="${0}">
2
2
  </textarea> </div> ${0} </div> </div> `),this.data?"resource":"",this.__formAsString.split("\n").map(((t,e)=>o(v||(v=w`<div>${0}</div>`),e+1))),i({"whitespace-pre leading-s text-s focus-outline-none":!0,"monospace resize-none p-m block w-full select-text":!0,"bg-error-10":this.errors.length>0,"bg-base":0===this.errors.length}),this.__formAsString,(t=>{const e=t.currentTarget;this.__formAsString=e.value}),this.data?o(x||(x=w` <div class="bg-base"> <ul class="bg-contrast-5 p-xs h-full"> ${0} </ul> </div> `),this.__links.map((([t,e])=>this.__renderLink(t,e.href,e.title)))):"")}get __links(){var t,e;const s=Object.entries(null!==(e=null===(t=this.data)||void 0===t?void 0:t._links)&&void 0!==e?e:{}).filter((([t,e])=>"self"!==t&&!Array.isArray(e)&&!e.templated));try{s.sort((([t],[e])=>t.localeCompare(e,this.lang)))}catch(t){s.sort((([t],[e])=>t.localeCompare(e)))}return s}get __formAsString(){const t=this.form,e=t[k],s=t[j];return"string"==typeof s?s:"string"==typeof e?e:JSON.stringify(t,((t,e)=>t.startsWith("_")?void 0:e),2)}set __formAsString(t){this.undo();try{const e=JSON.parse(t);"object"==typeof e&&this.edit(e),this.edit({[k]:t})}catch(e){this.edit({[j]:t})}}__renderLink(t,e,s){return o($||($=w` <li data-testclass="link" class="m-xs rounded overflow-hidden transition-colors hover-bg-contrast-5"> <foxy-swipe-actions> <button class="${0}" @click="${0}"> <div class="flex items-center"> <div class="flex-1 space-y-xs px-s min-w-0 text-s"> <div class="truncate font-semibold">${0}</div> <div class="opacity-75 truncate">${0}</div> </div> <iron-icon class="icon-inline text-xl text-tertiary mr-s flex-shrink-0" icon="icons:chevron-right"> </iron-icon> </div> </button> <div slot="action" class="h-full flex"> <vaadin-button theme="secondary success" class="h-full rounded-none" @click="${0}"> POST </vaadin-button> </div> </foxy-swipe-actions> </li> `),i({"rounded leading-none space-y-xs block text-left w-full py-s":!0,"ring-inset ring-primary-50":!0,"focus-outline-none focus-ring-2 ":!0}),(()=>{const t=new CustomEvent("navigate:get",{bubbles:!0,detail:e});this.dispatchEvent(t)}),s||e,t,(()=>{const t=new CustomEvent("navigate:post",{bubbles:!0,detail:e});this.dispatchEvent(t)}))}}customElements.define("foxy-internal-api-browser-resource-form",S);let T,C,E,U,A,H,O,B,P,G=t=>t;const R=a(r(s(l,"api-browser")));class q extends R{constructor(){super(...arguments),this.home=null,this.__newCurrentUrl=null,this.__history=[],this.__renderItem=({href:t,html:e})=>t?e(C||(C=G`
3
3
  <foxy-internal-api-browser-resource-form infer="" href=${0}>
4
4
  </foxy-internal-api-browser-resource-form>
@@ -1 +1 @@
1
- import{I as e}from"./shared-ad3c1ddc.js";import"./foxy-nucleon-element.js";import{R as o,a as d}from"./shared-459a5ec4.js";import{i as r}from"./shared-d3bf9ac0.js";import{h as s}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-d7c271d2.js";import"./shared-13e6fe8a.js";import"./shared-e39be772.js";import"./shared-fedeb7b2.js";import"./shared-a8ced8bf.js";import"./shared-76b3d76a.js";import"./shared-4f037e43.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let a,t=e=>e;const i=o(d(e,"applied-coupon-code-card"));class n extends i{constructor(){super(...arguments),this.__couponLoaderId="couponLoader"}renderBody(){var e,o,d;return s(a||(a=t` <foxy-nucleon infer="" class="hidden" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="leading-s text-m font-lumo sm-flex sm-justify-between"> <div class="font-semibold min-w-0 truncate">${0}&ZeroWidthSpace;</div> <div class="text-tertiary min-w-0 truncate">${0}&ZeroWidthSpace;</div> </div> `),r(null===(e=this.data)||void 0===e?void 0:e._links["fx:coupon"].href),this.__couponLoaderId,(()=>this.requestUpdate()),null===(o=this.data)||void 0===o?void 0:o.code,null===(d=this.__coupon)||void 0===d?void 0:d.name)}get isBodyReady(){return super.isBodyReady&&!!this.__coupon}get __couponLoader(){return this.renderRoot.querySelector(`#${this.__couponLoaderId}`)}get __coupon(){var e;return null===(e=this.__couponLoader)||void 0===e?void 0:e.data}}customElements.define("foxy-applied-coupon-code-card",n);export{n as AppliedCouponCodeCard};
1
+ import"./shared-21679ebd.js";import"./foxy-nucleon-element.js";import{a as e}from"./shared-2cc638ad.js";import{T as o}from"./shared-868065de.js";import{i as r}from"./shared-d3bf9ac0.js";import{h as d}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-0821cfdc.js";import"./shared-a8ced8bf.js";import"./shared-76b3d76a.js";import"./shared-4f037e43.js";import"./shared-486d7bb5.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";import"./shared-43bcce74.js";let s,a,t,i=e=>e;const p=e(o,"applied-coupon-code-card");class n extends p{constructor(){super(...arguments),this.__couponLoaderId="couponLoader"}renderBody(){var e;return d(s||(s=i` <foxy-nucleon infer="" class="hidden" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> ${0} `),r(null===(e=this.data)||void 0===e?void 0:e._links["fx:coupon"].href),this.__couponLoaderId,(()=>this.requestUpdate()),super.renderBody({title:e=>d(a||(a=i`${0}`),e.code),subtitle:()=>{var e;return d(t||(t=i`${0}`),null===(e=this.__coupon)||void 0===e?void 0:e.name)}}))}get isBodyReady(){return super.isBodyReady&&!!this.__coupon}get __couponLoader(){return this.renderRoot.querySelector(`#${this.__couponLoaderId}`)}get __coupon(){var e;return null===(e=this.__couponLoader)||void 0===e?void 0:e.data}}customElements.define("foxy-applied-coupon-code-card",n);export{n as AppliedCouponCodeCard};
@@ -1 +1 @@
1
- import"./shared-8e6a8a88.js";import"./shared-a4165acb.js";import{I as e}from"./shared-9862ca28.js";import{a as s}from"./shared-459a5ec4.js";import{B as r}from"./shared-76b3d76a.js";import{h as t}from"./shared-7f33a83a.js";import"./shared-02d4bc14.js";import"./shared-0d3bec9f.js";import"./shared-13e6fe8a.js";import"./shared-f69afa4b.js";import"./shared-7788977c.js";import"./shared-d7c271d2.js";import"./shared-4817dcd1.js";import"./shared-915e8780.js";import"./shared-0479553e.js";import"./shared-fedeb7b2.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-43bcce74.js";import"./shared-d3bf9ac0.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-18d42566.js";import"./shared-e7e0ee80.js";import"./shared-674c1c04.js";import"./shared-4e709717.js";import"./foxy-spinner.js";import"./shared-e39be772.js";let o,i,a=e=>e;const d=s(e,"applied-coupon-code-form");class h extends d{constructor(){super(...arguments),this.templates={},this.__ignoreUsageLimitsOptions=[{value:"checked",label:"option_checked"}],this.__getIgnoreUsageLimitsValue=()=>this.form.ignore_usage_limits?["checked"]:[],this.__setIgnoreUsageLimitsValue=e=>{this.edit({ignore_usage_limits:e.includes("checked")})}}static get v8n(){return[({code:e})=>!!e||"code:v8n_required"]}get readonlySelector(){return this.data?new r("not=delete"):super.readonlySelector}get hiddenSelector(){return new r(`timestamps ${super.hiddenSelector}`)}renderBody(){return t(o||(o=a` <foxy-internal-text-control helper-text="${0}" infer="code"> </foxy-internal-text-control> ${0} ${0} `),this.t(this.data?"code.helper_text_existing":"code.helper_text_new"),this.data?"":t(i||(i=a` <foxy-internal-checkbox-group-control infer="ignore-usage-limits" class="-my-xs" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> `),this.__getIgnoreUsageLimitsValue,this.__setIgnoreUsageLimitsValue,this.__ignoreUsageLimitsOptions),super.renderBody())}}customElements.define("foxy-applied-coupon-code-form",h);export{h as AppliedCouponCodeForm};
1
+ import"./shared-2add595d.js";import"./shared-80fc2b6a.js";import{I as e}from"./shared-6581241a.js";import{a as s}from"./shared-2cc638ad.js";import{B as r}from"./shared-76b3d76a.js";import{h as t}from"./shared-7f33a83a.js";import"./shared-88c4cfec.js";import"./shared-be66c2e7.js";import"./shared-0ce006b9.js";import"./shared-08156595.js";import"./shared-5ea18e60.js";import"./shared-62c088b7.js";import"./shared-39c10b22.js";import"./shared-9bdacf65.js";import"./shared-0479553e.js";import"./shared-0821cfdc.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-43bcce74.js";import"./shared-d3bf9ac0.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-bc814810.js";import"./shared-8dd0af4d.js";import"./shared-62a54a6c.js";import"./shared-4e709717.js";import"./foxy-spinner.js";import"./shared-2092d86f.js";let o,i,a=e=>e;const d=s(e,"applied-coupon-code-form");class c extends d{constructor(){super(...arguments),this.templates={},this.__ignoreUsageLimitsOptions=[{value:"checked",label:"option_checked"}],this.__getIgnoreUsageLimitsValue=()=>this.form.ignore_usage_limits?["checked"]:[],this.__setIgnoreUsageLimitsValue=e=>{this.edit({ignore_usage_limits:e.includes("checked")})}}static get v8n(){return[({code:e})=>!!e||"code:v8n_required"]}get readonlySelector(){return this.data?new r("not=delete"):super.readonlySelector}get hiddenSelector(){return new r(`timestamps ${super.hiddenSelector}`)}renderBody(){return t(o||(o=a` <foxy-internal-text-control helper-text="${0}" infer="code"> </foxy-internal-text-control> ${0} ${0} `),this.t(this.data?"code.helper_text_existing":"code.helper_text_new"),this.data?"":t(i||(i=a` <foxy-internal-checkbox-group-control infer="ignore-usage-limits" class="-my-xs" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> `),this.__getIgnoreUsageLimitsValue,this.__setIgnoreUsageLimitsValue,this.__ignoreUsageLimitsOptions),super.renderBody())}}customElements.define("foxy-applied-coupon-code-form",c);export{c as AppliedCouponCodeForm};
@@ -1 +1 @@
1
- import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-fedeb7b2.js";import{h as r}from"./shared-7f33a83a.js";import{a as s}from"./shared-459a5ec4.js";import{T as e}from"./shared-4cbd9a4f.js";import"./shared-d7c271d2.js";import"./shared-13e6fe8a.js";import"./shared-e39be772.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-43bcce74.js";import"./shared-d3bf9ac0.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let a,t,i=r=>r;class n extends(s(e,"applied-tax-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:s=>r(a||(a=i`${0}`),s.name),subtitle:s=>r(t||(t=i` <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> <span>&bull;</span> <foxy-i18n options="${0}" lang="${0}" key="percent" ns="${0}"> </foxy-i18n> `),JSON.stringify({amount:`${s.amount} ${this.__currency}`,currencyDisplay:this.__currencyDisplay}),this.lang,this.ns,JSON.stringify({fraction:s.rate/100}),this.lang,this.ns)})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-applied-tax-card",n);export{n as AppliedTaxCard};
1
+ import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as r}from"./shared-7f33a83a.js";import{a as s}from"./shared-2cc638ad.js";import{T as e}from"./shared-868065de.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-43bcce74.js";import"./shared-d3bf9ac0.js";import"./shared-486d7bb5.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let t,a,i=r=>r;class n extends(s(e,"applied-tax-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0}`),s.name),subtitle:s=>r(a||(a=i` <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> <span>&bull;</span> <foxy-i18n options="${0}" lang="${0}" key="percent" ns="${0}"> </foxy-i18n> `),JSON.stringify({amount:`${s.amount} ${this.__currency}`,currencyDisplay:this.__currencyDisplay}),this.lang,this.ns,JSON.stringify({fraction:s.rate/100}),this.lang,this.ns)})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-applied-tax-card",n);export{n as AppliedTaxCard};
@@ -1 +1 @@
1
- import"./shared-e39be772.js";import"./shared-d7c271d2.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{N as s}from"./shared-181f51bd.js";import{R as a,a as i,T as r}from"./shared-459a5ec4.js";import{c as n}from"./shared-4e709717.js";import"./shared-13e6fe8a.js";import"./shared-fedeb7b2.js";import"./shared-a8ced8bf.js";import"./shared-76b3d76a.js";import"./shared-4f037e43.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let o,d,l,m,c,h,p=e=>e;const u=a(i(t(r(s)),"attribute-card"));class v extends u{constructor(){super(...arguments),this.templates={},this.__renderName=()=>{var t,s;const{data:a}=this;return e(o||(o=p` ${0} <div class="flex items-center space-x-xs font-semibold"> <div class="truncate" title="${0}" data-testid="name"> ${0} </div> ${0} </div> ${0} `),this.renderTemplateOrSlot("name:before"),null!==(t=null==a?void 0:a.name)&&void 0!==t?t:"",null!==(s=null==a?void 0:a.name)&&void 0!==s?s:e(d||(d=p`&nbsp;`)),a&&"public"!==a.visibility?e(l||(l=p`<iron-icon icon="icons:lock" class="icon-inline"></iron-icon>`)):"",this.renderTemplateOrSlot("name:after"))},this.__renderValue=()=>{var t,s;const{data:a}=this;return e(m||(m=p` ${0} <div class="truncate text-tertiary" title="${0}" data-testid="value"> ${0} </div> ${0} `),this.renderTemplateOrSlot("value:before"),null!==(t=null==a?void 0:a.value)&&void 0!==t?t:"",null!==(s=null==a?void 0:a.value)&&void 0!==s?s:e(c||(c=p`&nbsp;`)),this.renderTemplateOrSlot("value:after"))}}render(){var t,s;const a=this.hiddenSelector,i=this.in({idle:"snapshot"}),r=this.in({idle:"template"});return e(h||(h=p` <div class="relative text-body text-m font-lumo leading-s sm-flex sm-justify-between" aria-live="polite" aria-busy="${0}"> ${0} ${0} <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),a.matches("name",!0)?"":this.__renderName(),a.matches("value",!0)?"":this.__renderValue(),n({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":i}),this.in("fail")?"error":r?"empty":"busy",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}}customElements.define("foxy-attribute-card",v);export{v as AttributeCard};
1
+ import"./shared-2092d86f.js";import"./shared-62c088b7.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{N as s}from"./shared-181f51bd.js";import{R as i,a,T as r}from"./shared-2cc638ad.js";import{c as n}from"./shared-4e709717.js";import"./shared-0ce006b9.js";import"./shared-0821cfdc.js";import"./shared-a8ced8bf.js";import"./shared-76b3d76a.js";import"./shared-4f037e43.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let d,o,l,m,c,h,u=e=>e;const p=i(a(t(r(s)),"attribute-card"));class v extends p{constructor(){super(...arguments),this.templates={},this.__renderName=()=>{var t,s;const{data:i}=this;return e(d||(d=u` <div> ${0} <div class="flex items-center space-x-xs font-medium"> <div class="truncate" title="${0}" data-testid="name"> ${0} </div> ${0} </div> ${0} </div> `),this.renderTemplateOrSlot("name:before"),null!==(t=null==i?void 0:i.name)&&void 0!==t?t:"",null!==(s=null==i?void 0:i.name)&&void 0!==s?s:e(o||(o=u`&nbsp;`)),i&&"public"!==i.visibility?e(l||(l=u` <div class="flex items-center" style="height:1px"> <iron-icon icon="icons:lock" class="icon-inline"></iron-icon> </div> `)):"",this.renderTemplateOrSlot("name:after"))},this.__renderValue=()=>{var t,s;const{data:i}=this;return e(m||(m=u` <div> ${0} <div class="truncate text-tertiary text-s sm-text-m" title="${0}" data-testid="value"> ${0} </div> ${0} </div> `),this.renderTemplateOrSlot("value:before"),null!==(t=null==i?void 0:i.value)&&void 0!==t?t:"",null!==(s=null==i?void 0:i.value)&&void 0!==s?s:e(c||(c=u`&nbsp;`)),this.renderTemplateOrSlot("value:after"))}}render(){var t,s;const i=this.hiddenSelector,a=this.in({idle:"snapshot"}),r=this.in({idle:"template"});return e(h||(h=u` <div aria-live="polite" aria-busy="${0}" class="h-s flex flex-col justify-center relative text-body text-m font-lumo leading-xs sm-flex-row sm-items-center sm-justify-between"> ${0} ${0} <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("value",!0)?"":this.__renderValue(),n({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":a}),this.in("fail")?"error":r?"empty":"busy",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}}customElements.define("foxy-attribute-card",v);export{v as AttributeCard};
@@ -1 +1 @@
1
- import"./shared-7992035c.js";import"./shared-f69afa4b.js";import"./shared-18d42566.js";import"./shared-e7e0ee80.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-fedeb7b2.js";import"./shared-d7c271d2.js";import"./shared-0d3bec9f.js";import"./shared-780ead03.js";import{h as e}from"./shared-7f33a83a.js";import{a as t,T as i,S as s}from"./shared-459a5ec4.js";import{c as a}from"./shared-4e709717.js";import{C as r}from"./shared-9643b6c8.js";import"./shared-674c1c04.js";import"./shared-d7dfd3d8.js";import"./shared-1392183b.js";import"./shared-80378a15.js";import"./shared-307382e5.js";import"./shared-206b4ae2.js";import{m as d}from"./shared-76b3d76a.js";import{G as l}from"./shared-3e8cd935.js";import"./shared-7788977c.js";import{P as n}from"./shared-daab7e76.js";import{C as o}from"./shared-43bcce74.js";import{N as h}from"./shared-181f51bd.js";import{i as m}from"./shared-d3bf9ac0.js";import"./shared-13e6fe8a.js";import"./shared-a8ced8bf.js";import"./shared-e39be772.js";import"./shared-4f037e43.js";import"./shared-11c2efc8.js";import"./shared-2f7dcefa.js";import"./shared-a85afa33.js";import"./shared-d0c5c38f.js";import"./shared-6ac71f60.js";import"./shared-d6276c83.js";let c,p,f,b,v,u,y=e=>e;const _=t(o(i(s(h))),"attribute-form");class $ extends _{constructor(){super(...arguments),this.templates={},this.__getValidator=d((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=d((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:t})=>{var i,s;const a=t.replace(/_/,"-");return this.hiddenSelector.matches(a)?"":e(c||(c=y` <div> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t(t).toString(),m(null===(s=null===(i=this.form)||void 0===i?void 0:i[t])||void 0===s?void 0:s.toString()),this.__getErrorMessage(t),t,this.__getValidator(t),!this.in("idle")||this.disabledSelector.matches(a),this.readonlySelector.matches(a),this.__bindField(t),this.__handleKeyDown,this.renderTemplateOrSlot(`${a}:after`))},this.__renderVisibility=()=>{var t;const{disabledSelector:i,readonlySelector:s,form:r,lang:d,ns:l}=this,n=!this.in("idle"),o=n||i.matches("visibility",!0);return e(p||(p=y` <div> ${0} <x-group frame> <foxy-i18n data-testid="visibility-label" class="${0}" lang="${0}" slot="header" key="visibility" ns="${0}"> </foxy-i18n> <x-choice data-testid="visibility" lang="${0}" ns="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> <foxy-i18n slot="private-label" lang="${0}" key="visibility_private" ns="${0}"> </foxy-i18n> <foxy-i18n slot="restricted-label" lang="${0}" key="visibility_restricted" ns="${0}"> </foxy-i18n> <foxy-i18n ns="${0}" lang="${0}" slot="public-label" key="visibility_public"> </foxy-i18n> </x-choice> </x-group> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),a({"text-disabled":o}),d,l,d,$.defaultNS,$.__visibilityOptions,null!==(t=null==r?void 0:r.visibility)&&void 0!==t?t:"private",n||i.matches("visibility",!0),s.matches("visibility",!0),this.__handleChoiceChange,d,l,d,l,l,d,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const t=["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}}));return e(f||(f=y` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),t,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>e(b||(b=y` <div> ${0} <vaadin-button class="w-full" data-testid="delete" theme="error" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="delete"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),this.__handleDeleteClick,this.ns,this.lang,this.renderTemplateOrSlot("delete:after")),this.__renderCreate=()=>{const t=this.in({idle:{template:{dirty:"valid"}}}),i=this.in({idle:{snapshot:{dirty:"valid"}}}),s=t||i;return e(v||(v=y` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="success primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="create"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!this.in("idle")||!s||this.disabledSelector.matches("create",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-text-area":customElements.get("vaadin-text-area"),"x-property-table":n,"vaadin-button":customElements.get("vaadin-button"),"x-choice":r,"x-group":l,"foxy-i18n":customElements.get("foxy-i18n"),"foxy-spinner":customElements.get("foxy-spinner")}}static get v8n(){return[({value:e})=>e&&e.length>0||"value_required",({value:e})=>e&&e.length<=1e3||"value_too_long",({name:e})=>e&&e.length>0||"name_required",({name:e})=>e&&e.length<=500||"name_too_long"]}render(){var t,i;const{hiddenSelector:s,data:r,lang:d,ns:l}=this,n=this.in("busy"),o=this.in("fail");return e(u||(u=y` <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="relative" aria-busy="${0}" aria-live="polite"> <div class="grid grid-cols-1 gap-l"> ${0} ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),d,l,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),s.matches("visibility",!0)?"":this.__renderVisibility(),s.matches("timestamps",!0)||!r?"":this.__renderTimestamps(),s.matches("delete",!0)||!r?"":this.__renderDelete(),s.matches("create",!0)||r?"":this.__renderCreate(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!n&&!o}),o?"error":n?"busy":"empty",d,l,null!==(i=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t,i,s;super.disconnectedCallback(),null===(t=(e=this.__bindField.cache).clear)||void 0===t||t.call(e),null===(s=(i=this.__getValidator.cache).clear)||void 0===s||s.call(i)}get __confirmDialog(){return this.renderRoot.querySelector("#confirm")}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__handleChoiceChange(e){this.edit({visibility:e.detail})}__handleDeleteClick(e){this.__confirmDialog.show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}$.__visibilityOptions=["private","restricted","public"],customElements.define("foxy-attribute-form",$);export{$ as AttributeForm};
1
+ import"./shared-ed0dee03.js";import"./shared-08156595.js";import"./shared-bc814810.js";import"./shared-8dd0af4d.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import"./shared-62c088b7.js";import"./shared-be66c2e7.js";import"./shared-5a4829e3.js";import{h as e}from"./shared-7f33a83a.js";import{a as t,T as i,S as s}from"./shared-2cc638ad.js";import{c as a}from"./shared-4e709717.js";import{C as r}from"./shared-1c94a156.js";import"./shared-62a54a6c.js";import"./shared-101d1234.js";import"./shared-bd252323.js";import"./shared-7d4fb1a2.js";import"./shared-4849ef5b.js";import"./shared-6cb1015f.js";import{m as d}from"./shared-76b3d76a.js";import{G as l}from"./shared-d8dc97f0.js";import"./shared-5ea18e60.js";import{P as n}from"./shared-5378bd8c.js";import{C as o}from"./shared-43bcce74.js";import{N as h}from"./shared-181f51bd.js";import{i as m}from"./shared-d3bf9ac0.js";import"./shared-0ce006b9.js";import"./shared-a8ced8bf.js";import"./shared-2092d86f.js";import"./shared-4f037e43.js";import"./shared-11c2efc8.js";import"./shared-2f7dcefa.js";import"./shared-a85afa33.js";import"./shared-404aa9cc.js";import"./shared-08e27fe9.js";import"./shared-d6276c83.js";let c,p,f,b,v,u,y=e=>e;const _=t(o(i(s(h))),"attribute-form");class $ extends _{constructor(){super(...arguments),this.templates={},this.__getValidator=d((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=d((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:t})=>{var i,s;const a=t.replace(/_/,"-");return this.hiddenSelector.matches(a)?"":e(c||(c=y` <div> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t(t).toString(),m(null===(s=null===(i=this.form)||void 0===i?void 0:i[t])||void 0===s?void 0:s.toString()),this.__getErrorMessage(t),t,this.__getValidator(t),!this.in("idle")||this.disabledSelector.matches(a),this.readonlySelector.matches(a),this.__bindField(t),this.__handleKeyDown,this.renderTemplateOrSlot(`${a}:after`))},this.__renderVisibility=()=>{var t;const{disabledSelector:i,readonlySelector:s,form:r,lang:d,ns:l}=this,n=!this.in("idle"),o=n||i.matches("visibility",!0);return e(p||(p=y` <div> ${0} <x-group frame> <foxy-i18n data-testid="visibility-label" class="${0}" lang="${0}" slot="header" key="visibility" ns="${0}"> </foxy-i18n> <x-choice data-testid="visibility" lang="${0}" ns="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> <foxy-i18n slot="private-label" lang="${0}" key="visibility_private" ns="${0}"> </foxy-i18n> <foxy-i18n slot="restricted-label" lang="${0}" key="visibility_restricted" ns="${0}"> </foxy-i18n> <foxy-i18n ns="${0}" lang="${0}" slot="public-label" key="visibility_public"> </foxy-i18n> </x-choice> </x-group> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),a({"text-disabled":o}),d,l,d,$.defaultNS,$.__visibilityOptions,null!==(t=null==r?void 0:r.visibility)&&void 0!==t?t:"private",n||i.matches("visibility",!0),s.matches("visibility",!0),this.__handleChoiceChange,d,l,d,l,l,d,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const t=["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}}));return e(f||(f=y` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),t,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>e(b||(b=y` <div> ${0} <vaadin-button class="w-full" data-testid="delete" theme="error" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="delete"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),this.__handleDeleteClick,this.ns,this.lang,this.renderTemplateOrSlot("delete:after")),this.__renderCreate=()=>{const t=this.in({idle:{template:{dirty:"valid"}}}),i=this.in({idle:{snapshot:{dirty:"valid"}}}),s=t||i;return e(v||(v=y` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="success primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="create"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!this.in("idle")||!s||this.disabledSelector.matches("create",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-text-area":customElements.get("vaadin-text-area"),"x-property-table":n,"vaadin-button":customElements.get("vaadin-button"),"x-choice":r,"x-group":l,"foxy-i18n":customElements.get("foxy-i18n"),"foxy-spinner":customElements.get("foxy-spinner")}}static get v8n(){return[({value:e})=>e&&e.length>0||"value_required",({value:e})=>e&&e.length<=1e3||"value_too_long",({name:e})=>e&&e.length>0||"name_required",({name:e})=>e&&e.length<=500||"name_too_long"]}render(){var t,i;const{hiddenSelector:s,data:r,lang:d,ns:l}=this,n=this.in("busy"),o=this.in("fail");return e(u||(u=y` <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="relative" aria-busy="${0}" aria-live="polite"> <div class="grid grid-cols-1 gap-l"> ${0} ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),d,l,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),s.matches("visibility",!0)?"":this.__renderVisibility(),s.matches("timestamps",!0)||!r?"":this.__renderTimestamps(),s.matches("delete",!0)||!r?"":this.__renderDelete(),s.matches("create",!0)||r?"":this.__renderCreate(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!n&&!o}),o?"error":n?"busy":"empty",d,l,null!==(i=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t,i,s;super.disconnectedCallback(),null===(t=(e=this.__bindField.cache).clear)||void 0===t||t.call(e),null===(s=(i=this.__getValidator.cache).clear)||void 0===s||s.call(i)}get __confirmDialog(){return this.renderRoot.querySelector("#confirm")}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__handleChoiceChange(e){this.edit({visibility:e.detail})}__handleDeleteClick(e){this.__confirmDialog.show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}$.__visibilityOptions=["private","restricted","public"],customElements.define("foxy-attribute-form",$);export{$ as AttributeForm};
@@ -1 +1 @@
1
- import"./shared-18d42566.js";import"./shared-e39be772.js";import"./shared-d7c271d2.js";import{L as t,h as e}from"./shared-7f33a83a.js";import{T as a,S as s,a as r}from"./shared-459a5ec4.js";import{c as n}from"./shared-4e709717.js";import{p as i,W as o}from"./shared-7304a1ab.js";import{s as d}from"./shared-bc7f58ef.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-fedeb7b2.js";import"./shared-0d3bec9f.js";import"./shared-780ead03.js";import"./shared-9643b6c8.js";import"./shared-674c1c04.js";import"./shared-d7dfd3d8.js";import"./shared-1392183b.js";import"./shared-f69afa4b.js";import"./shared-80378a15.js";import"./shared-307382e5.js";import"./shared-206b4ae2.js";import{G as l}from"./shared-3e8cd935.js";import"./shared-7788977c.js";import{C as h}from"./shared-43bcce74.js";import{N as c}from"./shared-181f51bd.js";import{i as m}from"./shared-d3bf9ac0.js";import"./shared-13e6fe8a.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-7992035c.js";import"./shared-11c2efc8.js";import"./shared-2f7dcefa.js";import"./shared-a85afa33.js";import"./shared-d0c5c38f.js";import"./shared-6ac71f60.js";import"./shared-d6276c83.js";let u,p,g,f,b,v=t=>t;class y extends(a(t)){constructor(){super(...arguments),this.checkAvailability=()=>!0,this.readonly=!1,this.disabled=!1,this.value="",this.start="",this.lang=""}static get properties(){return{checkAvailability:{attribute:!1},readonly:{type:Boolean,reflect:!0},disabled:{type:Boolean,reflect:!0},value:{type:String},start:{type:String},lang:{type:String}}}render(){var t,a;const s=new Date(null!==(a=null!==(t=this.__startAsDate)&&void 0!==t?t:this.__valueAsDate)&&void 0!==a?a:Date.now()),r=new Date(s),i=new Date(s),o=this.lang||navigator.language;return r.setMonth(r.getMonth()-1),i.setMonth(i.getMonth()+1),e(u||(u=v` <div class="text-m text-body font-lumo leading-m"> <div class="grid p-xs" style="grid-template:auto/max-content auto max-content"> <vaadin-button data-testid="prev" aria-label="${0}" theme="icon tertiary" class="px-xs" ?disabled="${0}" @click="${0}"> <iron-icon icon="icons:chevron-left"></iron-icon> </vaadin-button> <span data-testid="month" class="${0}"> ${0} </span> <vaadin-button data-testid="next" aria-label="${0}" theme="icon tertiary" class="px-xs" ?disabled="${0}" @click="${0}"> <iron-icon icon="icons:chevron-right"></iron-icon> </vaadin-button> </div> ${0} </div> `),r.toLocaleString(o,{year:"numeric",month:"long"}),this.disabled,this.__handlePrevButtonClick,n({"text-center self-center font-medium":!0,"text-disabled":this.disabled}),s.toLocaleDateString(o,{month:"long",year:"numeric"}),i.toLocaleString(o,{year:"numeric",month:"long"}),this.disabled,this.__handleNextButtonClick,this.__renderMonth(s.getMonth(),s.getFullYear()))}get __valueAsDate(){return i(this.value)}set __valueAsDate(t){this.value=t?d(t):""}get __startAsDate(){return i(this.start)}set __startAsDate(t){this.start=t?d(t):""}__renderMonth(t,a){var s,r,i;const o=this.lang||navigator.language,d=new Date(a,t,1,0,0,0,0),l=[];for(let t=0;t<7;++t){const a=new Date;for(;a.getDay()!==t;)a.setDate(a.getDate()+1);l.push(e(p||(p=v` <span class="${0}"> ${0} </span> `),n({"self-center text-xxs uppercase font-medium tracking-wider":!0,"text-secondary":!this.disabled,"text-disabled":this.disabled}),a.toLocaleString(o,{weekday:"short"})))}for(;d.getMonth()===t;){const n=d.getFullYear()===(null===(s=this.__valueAsDate)||void 0===s?void 0:s.getFullYear())&&d.getMonth()===(null===(r=this.__valueAsDate)||void 0===r?void 0:r.getMonth())&&d.getDate()===(null===(i=this.__valueAsDate)||void 0===i?void 0:i.getDate());l.push(e(g||(g=v` <div style="grid-column:${0}" data-testclass="day-of-month"> ${0} </div> `),d.getDay()+1,this.__renderDate(d.getDate(),t,a,n))),d.setDate(d.getDate()+1)}return e(f||(f=v` <form data-testid="grid" class="grid gap-s p-s text-center" style="grid-template:auto/repeat(7,1fr)"> ${0} </form> `),l)}__renderDate(t,a,s,r=!1){const i=this.disabled||this.readonly||!this.checkAvailability(new Date(s,a,t));return e(b||(b=v` <label class="${0}"> <input name="date" type="radio" value="${0}" class="sr-only" ?disabled="${0}" @change="${0}"> ${0} </label> `),n({"font-tnum select-none relative flex h-m items-center justify-center rounded":!0,"cursor-pointer focus-within-ring-2 focus-within-ring-primary-50":!i,"bg-contrast-5 hover-bg-contrast-10":!r&&!i,"bg-primary text-primary-contrast":r&&!i,"border border-dashed border-contrast-20 text-disabled":!r&&i,"border border-dashed border-primary text-primary":r&&i}),t,this.readonly||this.disabled||i,(()=>{this.__valueAsDate=new Date(s,a,t),this.dispatchEvent(new CustomEvent("change"))}),t)}__handlePrevButtonClick(){var t;const e=new Date(null!==(t=this.start)&&void 0!==t?t:Date.now());this.__startAsDate=new Date(e.setMonth(e.getMonth()-1))}__handleNextButtonClick(){var t;const e=new Date(null!==(t=this.start)&&void 0!==t?t:Date.now());this.__startAsDate=new Date(e.setMonth(e.getMonth()+1))}}customElements.define("foxy-internal-calendar",y);let _,x,$,D,j=t=>t;const w=s(a(h(r(c,"cancellation-form"))));class S extends w{constructor(){super(...arguments),this.templates={},this.__renderWarning=()=>{const{lang:t,ns:a}=this;return e(_||(_=j` <div> ${0} <x-warning> <foxy-i18n data-testid="warning" class="${0}" lang="${0}" key="end_subscription_explainer" ns="${0}"> </foxy-i18n> </x-warning> ${0} </div> `),this.renderTemplateOrSlot("warning:before"),n({"text-disabled":!this.in({idle:"snapshot"})}),t,a,this.renderTemplateOrSlot("warning:after"))},this.__renderEndDate=()=>{var t,a;const{constructor:s,lang:r,ns:i}=this,o=s.__tomorrow.getTime(),d=this.in({idle:"snapshot"});return e(x||(x=j` <div> ${0} <x-group frame> <foxy-i18n data-testid="end-date-label" class="${0}" slot="header" lang="${0}" key="end_date" ns="${0}"> </foxy-i18n> <foxy-internal-calendar data-testid="end-date" .checkAvailability="${0}" ?disabled="${0}" ?readonly="${0}" value="${0}" lang="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),n({"text-disabled":!d}),r,i,(t=>t.getTime()>=o),!d||this.disabledSelector.matches("end-date",!0),!!(null===(t=this.data)||void 0===t?void 0:t.end_date)||this.readonlySelector.matches("end-date",!0),m(null!==(a=this.form.end_date)&&void 0!==a?a:void 0),r,(t=>{this.edit({end_date:t.target.value})}),this.renderTemplateOrSlot("end-date:after"))},this.__renderSubmit=()=>{const t=this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{snapshot:{dirty:"valid"}}});return e($||($=j` <div> ${0} <vaadin-button data-testid="submit" ?disabled="${0}" theme="primary error" class="w-full" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="end_subscription"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!t||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get scopedElements(){return{"foxy-internal-calendar":customElements.get("foxy-internal-calendar"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-warning":o,"x-group":l}}static get v8n(){return[({end_date:t})=>!!t||"end_date_required"]}render(){var t,a;const s=this.hiddenSelector,r=this.in("busy"),i=this.in("fail");return e(D||(D=j` <div class="space-y-l font-lumo text-m text-body leading-m relative"> ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),s.matches("warning",!0)?"":this.__renderWarning(),s.matches("end-date",!0)?"":this.__renderEndDate(),s.matches("submit",!0)?"":this.__renderSubmit(),n({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!r&&!i}),i?"error":r?"busy":"empty",this.lang,this.ns,null!==(a=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==a?a:"")}submit(){if(!this.form.end_date){const t=this.constructor;this.edit({end_date:d(t.__tomorrow)})}super.submit()}static get __tomorrow(){const t=new Date;return t.setDate(t.getDate()+1),t.setHours(0,0,0,0),t}}customElements.define("foxy-cancellation-form",S);export{S as CancellationForm};
1
+ import"./shared-bc814810.js";import"./shared-2092d86f.js";import"./shared-62c088b7.js";import{L as t,h as e}from"./shared-7f33a83a.js";import{T as a,S as s,a as r}from"./shared-2cc638ad.js";import{c as n}from"./shared-4e709717.js";import{p as i,W as o}from"./shared-f7e4cd67.js";import{s as d}from"./shared-bc7f58ef.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import"./shared-be66c2e7.js";import"./shared-5a4829e3.js";import"./shared-1c94a156.js";import"./shared-62a54a6c.js";import"./shared-101d1234.js";import"./shared-bd252323.js";import"./shared-08156595.js";import"./shared-7d4fb1a2.js";import"./shared-4849ef5b.js";import"./shared-6cb1015f.js";import{G as l}from"./shared-d8dc97f0.js";import"./shared-5ea18e60.js";import{C as h}from"./shared-43bcce74.js";import{N as c}from"./shared-181f51bd.js";import{i as m}from"./shared-d3bf9ac0.js";import"./shared-0ce006b9.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-ed0dee03.js";import"./shared-11c2efc8.js";import"./shared-2f7dcefa.js";import"./shared-a85afa33.js";import"./shared-404aa9cc.js";import"./shared-08e27fe9.js";import"./shared-d6276c83.js";let u,p,g,f,b,v=t=>t;class y extends(a(t)){constructor(){super(...arguments),this.checkAvailability=()=>!0,this.readonly=!1,this.disabled=!1,this.value="",this.start="",this.lang=""}static get properties(){return{checkAvailability:{attribute:!1},readonly:{type:Boolean,reflect:!0},disabled:{type:Boolean,reflect:!0},value:{type:String},start:{type:String},lang:{type:String}}}render(){var t,a;const s=new Date(null!==(a=null!==(t=this.__startAsDate)&&void 0!==t?t:this.__valueAsDate)&&void 0!==a?a:Date.now()),r=new Date(s),i=new Date(s),o=this.lang||navigator.language;return r.setMonth(r.getMonth()-1),i.setMonth(i.getMonth()+1),e(u||(u=v` <div class="text-m text-body font-lumo leading-m"> <div class="grid p-xs" style="grid-template:auto/max-content auto max-content"> <vaadin-button data-testid="prev" aria-label="${0}" theme="icon tertiary" class="px-xs" ?disabled="${0}" @click="${0}"> <iron-icon icon="icons:chevron-left"></iron-icon> </vaadin-button> <span data-testid="month" class="${0}"> ${0} </span> <vaadin-button data-testid="next" aria-label="${0}" theme="icon tertiary" class="px-xs" ?disabled="${0}" @click="${0}"> <iron-icon icon="icons:chevron-right"></iron-icon> </vaadin-button> </div> ${0} </div> `),r.toLocaleString(o,{year:"numeric",month:"long"}),this.disabled,this.__handlePrevButtonClick,n({"text-center self-center font-medium":!0,"text-disabled":this.disabled}),s.toLocaleDateString(o,{month:"long",year:"numeric"}),i.toLocaleString(o,{year:"numeric",month:"long"}),this.disabled,this.__handleNextButtonClick,this.__renderMonth(s.getMonth(),s.getFullYear()))}get __valueAsDate(){return i(this.value)}set __valueAsDate(t){this.value=t?d(t):""}get __startAsDate(){return i(this.start)}set __startAsDate(t){this.start=t?d(t):""}__renderMonth(t,a){var s,r,i;const o=this.lang||navigator.language,d=new Date(a,t,1,0,0,0,0),l=[];for(let t=0;t<7;++t){const a=new Date;for(;a.getDay()!==t;)a.setDate(a.getDate()+1);l.push(e(p||(p=v` <span class="${0}"> ${0} </span> `),n({"self-center text-xxs uppercase font-medium tracking-wider":!0,"text-secondary":!this.disabled,"text-disabled":this.disabled}),a.toLocaleString(o,{weekday:"short"})))}for(;d.getMonth()===t;){const n=d.getFullYear()===(null===(s=this.__valueAsDate)||void 0===s?void 0:s.getFullYear())&&d.getMonth()===(null===(r=this.__valueAsDate)||void 0===r?void 0:r.getMonth())&&d.getDate()===(null===(i=this.__valueAsDate)||void 0===i?void 0:i.getDate());l.push(e(g||(g=v` <div style="grid-column:${0}" data-testclass="day-of-month"> ${0} </div> `),d.getDay()+1,this.__renderDate(d.getDate(),t,a,n))),d.setDate(d.getDate()+1)}return e(f||(f=v` <form data-testid="grid" class="grid gap-s p-s text-center" style="grid-template:auto/repeat(7,1fr)"> ${0} </form> `),l)}__renderDate(t,a,s,r=!1){const i=this.disabled||this.readonly||!this.checkAvailability(new Date(s,a,t));return e(b||(b=v` <label class="${0}"> <input name="date" type="radio" value="${0}" class="sr-only" ?disabled="${0}" @change="${0}"> ${0} </label> `),n({"font-tnum select-none relative flex h-m items-center justify-center rounded":!0,"cursor-pointer focus-within-ring-2 focus-within-ring-primary-50":!i,"bg-contrast-5 hover-bg-contrast-10":!r&&!i,"bg-primary text-primary-contrast":r&&!i,"border border-dashed border-contrast-20 text-disabled":!r&&i,"border border-dashed border-primary text-primary":r&&i}),t,this.readonly||this.disabled||i,(()=>{this.__valueAsDate=new Date(s,a,t),this.dispatchEvent(new CustomEvent("change"))}),t)}__handlePrevButtonClick(){var t;const e=new Date(null!==(t=this.start)&&void 0!==t?t:Date.now());this.__startAsDate=new Date(e.setMonth(e.getMonth()-1))}__handleNextButtonClick(){var t;const e=new Date(null!==(t=this.start)&&void 0!==t?t:Date.now());this.__startAsDate=new Date(e.setMonth(e.getMonth()+1))}}customElements.define("foxy-internal-calendar",y);let _,x,$,D,j=t=>t;const w=s(a(h(r(c,"cancellation-form"))));class S extends w{constructor(){super(...arguments),this.templates={},this.__renderWarning=()=>{const{lang:t,ns:a}=this;return e(_||(_=j` <div> ${0} <x-warning> <foxy-i18n data-testid="warning" class="${0}" lang="${0}" key="end_subscription_explainer" ns="${0}"> </foxy-i18n> </x-warning> ${0} </div> `),this.renderTemplateOrSlot("warning:before"),n({"text-disabled":!this.in({idle:"snapshot"})}),t,a,this.renderTemplateOrSlot("warning:after"))},this.__renderEndDate=()=>{var t,a;const{constructor:s,lang:r,ns:i}=this,o=s.__tomorrow.getTime(),d=this.in({idle:"snapshot"});return e(x||(x=j` <div> ${0} <x-group frame> <foxy-i18n data-testid="end-date-label" class="${0}" slot="header" lang="${0}" key="end_date" ns="${0}"> </foxy-i18n> <foxy-internal-calendar data-testid="end-date" .checkAvailability="${0}" ?disabled="${0}" ?readonly="${0}" value="${0}" lang="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),n({"text-disabled":!d}),r,i,(t=>t.getTime()>=o),!d||this.disabledSelector.matches("end-date",!0),!!(null===(t=this.data)||void 0===t?void 0:t.end_date)||this.readonlySelector.matches("end-date",!0),m(null!==(a=this.form.end_date)&&void 0!==a?a:void 0),r,(t=>{this.edit({end_date:t.target.value})}),this.renderTemplateOrSlot("end-date:after"))},this.__renderSubmit=()=>{const t=this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{snapshot:{dirty:"valid"}}});return e($||($=j` <div> ${0} <vaadin-button data-testid="submit" ?disabled="${0}" theme="primary error" class="w-full" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="end_subscription"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!t||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get scopedElements(){return{"foxy-internal-calendar":customElements.get("foxy-internal-calendar"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-warning":o,"x-group":l}}static get v8n(){return[({end_date:t})=>!!t||"end_date_required"]}render(){var t,a;const s=this.hiddenSelector,r=this.in("busy"),i=this.in("fail");return e(D||(D=j` <div class="space-y-l font-lumo text-m text-body leading-m relative"> ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),s.matches("warning",!0)?"":this.__renderWarning(),s.matches("end-date",!0)?"":this.__renderEndDate(),s.matches("submit",!0)?"":this.__renderSubmit(),n({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!r&&!i}),i?"error":r?"busy":"empty",this.lang,this.ns,null!==(a=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==a?a:"")}submit(){if(!this.form.end_date){const t=this.constructor;this.edit({end_date:d(t.__tomorrow)})}super.submit()}static get __tomorrow(){const t=new Date;return t.setDate(t.getDate()+1),t.setHours(0,0,0,0),t}}customElements.define("foxy-cancellation-form",S);export{S as CancellationForm};
@@ -1 +1 @@
1
- import{I as e}from"./shared-ad3c1ddc.js";import"./foxy-nucleon-element.js";import"./shared-fedeb7b2.js";import{_ as t}from"./shared-a8ced8bf.js";import{a as r}from"./shared-459a5ec4.js";import{C as i}from"./shared-43bcce74.js";import{i as s}from"./shared-d3bf9ac0.js";import{h as o}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-d7c271d2.js";import"./shared-13e6fe8a.js";import"./shared-e39be772.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let d,a,n,l,_,c,u,h,f,p,m=e=>e;const v=i(r(e,"cart-card"));class y extends v{constructor(){super(...arguments),this.localeCodes=null,this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__templateSetLoaderId="templateSetLoader",this.__itemsLoaderId="itemsLoader",this.__storeLoaderId="storeLoader"}static get properties(){return t(t({},super.properties),{},{localeCodes:{type:String,attribute:"locale-codes"}})}renderBody(){const e=this.__statusOptions,t=this.__line1Options,r=this.__line1Key,i=this.__line2Options,v=this.__line2Key,y=this.data;return o(d||(d=m` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="text-left leading-s"> <div class="flex items-center space-x-s"> <span class="flex-1 font-semibold text-body truncate"> ${0} </span> <span class="text-s text-tertiary"> ${0} </span> </div> <div class="truncate text-s text-secondary"> ${0} </div> <div class="text-tertiary truncate text-s"> ${0} </div> </div> `),s(this.__itemsHref),this.__itemsLoaderId,(()=>this.requestUpdate()),s(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),s(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),s(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),s(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),t&&r?o(a||(a=m`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),r,t):o(n||(n=m`&ZeroWidthSpace;`)),y?o(l||(l=m`<foxy-i18n infer="" key="status" .options="${0}"></foxy-i18n>`),e):o(_||(_=m`&ZeroWidthSpace;`)),v?o(c||(c=m`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),v,i):o(u||(u=m`&ZeroWidthSpace;`)),y?y.customer_email?o(h||(h=m`${0}`),y.customer_email):o(f||(f=m`<foxy-i18n infer="" key="no_customer"></foxy-i18n>`)):o(p||(p=m`&ZeroWidthSpace;`)))}get isBodyReady(){const e=!!this.__line1Options&&!!this.__statusOptions&&!!this.__line2Key;return super.isBodyReady&&e}get __defaultTemplateSetHref(){var e,t,r;if(""===(null===(e=this.data)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(r=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==r?r:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __templateSetHref(){var e,t;if(!(null===(e=this.data)||void 0===e?void 0:e.currency_code))return(null===(t=this.data)||void 0===t?void 0:t.template_set_uri)||void 0}get __itemsHref(){const e=this.data;if(!e)return;if("_embedded"in e&&"fx:items"in e._embedded)return;const t=new URL(e._links["fx:items"].href);return t.searchParams.set("order","price desc"),t.searchParams.set("limit","1"),t.toString()}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __defaultTemplateSet(){var e,t;const r=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(r);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const r=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __templateSet(){var e,t;const r=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __items(){const e=this.data;if(e&&"_embedded"in e&&"fx:items"in e._embedded){const t=e._embedded["fx:items"];return{array:t,count:t.length,isApproximateCount:20===t.length}}const t=this.renderRoot.querySelector(`#${this.__itemsLoaderId}`);if(null==t?void 0:t.data)return{array:t.data._embedded["fx:items"],count:t.data.total_items,isApproximateCount:!1}}get __store(){var e,t;const r=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __currencyDisplay(){var e;const t=null===(e=this.__store)||void 0===e?void 0:e.use_international_currency_symbol;return!0===t?"code":!1===t?"symbol":void 0}get __currencyCode(){var e,t,r;const i=this.data;if(i&&"currency_code"in i)return i.currency_code;{const i=this.__localeCodesHelper,s=null===(t=null!==(e=this.__templateSet)&&void 0!==e?e:this.__defaultTemplateSet)||void 0===t?void 0:t.locale_code,o=s?null==i?void 0:i.values[s]:void 0;if(o)return null===(r=/Currency: ([A-Z]{3})/g.exec(o))||void 0===r?void 0:r[1]}}get __line1Options(){var e,t;const r=null===(e=this.data)||void 0===e?void 0:e.total_order;if(void 0===r)return;const i=this.__currencyDisplay;if(void 0===i)return;const s=this.__currencyCode;if(void 0===s)return;const o=null===(t=this.__items)||void 0===t?void 0:t.count;return void 0!==o?{amount:`${r} ${s}`,currencyDisplay:i,count:o}:void 0}get __line1Key(){const e=this.__items;if(e)return e.isApproximateCount?"line_1_approximate":"line_1"}get __line2Options(){var e;return null===(e=this.__items)||void 0===e?void 0:e.array[0]}get __line2Key(){const e=this.__items;if(void 0!==e)return 0===e.count?"line_2_empty":1===e.count?"line_2_one":e.count>1?"line_2_many":void 0}get __statusOptions(){const e=this.data;if(e)return{dateCreated:e.date_created}}}customElements.define("foxy-cart-card",y);export{y as CartCard};
1
+ import"./shared-21679ebd.js";import"./foxy-nucleon-element.js";import"./shared-0821cfdc.js";import{_ as e}from"./shared-a8ced8bf.js";import{a as t}from"./shared-2cc638ad.js";import{C as r}from"./shared-43bcce74.js";import{I as i}from"./shared-486d7bb5.js";import{i as s}from"./shared-d3bf9ac0.js";import{h as o}from"./shared-7f33a83a.js";import"./foxy-spinner.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let d,a,n,l,_,c,u,h,f,p,m=e=>e;const v=r(t(i,"cart-card"));class y extends v{constructor(){super(...arguments),this.localeCodes=null,this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__templateSetLoaderId="templateSetLoader",this.__itemsLoaderId="itemsLoader",this.__storeLoaderId="storeLoader"}static get properties(){return e(e({},super.properties),{},{localeCodes:{type:String,attribute:"locale-codes"}})}renderBody(){const e=this.__statusOptions,t=this.__line1Options,r=this.__line1Key,i=this.__line2Options,v=this.__line2Key,y=this.data;return o(d||(d=m` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="text-left leading-s"> <div class="flex items-center space-x-s"> <span class="flex-1 font-semibold text-body truncate"> ${0} </span> <span class="text-s text-tertiary"> ${0} </span> </div> <div class="truncate text-s text-secondary"> ${0} </div> <div class="text-tertiary truncate text-s"> ${0} </div> </div> `),s(this.__itemsHref),this.__itemsLoaderId,(()=>this.requestUpdate()),s(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),s(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),s(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),s(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),t&&r?o(a||(a=m`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),r,t):o(n||(n=m`&ZeroWidthSpace;`)),y?o(l||(l=m`<foxy-i18n infer="" key="status" .options="${0}"></foxy-i18n>`),e):o(_||(_=m`&ZeroWidthSpace;`)),v?o(c||(c=m`<foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n>`),v,i):o(u||(u=m`&ZeroWidthSpace;`)),y?y.customer_email?o(h||(h=m`${0}`),y.customer_email):o(f||(f=m`<foxy-i18n infer="" key="no_customer"></foxy-i18n>`)):o(p||(p=m`&ZeroWidthSpace;`)))}get isBodyReady(){const e=!!this.__line1Options&&!!this.__statusOptions&&!!this.__line2Key;return super.isBodyReady&&e}get __defaultTemplateSetHref(){var e,t,r;if(""===(null===(e=this.data)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(r=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==r?r:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __templateSetHref(){var e,t;if(!(null===(e=this.data)||void 0===e?void 0:e.currency_code))return(null===(t=this.data)||void 0===t?void 0:t.template_set_uri)||void 0}get __itemsHref(){const e=this.data;if(!e)return;if("_embedded"in e&&"fx:items"in e._embedded)return;const t=new URL(e._links["fx:items"].href);return t.searchParams.set("order","price desc"),t.searchParams.set("limit","1"),t.toString()}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __defaultTemplateSet(){var e,t;const r=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(r);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const r=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __templateSet(){var e,t;const r=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __items(){const e=this.data;if(e&&"_embedded"in e&&"fx:items"in e._embedded){const t=e._embedded["fx:items"];return{array:t,count:t.length,isApproximateCount:20===t.length}}const t=this.renderRoot.querySelector(`#${this.__itemsLoaderId}`);if(null==t?void 0:t.data)return{array:t.data._embedded["fx:items"],count:t.data.total_items,isApproximateCount:!1}}get __store(){var e,t;const r=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(r))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __currencyDisplay(){var e;const t=null===(e=this.__store)||void 0===e?void 0:e.use_international_currency_symbol;return!0===t?"code":!1===t?"symbol":void 0}get __currencyCode(){var e,t,r;const i=this.data;if(i&&"currency_code"in i)return i.currency_code;{const i=this.__localeCodesHelper,s=null===(t=null!==(e=this.__templateSet)&&void 0!==e?e:this.__defaultTemplateSet)||void 0===t?void 0:t.locale_code,o=s?null==i?void 0:i.values[s]:void 0;if(o)return null===(r=/Currency: ([A-Z]{3})/g.exec(o))||void 0===r?void 0:r[1]}}get __line1Options(){var e,t;const r=null===(e=this.data)||void 0===e?void 0:e.total_order;if(void 0===r)return;const i=this.__currencyDisplay;if(void 0===i)return;const s=this.__currencyCode;if(void 0===s)return;const o=null===(t=this.__items)||void 0===t?void 0:t.count;return void 0!==o?{amount:`${r} ${s}`,currencyDisplay:i,count:o}:void 0}get __line1Key(){const e=this.__items;if(e)return e.isApproximateCount?"line_1_approximate":"line_1"}get __line2Options(){var e;return null===(e=this.__items)||void 0===e?void 0:e.array[0]}get __line2Key(){const e=this.__items;if(void 0!==e)return 0===e.count?"line_2_empty":1===e.count?"line_2_one":e.count>1?"line_2_many":void 0}get __statusOptions(){const e=this.data;if(e)return{dateCreated:e.date_created}}}customElements.define("foxy-cart-card",y);export{y as CartCard};
@@ -1 +1 @@
1
- import"./shared-78f6e15f.js";import"./shared-c6567654.js";import"./shared-324f9551.js";import"./shared-a4165acb.js";import{I as e}from"./shared-9862ca28.js";import"./foxy-applied-coupon-code-card.js";import"./foxy-applied-coupon-code-form.js";import"./foxy-custom-field-card.js";import"./foxy-custom-field-form.js";import"./foxy-nucleon-element.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-discount-card.js";import"./foxy-item-card.js";import"./foxy-item-form.js";import"./shared-fedeb7b2.js";import{I as t}from"./shared-915e8780.js";import{_ as o}from"./shared-a8ced8bf.js";import{c as i}from"./shared-4e709717.js";import{h as r}from"./shared-7f33a83a.js";import{R as s,a as n}from"./shared-459a5ec4.js";import{i as l}from"./shared-d3bf9ac0.js";import{s as a}from"./shared-bcc6e13b.js";import{Q as d}from"./shared-76b3d76a.js";import"./shared-206b4ae2.js";import"./shared-0d3bec9f.js";import"./shared-13e6fe8a.js";import"./shared-7788977c.js";import"./shared-6ac71f60.js";import"./shared-d7c271d2.js";import"./shared-f69afa4b.js";import"./shared-4817dcd1.js";import"./shared-a85afa33.js";import"./shared-18d42566.js";import"./shared-e39be772.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-43bcce74.js";import"./shared-181f51bd.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-d519a301.js";import"./shared-11c2efc8.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-e7e0ee80.js";import"./shared-674c1c04.js";import"./foxy-pagination.js";import"./shared-ad3c1ddc.js";import"./shared-8e6a8a88.js";import"./shared-02d4bc14.js";import"./shared-0479553e.js";import"./shared-4cbd9a4f.js";import"./shared-780ead03.js";import"./shared-9643b6c8.js";import"./shared-1392183b.js";import"./shared-80378a15.js";import"./shared-7992035c.js";import"./shared-307382e5.js";import"./shared-d7dfd3d8.js";import"./shared-d0c5c38f.js";import"./shared-daab7e76.js";import"./shared-3e8cd935.js";import"./shared-46e22714.js";import"./shared-9291d900.js";import"./shared-33912f50.js";import"./foxy-discount-detail-card.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-item-option-form.js";import"./foxy-coupon-card.js";import"./foxy-discount-builder.js";import"./shared-e6f3e9f0.js";import"./shared-0a40a749.js";import"./shared-a6de944b.js";import"./shared-bc7f58ef.js";import"./shared-7304a1ab.js";import"./foxy-subscription-card.js";import"./shared-0301f5c5.js";import"./foxy-subscription-form.js";import"./foxy-cancellation-form.js";import"./foxy-transaction-card.js";import"./shared-ea67b3f3.js";import"./shared-75e78c70.js";import"./shared-839dd3a8.js";let c,f,u=e=>e;customElements.define("foxy-internal-cart-form-view-as-customer-control",class extends t{constructor(){super(...arguments),this.__loader=null}static get properties(){return o(o({},super.properties),{},{__loader:{attribute:!1}})}renderControl(){var e,t;const o=null===(e=this.__loader)||void 0===e?void 0:e.state,s=null===(t=this.__loader)||void 0===t?void 0:t.result;return s?r(c||(c=u` <a target="_blank" class="flex h-m px-m rounded font-medium transition-colors text-body bg-contrast-5 hover-bg-contrast-10 items-center justify-center focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n infer="" key="state_idle"></foxy-i18n> </a> `),s):r(f||(f=u` <div class="${0}"> <foxy-i18n infer="" key="${0}"> </foxy-i18n> </div> `),i({"flex h-m px-m rounded items-center justify-center":!0,"transition-colors bg-contrast-5 font-medium":!0,"text-tertiary":"fail"!==o,"text-error":"fail"===o}),"fail"===o?"state_fail":"state_busy")}updated(e){var t;super.updated(e);const o=this.nucleon,i=null==o?void 0:o.data,r=null!==(t=null==i?void 0:i._links["fx:create_session"].href)&&void 0!==t?t:null;this.__reloadSessionHref(r)}async __reloadSessionHref(e){var t;if((null===(t=this.__loader)||void 0===t?void 0:t.href)===e)return;const o=this.nucleon;if(o)if(e){const t={result:null,state:"busy",href:e},i=new o.constructor.API(this);this.__loader=t;try{const o=await i.fetch(e,{method:"POST"});if(!o.ok)throw new Error;t.result=(await o.json()).cart_link,t.state="idle"}catch(e){t.state="fail"}finally{this.requestUpdate()}}else this.__loader=null}});let p,_,h,m,y,g,x,v,b,j,$,L=e=>e;const S=s(n(e,"cart-form"));class H extends S{constructor(){super(...arguments),this.itemCategories=null,this.templateSets=null,this.localeCodes=null,this.customers=null,this.countries=null,this.regions=null,this.coupons=null,this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__shippingRegionsLoaderId="shippingRegionsLoader",this.__billingRegionsLoaderId="billingRegionsLoader",this.__templateSetLoaderId="templateSetLoader",this.__countriesHelperLoaderId="countriesHelperLoader",this.__discountsLoaderId="discountsLoader",this.__customerLoaderId="customerLoader",this.__storeLoaderId="storeLoader",this.__customerTypeGetValue=()=>{var e;return this.form.customer_uri?(null===(e=this.__customer)||void 0===e?void 0:e.is_anonymous)?"guest":"regular":"new"},this.__customerTypeSetValue=e=>{this.edit({customer_uri:"",customer_email:""}),this.__isGuestMode="guest"===e},this.__customerTypeOptions=[{label:"option_new",value:"new"},{label:"option_guest",value:"guest"},{label:"option_regular",value:"regular"}],this.__customerGetValue=()=>this.form.customer_uri||this.form.customer_email,this.__customerSetValue=e=>{try{new URL(e);const t={},i=this.data,r=this.form;for(const e in this.form){if("customer_email"===e)continue;const o=d(r,e);d(i,e)!==o&&a(t,e,o)}this.undo(),this.edit(o(o({},t),{},{customer_uri:e}))}catch(t){this.edit({customer_uri:"",customer_email:e})}},this.__isGuestMode=!1}static get properties(){return o(o({},super.properties),{},{itemCategories:{attribute:"item-categories"},templateSets:{attribute:"template-sets"},localeCodes:{attribute:"locale-codes"},customers:{},countries:{},regions:{},coupons:{},__isGuestMode:{attribute:!1}})}static get v8n(){return[({billing_first_name:e})=>!e||e.length<=50||"billing_first_name:v8n_too_long",({billing_last_name:e})=>!e||e.length<=50||"billing_last_name:v8n_too_long",({billing_region:e})=>!e||e.length<=50||"billing_region:v8n_too_long",({billing_city:e})=>!e||e.length<=50||"billing_city:v8n_too_long",({billing_phone:e})=>!e||e.length<=50||"billing_phone:v8n_too_long",({billing_company:e})=>!e||e.length<=50||"billing_company:v8n_too_long",({billing_address2:e})=>!e||e.length<=100||"billing_address2:v8n_too_long",({billing_address1:e})=>!e||e.length<=100||"billing_address1:v8n_too_long",({billing_postal_code:e})=>!e||e.length<=50||"billing_postal_code:v8n_too_long",({shipping_first_name:e})=>!e||e.length<=50||"shipping_first_name:v8n_too_long",({shipping_last_name:e})=>!e||e.length<=50||"shipping_last_name:v8n_too_long",({shipping_region:e})=>!e||e.length<=50||"shipping_region:v8n_too_long",({shipping_city:e})=>!e||e.length<=50||"shipping_city:v8n_too_long",({shipping_phone:e})=>!e||e.length<=50||"shipping_phone:v8n_too_long",({shipping_company:e})=>!e||e.length<=50||"shipping_company:v8n_too_long",({shipping_address2:e})=>!e||e.length<=100||"shipping_address2:v8n_too_long",({shipping_address1:e})=>!e||e.length<=100||"shipping_address1:v8n_too_long",({shipping_postal_code:e})=>!e||e.length<=50||"shipping_postal_code:v8n_too_long"]}renderBody(){var e,t,o,i,s,n,a,d,c,f,u,g,x;const v=Object.values(null!==(e=this.__shippingRegions)&&void 0!==e?e:{}),b=Object.values(null!==(t=this.__billingRegions)&&void 0!==t?t:{}),j=Object.values(null!==(o=this.__countriesHelper)&&void 0!==o?o:{}),$=v.map((e=>({label:e.default,value:e.code}))),S=b.map((e=>({label:e.default,value:e.code}))),H=j.map((e=>({label:e.default,value:e.cc2}))),k=null===(i=this.__customer)||void 0===i?void 0:i._links["fx:customer_addresses"].href,R=(null===(s=this.__store)||void 0===s?void 0:s.use_international_currency_symbol)?"code":"symbol";let I=null;if("currency_code"in this.form)I=this.form.currency_code;else{const e=this.__localeCodesHelper,t=null===(a=null!==(n=this.__templateSet)&&void 0!==n?n:this.__defaultTemplateSet)||void 0===a?void 0:a.locale_code,o=t?null==e?void 0:e.values[t]:void 0;o&&(I=null!==(c=null===(d=/Currency: ([A-Z]{3})/g.exec(o))||void 0===d?void 0:d[1])&&void 0!==c?c:null)}return r(h||(h=L` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="grid sm-grid-cols-2 gap-l"> <div class="sm-col-span-2"> <foxy-i18n class="text-l font-bold leading-s block" infer="" key="order_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="order_section_description"> </foxy-i18n> </div> <foxy-internal-select-control infer="customer-type" .getValue="${0}" .setValue="${0}" .options="${0}" @update="${0}"> </foxy-internal-select-control> <foxy-internal-async-combo-box-control item-label-path="email" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" infer="customer" allow-custom-value .selectedItem="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-label-path="description" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" class="sm-col-span-2" infer="template-set-uri" .selectedItem="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-list-control infer="items" class="min-w-0 sm-col-span-2" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="applied-coupon-codes" class="min-w-0 sm-col-span-2" first="${0}" limit="5" item="foxy-applied-coupon-code-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="custom-fields" class="min-w-0" first="${0}" limit="5" item="foxy-custom-field-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="attributes" class="min-w-0" first="${0}" limit="5" item="foxy-attribute-card" form="${0}" alert> </foxy-internal-async-list-control> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-bold leading-s block" infer="" key="billing_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="billing_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="billing-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-company"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-phone"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-address1" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control infer="billing-address2" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="billing-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="billing-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="billing-city"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-postal-code"></foxy-internal-text-control> </div> </div> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-bold leading-s block" infer="" key="shipping_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="shipping_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="shipping-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-company"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-phone"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-address1" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control infer="shipping-address2" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="shipping-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="shipping-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="shipping-city"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-postal-code"></foxy-internal-text-control> </div> </div> <div class="leading-m sm-col-span-2"> <div class="text-xl font-bold mb-s"> ${0} </div> <div class="border-t border-contrast-10 mb-s"></div> ${0} ${0} </div> ${0} </div> `),l(this.__shippingRegionsHref),this.__shippingRegionsLoaderId,(()=>this.requestUpdate()),l(this.__billingRegionsHref),this.__billingRegionsLoaderId,(()=>this.requestUpdate()),l(this.__countriesHref),this.__countriesHelperLoaderId,(()=>this.requestUpdate()),l(this.__customerHref),this.__customerLoaderId,(()=>this.requestUpdate()),l(this.__discountsHref),this.__discountsLoaderId,(()=>this.requestUpdate()),l(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),l(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),l(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),l(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),this.__customerTypeGetValue,this.__customerTypeSetValue,this.__customerTypeOptions,(()=>this.requestUpdate()),l(this.__customersHref),this.__customer,this.__customerGetValue,this.__customerSetValue,l(this.templateSets),null!==(f=this.__templateSet)&&void 0!==f?f:null,l(this.__itemsHref),(e=>r(_||(_=L` <foxy-item-card locale-codes="${0}" parent="${0}" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" infer="" href="${0}" .related="${0}"> </foxy-item-card> `),this.localeCodes,e.parent,e.href,e.related)),this.data?e=>{var t,o,i;return r(p||(p=L` <foxy-item-form customer-addresses="${0}" item-categories="${0}" locale-codes="${0}" coupons="${0}" parent="${0}" href="${0}" infer="" id="form" .related="${0}" @fetch="${0}" @update="${0}"> </foxy-item-form> `),l(null!=k?k:void 0),l(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),l(null!==(o=this.localeCodes)&&void 0!==o?o:void 0),l(null!==(i=this.coupons)&&void 0!==i?i:void 0),e.dialog.parent,e.dialog.href,e.dialog.related,e.handleFetch,e.handleUpdate)}:null,l(null===(u=this.data)||void 0===u?void 0:u._links["fx:applied_coupon_codes"].href),l(this.data?"foxy-applied-coupon-code-form":void 0),l(null===(g=this.data)||void 0===g?void 0:g._links["fx:custom_fields"].href),l(this.data?"foxy-custom-field-form":void 0),l(null===(x=this.data)||void 0===x?void 0:x._links["fx:attributes"].href),l(this.data?"foxy-attribute-form":void 0),H,S,H,$,this.__renderTotalOrder(I,R),this.__renderTotals(I,R),this.__renderDiscounts(I,R),this.data?r(m||(m=L` <div class="grid gap-s sm-grid-cols-2 sm-gap-l sm-col-span-2"> <foxy-internal-cart-form-view-as-customer-control infer="view-as-customer"> </foxy-internal-cart-form-view-as-customer-control> <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control> </div> `)):r(y||(y=L`<foxy-internal-create-control infer="create"></foxy-internal-create-control>`)))}get __defaultTemplateSetHref(){var e,t,o;if(""===(null===(e=this.data)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(o=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==o?o:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __shippingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.shipping_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __billingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.billing_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __templateSetHref(){return this.form.template_set_uri||void 0}get __customersHref(){var e;try{const t=new URL(null!==(e=this.customers)&&void 0!==e?e:"");return t.searchParams.set("is_anonymous",this.__isGuestMode?"1":"0"),t.toString()}catch(e){}}get __countriesHref(){var e;return null!==(e=this.countries)&&void 0!==e?e:void 0}get __discountsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:discounts"].href)&&void 0!==t?t:"");return o.searchParams.set("limit","300"),o.toString()}catch(e){}}get __customerHref(){return this.form.customer_uri||void 0}get __itemsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:items"].href)&&void 0!==t?t:"");return o.searchParams.set("zoom","item_options"),o.toString()}catch(e){}}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __defaultTemplateSet(){var e,t;const o=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(o);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const o=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __shippingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__shippingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __billingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__billingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __templateSet(){var e,t;const o=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __discounts(){return this.renderRoot.querySelector(`#${this.__discountsLoaderId}`)}get __countriesHelper(){var e;const t=this.renderRoot.querySelector(`#${this.__countriesHelperLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __customer(){var e;return null===(e=this.renderRoot.querySelector(`#${this.__customerLoaderId}`))||void 0===e?void 0:e.data}get __store(){var e,t;const o=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}__renderTotalOrder(e,t){const o=this.data;if(!o)return r(g||(g=L`--`));const i={amount:`${o.total_order} ${e}`,currencyDisplay:t};return r(x||(x=L`<foxy-i18n infer="totals" key="total_order" .options="${0}"></foxy-i18n>`),i)}__renderTotals(e,t){const o=this.data;return["total_item_price","total_shipping","total_tax"].map((i=>{const s={amount:`${null==o?void 0:o[i]} ${e}`,currencyDisplay:t};return r(v||(v=L` <div class="flex justify-between text-m text-secondary"> <foxy-i18n key="${0}" infer="totals"></foxy-i18n> ${0} </div> `),i,o?r(b||(b=L`<foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n>`),s):r(j||(j=L`<span>--</span>`)))}))}__renderDiscounts(e,t){var o,i;return null===(i=null===(o=this.__discounts)||void 0===o?void 0:o.data)||void 0===i?void 0:i._embedded["fx:discounts"].map((o=>{const i={amount:`${o.amount} ${e}`,currencyDisplay:t};return r($||($=L` <div class="flex justify-between text-m text-secondary"> <span>${0} &bull; ${0}</span> <foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n> </div> `),o.name,o.code,i)}))}}customElements.define("foxy-cart-form",H);export{H as CartForm};
1
+ import"./shared-c95c17e6.js";import"./shared-1000b848.js";import"./shared-cba08e1c.js";import{I as e}from"./shared-6581241a.js";import"./shared-80fc2b6a.js";import"./foxy-applied-coupon-code-card.js";import"./foxy-applied-coupon-code-form.js";import"./foxy-custom-field-card.js";import"./foxy-custom-field-form.js";import"./foxy-nucleon-element.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-discount-card.js";import"./foxy-item-card.js";import"./foxy-item-form.js";import"./shared-0821cfdc.js";import{I as t}from"./shared-9bdacf65.js";import{_ as o}from"./shared-a8ced8bf.js";import{c as i}from"./shared-4e709717.js";import{h as r}from"./shared-7f33a83a.js";import{R as s,a as n}from"./shared-2cc638ad.js";import{i as l}from"./shared-d3bf9ac0.js";import{s as a}from"./shared-bcc6e13b.js";import{Q as d}from"./shared-76b3d76a.js";import"./shared-6cb1015f.js";import"./shared-be66c2e7.js";import"./shared-0ce006b9.js";import"./shared-5ea18e60.js";import"./shared-08e27fe9.js";import"./shared-62c088b7.js";import"./shared-08156595.js";import"./shared-39c10b22.js";import"./shared-a85afa33.js";import"./shared-bc814810.js";import"./shared-2092d86f.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-4f037e43.js";import"./shared-43bcce74.js";import"./shared-181f51bd.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-d519a301.js";import"./shared-11c2efc8.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-8dd0af4d.js";import"./shared-62a54a6c.js";import"./foxy-pagination.js";import"./shared-21679ebd.js";import"./shared-486d7bb5.js";import"./shared-868065de.js";import"./shared-2add595d.js";import"./shared-88c4cfec.js";import"./shared-0479553e.js";import"./shared-5a4829e3.js";import"./shared-1c94a156.js";import"./shared-bd252323.js";import"./shared-7d4fb1a2.js";import"./shared-ed0dee03.js";import"./shared-4849ef5b.js";import"./shared-101d1234.js";import"./shared-404aa9cc.js";import"./shared-5378bd8c.js";import"./shared-d8dc97f0.js";import"./shared-988ec916.js";import"./shared-a0c8faf2.js";import"./shared-d518bd55.js";import"./foxy-discount-detail-card.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-item-option-form.js";import"./foxy-coupon-card.js";import"./foxy-discount-builder.js";import"./shared-e6f3e9f0.js";import"./shared-af226a9a.js";import"./shared-a41234b4.js";import"./shared-bc7f58ef.js";import"./shared-f7e4cd67.js";import"./foxy-subscription-card.js";import"./shared-d61b3e4f.js";import"./foxy-subscription-form.js";import"./foxy-cancellation-form.js";import"./foxy-transaction-card.js";import"./shared-ea67b3f3.js";import"./shared-75e78c70.js";import"./shared-839dd3a8.js";let c,f,p=e=>e;customElements.define("foxy-internal-cart-form-view-as-customer-control",class extends t{constructor(){super(...arguments),this.__loader=null}static get properties(){return o(o({},super.properties),{},{__loader:{attribute:!1}})}renderControl(){var e,t;const o=null===(e=this.__loader)||void 0===e?void 0:e.state,s=null===(t=this.__loader)||void 0===t?void 0:t.result;return s?r(c||(c=p` <a target="_blank" class="flex h-m px-m rounded font-medium transition-colors text-body bg-contrast-5 hover-bg-contrast-10 items-center justify-center focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n infer="" key="state_idle"></foxy-i18n> </a> `),s):r(f||(f=p` <div class="${0}"> <foxy-i18n infer="" key="${0}"> </foxy-i18n> </div> `),i({"flex h-m px-m rounded items-center justify-center":!0,"transition-colors bg-contrast-5 font-medium":!0,"text-tertiary":"fail"!==o,"text-error":"fail"===o}),"fail"===o?"state_fail":"state_busy")}updated(e){var t;super.updated(e);const o=this.nucleon,i=null==o?void 0:o.data,r=null!==(t=null==i?void 0:i._links["fx:create_session"].href)&&void 0!==t?t:null;this.__reloadSessionHref(r)}async __reloadSessionHref(e){var t;if((null===(t=this.__loader)||void 0===t?void 0:t.href)===e)return;const o=this.nucleon;if(o)if(e){const t={result:null,state:"busy",href:e},i=new o.constructor.API(this);this.__loader=t;try{const o=await i.fetch(e,{method:"POST"});if(!o.ok)throw new Error;t.result=(await o.json()).cart_link,t.state="idle"}catch(e){t.state="fail"}finally{this.requestUpdate()}}else this.__loader=null}});let u,h,_,m,y,g,x,v,b,j,$,L,S,H=e=>e;const k=s(n(e,"cart-form"));class R extends k{constructor(){super(...arguments),this.itemCategories=null,this.templateSets=null,this.localeCodes=null,this.customers=null,this.countries=null,this.templates={},this.regions=null,this.coupons=null,this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__shippingRegionsLoaderId="shippingRegionsLoader",this.__billingRegionsLoaderId="billingRegionsLoader",this.__templateSetLoaderId="templateSetLoader",this.__countriesHelperLoaderId="countriesHelperLoader",this.__discountsLoaderId="discountsLoader",this.__customerLoaderId="customerLoader",this.__storeLoaderId="storeLoader",this.__customerTypeGetValue=()=>{var e;return this.form.customer_uri?(null===(e=this.__customer)||void 0===e?void 0:e.is_anonymous)?"guest":"regular":"new"},this.__customerTypeSetValue=e=>{this.edit({customer_uri:"",customer_email:""}),this.__isGuestMode="guest"===e},this.__customerTypeOptions=[{label:"option_new",value:"new"},{label:"option_guest",value:"guest"},{label:"option_regular",value:"regular"}],this.__customerGetValue=()=>this.form.customer_uri||this.form.customer_email,this.__customerSetValue=e=>{try{new URL(e);const t={},i=this.data,r=this.form;for(const e in this.form){if("customer_email"===e)continue;const o=d(r,e);d(i,e)!==o&&a(t,e,o)}this.undo(),this.edit(o(o({},t),{},{customer_uri:e}))}catch(t){this.edit({customer_uri:"",customer_email:e})}},this.__isGuestMode=!1}static get properties(){return o(o({},super.properties),{},{itemCategories:{attribute:"item-categories"},templateSets:{attribute:"template-sets"},localeCodes:{attribute:"locale-codes"},customers:{},countries:{},regions:{},coupons:{},__isGuestMode:{attribute:!1}})}static get v8n(){return[({billing_first_name:e})=>!e||e.length<=50||"billing-first-name:v8n_too_long",({billing_last_name:e})=>!e||e.length<=50||"billing-last-name:v8n_too_long",({billing_region:e})=>!e||e.length<=50||"billing-region:v8n_too_long",({billing_city:e})=>!e||e.length<=50||"billing-city:v8n_too_long",({billing_phone:e})=>!e||e.length<=50||"billing-phone:v8n_too_long",({billing_company:e})=>!e||e.length<=50||"billing-company:v8n_too_long",({billing_address2:e})=>!e||e.length<=100||"billing-address-two:v8n_too_long",({billing_address1:e})=>!e||e.length<=100||"billing-address-one:v8n_too_long",({billing_postal_code:e})=>!e||e.length<=50||"billing-postal-code:v8n_too_long",({shipping_first_name:e})=>!e||e.length<=50||"shipping-first-name:v8n_too_long",({shipping_last_name:e})=>!e||e.length<=50||"shipping-last-name:v8n_too_long",({shipping_region:e})=>!e||e.length<=50||"shipping-region:v8n_too_long",({shipping_city:e})=>!e||e.length<=50||"shipping-city:v8n_too_long",({shipping_phone:e})=>!e||e.length<=50||"shipping-phone:v8n_too_long",({shipping_company:e})=>!e||e.length<=50||"shipping-company:v8n_too_long",({shipping_address2:e})=>!e||e.length<=100||"shipping-address-two:v8n_too_long",({shipping_address1:e})=>!e||e.length<=100||"shipping-address-one:v8n_too_long",({shipping_postal_code:e})=>!e||e.length<=50||"shipping-postal-code:v8n_too_long"]}renderBody(){var e,t,o,i,s,n,a,d,c,f,p,g;const x=Object.values(null!==(e=this.__shippingRegions)&&void 0!==e?e:{}),v=Object.values(null!==(t=this.__billingRegions)&&void 0!==t?t:{}),b=Object.values(null!==(o=this.__countriesHelper)&&void 0!==o?o:{}),j=x.map((e=>({label:e.default,value:e.code}))),$=v.map((e=>({label:e.default,value:e.code}))),L=b.map((e=>({label:e.default,value:e.cc2}))),S=null===(i=this.__customer)||void 0===i?void 0:i._links["fx:customer_addresses"].href,k=this.__store,R=k?k.use_international_currency_symbol?"code":"symbol":void 0;let I=null;if("currency_code"in this.form)I=this.form.currency_code;else{const e=this.__localeCodesHelper,t=null===(n=null!==(s=this.__templateSet)&&void 0!==s?s:this.__defaultTemplateSet)||void 0===n?void 0:n.locale_code,o=t?null==e?void 0:e.values[t]:void 0;o&&(I=null!==(d=null===(a=/Currency: ([A-Z]{3})/g.exec(o))||void 0===a?void 0:a[1])&&void 0!==d?d:null)}return r(_||(_=H` <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="grid sm-grid-cols-2 gap-l"> <div class="sm-col-span-2"> <foxy-i18n class="text-l font-bold leading-s block" infer="" key="order_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="order_section_description"> </foxy-i18n> </div> <foxy-internal-select-control infer="customer-type" .getValue="${0}" .setValue="${0}" .options="${0}" @update="${0}"> </foxy-internal-select-control> <foxy-internal-async-combo-box-control item-label-path="email" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" infer="customer" allow-custom-value .selectedItem="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-combo-box-control item-label-path="description" item-value-path="_links.self.href" item-id-path="_links.self.href" first="${0}" class="sm-col-span-2" infer="template-set-uri" .selectedItem="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-async-list-control infer="items" class="min-w-0 sm-col-span-2" first="${0}" limit="5" .item="${0}" .form="${0}"> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="applied-coupon-codes" class="min-w-0 sm-col-span-2" first="${0}" limit="5" item="foxy-applied-coupon-code-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="custom-fields" class="min-w-0" first="${0}" limit="5" item="foxy-custom-field-card" form="${0}" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control infer="attributes" class="min-w-0" first="${0}" limit="5" item="foxy-attribute-card" form="${0}" alert> </foxy-internal-async-list-control> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-bold leading-s block" infer="" key="billing_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="billing_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="billing-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-company"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-phone"></foxy-internal-text-control> <foxy-internal-text-control property="billing_address1" infer="billing-address-one" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control property="billing_address2" infer="billing-address-two" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="billing-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="billing-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="billing-city"></foxy-internal-text-control> <foxy-internal-text-control infer="billing-postal-code"></foxy-internal-text-control> </div> </div> <div class="grid gap-l"> <div> <foxy-i18n class="text-l font-bold leading-s block" infer="" key="shipping_section_title"> </foxy-i18n> <foxy-i18n class="text-s text-secondary leading-s block" infer="" key="shipping_section_description"> </foxy-i18n> </div> <div class="grid grid-cols-2 gap-m"> <foxy-internal-text-control infer="shipping-first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-last-name"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-company"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-phone"></foxy-internal-text-control> <foxy-internal-text-control property="shipping_address1" infer="shipping-address-one" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-text-control property="shipping_address2" infer="shipping-address-two" class="col-span-2"> </foxy-internal-text-control> <foxy-internal-select-control infer="shipping-country" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control infer="shipping-region" .options="${0}"> </foxy-internal-select-control> <foxy-internal-text-control infer="shipping-city"></foxy-internal-text-control> <foxy-internal-text-control infer="shipping-postal-code"></foxy-internal-text-control> </div> </div> <div class="leading-m sm-col-span-2"> <div class="text-xl font-bold mb-s"> ${0} </div> <div class="border-t border-contrast-10 mb-s"></div> ${0} ${0} </div> ${0} </div> `),l(this.__shippingRegionsHref),this.__shippingRegionsLoaderId,(()=>this.requestUpdate()),l(this.__billingRegionsHref),this.__billingRegionsLoaderId,(()=>this.requestUpdate()),l(this.__countriesHref),this.__countriesHelperLoaderId,(()=>this.requestUpdate()),l(this.__customerHref),this.__customerLoaderId,(()=>this.requestUpdate()),l(this.__discountsHref),this.__discountsLoaderId,(()=>this.requestUpdate()),l(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),l(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),l(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),l(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),this.__customerTypeGetValue,this.__customerTypeSetValue,this.__customerTypeOptions,(()=>this.requestUpdate()),l(this.__customersHref),this.__customer,this.__customerGetValue,this.__customerSetValue,l(this.templateSets),null!==(c=this.__templateSet)&&void 0!==c?c:null,l(this.__itemsHref),(e=>r(h||(h=H` <foxy-item-card locale-codes="${0}" parent="${0}" infer="" href="${0}" .related="${0}"> </foxy-item-card> `),this.localeCodes,e.parent,e.href,e.related)),this.data?e=>{var t,o,i;return r(u||(u=H` <foxy-item-form customer-addresses="${0}" item-categories="${0}" locale-codes="${0}" coupons="${0}" parent="${0}" href="${0}" infer="" id="form" .related="${0}" @fetch="${0}" @update="${0}"> </foxy-item-form> `),l(null!=S?S:void 0),l(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),l(null!==(o=this.localeCodes)&&void 0!==o?o:void 0),l(null!==(i=this.coupons)&&void 0!==i?i:void 0),e.dialog.parent,e.dialog.href,e.dialog.related,e.handleFetch,e.handleUpdate)}:null,l(null===(f=this.data)||void 0===f?void 0:f._links["fx:applied_coupon_codes"].href),l(this.data?"foxy-applied-coupon-code-form":void 0),l(null===(p=this.data)||void 0===p?void 0:p._links["fx:custom_fields"].href),l(this.data?"foxy-custom-field-form":void 0),l(null===(g=this.data)||void 0===g?void 0:g._links["fx:attributes"].href),l(this.data?"foxy-attribute-form":void 0),L,$,L,j,this.__renderTotalOrder(I,R),this.__renderTotals(I,R),this.__renderDiscounts(I,R),this.data?r(m||(m=H` <div class="grid gap-s sm-grid-cols-2 sm-gap-l sm-col-span-2"> <foxy-internal-cart-form-view-as-customer-control infer="view-as-customer"> </foxy-internal-cart-form-view-as-customer-control> <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control> </div> `)):r(y||(y=H`<foxy-internal-create-control infer="create"></foxy-internal-create-control>`)))}get __defaultTemplateSetHref(){var e,t,o;if(""===(null===(e=this.data)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(o=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==o?o:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __shippingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.shipping_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __billingRegionsHref(){var e;try{const t=new URL(null!==(e=this.regions)&&void 0!==e?e:""),o=this.form.billing_country;return o&&t.searchParams.set("country_code",o),t.toString()}catch(e){}}get __templateSetHref(){return this.form.template_set_uri||void 0}get __customersHref(){var e;try{const t=new URL(null!==(e=this.customers)&&void 0!==e?e:"");return t.searchParams.set("is_anonymous",this.__isGuestMode?"1":"0"),t.toString()}catch(e){}}get __countriesHref(){var e;return null!==(e=this.countries)&&void 0!==e?e:void 0}get __discountsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:discounts"].href)&&void 0!==t?t:"");return o.searchParams.set("limit","300"),o.toString()}catch(e){}}get __customerHref(){return this.form.customer_uri||void 0}get __itemsHref(){var e,t;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:items"].href)&&void 0!==t?t:"");return o.searchParams.set("zoom","item_options"),o.toString()}catch(e){}}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __defaultTemplateSet(){var e,t;const o=`#${this.__defaultTemplateSetLoaderId}`,i=this.renderRoot.querySelector(o);return null!==(t=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const o=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __shippingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__shippingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __billingRegions(){var e;const t=this.renderRoot.querySelector(`#${this.__billingRegionsLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __templateSet(){var e,t;const o=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __discounts(){return this.renderRoot.querySelector(`#${this.__discountsLoaderId}`)}get __countriesHelper(){var e;const t=this.renderRoot.querySelector(`#${this.__countriesHelperLoaderId}`);return null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.values}get __customer(){var e;return null===(e=this.renderRoot.querySelector(`#${this.__customerLoaderId}`))||void 0===e?void 0:e.data}get __store(){var e,t;const o=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(o))||void 0===e?void 0:e.data)&&void 0!==t?t:null}__renderTotalOrder(e,t){const o=this.data;if(!o||!e||!t)return r(g||(g=H`--`));const i={amount:`${o.total_order} ${e}`,currencyDisplay:t};return r(x||(x=H`<foxy-i18n infer="totals" key="total_order" .options="${0}"></foxy-i18n>`),i)}__renderTotals(e,t){const o=this.data,i=o&&e&&t;return["total_item_price","total_shipping","total_tax"].map((s=>{const n={amount:`${null==o?void 0:o[s]} ${e}`,currencyDisplay:t};return r(v||(v=H` <div data-testid="${0}" class="flex justify-between text-m text-secondary"> <foxy-i18n key="${0}" infer="totals"></foxy-i18n> ${0} </div> `),s,s,i?r(b||(b=H`<foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n>`),n):r(j||(j=H`<span>--</span>`)))}))}__renderDiscounts(e,t){var o,i;const s=null===(i=null===(o=this.__discounts)||void 0===o?void 0:o.data)||void 0===i?void 0:i._embedded["fx:discounts"],n=e&&t;return null==s?void 0:s.map((o=>{const i={amount:`${o.amount} ${e}`,currencyDisplay:t};return r($||($=H` <div data-testclass="discount" class="flex justify-between text-m text-secondary"> <span>${0} &bull; ${0}</span> ${0} </div> `),o.name,o.code,n?r(L||(L=H`<foxy-i18n infer="totals" key="price" .options="${0}"></foxy-i18n>`),i):r(S||(S=H`<span>--</span>`)))}))}}customElements.define("foxy-cart-form",R);export{R as CartForm};
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import{_ as e}from"./shared-a8ced8bf.js";import{h as t}from"./shared-7f33a83a.js";import{a as s}from"./shared-459a5ec4.js";import{C as r}from"./shared-43bcce74.js";import{F as a}from"./shared-76b3d76a.js";import{N as n}from"./shared-181f51bd.js";import{r as i}from"./shared-d519a301.js";import{s as o}from"./shared-11c2efc8.js";import"./shared-d7c271d2.js";import"./shared-13e6fe8a.js";import"./shared-e39be772.js";import"./shared-fedeb7b2.js";import"./shared-4f037e43.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let d,l=e=>e;const h=r(s(n));class c extends h{constructor(){super(),this.props={},this.__pageFetchEventHandler=e=>this.__handlePageFetchEvent(e),this.item="foxy-null"}static get properties(){return e(e({},super.properties),{},{props:{type:Object},item:{type:String}})}get item(){return this.__item}set item(e){this.__renderItem="string"==typeof e?new Function("ctx",`return ctx.html\`\n <${e}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n data-testclass="items"\n related=\${JSON.stringify(ctx.related)}\n parent=\${ctx.parent}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .templates=\${ctx.templates}\n ...=\${ctx.spread(ctx.props)}\n >\n </${e}>\``):e,this.__item=e,this.requestUpdate()}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__pageFetchEventHandler)}render(){let e=[];return e=this.in("busy")?[{key:"stalled",href:"foxy://collection-page/stall",data:null}]:this.in("fail")?[{key:"failed",href:"foxy://collection-page/fail",data:null}]:this.in({idle:"template"})||0===this.__items.length?[{key:"empty",href:"",data:null}]:this.__items.map((e=>({key:e._links.self.href,href:e._links.self.href,data:e}))),t(d||(d=l`${0}`),i(e,(e=>e.key),((s,r)=>{var a,n,i,d,l;return null===(a=this.__renderItem)||void 0===a?void 0:a.call(this,{disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,previous:null!==(i=null===(n=e[r-1])||void 0===n?void 0:n.data)&&void 0!==i?i:null,related:this.related,hidden:this.hidden,parent:this.href,spread:o,props:this.props,group:this.group,lang:this.lang,data:s.data,href:s.href,next:null!==(l=null===(d=e[r+1])||void 0===d?void 0:d.data)&&void 0!==l?l:null,ns:this.ns,html:t})})))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__pageFetchEventHandler)}get __items(){var e,t;return Array.from(Object.values(null!==(t=null===(e=this.form)||void 0===e?void 0:e._embedded)&&void 0!==t?t:{})).reduce(((e,t)=>[...e,...t]),[])}__handlePageFetchEvent(e){if(!(e instanceof a)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-page/stall"===s?this.__stallRequest(e):"foxy://collection-page/fail"===s?this.__failRequest(e):void 0:void 0}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(new Response(null,{status:500})))}}customElements.define("foxy-collection-page",c);export{c as CollectionPage};
1
+ import"./foxy-spinner.js";import{_ as e}from"./shared-a8ced8bf.js";import{h as t}from"./shared-7f33a83a.js";import{a as s}from"./shared-2cc638ad.js";import{C as r}from"./shared-43bcce74.js";import{F as a}from"./shared-76b3d76a.js";import{N as n}from"./shared-181f51bd.js";import{r as i}from"./shared-d519a301.js";import{s as o}from"./shared-11c2efc8.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-0821cfdc.js";import"./shared-4f037e43.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let d,l=e=>e;const h=r(s(n));class c extends h{constructor(){super(),this.props={},this.__pageFetchEventHandler=e=>this.__handlePageFetchEvent(e),this.item="foxy-null"}static get properties(){return e(e({},super.properties),{},{props:{type:Object},item:{type:String}})}get item(){return this.__item}set item(e){this.__renderItem="string"==typeof e?new Function("ctx",`return ctx.html\`\n <${e}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n data-testclass="items"\n related=\${JSON.stringify(ctx.related)}\n parent=\${ctx.parent}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .templates=\${ctx.templates}\n ...=\${ctx.spread(ctx.props)}\n >\n </${e}>\``):e,this.__item=e,this.requestUpdate()}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__pageFetchEventHandler)}render(){let e=[];return e=this.in("busy")?[{key:"stalled",href:"foxy://collection-page/stall",data:null}]:this.in("fail")?[{key:"failed",href:"foxy://collection-page/fail",data:null}]:this.in({idle:"template"})||0===this.__items.length?[{key:"empty",href:"",data:null}]:this.__items.map((e=>({key:e._links.self.href,href:e._links.self.href,data:e}))),t(d||(d=l`${0}`),i(e,(e=>e.key),((s,r)=>{var a,n,i,d,l;return null===(a=this.__renderItem)||void 0===a?void 0:a.call(this,{disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,previous:null!==(i=null===(n=e[r-1])||void 0===n?void 0:n.data)&&void 0!==i?i:null,related:this.related,hidden:this.hidden,parent:this.href,spread:o,props:this.props,group:this.group,lang:this.lang,data:s.data,href:s.href,next:null!==(l=null===(d=e[r+1])||void 0===d?void 0:d.data)&&void 0!==l?l:null,ns:this.ns,html:t})})))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__pageFetchEventHandler)}get __items(){var e,t;return Array.from(Object.values(null!==(t=null===(e=this.form)||void 0===e?void 0:e._embedded)&&void 0!==t?t:{})).reduce(((e,t)=>[...e,...t]),[])}__handlePageFetchEvent(e){if(!(e instanceof a)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-page/stall"===s?this.__stallRequest(e):"foxy://collection-page/fail"===s?this.__failRequest(e):void 0:void 0}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(new Response(null,{status:500})))}}customElements.define("foxy-collection-page",c);export{c as CollectionPage};