@foxy.io/elements 1.18.0-beta.2 → 1.18.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +2 -2
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -0
- package/dist/cdn/foxy-api-browser.js +3 -3
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -0
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -0
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -0
- package/dist/cdn/foxy-cart-form.js +1 -0
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +10 -9
- package/dist/cdn/foxy-customer.js +5 -5
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-email-template-card.js +1 -0
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -0
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -0
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -0
- package/dist/cdn/foxy-integration-form.js +1 -0
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -0
- package/dist/cdn/foxy-item-category-form.js +1 -0
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -0
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -0
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -0
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -0
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -0
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -0
- package/dist/cdn/foxy-payments-api.js +1 -0
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +12 -12
- package/dist/cdn/foxy-reports-table.js +5 -5
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -0
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-form.js +1 -0
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -150
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +4 -16
- package/dist/cdn/foxy-subscription-settings-form.js +1 -0
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-swipe-actions.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -0
- package/dist/cdn/foxy-template-set-form.js +1 -0
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +60 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -318
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-59796faa.js → shared-02d4bc14.js} +1 -1
- package/dist/cdn/shared-0301f5c5.js +1 -0
- package/dist/cdn/{shared-e1c1e8e2.js → shared-0479553e.js} +1 -1
- package/dist/cdn/shared-09eb558f.js +1 -0
- package/dist/cdn/shared-0a40a749.js +1 -0
- package/dist/cdn/{shared-8936b109.js → shared-0d3bec9f.js} +1 -1
- package/dist/cdn/shared-0f29fba2.js +318 -0
- package/dist/cdn/{shared-99940888.js → shared-11c2efc8.js} +1 -1
- package/dist/cdn/{shared-12f8034b.js → shared-1392183b.js} +1 -1
- package/dist/cdn/{shared-c13674cb.js → shared-13e6fe8a.js} +1 -1
- package/dist/cdn/shared-181f51bd.js +1 -0
- package/dist/cdn/{shared-d539ee69.js → shared-18d42566.js} +1 -1
- package/dist/cdn/{shared-c5a638d1.js → shared-206b4ae2.js} +27 -51
- package/dist/cdn/shared-25ecdf66.js +64 -0
- package/dist/cdn/{shared-17331dc5.js → shared-2bd47510.js} +3 -3
- package/dist/cdn/{shared-5f411ce2.js → shared-2d2ce3b1.js} +1 -1
- package/dist/cdn/{shared-e6a7b2f1.js → shared-2f7dcefa.js} +1 -1
- package/dist/cdn/shared-307382e5.js +169 -0
- package/dist/cdn/shared-324f9551.js +1 -0
- package/dist/cdn/shared-33912f50.js +1 -0
- package/dist/cdn/shared-3b249b20.js +1 -0
- package/dist/cdn/{shared-48ef8a04.js → shared-3e8cd935.js} +1 -1
- package/dist/cdn/shared-43bcce74.js +1 -0
- package/dist/cdn/{shared-33b47806.js → shared-459a5ec4.js} +3 -3
- package/dist/cdn/shared-45db2087.js +1 -0
- package/dist/cdn/shared-46e22714.js +1 -0
- package/dist/cdn/shared-4817dcd1.js +1 -0
- package/dist/cdn/shared-4cbd9a4f.js +1 -0
- package/dist/cdn/shared-4f037e43.js +1 -0
- package/dist/cdn/shared-63139d9e.js +1 -0
- package/dist/cdn/shared-674c1c04.js +1 -0
- package/dist/cdn/shared-6ac71f60.js +25 -0
- package/dist/cdn/{shared-6eeb69e7.js → shared-715ee51e.js} +1 -1
- package/dist/cdn/shared-71beb422.js +553 -0
- package/dist/cdn/{shared-e06de519.js → shared-72279946.js} +1 -1
- package/dist/cdn/{shared-7ed7818e.js → shared-7304a1ab.js} +1 -1
- package/dist/cdn/{shared-1bbd9b73.js → shared-75e78c70.js} +1 -1
- package/dist/cdn/shared-76b3d76a.js +15 -0
- package/dist/cdn/shared-7788977c.js +1 -0
- package/dist/cdn/{shared-dbdc2a38.js → shared-780ead03.js} +1 -1
- package/dist/cdn/shared-78f6e15f.js +1 -0
- package/dist/cdn/{shared-2b077e01.js → shared-7992035c.js} +3 -3
- package/dist/cdn/shared-7a739f89.js +1 -0
- package/dist/cdn/{shared-dc73b9a5.js → shared-7f33a83a.js} +1 -1
- package/dist/cdn/{shared-a64ead08.js → shared-80378a15.js} +1 -1
- package/dist/cdn/shared-839dd3a8.js +1 -0
- package/dist/cdn/shared-8b6addec.js +1 -0
- package/dist/cdn/shared-8e6a8a88.js +150 -0
- package/dist/cdn/shared-915e8780.js +1 -0
- package/dist/cdn/shared-9291d900.js +1 -0
- package/dist/cdn/shared-9643b6c8.js +1 -0
- package/dist/cdn/shared-9862ca28.js +1 -0
- package/dist/cdn/{shared-0eb966c5.js → shared-99065f2a.js} +1 -1
- package/dist/cdn/shared-a4165acb.js +1 -0
- package/dist/cdn/{shared-824f6e03.js → shared-a6de944b.js} +15 -15
- package/dist/cdn/shared-a85afa33.js +1 -0
- package/dist/cdn/shared-a8ced8bf.js +1 -0
- package/dist/cdn/shared-ad3c1ddc.js +1 -0
- package/dist/cdn/shared-bc7f58ef.js +1 -0
- package/dist/cdn/shared-bcc6e13b.js +1 -0
- package/dist/cdn/shared-c6567654.js +1 -0
- package/dist/cdn/shared-d0c5c38f.js +6 -0
- package/dist/cdn/{shared-9803aa7c.js → shared-d3bf9ac0.js} +2 -2
- package/dist/cdn/{shared-a0c6a159.js → shared-d519a301.js} +2 -2
- package/dist/cdn/shared-d6276c83.js +1 -0
- package/dist/cdn/{shared-d6dd67a5.js → shared-d6a78c23.js} +1 -1
- package/dist/cdn/{shared-fd001fd3.js → shared-d7c271d2.js} +1 -1
- package/dist/cdn/{shared-4f8fe424.js → shared-d7dfd3d8.js} +13 -18
- package/dist/cdn/{shared-9f9cdbb0.js → shared-daab7e76.js} +1 -1
- package/dist/cdn/{shared-4473f0cf.js → shared-e0615601.js} +1 -1
- package/dist/cdn/{shared-4fc53390.js → shared-e39be772.js} +1 -1
- package/dist/cdn/{shared-f9f9ed5b.js → shared-e6f3e9f0.js} +1 -1
- package/dist/cdn/{shared-6c1aab74.js → shared-e7e0ee80.js} +1 -1
- package/dist/cdn/{shared-75e34b5b.js → shared-ea67b3f3.js} +1 -1
- package/dist/cdn/{shared-40689cd2.js → shared-ef98812b.js} +3 -3
- package/dist/cdn/{shared-22ba9566.js → shared-f3b35364.js} +1 -1
- package/dist/cdn/{shared-32b15545.js → shared-f69afa4b.js} +5 -5
- package/dist/cdn/shared-f821859e.js +1 -0
- package/dist/cdn/shared-fedeb7b2.js +1 -0
- package/dist/cdn/translations/admin-subscription-card/en.json +27 -0
- package/dist/cdn/translations/api-browser/en.json +1 -0
- package/dist/cdn/translations/applied-coupon-code-card/en.json +7 -0
- package/dist/cdn/translations/applied-coupon-code-form/en.json +26 -0
- package/dist/cdn/translations/cart-card/en.json +15 -0
- package/dist/cdn/translations/cart-form/en.json +762 -0
- package/dist/cdn/translations/coupon-card/en.json +2 -2
- package/dist/cdn/translations/customer-portal/en.json +9 -9
- package/dist/cdn/translations/email-template-card/en.json +12 -0
- package/dist/cdn/translations/email-template-form/en.json +10 -0
- package/dist/cdn/translations/gift-card-code-form/en.json +35 -0
- package/dist/cdn/translations/gift-card-code-log-card/en.json +13 -0
- package/dist/cdn/translations/gift-card-form/en.json +58 -1
- package/dist/cdn/translations/i18n-editor/en.json +10 -0
- package/dist/cdn/translations/integration-card/en.json +10 -0
- package/dist/cdn/translations/integration-form/en.json +39 -0
- package/dist/cdn/translations/item-category-card/en.json +7 -0
- package/dist/cdn/translations/item-category-form/en.json +196 -0
- package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +8 -0
- package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +34 -0
- package/dist/cdn/translations/payments-api-payment-method-card/en.json +8 -0
- package/dist/cdn/translations/payments-api-payment-method-form/en.json +61 -0
- package/dist/cdn/translations/payments-api-payment-preset-card/en.json +9 -0
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +84 -0
- package/dist/cdn/translations/shipping-method-card/en.json +9 -0
- package/dist/cdn/translations/store-form/en.json +316 -0
- package/dist/cdn/translations/store-shipping-method-form/en.json +8 -1
- package/dist/cdn/translations/subscription-form/en.json +116 -21
- package/dist/cdn/translations/subscription-settings-form/en.json +92 -0
- package/dist/cdn/translations/template-set-card/en.json +7 -0
- package/dist/cdn/translations/template-set-form/en.json +60 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +3 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +25 -17
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +3 -1
- package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +33 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +204 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -0
- package/dist/elements/internal/InternalAsyncListControl/index.d.ts +12 -0
- package/dist/elements/internal/InternalAsyncListControl/index.js +14 -0
- package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -0
- package/dist/elements/internal/InternalCard/InternalCard.d.ts +1 -0
- package/dist/elements/internal/InternalCard/InternalCard.js +12 -4
- package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
- package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +11 -5
- package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -1
- package/dist/elements/internal/InternalControl/InternalControl.js +3 -2
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +1 -1
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +1 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +18 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +12 -0
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +152 -0
- package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -0
- package/dist/elements/internal/InternalEditableListControl/index.d.ts +3 -0
- package/dist/elements/internal/InternalEditableListControl/index.js +5 -0
- package/dist/elements/internal/InternalEditableListControl/index.js.map +1 -0
- package/dist/elements/internal/InternalEditableListControl/types.d.ts +9 -0
- package/dist/elements/{public/StoreShippingMethodCard → internal/InternalEditableListControl}/types.js +0 -0
- package/dist/elements/internal/InternalEditableListControl/types.js.map +1 -0
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +6 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +27 -13
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +6 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +22 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +6 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +22 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +13 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +40 -0
- package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -0
- package/dist/elements/internal/InternalPasswordControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalPasswordControl/index.js +6 -0
- package/dist/elements/internal/InternalPasswordControl/index.js.map +1 -0
- package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +32 -4
- package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +18 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +60 -0
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -0
- package/dist/elements/internal/InternalSelectControl/index.d.ts +5 -0
- package/dist/elements/internal/InternalSelectControl/index.js +7 -0
- package/dist/elements/internal/InternalSelectControl/index.js.map +1 -0
- package/dist/elements/internal/InternalSelectControl/types.d.ts +6 -0
- package/dist/elements/internal/InternalSelectControl/types.js +2 -0
- package/dist/elements/internal/InternalSelectControl/types.js.map +1 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +15 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/private/Dialog/Dialog.d.ts +2 -0
- package/dist/elements/private/Dialog/Dialog.js +7 -1
- package/dist/elements/private/Dialog/Dialog.js.map +1 -1
- package/dist/elements/private/I18N/I18N.js +3 -0
- package/dist/elements/private/I18N/I18N.js.map +1 -1
- package/dist/elements/private/Switch/Switch.js +1 -1
- package/dist/elements/private/Switch/Switch.js.map +1 -1
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js +5 -5
- package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js.map +1 -1
- package/dist/elements/public/AddressForm/AddressForm.js +1 -1
- package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +52 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +316 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionCard/index.d.ts +5 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js +7 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionCard/types.d.ts +9 -0
- package/dist/elements/public/AdminSubscriptionCard/types.js +2 -0
- package/dist/elements/public/AdminSubscriptionCard/types.js.map +1 -0
- package/dist/elements/public/ApiBrowser/ApiBrowser.d.ts +2 -1
- package/dist/elements/public/ApiBrowser/ApiBrowser.js +38 -15
- package/dist/elements/public/ApiBrowser/ApiBrowser.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +20 -0
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +48 -0
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeCard/index.d.ts +4 -0
- package/dist/elements/public/AppliedCouponCodeCard/index.js +6 -0
- package/dist/elements/public/AppliedCouponCodeCard/index.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeCard/types.d.ts +3 -0
- package/dist/elements/public/AppliedCouponCodeCard/types.js +2 -0
- package/dist/elements/public/AppliedCouponCodeCard/types.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +37 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +73 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeForm/index.d.ts +5 -0
- package/dist/elements/public/AppliedCouponCodeForm/index.js +7 -0
- package/dist/elements/public/AppliedCouponCodeForm/index.js.map +1 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +17 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.js +2 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -0
- package/dist/elements/public/AttributeCard/AttributeCard.js +5 -4
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/AttributeForm/AttributeForm.js +1 -1
- package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
- package/dist/elements/public/CartCard/CartCard.d.ts +47 -0
- package/dist/elements/public/CartCard/CartCard.js +271 -0
- package/dist/elements/public/CartCard/CartCard.js.map +1 -0
- package/dist/elements/public/CartCard/index.d.ts +5 -0
- package/dist/elements/public/CartCard/index.js +7 -0
- package/dist/elements/public/CartCard/index.js.map +1 -0
- package/dist/elements/public/CartCard/types.d.ts +5 -0
- package/dist/elements/public/CartCard/types.js +2 -0
- package/dist/elements/public/CartCard/types.js.map +1 -0
- package/dist/elements/public/CartForm/CartForm.d.ts +59 -0
- package/dist/elements/public/CartForm/CartForm.js +603 -0
- package/dist/elements/public/CartForm/CartForm.js.map +1 -0
- package/dist/elements/public/CartForm/index.d.ts +19 -0
- package/dist/elements/public/CartForm/index.js +21 -0
- package/dist/elements/public/CartForm/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts +10 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js +83 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +4 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +1 -0
- package/dist/elements/public/CartForm/types.d.ts +3 -0
- package/dist/elements/public/CartForm/types.js +2 -0
- package/dist/elements/public/CartForm/types.js.map +1 -0
- package/dist/elements/public/CollectionPage/CollectionPage.js +11 -8
- package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +1 -1
- package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -4
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +1 -1
- package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
- package/dist/elements/public/CustomerApi/CustomerApi.d.ts +2 -0
- package/dist/elements/public/CustomerApi/CustomerApi.js +14 -0
- package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
- package/dist/elements/public/CustomerCard/CustomerCard.js +1 -1
- package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
- package/dist/elements/public/CustomerForm/CustomerForm.js +1 -1
- package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.js +2 -1
- package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +23 -0
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +41 -0
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -0
- package/dist/elements/public/EmailTemplateCard/index.d.ts +5 -0
- package/dist/elements/public/EmailTemplateCard/index.js +7 -0
- package/dist/elements/public/EmailTemplateCard/index.js.map +1 -0
- package/dist/elements/public/EmailTemplateCard/types.d.ts +3 -0
- package/dist/elements/public/EmailTemplateCard/types.js +2 -0
- package/dist/elements/public/EmailTemplateCard/types.js.map +1 -0
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +4 -0
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +30 -3
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
- package/dist/elements/public/EmailTemplateForm/index.d.ts +2 -0
- package/dist/elements/public/EmailTemplateForm/index.js +2 -0
- package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
- package/dist/elements/public/FormDialog/FormDialog.js +1 -1
- package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
- package/dist/elements/public/GiftCardCard/GiftCardCard.js +2 -2
- package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -0
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +33 -1
- package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/index.d.ts +7 -4
- package/dist/elements/public/GiftCardCodeForm/index.js +7 -4
- package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +5 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +23 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +6 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +8 -0
- package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -0
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +23 -0
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +98 -0
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -0
- package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +5 -0
- package/dist/elements/public/GiftCardCodeLogCard/index.js +7 -0
- package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -0
- package/dist/elements/public/GiftCardCodeLogCard/types.d.ts +3 -0
- package/dist/elements/public/GiftCardCodeLogCard/types.js +2 -0
- package/dist/elements/public/GiftCardCodeLogCard/types.js.map +1 -0
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +26 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/index.d.ts +1 -2
- package/dist/elements/public/GiftCardForm/index.js +1 -2
- package/dist/elements/public/GiftCardForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +14 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +94 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +6 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +8 -0
- package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -0
- package/dist/elements/public/I18n/format/date.js +5 -4
- package/dist/elements/public/I18n/format/date.js.map +1 -1
- package/dist/elements/public/I18n/format/price.js +1 -0
- package/dist/elements/public/I18n/format/price.js.map +1 -1
- package/dist/elements/public/I18nEditor/I18nEditor.d.ts +18 -0
- package/dist/elements/public/I18nEditor/I18nEditor.js +173 -0
- package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -0
- package/dist/elements/public/I18nEditor/index.d.ts +7 -0
- package/dist/elements/public/I18nEditor/index.js +9 -0
- package/dist/elements/public/I18nEditor/index.js.map +1 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.d.ts +17 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js +169 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js.map +1 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.d.ts +6 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js +8 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js.map +1 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.d.ts +3 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js +2 -0
- package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js.map +1 -0
- package/dist/elements/public/I18nEditor/types.d.ts +4 -0
- package/dist/elements/public/I18nEditor/types.js +2 -0
- package/dist/elements/public/I18nEditor/types.js.map +1 -0
- package/dist/elements/public/{StoreShippingMethodCard/StoreShippingMethodCard.d.ts → IntegrationCard/IntegrationCard.d.ts} +4 -4
- package/dist/elements/public/IntegrationCard/IntegrationCard.js +59 -0
- package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -0
- package/dist/elements/public/IntegrationCard/index.d.ts +4 -0
- package/dist/elements/public/IntegrationCard/index.js +6 -0
- package/dist/elements/public/IntegrationCard/index.js.map +1 -0
- package/dist/elements/public/IntegrationCard/types.d.ts +3 -0
- package/dist/elements/public/IntegrationCard/types.js +2 -0
- package/dist/elements/public/IntegrationCard/types.js.map +1 -0
- package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +53 -0
- package/dist/elements/public/IntegrationForm/IntegrationForm.js +212 -0
- package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -0
- package/dist/elements/public/IntegrationForm/index.d.ts +11 -0
- package/dist/elements/public/IntegrationForm/index.js +13 -0
- package/dist/elements/public/IntegrationForm/index.js.map +1 -0
- package/dist/elements/public/IntegrationForm/types.d.ts +21 -0
- package/dist/elements/public/IntegrationForm/types.js +2 -0
- package/dist/elements/public/IntegrationForm/types.js.map +1 -0
- package/dist/elements/public/ItemCard/ItemCard.d.ts +26 -4
- package/dist/elements/public/ItemCard/ItemCard.js +224 -33
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
- package/dist/elements/public/ItemCard/index.d.ts +1 -0
- package/dist/elements/public/ItemCard/index.js +1 -0
- package/dist/elements/public/ItemCard/index.js.map +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +22 -0
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +26 -0
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -0
- package/dist/elements/public/ItemCategoryCard/index.d.ts +4 -0
- package/dist/elements/public/ItemCategoryCard/index.js +6 -0
- package/dist/elements/public/ItemCategoryCard/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryCard/types.d.ts +3 -0
- package/dist/elements/public/ItemCategoryCard/types.js +2 -0
- package/dist/elements/public/ItemCategoryCard/types.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +31 -0
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +309 -0
- package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/index.d.ts +10 -0
- package/dist/elements/public/ItemCategoryForm/index.js +12 -0
- package/dist/elements/public/ItemCategoryForm/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +8 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +52 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +6 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +8 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +11 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +83 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +5 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +7 -0
- package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +1 -0
- package/dist/elements/public/ItemCategoryForm/types.d.ts +3 -0
- package/dist/elements/public/ItemCategoryForm/types.js +2 -0
- package/dist/elements/public/ItemCategoryForm/types.js.map +1 -0
- package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -0
- package/dist/elements/public/ItemForm/ItemForm.js +58 -8
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +25 -5
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +200 -17
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/index.d.ts +1 -0
- package/dist/elements/public/ItemOptionCard/index.js +1 -0
- package/dist/elements/public/ItemOptionCard/index.js.map +1 -1
- package/dist/elements/public/NucleonElement/API.js +1 -1
- package/dist/elements/public/NucleonElement/API.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.d.ts +8 -4
- package/dist/elements/public/NucleonElement/NucleonElement.js +123 -44
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/NucleonElement/UpdateEvent.d.ts +10 -2
- package/dist/elements/public/NucleonElement/UpdateEvent.js +8 -2
- package/dist/elements/public/NucleonElement/UpdateEvent.js.map +1 -1
- package/dist/elements/public/Pagination/Pagination.js +2 -2
- package/dist/elements/public/Pagination/Pagination.js.map +1 -1
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -1
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +2 -2
- package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
- package/dist/elements/public/PaymentsApi/PaymentsApi.d.ts +18 -0
- package/dist/elements/public/PaymentsApi/PaymentsApi.js +92 -0
- package/dist/elements/public/PaymentsApi/PaymentsApi.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.d.ts +6 -0
- package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js +95 -0
- package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.d.ts +11 -0
- package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js +15 -0
- package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.d.ts +10 -0
- package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js +20 -0
- package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.d.ts +10 -0
- package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js +39 -0
- package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_method.d.ts +18 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_method.js +25 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_method.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_methods.d.ts +14 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js +59 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_preset.d.ts +8 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js +22 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_presets.d.ts +8 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js +36 -0
- package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.d.ts +12 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js +34 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.d.ts +16 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js +44 -0
- package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.d.ts +17 -0
- package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js +68 -0
- package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.d.ts +17 -0
- package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js +77 -0
- package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_method.d.ts +22 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js +97 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.d.ts +21 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js +113 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.d.ts +14 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js +42 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.d.ts +14 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js +47 -0
- package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/index.d.ts +11 -0
- package/dist/elements/public/PaymentsApi/api/index.js +35 -0
- package/dist/elements/public/PaymentsApi/api/index.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/types.d.ts +154 -0
- package/dist/elements/public/PaymentsApi/api/types.js +2 -0
- package/dist/elements/public/PaymentsApi/api/types.js.map +1 -0
- package/dist/elements/public/PaymentsApi/api/utils.d.ts +1 -0
- package/dist/elements/public/PaymentsApi/api/utils.js +7 -0
- package/dist/elements/public/PaymentsApi/api/utils.js.map +1 -0
- package/dist/elements/public/PaymentsApi/index.d.ts +2 -0
- package/dist/elements/public/PaymentsApi/index.js +4 -0
- package/dist/elements/public/PaymentsApi/index.js.map +1 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +35 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +65 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +5 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +7 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/types.d.ts +1 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js +2 -0
- package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js.map +1 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +17 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +217 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +11 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +13 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +3 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js +2 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +35 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +65 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +5 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +7 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/types.d.ts +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js +2 -0
- package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +20 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +428 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +10 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +12 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +3 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js +2 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +27 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +39 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/index.d.ts +5 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js +7 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/types.d.ts +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js +2 -0
- package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +22 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +145 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/index.d.ts +10 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js +12 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js.map +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +1 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js +2 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/Input.js +10 -8
- package/dist/elements/public/QueryBuilder/components/Input.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/RangeValue.js +7 -5
- package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/Select.js +3 -1
- package/dist/elements/public/QueryBuilder/components/Select.js.map +1 -1
- package/dist/elements/public/ReportForm/ReportForm.js +1 -1
- package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
- package/dist/elements/public/ShipmentCard/types.d.ts +2 -16
- package/dist/elements/public/ShipmentCard/types.js.map +1 -1
- package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.d.ts +34 -0
- package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +96 -0
- package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -0
- package/dist/elements/public/ShippingMethodCard/index.d.ts +5 -0
- package/dist/elements/public/ShippingMethodCard/index.js +7 -0
- package/dist/elements/public/ShippingMethodCard/index.js.map +1 -0
- package/dist/elements/public/ShippingMethodCard/types.d.ts +10 -0
- package/dist/elements/public/ShippingMethodCard/types.js +2 -0
- package/dist/elements/public/ShippingMethodCard/types.js.map +1 -0
- package/dist/elements/public/StoreForm/StoreForm.d.ts +55 -0
- package/dist/elements/public/StoreForm/StoreForm.js +1022 -0
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -0
- package/dist/elements/public/StoreForm/index.d.ts +15 -0
- package/dist/elements/public/StoreForm/index.js +17 -0
- package/dist/elements/public/StoreForm/index.js.map +1 -0
- package/dist/elements/public/StoreForm/types.d.ts +3 -0
- package/dist/elements/public/StoreForm/types.js +2 -0
- package/dist/elements/public/StoreForm/types.js.map +1 -0
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +3 -3
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +103 -33
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/index.d.ts +1 -0
- package/dist/elements/public/StoreShippingMethodForm/index.js +1 -0
- package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +46 -14
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +300 -157
- package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/index.d.ts +9 -4
- package/dist/elements/public/SubscriptionForm/index.js +9 -4
- package/dist/elements/public/SubscriptionForm/index.js.map +1 -1
- package/dist/elements/public/SubscriptionForm/types.d.ts +2 -5
- package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +33 -0
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +208 -0
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/index.d.ts +9 -0
- package/dist/elements/public/SubscriptionSettingsForm/index.js +11 -0
- package/dist/elements/public/SubscriptionSettingsForm/index.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.d.ts +12 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js +128 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.d.ts +2 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +26 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +6 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +12 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +3 -0
- package/dist/elements/public/SubscriptionSettingsForm/types.js +2 -0
- package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -0
- package/dist/elements/public/TaxCard/TaxCard.d.ts +4 -4
- package/dist/elements/public/TaxCard/TaxCard.js +12 -8
- package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
- package/dist/elements/public/TaxCard/index.d.ts +1 -3
- package/dist/elements/public/TaxCard/index.js +1 -3
- package/dist/elements/public/TaxCard/index.js.map +1 -1
- package/dist/elements/public/TaxForm/TaxForm.js +1 -1
- package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +2 -2
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.js +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +22 -0
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +26 -0
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -0
- package/dist/elements/public/TemplateSetCard/index.d.ts +4 -0
- package/dist/elements/public/TemplateSetCard/index.js +6 -0
- package/dist/elements/public/TemplateSetCard/index.js.map +1 -0
- package/dist/elements/public/TemplateSetCard/types.d.ts +3 -0
- package/dist/elements/public/TemplateSetCard/types.js +2 -0
- package/dist/elements/public/TemplateSetCard/types.js.map +1 -0
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +67 -0
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +192 -0
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -0
- package/dist/elements/public/TemplateSetForm/index.d.ts +9 -0
- package/dist/elements/public/TemplateSetForm/index.js +11 -0
- package/dist/elements/public/TemplateSetForm/index.js.map +1 -0
- package/dist/elements/public/TemplateSetForm/types.d.ts +25 -0
- package/dist/elements/public/TemplateSetForm/types.js +2 -0
- package/dist/elements/public/TemplateSetForm/types.js.map +1 -0
- package/dist/elements/public/TransactionCard/TransactionCard.js +1 -1
- package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
- package/dist/elements/public/UserForm/UserForm.js +1 -1
- package/dist/elements/public/UserForm/UserForm.js.map +1 -1
- package/dist/elements/public/index.d.ts +24 -1
- package/dist/elements/public/index.defined.d.ts +24 -1
- package/dist/elements/public/index.defined.js +24 -1
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +24 -1
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/configurable.js +25 -8
- package/dist/mixins/configurable.js.map +1 -1
- package/dist/mixins/inferrable.js +25 -23
- package/dist/mixins/inferrable.js.map +1 -1
- package/dist/mixins/responsive.js +8 -6
- package/dist/mixins/responsive.js.map +1 -1
- package/dist/mixins/themeable.js +185 -6727
- package/dist/mixins/themeable.js.map +1 -1
- package/dist/utils/serialize-date.d.ts +1 -0
- package/dist/utils/serialize-date.js +7 -0
- package/dist/utils/serialize-date.js.map +1 -1
- package/package.json +2 -2
- package/dist/cdn/foxy-store-shipping-method-card.js +0 -1
- package/dist/cdn/shared-0b9c755c.js +0 -1
- package/dist/cdn/shared-16d10bca.js +0 -1
- package/dist/cdn/shared-2061be9a.js +0 -1
- package/dist/cdn/shared-29dd9d87.js +0 -1
- package/dist/cdn/shared-2caab7af.js +0 -169
- package/dist/cdn/shared-2f186d21.js +0 -1
- package/dist/cdn/shared-2f19b670.js +0 -60
- package/dist/cdn/shared-30bb4828.js +0 -1
- package/dist/cdn/shared-5652560a.js +0 -1
- package/dist/cdn/shared-58a35351.js +0 -1
- package/dist/cdn/shared-7684cb05.js +0 -1
- package/dist/cdn/shared-8166ba00.js +0 -1
- package/dist/cdn/shared-89dce718.js +0 -1
- package/dist/cdn/shared-95f4cffd.js +0 -1
- package/dist/cdn/shared-b52c7edf.js +0 -64
- package/dist/cdn/shared-b772fbb1.js +0 -15
- package/dist/cdn/shared-d673b138.js +0 -1
- package/dist/cdn/shared-d6ed2e5c.js +0 -1
- package/dist/cdn/shared-da130124.js +0 -1
- package/dist/cdn/shared-e25c676a.js +0 -1
- package/dist/cdn/shared-f966bbc3.js +0 -1
- package/dist/cdn/shared-fadcb2e1.js +0 -1
- package/dist/cdn/shared-fcdc4903.js +0 -1
- package/dist/cdn/translations/store-shipping-method-card/en.json +0 -15
- package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +0 -60
- package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodCard/index.d.ts +0 -6
- package/dist/elements/public/StoreShippingMethodCard/index.js +0 -8
- package/dist/elements/public/StoreShippingMethodCard/index.js.map +0 -1
- package/dist/elements/public/StoreShippingMethodCard/types.d.ts +0 -5
- package/dist/elements/public/StoreShippingMethodCard/types.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { LitElement } from 'lit-element';
|
|
1
|
+
import { html, LitElement } from 'lit-element';
|
|
2
2
|
import { Nucleon, Rumour } from '@foxy.io/sdk/core';
|
|
3
3
|
import { assign, interpret } from 'xstate';
|
|
4
4
|
import { API } from "./API.js";
|
|
5
5
|
import { FetchEvent } from "./FetchEvent.js";
|
|
6
|
-
import { UpdateEvent } from "./UpdateEvent.js";
|
|
6
|
+
import { UpdateEvent, UpdateResult } from "./UpdateEvent.js";
|
|
7
7
|
import memoize from 'lodash-es/memoize';
|
|
8
8
|
import { serveFromCache } from "./serveFromCache.js";
|
|
9
9
|
import { InferrableMixin } from "../../../mixins/inferrable.js";
|
|
@@ -18,7 +18,7 @@ import { InferrableMixin } from "../../../mixins/inferrable.js";
|
|
|
18
18
|
*/
|
|
19
19
|
export class NucleonElement extends InferrableMixin(LitElement) {
|
|
20
20
|
constructor() {
|
|
21
|
-
super(
|
|
21
|
+
super();
|
|
22
22
|
/**
|
|
23
23
|
* Optional ISO 639-1 code describing the language element content is written in.
|
|
24
24
|
* Changing the `lang` attribute will update the value of this property.
|
|
@@ -34,8 +34,9 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
34
34
|
* resource on creation or deletion, it will be reloaded from source.
|
|
35
35
|
*/
|
|
36
36
|
this.related = [];
|
|
37
|
-
this.
|
|
37
|
+
this.__hrefToLoad = null;
|
|
38
38
|
this.__group = '';
|
|
39
|
+
this.__unsubscribeFromRumour = null;
|
|
39
40
|
this.__fetchEventQueue = [];
|
|
40
41
|
this.__service = interpret(Nucleon.machine.withConfig({
|
|
41
42
|
services: {
|
|
@@ -57,6 +58,7 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
57
58
|
}),
|
|
58
59
|
},
|
|
59
60
|
}));
|
|
61
|
+
this.__createService();
|
|
60
62
|
}
|
|
61
63
|
static get inferredProperties() {
|
|
62
64
|
return [...super.inferredProperties, 'group', 'lang'];
|
|
@@ -64,6 +66,7 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
64
66
|
/** @readonly */
|
|
65
67
|
static get properties() {
|
|
66
68
|
return {
|
|
69
|
+
__state: { type: String, reflect: true, attribute: 'state' },
|
|
67
70
|
related: { type: Array },
|
|
68
71
|
parent: { type: String },
|
|
69
72
|
group: { type: String, noAccessor: true },
|
|
@@ -122,9 +125,11 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
122
125
|
return this.__service.state.context.data;
|
|
123
126
|
}
|
|
124
127
|
set data(data) {
|
|
125
|
-
|
|
128
|
+
this.__destroyRumour();
|
|
126
129
|
this.__service.send({ type: 'SET_DATA', data });
|
|
127
|
-
this.
|
|
130
|
+
this.__hrefToLoad = null;
|
|
131
|
+
if (data)
|
|
132
|
+
this.__createRumour();
|
|
128
133
|
}
|
|
129
134
|
/**
|
|
130
135
|
* Rumour group. Elements in different groups will not share updates. Empty by default.
|
|
@@ -143,15 +148,16 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
143
148
|
* @example element.href = 'https://demo.foxycart.com/s/customer/attributes/0'
|
|
144
149
|
*/
|
|
145
150
|
get href() {
|
|
146
|
-
|
|
151
|
+
var _a, _b, _c;
|
|
152
|
+
return (_c = (_b = (_a = this.form._links) === null || _a === void 0 ? void 0 : _a.self.href) !== null && _b !== void 0 ? _b : this.__hrefToLoad) !== null && _c !== void 0 ? _c : '';
|
|
147
153
|
}
|
|
148
154
|
set href(value) {
|
|
149
|
-
this.__href = value;
|
|
150
155
|
if (value) {
|
|
156
|
+
this.__hrefToLoad = value;
|
|
151
157
|
this.__service.send({ type: 'FETCH' });
|
|
152
158
|
}
|
|
153
159
|
else {
|
|
154
|
-
this.
|
|
160
|
+
this.data = null;
|
|
155
161
|
}
|
|
156
162
|
}
|
|
157
163
|
/**
|
|
@@ -173,6 +179,9 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
173
179
|
* @example element.edit({ first_name: 'Alex' })
|
|
174
180
|
*/
|
|
175
181
|
edit(data) {
|
|
182
|
+
var _a;
|
|
183
|
+
if (typeof ((_a = data._links) === null || _a === void 0 ? void 0 : _a.self.href) === 'string')
|
|
184
|
+
this.__hrefToLoad = null;
|
|
176
185
|
this.__service.send({ type: 'EDIT', data });
|
|
177
186
|
}
|
|
178
187
|
/**
|
|
@@ -181,8 +190,38 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
181
190
|
* @example element.submit()
|
|
182
191
|
*/
|
|
183
192
|
submit() {
|
|
193
|
+
this.reportValidity();
|
|
184
194
|
this.__service.send({ type: 'SUBMIT' });
|
|
185
195
|
}
|
|
196
|
+
checkValidity() {
|
|
197
|
+
const isTemplateDirtyValid = this.in({ idle: { template: { dirty: 'valid' } } });
|
|
198
|
+
const isSnapshotDirtyValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });
|
|
199
|
+
const isTemplateCleanValid = this.in({ idle: { template: { clean: 'valid' } } });
|
|
200
|
+
const isSnapshotCleanValid = this.in({ idle: { snapshot: { clean: 'valid' } } });
|
|
201
|
+
const isTemplateValid = isTemplateCleanValid || isTemplateDirtyValid;
|
|
202
|
+
const isSnapshotValid = isSnapshotCleanValid || isSnapshotDirtyValid;
|
|
203
|
+
const isValid = isTemplateValid || isSnapshotValid;
|
|
204
|
+
return isValid;
|
|
205
|
+
}
|
|
206
|
+
reportValidity() {
|
|
207
|
+
const walker = this.ownerDocument.createTreeWalker(this.renderRoot, NodeFilter.SHOW_ELEMENT);
|
|
208
|
+
do {
|
|
209
|
+
const node = walker.currentNode;
|
|
210
|
+
const methods = ['reportValidity', 'validate'];
|
|
211
|
+
for (const method of methods) {
|
|
212
|
+
if (method in node) {
|
|
213
|
+
try {
|
|
214
|
+
node[method]();
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
217
|
+
catch (_a) {
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
} while (walker.nextNode());
|
|
223
|
+
return this.checkValidity();
|
|
224
|
+
}
|
|
186
225
|
/**
|
|
187
226
|
* Sends a DELETE request to `element.href` and clears local data on success.
|
|
188
227
|
* Emits multiple update events as element state changes.
|
|
@@ -198,21 +237,26 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
198
237
|
refresh() {
|
|
199
238
|
this.__service.send({ type: 'REFRESH' });
|
|
200
239
|
}
|
|
240
|
+
render() {
|
|
241
|
+
return html `<slot></slot>`;
|
|
242
|
+
}
|
|
201
243
|
/** @readonly */
|
|
202
244
|
connectedCallback() {
|
|
203
245
|
super.connectedCallback();
|
|
204
|
-
this.
|
|
246
|
+
if (this.href)
|
|
247
|
+
this.refresh();
|
|
205
248
|
this.__createRumour();
|
|
206
249
|
this.__createServer();
|
|
207
250
|
this.__processFetchEventQueue();
|
|
251
|
+
this.dispatchEvent(new UpdateEvent());
|
|
208
252
|
}
|
|
209
253
|
/** @readonly */
|
|
210
254
|
disconnectedCallback() {
|
|
211
255
|
super.disconnectedCallback();
|
|
212
|
-
this.__destroyService();
|
|
213
256
|
this.__destroyRumour();
|
|
214
257
|
this.__destroyServer();
|
|
215
258
|
this.__flushFetchEventQueue('parent element was disconnected');
|
|
259
|
+
this.dispatchEvent(new UpdateEvent());
|
|
216
260
|
}
|
|
217
261
|
applyInferredProperties(context) {
|
|
218
262
|
var _a, _b;
|
|
@@ -232,51 +276,84 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
232
276
|
/** POSTs to `element.parent`, shares response with the Rumour group and returns parsed JSON. */
|
|
233
277
|
async _sendPost(edits) {
|
|
234
278
|
this.__destroyRumour();
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
279
|
+
let data;
|
|
280
|
+
try {
|
|
281
|
+
const body = JSON.stringify(edits);
|
|
282
|
+
const postData = await this._fetch(this.parent, { body, method: 'POST' });
|
|
283
|
+
data = await this._fetch(postData._links.self.href);
|
|
284
|
+
const rumour = NucleonElement.Rumour(this.group);
|
|
285
|
+
const related = [...this.related, this.parent];
|
|
286
|
+
rumour.share({ data, related, source: data._links.self.href });
|
|
287
|
+
}
|
|
288
|
+
finally {
|
|
289
|
+
this.__createRumour();
|
|
290
|
+
}
|
|
241
291
|
return data;
|
|
242
292
|
}
|
|
243
293
|
/** GETs `element.href`, shares response with the Rumour group and returns parsed JSON. */
|
|
244
294
|
async _sendGet() {
|
|
245
295
|
this.__destroyRumour();
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
296
|
+
let data;
|
|
297
|
+
try {
|
|
298
|
+
data = await this._fetch(this.href);
|
|
299
|
+
NucleonElement.Rumour(this.group).share({ data, source: this.href });
|
|
300
|
+
}
|
|
301
|
+
finally {
|
|
302
|
+
this.__createRumour();
|
|
303
|
+
}
|
|
250
304
|
return data;
|
|
251
305
|
}
|
|
252
306
|
/** PATCHes `element.href`, shares response with the Rumour group and returns parsed JSON. */
|
|
253
307
|
async _sendPatch(edits) {
|
|
254
308
|
this.__destroyRumour();
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
309
|
+
let data;
|
|
310
|
+
try {
|
|
311
|
+
const body = JSON.stringify(edits);
|
|
312
|
+
data = await this._fetch(this.href, { body, method: 'PATCH' });
|
|
313
|
+
const rumour = NucleonElement.Rumour(this.group);
|
|
314
|
+
rumour.share({ data, source: this.href, related: this.related });
|
|
315
|
+
}
|
|
316
|
+
finally {
|
|
317
|
+
this.__createRumour();
|
|
318
|
+
}
|
|
260
319
|
return data;
|
|
261
320
|
}
|
|
262
321
|
/** DELETEs `element.href`, shares response with the Rumour group and returns parsed JSON. */
|
|
263
322
|
async _sendDelete() {
|
|
264
323
|
this.__destroyRumour();
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
324
|
+
try {
|
|
325
|
+
await this._fetch(this.href, { method: 'DELETE' });
|
|
326
|
+
const rumour = NucleonElement.Rumour(this.group);
|
|
327
|
+
const related = [...this.related, this.parent];
|
|
328
|
+
rumour.share({ data: null, source: this.href, related });
|
|
329
|
+
}
|
|
330
|
+
finally {
|
|
331
|
+
this.__createRumour();
|
|
332
|
+
}
|
|
333
|
+
return null;
|
|
334
|
+
}
|
|
335
|
+
// this getter is used by LitElement to set the "state" attribute
|
|
336
|
+
get __state() {
|
|
337
|
+
const state = this.__service.state;
|
|
338
|
+
const flags = state.toStrings().reduce((p, c) => [...p, ...c.split('.')], []);
|
|
339
|
+
return [...new Set(flags)].join(' ');
|
|
271
340
|
}
|
|
272
341
|
__createService() {
|
|
273
342
|
this.__service.onTransition(state => {
|
|
343
|
+
var _a, _b;
|
|
274
344
|
if (!state.changed)
|
|
275
345
|
return;
|
|
276
|
-
|
|
277
|
-
|
|
346
|
+
let result = undefined;
|
|
347
|
+
if (state.matches('idle')) {
|
|
348
|
+
if ((_a = state.history) === null || _a === void 0 ? void 0 : _a.matches({ busy: 'deleting' })) {
|
|
349
|
+
result = UpdateResult.ResourceDeleted;
|
|
350
|
+
}
|
|
351
|
+
else if ((_b = state.history) === null || _b === void 0 ? void 0 : _b.matches({ busy: 'creating' })) {
|
|
352
|
+
result = UpdateResult.ResourceCreated;
|
|
353
|
+
}
|
|
354
|
+
}
|
|
278
355
|
this.requestUpdate();
|
|
279
|
-
this.dispatchEvent(new UpdateEvent());
|
|
356
|
+
this.dispatchEvent(new UpdateEvent('update', { detail: { result } }));
|
|
280
357
|
if (!state.matches('busy'))
|
|
281
358
|
this.__processFetchEventQueue();
|
|
282
359
|
});
|
|
@@ -286,9 +363,6 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
286
363
|
});
|
|
287
364
|
this.__service.start();
|
|
288
365
|
}
|
|
289
|
-
__destroyService() {
|
|
290
|
-
this.__service.stop();
|
|
291
|
-
}
|
|
292
366
|
__createRumour() {
|
|
293
367
|
const rumour = NucleonElement.Rumour(this.group);
|
|
294
368
|
this.__unsubscribeFromRumour = rumour.track(update => this.__handleRumourUpdate(update));
|
|
@@ -296,6 +370,7 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
296
370
|
__destroyRumour() {
|
|
297
371
|
var _a;
|
|
298
372
|
(_a = this.__unsubscribeFromRumour) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
373
|
+
this.__unsubscribeFromRumour = null;
|
|
299
374
|
}
|
|
300
375
|
__createServer() {
|
|
301
376
|
this.__fetchEventHandler = this.__handleFetchEvent.bind(this);
|
|
@@ -308,11 +383,15 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
308
383
|
var _a;
|
|
309
384
|
try {
|
|
310
385
|
const oldData = (_a = this.__service.state) === null || _a === void 0 ? void 0 : _a.context.data;
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
386
|
+
const newData = oldData ? update(oldData) : oldData;
|
|
387
|
+
if (newData !== oldData) {
|
|
388
|
+
this.data = newData;
|
|
389
|
+
if (!newData) {
|
|
390
|
+
const result = UpdateResult.ResourceDeleted;
|
|
391
|
+
const event = new UpdateEvent('update', { detail: { result } });
|
|
392
|
+
this.dispatchEvent(event);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
316
395
|
}
|
|
317
396
|
catch (err) {
|
|
318
397
|
if (err instanceof Rumour.UpdateError) {
|
|
@@ -355,7 +434,7 @@ export class NucleonElement extends InferrableMixin(LitElement) {
|
|
|
355
434
|
return;
|
|
356
435
|
event.preventDefault();
|
|
357
436
|
this.__fetchEventQueue.push(event);
|
|
358
|
-
if (!this.
|
|
437
|
+
if (!this.__service.state.matches('busy'))
|
|
359
438
|
this.__processFetchEventQueue();
|
|
360
439
|
}
|
|
361
440
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NucleonElement.js","sourceRoot":"","sources":["../../../../src/elements/public/NucleonElement/NucleonElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,iBAAc;AAC5B,OAAO,EAAE,UAAU,EAAE,wBAAqB;AAC1C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAClD,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAE7D;;;;;;;;GAQG;AACH,MAAM,OAAO,cAA8C,SAAQ,eAAe,CAAC,UAAU,CAAC;IAA9F;;QAgDE;;;WAGG;QACH,SAAI,GAAG,EAAE,CAAC;QAEV;;;WAGG;QACH,WAAM,GAAG,EAAE,CAAC;QAEZ;;;WAGG;QACH,YAAO,GAAa,EAAE,CAAC;QAEf,WAAM,GAAG,EAAE,CAAC;QAEZ,YAAO,GAAG,EAAE,CAAC;QAMb,sBAAiB,GAAiB,EAAE,CAAC;QAE5B,cAAS,GAAG,SAAS,CACnC,OAAO,CAAC,OAAiC,CAAC,UAAU,CAAC;YACpD,QAAQ,EAAE;gBACR,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;gBACpC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC;gBACjD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAM,CAAC;gBAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;aAC/B;YAED,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAuD;oBACrE,MAAM,EAAE,OAAO,CAAC,EAAE;wBAChB,MAAM,KAAK,GAAI,IAAI,CAAC,WAAqC,CAAC,GAAG,CAAC;wBAC9D,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;wBAEnD,OAAO,KAAK;6BACT,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;6BAC/B,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC;6BAClD,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAa,CAAC;oBACjF,CAAC;iBACF,CAAC;aACH;SACF,CAAC,CACH,CAAC;IA2UJ,CAAC;IAtZC,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,gBAAgB;IAChB,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACxB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;YACzC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;YACxC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACvB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAuDD;;;;;;;;OAQG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,IAAI,IAAI;QACN,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;QACrD,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAoB,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,CAAC,IAAkB;;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,mCAAI,EAAE,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SACvD;IACH,CAAC;IAED;;;OAGG;IACH,EAAE,CACA,UAAuB;QAEvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAoB;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB;IAChB,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,gBAAgB;IAChB,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAE7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,CAAC;IACjE,CAAC;IAED,uBAAuB,CAAC,OAA6B;;QACnD,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;YAAE,OAAO;QAEhC,IAAI,CAAC,KAAK,SAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAwB,mCAAI,EAAE,CAAC;QAChE,IAAI,CAAC,IAAI,SAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAwB,mCAAI,EAAE,CAAC;IAChE,CAAC;IAED,8DAA8D;IACpD,KAAK,CAAC,MAAM,CAAkB,GAAG,IAAiC;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,QAAQ,CAAC;QACjC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,gGAAgG;IACtF,KAAK,CAAC,SAAS,CAAC,KAAqB;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0FAA0F;IAChF,KAAK,CAAC,QAAQ;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6FAA6F;IACnF,KAAK,CAAC,UAAU,CAAC,KAAqB;QAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6FAA6F;IACnF,KAAK,CAAC,WAAW;QACzB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE/C,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO;YAE3B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAc,CAAC,CAAC;YAC1F,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAE1D,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;YAEtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEO,eAAe;;QACrB,MAAA,IAAI,CAAC,uBAAuB,+CAA5B,IAAI,EAA6B;IACnC,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAEO,oBAAoB,CAAC,MAAwC;;QACnE,IAAI;YACF,MAAM,OAAO,SAAG,IAAI,CAAC,SAAS,CAAC,KAAK,0CAAE,OAAO,CAAC,IAAI,CAAC;YACnD,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,OAAO,KAAK,OAAO;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;SACnF;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,GAAG,YAAY,MAAM,CAAC,WAAW,EAAE;gBACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;aAC1C;iBAAM;gBACL,MAAM,GAAG,CAAC;aACX;SACF;IACH,CAAC;IAEO,wBAAwB;QAC9B,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhF,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEtD,IAAI,aAAa,CAAC,EAAE,EAAE;gBACpB,OAAO,CAAC,KAAK,CACX,wBAAwB,IAAI,CAAC,SAAS,iBAAiB,OAAO,CAAC,GAAG,EAAE,EACpE,aAAa,EACb,uEAAuE,EACvE,EAAE,CACH,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEO,sBAAsB,CAAC,YAAoB;QACjD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAEO,kBAAkB,CAAC,KAAY;QACrC,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC;YAAE,OAAO;QAC3C,IAAI,KAAK,CAAC,gBAAgB;YAAE,OAAO;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO;QACpD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO;QAE7C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACxD,CAAC;;AA5aD;;;;;GAKG;AACa,0BAAW,GAAG,WAAW,CAAC;AAE1C;;;;;GAKG;AACa,qBAAM,GAAG,OAAO,CAA4B,GAAG,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;AAEhF;;;;GAIG;AACa,kBAAG,GAAG,GAAG,CAAC","sourcesContent":["import { ComputedElementProperties, HALJSONResource, NucleonMachine, NucleonV8N } from './types';\nimport { LitElement, PropertyDeclarations } from 'lit-element';\nimport { Nucleon, Rumour } from '@foxy.io/sdk/core';\nimport { assign, interpret } from 'xstate';\n\nimport { API } from './API';\nimport { FetchEvent } from './FetchEvent';\nimport { UpdateEvent } from './UpdateEvent';\nimport memoize from 'lodash-es/memoize';\nimport { serveFromCache } from './serveFromCache';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\n/**\n * Base class for custom elements working with remote HAL+JSON resources.\n *\n * @fires NucleonElement#update - Instance of `NucleonElement.UpdateEvent`. Dispatched on an element whenever it changes its state.\n * @fires NucleonElement#fetch - Instance of `NucleonElement.API.FetchEvent`. Emitted before each API request.\n *\n * @element foxy-nucleon\n * @since 1.1.0\n */\nexport class NucleonElement<TData extends HALJSONResource> extends InferrableMixin(LitElement) {\n /**\n * Instances of this event are dispatched on an element whenever it changes its\n * state (e.g. when going from `busy` to `idle` or on `form` data change).\n * This event isn't cancelable, and it does not bubble.\n * @readonly\n */\n static readonly UpdateEvent = UpdateEvent;\n\n /**\n * Creates a tagged [Rumour](https://sdk.foxy.dev/classes/_core_index_.rumour.html)\n * instance if it doesn't exist or returns cached one otherwise. NucleonElements\n * use empty Rumour group by default.\n * @readonly\n */\n static readonly Rumour = memoize<(group: string) => Rumour>(() => new Rumour());\n\n /**\n * Universal [API](https://sdk.foxy.dev/classes/_core_index_.api.html) client\n * that dispatches cancellable `FetchEvent` on an element before each request.\n * @readonly\n */\n static readonly API = API;\n\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'group', 'lang'];\n }\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n related: { type: Array },\n parent: { type: String },\n group: { type: String, noAccessor: true },\n href: { type: String, noAccessor: true },\n lang: { type: String },\n };\n }\n\n /**\n * Array of validation functions. Each function accepts `element.form` and must return\n * either an error code string if form data fails the check or `true` otherwise.\n * Error codes are collected in `element.errors`. Empty by default.\n */\n static get v8n(): NucleonV8N<any> {\n return [];\n }\n\n /**\n * Optional ISO 639-1 code describing the language element content is written in.\n * Changing the `lang` attribute will update the value of this property.\n */\n lang = '';\n\n /**\n * Optional URL of the collection this element's resource belongs to.\n * Changing the `parent` attribute will update the value of this property.\n */\n parent = '';\n\n /**\n * Optional URI list of the related resources. If Rumour encounters a related\n * resource on creation or deletion, it will be reloaded from source.\n */\n related: string[] = [];\n\n private __href = '';\n\n private __group = '';\n\n private __unsubscribeFromRumour!: () => void;\n\n private __fetchEventHandler!: (evt: Event) => void;\n\n private __fetchEventQueue: FetchEvent[] = [];\n\n private readonly __service = interpret(\n (Nucleon.machine as NucleonMachine<TData>).withConfig({\n services: {\n sendDelete: () => this._sendDelete(),\n sendPatch: ({ edits }) => this._sendPatch(edits!),\n sendPost: ({ edits }) => this._sendPost(edits!),\n sendGet: () => this._sendGet(),\n },\n\n actions: {\n validate: assign<Nucleon.Context<TData, string>, Nucleon.Event<TData>>({\n errors: context => {\n const rules = (this.constructor as typeof NucleonElement).v8n;\n const form = { ...context.data, ...context.edits };\n\n return rules\n .map(validate => validate(form))\n .filter(v8nResult => typeof v8nResult === 'string')\n .filter((err, errIndex, errs) => errs.indexOf(err) === errIndex) as string[];\n },\n }),\n },\n })\n );\n\n /**\n * If network request returns non-2XX code, the entire error response\n * will be available via this getter.\n *\n * This property is readonly. Changing failure records via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override error status.\n *\n * @since 1.4.0\n */\n get failure(): Response | null {\n return this.__service.state.context.failure;\n }\n\n /**\n * Array of validation errors returned from `NucleonElement.v8n` checks.\n *\n * This property is readonly. Adding or removing error codes via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override validity status.\n */\n get errors(): string[] {\n return this.__service.state.context.errors;\n }\n\n /**\n * Resource snapshot with edits applied. Empty object if unavailable.\n *\n * This property and its value are readonly. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please use `element.edit({ foo: 'bar' })` instead.\n * If you need to replace the entire data object, consider using `element.data`.\n */\n get form(): Partial<TData> {\n const { data, edits } = this.__service.state.context;\n return { ...data, ...edits } as Partial<TData>;\n }\n\n /**\n * Resource snapshot as-is, no edits applied. Null if unavailable.\n *\n * Returned value is not reactive. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please set the property instead: `element.data = { ...element.data, foo: 'bar' }`.\n * If you're processing user input, consider using `element.form` and `element.edit()` instead.\n */\n get data(): TData | null {\n return this.__service.state.context.data;\n }\n\n set data(data: TData | null) {\n this.__service.send({ type: 'SET_DATA', data });\n this.__href = data?._links.self.href ?? '';\n }\n\n /**\n * Rumour group. Elements in different groups will not share updates. Empty by default.\n * @example element.group = 'my-group'\n */\n get group(): string {\n return this.__group;\n }\n\n set group(value: string) {\n this.__group = value;\n this.__destroyRumour();\n this.__createRumour();\n }\n\n /**\n * Optional URL of the resource to load. Switches element to `idle.template` state if empty (default).\n * @example element.href = 'https://demo.foxycart.com/s/customer/attributes/0'\n */\n get href(): string {\n return this.__href;\n }\n\n set href(value: string) {\n this.__href = value;\n\n if (value) {\n this.__service.send({ type: 'FETCH' });\n } else {\n this.__service.send({ type: 'SET_DATA', data: null });\n }\n }\n\n /**\n * Checks if this element is in the given state.\n * @example element.in({ idle: 'snapshot' })\n */\n in<TStateValue extends Nucleon.State<TData, string>['value']>(\n stateValue: TStateValue\n ): this is this & ComputedElementProperties<TData, TStateValue> {\n return this.__service.state.matches(stateValue);\n }\n\n /**\n * Clears all edits and emits the `update` event.\n * @example element.undo()\n */\n undo(): void {\n this.__service.send({ type: 'UNDO' });\n }\n\n /**\n * Applies an edit to the local resource snapshot or its template and emits the `update` event.\n * @example element.edit({ first_name: 'Alex' })\n */\n edit(data: Partial<TData>): void {\n this.__service.send({ type: 'EDIT', data });\n }\n\n /**\n * Submits the form, updating the resource if href isn't empty or creating it otherwise.\n * Emits multiple `update` events as element state changes. Has no effect on invalid forms.\n * @example element.submit()\n */\n submit(): void {\n this.__service.send({ type: 'SUBMIT' });\n }\n\n /**\n * Sends a DELETE request to `element.href` and clears local data on success.\n * Emits multiple update events as element state changes.\n * @example element.delete()\n */\n delete(): void {\n this.__service.send({ type: 'DELETE' });\n }\n\n /**\n * Fetches data from `element.href` in background, keeping the edits and v8n errors.\n * @example element.refresh()\n */\n refresh(): void {\n this.__service.send({ type: 'REFRESH' });\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n\n this.__createService();\n this.__createRumour();\n this.__createServer();\n this.__processFetchEventQueue();\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.__destroyService();\n this.__destroyRumour();\n this.__destroyServer();\n this.__flushFetchEventQueue('parent element was disconnected');\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n if (this.infer === null) return;\n\n this.group = (context.get('group') as string | undefined) ?? '';\n this.lang = (context.get('lang') as string | undefined) ?? '';\n }\n\n /** Sends API request. Throws an error on non-2XX response. */\n protected async _fetch<TResult = TData>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const response = await new API(this).fetch(...args);\n if (!response.ok) throw response;\n return response.json();\n }\n\n /** POSTs to `element.parent`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPost(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n\n const body = JSON.stringify(edits);\n const data = await this._fetch(this.parent, { body, method: 'POST' });\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n\n rumour.share({ data, related, source: data._links.self.href });\n this.__createRumour();\n\n return data;\n }\n\n /** GETs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendGet(): Promise<TData> {\n this.__destroyRumour();\n\n const data = await this._fetch(this.href);\n const rumour = NucleonElement.Rumour(this.group);\n\n rumour.share({ data, source: this.href });\n this.__createRumour();\n\n return data;\n }\n\n /** PATCHes `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPatch(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n\n const body = JSON.stringify(edits);\n const data = await this._fetch(this.href, { body, method: 'PATCH' });\n const rumour = NucleonElement.Rumour(this.group);\n\n rumour.share({ data, source: this.href, related: this.related });\n this.__createRumour();\n\n return data;\n }\n\n /** DELETEs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendDelete(): Promise<TData> {\n this.__destroyRumour();\n\n const data = await this._fetch(this.href, { method: 'DELETE' });\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n\n rumour.share({ data: null, source: this.href, related });\n this.__createRumour();\n\n return data;\n }\n\n private __createService() {\n this.__service.onTransition(state => {\n if (!state.changed) return;\n\n const flags = state.toStrings().reduce((p, c) => [...p, ...c.split('.')], [] as string[]);\n this.setAttribute('state', [...new Set(flags)].join(' '));\n\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent());\n\n if (!state.matches('busy')) this.__processFetchEventQueue();\n });\n\n this.__service.onChange(() => {\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent());\n });\n\n this.__service.start();\n }\n\n private __destroyService() {\n this.__service.stop();\n }\n\n private __createRumour() {\n const rumour = NucleonElement.Rumour(this.group);\n this.__unsubscribeFromRumour = rumour.track(update => this.__handleRumourUpdate(update));\n }\n\n private __destroyRumour() {\n this.__unsubscribeFromRumour?.();\n }\n\n private __createServer() {\n this.__fetchEventHandler = this.__handleFetchEvent.bind(this);\n this.addEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __destroyServer() {\n this.removeEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __handleRumourUpdate(update: (oldData: TData) => TData | null) {\n try {\n const oldData = this.__service.state?.context.data;\n if (!oldData) return;\n\n const newData = update(oldData);\n if (newData !== oldData) this.__service.send({ data: newData, type: 'SET_DATA' });\n } catch (err) {\n if (err instanceof Rumour.UpdateError) {\n this.__service.send({ type: 'REFRESH' });\n } else {\n throw err;\n }\n }\n }\n\n private __processFetchEventQueue() {\n const api = new NucleonElement.API(this);\n\n this.__fetchEventQueue.forEach(event => {\n const request = event.request;\n const cacheResponse = serveFromCache(request.url, this.data);\n const whenResponseReady = cacheResponse.ok ? cacheResponse : api.fetch(request);\n\n event.respondWith(Promise.resolve(whenResponseReady));\n\n if (cacheResponse.ok) {\n console.debug(\n `%c@foxy.io/elements::${this.localName}\\n%c200%c GET ${request.url}`,\n 'color: gray',\n `background: gray; padding: 0 .2em; border-radius: .2em; color: white;`,\n ''\n );\n }\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __flushFetchEventQueue(errorMessage: string) {\n this.__fetchEventQueue.forEach(event => {\n event.respondWith(Promise.reject(new Error(errorMessage)));\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __handleFetchEvent(event: Event) {\n if (!(event instanceof FetchEvent)) return;\n if (event.defaultPrevented) return;\n if (event.request.method !== 'GET') return;\n if (event.request.url.startsWith('foxy://')) return;\n if (event.composedPath()[0] === this) return;\n\n event.preventDefault();\n this.__fetchEventQueue.push(event);\n\n if (!this.in('busy')) this.__processFetchEventQueue();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"NucleonElement.js","sourceRoot":"","sources":["../../../../src/elements/public/NucleonElement/NucleonElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { ComputedElementProperties, HALJSONResource, NucleonMachine, NucleonV8N } from './types';\nimport { html, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport { Nucleon, Rumour } from '@foxy.io/sdk/core';\nimport { assign, interpret } from 'xstate';\n\nimport { API } from './API';\nimport { FetchEvent } from './FetchEvent';\nimport { UpdateEvent, UpdateResult } from './UpdateEvent';\nimport memoize from 'lodash-es/memoize';\nimport { serveFromCache } from './serveFromCache';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\n/**\n * Base class for custom elements working with remote HAL+JSON resources.\n *\n * @fires NucleonElement#update - Instance of `NucleonElement.UpdateEvent`. Dispatched on an element whenever it changes its state.\n * @fires NucleonElement#fetch - Instance of `NucleonElement.API.FetchEvent`. Emitted before each API request.\n *\n * @element foxy-nucleon\n * @since 1.1.0\n */\nexport class NucleonElement<TData extends HALJSONResource> extends InferrableMixin(LitElement) {\n /**\n * Instances of this event are dispatched on an element whenever it changes its\n * state (e.g. when going from `busy` to `idle` or on `form` data change).\n * This event isn't cancelable, and it does not bubble.\n * @readonly\n */\n static readonly UpdateEvent = UpdateEvent;\n\n /**\n * Creates a tagged [Rumour](https://sdk.foxy.dev/classes/_core_index_.rumour.html)\n * instance if it doesn't exist or returns cached one otherwise. NucleonElements\n * use empty Rumour group by default.\n * @readonly\n */\n static readonly Rumour = memoize<(group: string) => Rumour>(() => new Rumour());\n\n /**\n * Universal [API](https://sdk.foxy.dev/classes/_core_index_.api.html) client\n * that dispatches cancellable `FetchEvent` on an element before each request.\n * @readonly\n */\n static readonly API = API;\n\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'group', 'lang'];\n }\n\n /** @readonly */\n static get properties(): PropertyDeclarations {\n return {\n __state: { type: String, reflect: true, attribute: 'state' },\n related: { type: Array },\n parent: { type: String },\n group: { type: String, noAccessor: true },\n href: { type: String, noAccessor: true },\n lang: { type: String },\n };\n }\n\n /**\n * Array of validation functions. Each function accepts `element.form` and must return\n * either an error code string if form data fails the check or `true` otherwise.\n * Error codes are collected in `element.errors`. Empty by default.\n */\n static get v8n(): NucleonV8N<any> {\n return [];\n }\n\n /**\n * Optional ISO 639-1 code describing the language element content is written in.\n * Changing the `lang` attribute will update the value of this property.\n */\n lang = '';\n\n /**\n * Optional URL of the collection this element's resource belongs to.\n * Changing the `parent` attribute will update the value of this property.\n */\n parent = '';\n\n /**\n * Optional URI list of the related resources. If Rumour encounters a related\n * resource on creation or deletion, it will be reloaded from source.\n */\n related: string[] = [];\n\n private __hrefToLoad: string | null = null;\n\n private __group = '';\n\n private __unsubscribeFromRumour: (() => void) | null = null;\n\n private __fetchEventHandler!: (evt: Event) => void;\n\n private __fetchEventQueue: FetchEvent[] = [];\n\n private readonly __service = interpret(\n (Nucleon.machine as NucleonMachine<TData>).withConfig({\n services: {\n sendDelete: () => this._sendDelete(),\n sendPatch: ({ edits }) => this._sendPatch(edits!),\n sendPost: ({ edits }) => this._sendPost(edits!),\n sendGet: () => this._sendGet(),\n },\n\n actions: {\n validate: assign<Nucleon.Context<TData, string>, Nucleon.Event<TData>>({\n errors: context => {\n const rules = (this.constructor as typeof NucleonElement).v8n;\n const form = { ...context.data, ...context.edits };\n\n return rules\n .map(validate => validate(form))\n .filter(v8nResult => typeof v8nResult === 'string')\n .filter((err, errIndex, errs) => errs.indexOf(err) === errIndex) as string[];\n },\n }),\n },\n })\n );\n\n constructor() {\n super();\n this.__createService();\n }\n\n /**\n * If network request returns non-2XX code, the entire error response\n * will be available via this getter.\n *\n * This property is readonly. Changing failure records via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override error status.\n *\n * @since 1.4.0\n */\n get failure(): Response | null {\n return this.__service.state.context.failure;\n }\n\n /**\n * Array of validation errors returned from `NucleonElement.v8n` checks.\n *\n * This property is readonly. Adding or removing error codes via this property is\n * not guaranteed to work. NucleonElement does not provide a way to override validity status.\n */\n get errors(): string[] {\n return this.__service.state.context.errors;\n }\n\n /**\n * Resource snapshot with edits applied. Empty object if unavailable.\n *\n * This property and its value are readonly. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please use `element.edit({ foo: 'bar' })` instead.\n * If you need to replace the entire data object, consider using `element.data`.\n */\n get form(): Partial<TData> {\n const { data, edits } = this.__service.state.context;\n return { ...data, ...edits } as Partial<TData>;\n }\n\n /**\n * Resource snapshot as-is, no edits applied. Null if unavailable.\n *\n * Returned value is not reactive. Assignments like `element.data.foo = 'bar'`\n * are not guaranteed to work. Please set the property instead: `element.data = { ...element.data, foo: 'bar' }`.\n * If you're processing user input, consider using `element.form` and `element.edit()` instead.\n */\n get data(): TData | null {\n return this.__service.state.context.data;\n }\n\n set data(data: TData | null) {\n this.__destroyRumour();\n this.__service.send({ type: 'SET_DATA', data });\n this.__hrefToLoad = null;\n if (data) this.__createRumour();\n }\n\n /**\n * Rumour group. Elements in different groups will not share updates. Empty by default.\n * @example element.group = 'my-group'\n */\n get group(): string {\n return this.__group;\n }\n\n set group(value: string) {\n this.__group = value;\n this.__destroyRumour();\n this.__createRumour();\n }\n\n /**\n * Optional URL of the resource to load. Switches element to `idle.template` state if empty (default).\n * @example element.href = 'https://demo.foxycart.com/s/customer/attributes/0'\n */\n get href(): string {\n return this.form._links?.self.href ?? this.__hrefToLoad ?? '';\n }\n\n set href(value: string) {\n if (value) {\n this.__hrefToLoad = value;\n this.__service.send({ type: 'FETCH' });\n } else {\n this.data = null;\n }\n }\n\n /**\n * Checks if this element is in the given state.\n * @example element.in({ idle: 'snapshot' })\n */\n in<TStateValue extends Nucleon.State<TData, string>['value']>(\n stateValue: TStateValue\n ): this is this & ComputedElementProperties<TData, TStateValue> {\n return this.__service.state.matches(stateValue);\n }\n\n /**\n * Clears all edits and emits the `update` event.\n * @example element.undo()\n */\n undo(): void {\n this.__service.send({ type: 'UNDO' });\n }\n\n /**\n * Applies an edit to the local resource snapshot or its template and emits the `update` event.\n * @example element.edit({ first_name: 'Alex' })\n */\n edit(data: Partial<TData>): void {\n if (typeof data._links?.self.href === 'string') this.__hrefToLoad = null;\n this.__service.send({ type: 'EDIT', data });\n }\n\n /**\n * Submits the form, updating the resource if href isn't empty or creating it otherwise.\n * Emits multiple `update` events as element state changes. Has no effect on invalid forms.\n * @example element.submit()\n */\n submit(): void {\n this.reportValidity();\n this.__service.send({ type: 'SUBMIT' });\n }\n\n checkValidity(): boolean {\n const isTemplateDirtyValid = this.in({ idle: { template: { dirty: 'valid' } } });\n const isSnapshotDirtyValid = this.in({ idle: { snapshot: { dirty: 'valid' } } });\n const isTemplateCleanValid = this.in({ idle: { template: { clean: 'valid' } } });\n const isSnapshotCleanValid = this.in({ idle: { snapshot: { clean: 'valid' } } });\n const isTemplateValid = isTemplateCleanValid || isTemplateDirtyValid;\n const isSnapshotValid = isSnapshotCleanValid || isSnapshotDirtyValid;\n const isValid = isTemplateValid || isSnapshotValid;\n\n return isValid;\n }\n\n reportValidity(): boolean {\n const walker = this.ownerDocument.createTreeWalker(this.renderRoot, NodeFilter.SHOW_ELEMENT);\n\n do {\n type Input = Node & Record<string, () => unknown>;\n\n const node = walker.currentNode as Input;\n const methods = ['reportValidity', 'validate'];\n\n for (const method of methods) {\n if (method in node) {\n try {\n node[method]();\n break;\n } catch {\n continue;\n }\n }\n }\n } while (walker.nextNode());\n\n return this.checkValidity();\n }\n\n /**\n * Sends a DELETE request to `element.href` and clears local data on success.\n * Emits multiple update events as element state changes.\n * @example element.delete()\n */\n delete(): void {\n this.__service.send({ type: 'DELETE' });\n }\n\n /**\n * Fetches data from `element.href` in background, keeping the edits and v8n errors.\n * @example element.refresh()\n */\n refresh(): void {\n this.__service.send({ type: 'REFRESH' });\n }\n\n render(): TemplateResult {\n return html`<slot></slot>`;\n }\n\n /** @readonly */\n connectedCallback(): void {\n super.connectedCallback();\n if (this.href) this.refresh();\n\n this.__createRumour();\n this.__createServer();\n this.__processFetchEventQueue();\n\n this.dispatchEvent(new UpdateEvent());\n }\n\n /** @readonly */\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.__destroyRumour();\n this.__destroyServer();\n this.__flushFetchEventQueue('parent element was disconnected');\n\n this.dispatchEvent(new UpdateEvent());\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n if (this.infer === null) return;\n\n this.group = (context.get('group') as string | undefined) ?? '';\n this.lang = (context.get('lang') as string | undefined) ?? '';\n }\n\n /** Sends API request. Throws an error on non-2XX response. */\n protected async _fetch<TResult = TData>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const response = await new API(this).fetch(...args);\n if (!response.ok) throw response;\n return response.json();\n }\n\n /** POSTs to `element.parent`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPost(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n const body = JSON.stringify(edits);\n const postData = await this._fetch(this.parent, { body, method: 'POST' });\n data = await this._fetch(postData._links.self.href);\n\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n rumour.share({ data, related, source: data._links.self.href });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** GETs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendGet(): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n data = await this._fetch(this.href);\n NucleonElement.Rumour(this.group).share({ data, source: this.href });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** PATCHes `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendPatch(edits: Partial<TData>): Promise<TData> {\n this.__destroyRumour();\n let data: TData;\n\n try {\n const body = JSON.stringify(edits);\n data = await this._fetch(this.href, { body, method: 'PATCH' });\n\n const rumour = NucleonElement.Rumour(this.group);\n rumour.share({ data, source: this.href, related: this.related });\n } finally {\n this.__createRumour();\n }\n\n return data;\n }\n\n /** DELETEs `element.href`, shares response with the Rumour group and returns parsed JSON. */\n protected async _sendDelete(): Promise<null> {\n this.__destroyRumour();\n\n try {\n await this._fetch(this.href, { method: 'DELETE' });\n\n const rumour = NucleonElement.Rumour(this.group);\n const related = [...this.related, this.parent];\n rumour.share({ data: null, source: this.href, related });\n } finally {\n this.__createRumour();\n }\n\n return null;\n }\n\n // this getter is used by LitElement to set the \"state\" attribute\n private get __state(): string {\n const state = this.__service.state;\n const flags = state.toStrings().reduce((p, c) => [...p, ...c.split('.')], [] as string[]);\n return [...new Set(flags)].join(' ');\n }\n\n private __createService() {\n this.__service.onTransition(state => {\n if (!state.changed) return;\n\n let result: UpdateResult | undefined = undefined;\n\n if (state.matches('idle')) {\n if (state.history?.matches({ busy: 'deleting' })) {\n result = UpdateResult.ResourceDeleted;\n } else if (state.history?.matches({ busy: 'creating' })) {\n result = UpdateResult.ResourceCreated;\n }\n }\n\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent('update', { detail: { result } }));\n\n if (!state.matches('busy')) this.__processFetchEventQueue();\n });\n\n this.__service.onChange(() => {\n this.requestUpdate();\n this.dispatchEvent(new UpdateEvent());\n });\n\n this.__service.start();\n }\n\n private __createRumour() {\n const rumour = NucleonElement.Rumour(this.group);\n this.__unsubscribeFromRumour = rumour.track(update => this.__handleRumourUpdate(update));\n }\n\n private __destroyRumour() {\n this.__unsubscribeFromRumour?.();\n this.__unsubscribeFromRumour = null;\n }\n\n private __createServer() {\n this.__fetchEventHandler = this.__handleFetchEvent.bind(this);\n this.addEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __destroyServer() {\n this.removeEventListener('fetch', this.__fetchEventHandler);\n }\n\n private __handleRumourUpdate(update: (oldData: TData) => TData | null) {\n try {\n const oldData = this.__service.state?.context.data;\n const newData = oldData ? update(oldData) : oldData;\n\n if (newData !== oldData) {\n this.data = newData;\n\n if (!newData) {\n const result = UpdateResult.ResourceDeleted;\n const event = new UpdateEvent('update', { detail: { result } });\n this.dispatchEvent(event);\n }\n }\n } catch (err) {\n if (err instanceof Rumour.UpdateError) {\n this.__service.send({ type: 'REFRESH' });\n } else {\n throw err;\n }\n }\n }\n\n private __processFetchEventQueue() {\n const api = new NucleonElement.API(this);\n\n this.__fetchEventQueue.forEach(event => {\n const request = event.request;\n const cacheResponse = serveFromCache(request.url, this.data);\n const whenResponseReady = cacheResponse.ok ? cacheResponse : api.fetch(request);\n\n event.respondWith(Promise.resolve(whenResponseReady));\n\n if (cacheResponse.ok) {\n console.debug(\n `%c@foxy.io/elements::${this.localName}\\n%c200%c GET ${request.url}`,\n 'color: gray',\n `background: gray; padding: 0 .2em; border-radius: .2em; color: white;`,\n ''\n );\n }\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __flushFetchEventQueue(errorMessage: string) {\n this.__fetchEventQueue.forEach(event => {\n event.respondWith(Promise.reject(new Error(errorMessage)));\n });\n\n this.__fetchEventQueue = [];\n }\n\n private __handleFetchEvent(event: Event) {\n if (!(event instanceof FetchEvent)) return;\n if (event.defaultPrevented) return;\n if (event.request.method !== 'GET') return;\n if (event.request.url.startsWith('foxy://')) return;\n if (event.composedPath()[0] === this) return;\n\n event.preventDefault();\n this.__fetchEventQueue.push(event);\n\n if (!this.__service.state.matches('busy')) this.__processFetchEventQueue();\n }\n}\n"]}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
|
|
1
|
+
export declare enum UpdateResult {
|
|
2
|
+
ResourceCreated = 0,
|
|
3
|
+
ResourceDeleted = 1
|
|
4
|
+
}
|
|
5
|
+
export declare type UpdateEventDetail = {
|
|
6
|
+
result?: UpdateResult;
|
|
7
|
+
};
|
|
8
|
+
export declare class UpdateEvent extends CustomEvent<UpdateEventDetail> {
|
|
9
|
+
static readonly UpdateResult: typeof UpdateResult;
|
|
10
|
+
constructor(type?: string, eventInitDict?: CustomEventInit<UpdateEventDetail>);
|
|
3
11
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
export var UpdateResult;
|
|
2
|
+
(function (UpdateResult) {
|
|
3
|
+
UpdateResult[UpdateResult["ResourceCreated"] = 0] = "ResourceCreated";
|
|
4
|
+
UpdateResult[UpdateResult["ResourceDeleted"] = 1] = "ResourceDeleted";
|
|
5
|
+
})(UpdateResult || (UpdateResult = {}));
|
|
1
6
|
export class UpdateEvent extends CustomEvent {
|
|
2
|
-
constructor() {
|
|
3
|
-
super(
|
|
7
|
+
constructor(type = 'update', eventInitDict) {
|
|
8
|
+
super(type, eventInitDict);
|
|
4
9
|
}
|
|
5
10
|
}
|
|
11
|
+
UpdateEvent.UpdateResult = UpdateResult;
|
|
6
12
|
//# sourceMappingURL=UpdateEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateEvent.js","sourceRoot":"","sources":["../../../../src/elements/public/NucleonElement/UpdateEvent.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,
|
|
1
|
+
{"version":3,"file":"UpdateEvent.js","sourceRoot":"","sources":["../../../../src/elements/public/NucleonElement/UpdateEvent.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,qEAAe,CAAA;IACf,qEAAe,CAAA;AACjB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAMD,MAAM,OAAO,WAAY,SAAQ,WAA8B;IAG7D,YAAY,IAAI,GAAG,QAAQ,EAAE,aAAkD;QAC7E,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC7B,CAAC;;AAJe,wBAAY,GAAG,YAAY,CAAC","sourcesContent":["export enum UpdateResult {\n ResourceCreated,\n ResourceDeleted,\n}\n\nexport type UpdateEventDetail = {\n result?: UpdateResult;\n};\n\nexport class UpdateEvent extends CustomEvent<UpdateEventDetail> {\n static readonly UpdateResult = UpdateResult;\n\n constructor(type = 'update', eventInitDict?: CustomEventInit<UpdateEventDetail>) {\n super(type, eventInitDict);\n }\n}\n"]}
|
|
@@ -67,7 +67,7 @@ export class Pagination extends Base {
|
|
|
67
67
|
return html `
|
|
68
68
|
<slot @slotchange=${this.__connectPageElement}></slot>
|
|
69
69
|
|
|
70
|
-
<div class="grid
|
|
70
|
+
<div class="grid gap-s items-center -mx-xs" style="grid-template-columns: 1fr auto 1fr">
|
|
71
71
|
<div class="flex items-center space-x-s">
|
|
72
72
|
<vaadin-button
|
|
73
73
|
data-testid="first"
|
|
@@ -97,7 +97,7 @@ export class Pagination extends Base {
|
|
|
97
97
|
to: offset + returnedItems,
|
|
98
98
|
})}
|
|
99
99
|
class=${classMap({
|
|
100
|
-
'flex-1 text-xs text-tertiary text-center leading-xs': true,
|
|
100
|
+
'flex-1 text-xs text-tertiary text-center leading-xs truncate': true,
|
|
101
101
|
'opacity-0': !data,
|
|
102
102
|
})}
|
|
103
103
|
lang=${lang}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../src/elements/public/Pagination/Pagination.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../src/elements/public/Pagination/Pagination.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { classMap } from '../../../utils/class-map';\nimport get from 'lodash-es/get';\nimport { InferrableMixin } from '../../../mixins/inferrable';\n\nconst NS = 'pagination';\nconst Base = ResponsiveMixin(\n ConfigurableMixin(ThemeableMixin(TranslatableMixin(InferrableMixin(LitElement), NS)))\n);\n\n/**\n * Helper element that adds pagination controls to elements\n * representing Hypermedia API collection pages. Works with NucleonElement instances only.\n * Page element **MUST** be a direct descendant of `foxy-pagination`.\n *\n * @example\n * ```html\n * <foxy-pagination first=\"https://demo.api/hapi/customers?limit=3\">\n * <foxy-customers-table></foxy-customers-table>\n * </foxy-pagination>\n * ```\n *\n * @element foxy-pagination\n * @since 1.15.0\n */\nexport class Pagination extends Base {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n first: { type: String },\n __pageElement: { attribute: false },\n };\n }\n\n private __pageElement: NucleonElement<any> | null = null;\n\n private __rerender = () => this.requestUpdate();\n\n private __first = '';\n\n /** URL of the first page of the colletion. */\n get first(): string {\n return this.__first;\n }\n\n set first(newValue: string) {\n this.__first = newValue;\n if (this.__pageElement) this.__pageElement.href = newValue;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.__connectPageElement();\n }\n\n render(): TemplateResult {\n const data = this.__pageElement?.data;\n const { disabled, lang, ns } = this;\n\n const returnedItemsValue = Number(get(data, 'returned_items'));\n const returnedItems = Number.isNaN(returnedItemsValue) ? 0 : returnedItemsValue;\n\n const totalItemsValue = Number(get(data, 'total_items'));\n const totalItems = Number.isNaN(totalItemsValue) ? 0 : totalItemsValue;\n\n const offsetValue = Number(get(data, 'offset'));\n const offset = Number.isNaN(offsetValue) ? 0 : offsetValue;\n\n const canGoBack = !disabled && offset > 0;\n const canGoForth = !disabled && offset + returnedItems < totalItems;\n\n const labelClass = 'sr-only sm-not-sr-only';\n\n return html`\n <slot @slotchange=${this.__connectPageElement}></slot>\n\n <div class=\"grid gap-s items-center -mx-xs\" style=\"grid-template-columns: 1fr auto 1fr\">\n <div class=\"flex items-center space-x-s\">\n <vaadin-button\n data-testid=\"first\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('first')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:first-page\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"first\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"prev\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoBack}\n @click=${() => this.__goTo('prev')}\n >\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-left\"></iron-icon>\n <foxy-i18n class=${labelClass} lang=${lang} key=\"previous\" ns=${ns}></foxy-i18n>\n </vaadin-button>\n </div>\n\n <foxy-i18n\n options=${JSON.stringify({\n total: totalItems,\n from: offset ? offset + 1 : 0,\n to: offset + returnedItems,\n })}\n class=${classMap({\n 'flex-1 text-xs text-tertiary text-center leading-xs truncate': true,\n 'opacity-0': !data,\n })}\n lang=${lang}\n key=\"pagination\"\n ns=${ns}\n >\n </foxy-i18n>\n\n <div class=\"flex items-center justify-end space-x-s\">\n <vaadin-button\n data-testid=\"next\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('next')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"next\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n\n <vaadin-button\n data-testid=\"last\"\n theme=\"contrast tertiary-inline\"\n ?disabled=${!canGoForth}\n @click=${() => this.__goTo('last')}\n >\n <foxy-i18n class=${labelClass} lang=${lang} key=\"last\" ns=${ns}></foxy-i18n>\n <iron-icon class=\"icon-inline text-s\" icon=\"icons:last-page\"></iron-icon>\n </vaadin-button>\n </div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__disconnectPageElement();\n }\n\n private __goTo(rel: string): void {\n this.__pageElement!.href = String(get(this.__pageElement?.data, `_links.${rel}.href`));\n }\n\n private __disconnectPageElement() {\n this.__pageElement?.removeEventListener('update', this.__rerender);\n this.__pageElement = null;\n }\n\n private __connectPageElement() {\n this.__disconnectPageElement();\n\n const slot = this.renderRoot.querySelector<HTMLSlotElement>('slot');\n const assignedElements = slot?.assignedElements() ?? [];\n const firstNucleonElement = assignedElements.find(el => el instanceof NucleonElement) as\n | NucleonElement<any>\n | undefined;\n\n if (firstNucleonElement) {\n this.__pageElement = firstNucleonElement;\n this.__pageElement.addEventListener('update', this.__rerender);\n this.__pageElement.href = this.first;\n }\n }\n}\n"]}
|
|
@@ -24,7 +24,7 @@ export declare class PaymentMethodCard extends Base<Data> {
|
|
|
24
24
|
private readonly __renderActionsDelete;
|
|
25
25
|
private readonly __renderActions;
|
|
26
26
|
render(): TemplateResult;
|
|
27
|
-
protected _sendDelete(): Promise<
|
|
27
|
+
protected _sendDelete(): Promise<null>;
|
|
28
28
|
private __handleDelete;
|
|
29
29
|
private __handleConfirmHide;
|
|
30
30
|
}
|
|
@@ -160,10 +160,10 @@ export class PaymentMethodCard extends Base {
|
|
|
160
160
|
}
|
|
161
161
|
async _sendDelete() {
|
|
162
162
|
const body = JSON.stringify({ save_cc: false });
|
|
163
|
-
|
|
163
|
+
await this._fetch(this.href, { method: 'PATCH', body });
|
|
164
164
|
const rumour = NucleonElement.Rumour(this.group);
|
|
165
165
|
rumour.share({ data: null, source: this.href, related: [this.parent] });
|
|
166
|
-
return
|
|
166
|
+
return null;
|
|
167
167
|
}
|
|
168
168
|
__handleDelete(evt) {
|
|
169
169
|
const confirm = this.renderRoot.querySelector('#confirm');
|