@foxy.io/elements 1.25.0-beta.2 → 1.25.0-beta.3
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 +85 -3
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -0
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +1 -1
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-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 +1 -1
- package/dist/cdn/foxy-customer.js +3 -3
- 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-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +1 -1
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.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 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +1 -1
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +179 -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-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-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-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.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 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +1 -1
- package/dist/cdn/foxy-reports-table.js +1 -1
- package/dist/cdn/foxy-shipment-card.js +1 -14
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +1 -1
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +3 -3
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +7 -7
- package/dist/cdn/foxy-user-card.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/shared-0037b9e6.js +1 -0
- package/dist/cdn/{shared-a52c3d8c.js → shared-02f8245a.js} +1 -1
- package/dist/cdn/{shared-8c681381.js → shared-06916671.js} +1 -1
- package/dist/cdn/{shared-35728235.js → shared-07e9d1fb.js} +1 -1
- package/dist/cdn/{shared-1313f293.js → shared-0961f769.js} +1 -1
- package/dist/cdn/{shared-53d66db2.js → shared-0ffe26d8.js} +3 -3
- package/dist/cdn/{shared-4c2e9064.js → shared-1522d76f.js} +1 -1
- package/dist/cdn/{shared-51a5af7e.js → shared-15dfa16d.js} +1 -1
- package/dist/cdn/{shared-800ee6c0.js → shared-250a399a.js} +1 -1
- package/dist/cdn/shared-25edf241.js +1 -0
- package/dist/cdn/{shared-7d933f9d.js → shared-264c82b8.js} +1 -1
- package/dist/cdn/{shared-4b20fc75.js → shared-293771ba.js} +1 -1
- package/dist/cdn/{shared-5d718eaf.js → shared-29e74661.js} +1 -1
- package/dist/cdn/{shared-870074ff.js → shared-2c92c192.js} +1 -1
- package/dist/cdn/{shared-fd96bcd1.js → shared-30cbf0a6.js} +1 -1
- package/dist/cdn/{shared-92de4f37.js → shared-320fadbf.js} +1 -1
- package/dist/cdn/{shared-d123bea6.js → shared-324665fd.js} +1 -1
- package/dist/cdn/{shared-8771fb61.js → shared-3bd99d11.js} +1 -1
- package/dist/cdn/{shared-e8a85228.js → shared-3d251e6f.js} +1 -1
- package/dist/cdn/{shared-71b3559f.js → shared-3d95605f.js} +3 -3
- package/dist/cdn/{shared-f1b36324.js → shared-3f3903d4.js} +1 -1
- package/dist/cdn/{shared-d01f42d0.js → shared-3fee360a.js} +1 -1
- package/dist/cdn/shared-4105aacf.js +1 -0
- package/dist/cdn/shared-43e2c3f6.js +1 -0
- package/dist/cdn/{shared-5742a841.js → shared-452e38da.js} +1 -1
- package/dist/cdn/shared-4761cbda.js +1 -0
- package/dist/cdn/{shared-732bee4b.js → shared-5291bdca.js} +1 -1
- package/dist/cdn/{shared-417ab233.js → shared-54cbd346.js} +1 -1
- package/dist/cdn/{shared-1dbad347.js → shared-5db2fec0.js} +1 -1
- package/dist/cdn/{shared-c00049b2.js → shared-5f1f0d8f.js} +1 -1
- package/dist/cdn/{shared-c320cfef.js → shared-61b1fd60.js} +1 -1
- package/dist/cdn/{shared-e2db3ab5.js → shared-63d11888.js} +1 -1
- package/dist/cdn/{shared-ca428891.js → shared-69c3549d.js} +1 -1
- package/dist/cdn/{shared-9b12aeac.js → shared-6a7f96c4.js} +1 -1
- package/dist/cdn/{shared-fe927c53.js → shared-6d0be1e4.js} +1 -1
- package/dist/cdn/{shared-6e704d83.js → shared-6ffa9f84.js} +1 -1
- package/dist/cdn/{shared-21293163.js → shared-745a575c.js} +1 -1
- package/dist/cdn/{shared-4c3cb511.js → shared-835cf735.js} +1 -1
- package/dist/cdn/{shared-e60dc924.js → shared-85712eed.js} +1 -1
- package/dist/cdn/shared-87142858.js +1 -0
- package/dist/cdn/{shared-9771ef0f.js → shared-87824001.js} +1 -1
- package/dist/cdn/{shared-4d555419.js → shared-87f55237.js} +1 -1
- package/dist/cdn/{shared-7b771301.js → shared-8d99b885.js} +1 -1
- package/dist/cdn/{shared-fc99076a.js → shared-92dd9964.js} +1 -1
- package/dist/cdn/{shared-fed6cd4d.js → shared-979e24ec.js} +1 -1
- package/dist/cdn/{shared-5d795aaf.js → shared-a1be9c27.js} +1 -1
- package/dist/cdn/{shared-f3b8de28.js → shared-a1d39ddd.js} +1 -1
- package/dist/cdn/{shared-b8963ec6.js → shared-a5a03f4f.js} +1 -1
- package/dist/cdn/{shared-1105e4b9.js → shared-a95067d6.js} +1 -1
- package/dist/cdn/{shared-131988fc.js → shared-b113467e.js} +1 -1
- package/dist/cdn/{shared-5cf7b194.js → shared-b23c903e.js} +1 -1
- package/dist/cdn/{shared-96215749.js → shared-b984ab7c.js} +1 -1
- package/dist/cdn/shared-bab2ea2c.js +1 -0
- package/dist/cdn/{shared-783f5705.js → shared-c43cd1fa.js} +1 -1
- package/dist/cdn/{shared-da5e32c1.js → shared-ceec93fa.js} +1 -1
- package/dist/cdn/{shared-112dbca7.js → shared-d1265ca0.js} +1 -1
- package/dist/cdn/{shared-2f082f50.js → shared-d600815d.js} +1 -1
- package/dist/cdn/{shared-4e05dfb4.js → shared-d8ca5c87.js} +1 -1
- package/dist/cdn/{shared-1a65fd20.js → shared-d9f4138b.js} +1 -1
- package/dist/cdn/{shared-3bcc07cd.js → shared-db306674.js} +1 -1
- package/dist/cdn/{shared-18672d26.js → shared-de8bf756.js} +2 -2
- package/dist/cdn/{shared-f241722a.js → shared-e8621807.js} +1 -1
- package/dist/cdn/shared-e9276306.js +1 -0
- package/dist/cdn/{shared-76e71481.js → shared-ea1ab750.js} +1 -1
- package/dist/cdn/{shared-702eae16.js → shared-eacc4539.js} +1 -1
- package/dist/cdn/{shared-e8a51c60.js → shared-eb116b3e.js} +1 -1
- package/dist/cdn/{shared-e3096241.js → shared-ec59505f.js} +1 -1
- package/dist/cdn/{shared-662c576b.js → shared-ecd5eb1b.js} +2 -2
- package/dist/cdn/{shared-093b64b4.js → shared-efbd62cb.js} +4 -4
- package/dist/cdn/{shared-e006e82c.js → shared-f1e743df.js} +1 -1
- package/dist/cdn/shared-f3cd4d07.js +1 -0
- package/dist/cdn/{shared-cb9cdc88.js → shared-f8d1abc9.js} +1 -1
- package/dist/cdn/{shared-fff7db77.js → shared-fad099e6.js} +1 -1
- package/dist/cdn/{shared-b7556b77.js → shared-ff18b2d1.js} +1 -1
- package/dist/cdn/translations/billing-address-card/en.json +9 -0
- package/dist/cdn/translations/cart-form/en.json +211 -293
- package/dist/cdn/translations/customer/en.json +142 -29
- package/dist/cdn/translations/customer-portal/en.json +13 -33
- package/dist/cdn/translations/item-card/en.json +12 -1
- package/dist/cdn/translations/item-form/en.json +199 -292
- package/dist/cdn/translations/native-integration-card/en.json +6 -2
- package/dist/cdn/translations/native-integration-form/en.json +17 -1
- package/dist/cdn/translations/payment-card/en.json +4 -0
- package/dist/cdn/translations/shipment-card/en.json +5 -446
- package/dist/cdn/translations/store-form/en.json +1 -1
- package/dist/cdn/translations/subscription-form/en.json +12 -1
- package/dist/cdn/translations/template-config-form/en.json +2 -2
- package/dist/cdn/translations/transaction/en.json +1103 -857
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +2 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +23 -6
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/BillingAddressCard/BillingAddressCard.d.ts +15 -0
- package/dist/elements/public/BillingAddressCard/BillingAddressCard.js +28 -0
- package/dist/elements/public/BillingAddressCard/BillingAddressCard.js.map +1 -0
- package/dist/elements/public/BillingAddressCard/index.d.ts +4 -0
- package/dist/elements/public/BillingAddressCard/index.js +6 -0
- package/dist/elements/public/BillingAddressCard/index.js.map +1 -0
- package/dist/elements/public/BillingAddressCard/types.d.ts +3 -0
- package/dist/elements/public/BillingAddressCard/types.js +2 -0
- package/dist/elements/public/BillingAddressCard/types.js.map +1 -0
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/I18n/I18n.d.ts +1 -0
- package/dist/elements/public/I18n/I18n.js +1 -0
- package/dist/elements/public/I18n/I18n.js.map +1 -1
- package/dist/elements/public/ItemCard/ItemCard.d.ts +2 -0
- package/dist/elements/public/ItemCard/ItemCard.js +68 -62
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
- package/dist/elements/public/ItemForm/ItemForm.d.ts +64 -12
- package/dist/elements/public/ItemForm/ItemForm.js +146 -28
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
- package/dist/elements/public/ItemForm/index.d.ts +7 -7
- package/dist/elements/public/ItemForm/index.js +7 -7
- package/dist/elements/public/ItemForm/index.js.map +1 -1
- package/dist/elements/public/ItemForm/types.d.ts +62 -2
- package/dist/elements/public/ItemForm/types.js.map +1 -1
- package/dist/elements/public/NativeIntegrationCard/NativeIntegrationCard.js +12 -10
- package/dist/elements/public/NativeIntegrationCard/NativeIntegrationCard.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.d.ts +2 -0
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +41 -8
- package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/defaults.d.ts +7 -1
- package/dist/elements/public/NativeIntegrationForm/defaults.js +7 -1
- package/dist/elements/public/NativeIntegrationForm/defaults.js.map +1 -1
- package/dist/elements/public/NativeIntegrationForm/types.d.ts +6 -2
- package/dist/elements/public/NativeIntegrationForm/types.js.map +1 -1
- package/dist/elements/public/Pagination/Pagination.js +65 -60
- package/dist/elements/public/Pagination/Pagination.js.map +1 -1
- package/dist/elements/public/PaymentCard/PaymentCard.d.ts +24 -36
- package/dist/elements/public/PaymentCard/PaymentCard.js +139 -158
- package/dist/elements/public/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/elements/public/PaymentCard/index.d.ts +2 -2
- package/dist/elements/public/PaymentCard/index.js +2 -2
- package/dist/elements/public/PaymentCard/index.js.map +1 -1
- package/dist/elements/public/PaymentCard/types.d.ts +2 -16
- package/dist/elements/public/PaymentCard/types.js.map +1 -1
- package/dist/elements/public/ShipmentCard/ShipmentCard.d.ts +9 -13
- package/dist/elements/public/ShipmentCard/ShipmentCard.js +90 -91
- package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
- package/dist/elements/public/ShipmentCard/index.d.ts +2 -6
- package/dist/elements/public/ShipmentCard/index.js +2 -6
- package/dist/elements/public/ShipmentCard/index.js.map +1 -1
- package/dist/elements/public/ShipmentCard/types.d.ts +7 -2
- package/dist/elements/public/ShipmentCard/types.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js +1 -1
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +11 -3
- package/dist/elements/public/Transaction/Transaction.js +238 -78
- package/dist/elements/public/Transaction/Transaction.js.map +1 -1
- package/dist/elements/public/Transaction/index.d.ts +4 -3
- package/dist/elements/public/Transaction/index.js +4 -3
- package/dist/elements/public/Transaction/index.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.d.ts +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js +17 -4
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.d.ts +7 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +81 -24
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.d.ts +3 -3
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js +3 -3
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.d.ts +5 -3
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +110 -61
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +1 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.d.ts +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js.map +1 -1
- package/dist/elements/public/Transaction/types.d.ts +14 -1
- package/dist/elements/public/Transaction/types.js.map +1 -1
- package/dist/elements/public/index.d.ts +1 -0
- package/dist/elements/public/index.defined.d.ts +1 -0
- package/dist/elements/public/index.defined.js +1 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +1 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +16 -0
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-074a74c3.js +0 -82
- package/dist/cdn/shared-26dea180.js +0 -1
- package/dist/cdn/shared-468de081.js +0 -1
- package/dist/cdn/shared-5e932eb5.js +0 -1
- package/dist/cdn/shared-8a9c64b2.js +0 -1
- package/dist/cdn/shared-e312da08.js +0 -1
- package/dist/cdn/shared-e79b5765.js +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +0 -17
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +0 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +0 -8
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +0 -25
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +0 -7
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +0 -52
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +0 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +0 -8
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +0 -26
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +0 -7
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +0 -5
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +0 -72
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +0 -8
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +0 -10
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e,an as t,ag as s,ai as i,ao as a,_ as n,ap as l,aq as r}from"./shared-4c2e9064.js";import"./shared-fe927c53.js";import{B as d}from"./shared-732bee4b.js";import{E as o,F as h}from"./shared-1105e4b9.js";import"./shared-e3096241.js";import"./shared-6e704d83.js";import{L as u,h as c,c as _}from"./shared-7f33a83a.js";import{z as g,w as p,x as v,A as m}from"./shared-662c576b.js";import{D as x,a as y,C as $,b as f}from"./shared-5742a841.js";import"./shared-8c681381.js";import{a as b,I as w,D as k,S as E,M as C,W as S,c as R,t as I}from"./shared-e2db3ab5.js";import"./shared-c00049b2.js";import"./shared-7d933f9d.js";import{I as j}from"./shared-fc99076a.js";import{C as V}from"./shared-1dbad347.js";import"./shared-96215749.js";import{p as M}from"./shared-51a5af7e.js";import"./shared-e60dc924.js";import{c as q}from"./shared-4e709717.js";import"./shared-417ab233.js";import{P as N}from"./shared-4c3cb511.js";import{G as T}from"./shared-1313f293.js";import{j as D}from"./shared-800ee6c0.js";import{p as A,W as U}from"./shared-e79b5765.js";import{D as O}from"./shared-d01f42d0.js";import{c as F}from"./shared-e8a85228.js";import{i as L}from"./shared-e8a51c60.js";import"./shared-f3b8de28.js";import"./shared-53d66db2.js";import"./shared-fd96bcd1.js";import"./shared-11c2efc8.js";import"./shared-35728235.js";import"./shared-343d1fd7.js";import"./shared-5cf7b194.js";import"./shared-d3bf9ac0.js";import"./shared-7b771301.js";import"./shared-71b3559f.js";import"./shared-3bcc07cd.js";var B=1/0,z=17976931348623157e292;function P(e){return e?(e=g(e))===B||e===-B?(e<0?-1:1)*z:e==e?e:0:0===e?e:0}function Q(e){return e}var K=Math.floor,J=Math.random;var G=parseFloat,H=Math.min,W=Math.random;function Y(a,n,l){if(l&&"boolean"!=typeof l&&function(a,n,l){if(!e(l))return!1;var r=typeof n;return!!("number"==r?t(l)&&s(n,l.length):"string"==r&&n in l)&&i(l[n],a)}(a,n,l)&&(n=l=void 0),void 0===l&&("boolean"==typeof n?(l=n,n=void 0):"boolean"==typeof a&&(l=a,a=void 0)),void 0===a&&void 0===n?(a=0,n=1):(a=P(a),void 0===n?(n=a,a=0):n=P(n)),a>n){var r=a;a=n,n=r}if(l||a%1||n%1){var d=W();return H(a+d*(n-a+G("1e-"+((d+"").length-1))),n)}return function(e,t){return e+K(J()*(t-e+1))}(a,n)}var X=4294967295,Z=Math.min;function ee(e,t){if(e=function(e){var t=P(e),s=t%1;return t==t?s?t-s:t:0}(e),e<1||e>9007199254740991)return[];var s,i=X,n=Z(e,X);e-=X;for(var l=a(n,t="function"==typeof(s=t)?s:Q);++i<e;)t(i);return l}class te extends CustomEvent{constructor(e){super("change",{detail:e})}}let se,ie,ae=e=>e;class ne extends u{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.getText=e=>e}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean},getText:{type:Object}})}static get styles(){return p.styles}render(){return c(se||(se=ae` <div class="font-lumo text-m w-full"> <ul> ${0} </ul> <div class="p-m"> <slot></slot> </div> </div> `),this.value.map(((e,t)=>c(ie||(ie=ae` <li class="${0}"> <slot name="${0}">${0}</slot> <button ?disabled="${0}" class="w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </li> `),"ml-m h-l text-body flex justify-between items-center"+(t>0?" border-t border-contrast-10":""),t,this.getText(e),this.disabled,(()=>this.__remove(t))))))}__remove(e){this.value=this.value.filter(((t,s)=>s!==e)),this.dispatchEvent(new te(this.value))}}let le,re,de=e=>e;class oe extends u{static get styles(){return[p.styles,_(le||(le=de`:host{position:absolute;top:0;right:0;bottom:0;left:0}.top-center{top:calc(50% - (var(--lumo-size-xl)/ 2))}@keyframes dash0{from{transform:translate(0,0)}to{transform:translate(5.681301px,3.368302px)}}@keyframes dash1{from{transform:translate(0,0)}to{transform:translate(5.677051px,3.457428px)}}@keyframes dash2{from{transform:translate(0,0)}to{transform:translate(5.686002px,3.127455px)}}@keyframes dash3{from{transform:translate(-5.6842px,-3.404556px)}to{transform:translate(0,0)}}`))]}render(){return c(re||(re=de` <div class="h-full bg-base text-primary"> <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-xl h-xl mx-auto sticky top-center" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 64 64"> <path id="ew5fy7afo2w2" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z" clip-rule="evenodd"/> <path id="ew5fy7afo2w3" fill-rule="evenodd" stroke="none" stroke-width="1" d="M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z" clip-rule="evenodd"/> <g style="animation:dash0 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w4" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> <g style="animation:dash1 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w5" fill-rule="evenodd" stroke="none" stroke-width="1" d="M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z" clip-rule="evenodd"/> </g> <g style="animation:dash2 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w6" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z" clip-rule="evenodd"/> </g> <g transform="translate(-5.68 -3.4)" style="animation:dash3 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w7" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> </svg> </div> `))}}let he,ue,ce=e=>e;class _e extends u{static get styles(){return[p.styles,_(he||(he=ce`::slotted(:not([slot])){margin-top:var(--lumo-space-xl)}`))]}render(){return c(ue||(ue=ce` <article class="relative antialiased font-lumo"> <header class="space-y-xs leading-s"> <h1 class="font-medium text-header text-xl border-b border-contrast-10 pb-s mb-s"> <slot name="title"></slot> </h1> <p class="text-l text-secondary"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </article> `))}}let ge,pe,ve=e=>e;class me extends _e{static get styles(){return[super.styles,_(ge||(ge=ve`::slotted(:not([slot])){margin-top:var(--lumo-space-m)}`))]}render(){return c(pe||(pe=ve` <section class="leading-s antialiased font-lumo"> <header> <h2 class="text-header font-medium text-l"> <slot name="title"></slot> </h2> <p class="text-secondary text-m"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </section> `))}}let xe,ye=e=>e;class $e extends CustomEvent{constructor(e){super("change",{detail:e})}}class fe extends u{constructor(){super(...arguments),this.disabled=!1,this.checked=!1}static get properties(){return n(n({},super.properties),{},{disabled:{attribute:!1},checked:{attribute:!1}})}static get styles(){return p.styles}render(){return c(xe||(xe=ye` <label class="${0}"> <span class="text-body font-medium text-m mr-m"> <slot></slot> </span> <span style="border-radius:var(--lumo-size-xl);width:calc((var(--lumo-space-l) * 2) + (var(--lumo-space-xs) * 2))" class="${0}"> <span style="width:var(--lumo-space-l);height:var(--lumo-space-l)" class="${0}"></span> <input type="checkbox" class="opacity-0 absolute inset-0" .checked="${0}" .disabled="${0}" @change="${0}"> </span> </label> `),q({"transition duration-200 flex justify-between items-center group":!0,"cursor-pointer":!this.disabled}),q({"transition duration-150 relative flex flex-shrink-0 items-center":!0,"bg-success focus-within-shadow-outline-success":!this.disabled&&this.checked,"bg-contrast-10 focus-within-shadow-outline":this.disabled||!this.checked,"bg-contrast-20":!this.disabled&&!this.checked}),q({"bg-tint transition duration-200 transform block rounded-full m-xs":!0,"translate-x-l":this.checked,"translate-x-0":!this.checked,"shadow-xs group-hover-shadow-s group-hover-scale-110":!this.disabled}),this.checked,this.disabled,(()=>{this.checked=!this.checked,this.dispatchEvent(new $e(this.checked))}))}}class be extends Error{constructor(){super("Unhandled request detected. Please add a request handler to connect this component to a backend.")}}class we extends CustomEvent{static emit(e){return new Promise(((t,s)=>{const i=new we(n({resolve:t,reject:s},e));e.source.dispatchEvent(i)&&s(new be)}))}constructor({source:e,resolve:t,reject:s,init:i}){var a;super("request",{cancelable:!0,composed:!0,bubbles:!0,detail:{source:e,handle:async function(e){a.stopImmediatePropagation(),a.preventDefault();try{t(await e(...i))}catch(e){s(e)}}}}),a=this}}let ke,Ee=e=>e;class Ce extends CustomEvent{constructor(e){super("change",{detail:e})}}class Se extends v{constructor(){super(...arguments),this.disabled=!1,this.value=1,this.__errorMessage=null,this.__customFieldI18n={formatValue:e=>{const t=parseInt(e[0]);if(isNaN(t))return"0";const s=e[1];return"w"===s?(10080*t).toFixed(0):"d"===s?(1440*t).toFixed(0):"h"===s?(60*t).toFixed(0):t.toFixed(0)},parseValue:e=>{const t=parseInt(e);return t%10080==0?[(t/10080).toFixed(0),"w"]:t%1440==0?[(t/1440).toFixed(0),"d"]:t%60==0?[(t/60).toFixed(0),"h"]:[t.toFixed(0),"m"]}},this.__renderer=this.__renderItems.bind(this)}static get scopedElements(){return{"vaadin-integer-field":j,"vaadin-custom-field":V,"vaadin-select":b,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){var e;return c(ke||(ke=Ee` <div class="text-xs text-tertiary font-lumo"> <vaadin-custom-field ?disabled="${0}" .label="${0}" .value="${0}" .i18n="${0}" data-testid="field" id="field" @change="${0}"> <vaadin-integer-field .disabled="${0}" .min="${0}" data-testid="count" has-controls> </vaadin-integer-field> <vaadin-select .disabled="${0}" .renderer="${0}" data-testid="units"> </vaadin-select> </vaadin-custom-field> <br> <x-i18n .lang="${0}" .ns="${0}" .key="${0}" data-testid="error" class="${0}"> </x-i18n> </div> `),this.disabled||!this._isI18nReady,this._isI18nReady?this._t("session.title").toString():"---",this._isI18nReady?this.value.toString():"",this.__customFieldI18n,this.__handleChange,this.disabled||!this._isI18nReady,1,this.disabled||!this._isI18nReady,this._isI18nReady?this.__renderer:null,this.lang,this.ns,this._t(`session.${null!==(e=this.__errorMessage)&&void 0!==e?e:"subtitle"}`).toString(),q({"text-error":null!==this.__errorMessage&&!this.disabled}))}firstUpdated(){this.shadowRoot.getElementById("field").value=this.value.toString()}updated(e){e.has("value")&&this.__reportValidity()}__renderItems(e){let t=e.querySelector("vaadin-list-box");null===t&&(t=document.createElement("vaadin-list-box"),e.appendChild(t));const s=["m","h","d","w"],i=["minute_plural","hour_plural","d_plural","w_plural"],a=t.querySelectorAll("vaadin-item");for(let e=0;e<Math.max(s.length,a.length);++e)if(s[e]){let n;a[e]?n=a[e]:(n=document.createElement("vaadin-item"),t.appendChild(n)),n.value=s[e],n.textContent=this._t(i[e])}else a[e].remove()}__handleChange(e){e.stopPropagation(),this.value=parseInt(e.target.value),this.dispatchEvent(new Ce({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){return this.__errorMessage=this.value<1?"too_short":this.value>40320?"too_long":null,this.requestUpdate(),null===this.__errorMessage}}let Re,Ie=e=>e;class je extends CustomEvent{constructor(e){super("change",{detail:e})}}class Ve extends v{constructor(){super(...arguments),this.disabled=!1,this.value="",this.__errorMessage=""}static get scopedElements(){return{"vaadin-password-field":N,"vaadin-button":d,"iron-icon":customElements.get("iron-icon"),"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){const e=""!==this.__errorMessage&&!this.disabled,t=e?this._t(`jwt.${this.__errorMessage}`).toString():"";return c(Re||(Re=Ie` <div class="space-y-xs"> <div class="flex items-start"> <vaadin-password-field .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" .label="${0}" data-testid="input" class="w-full" @change="${0}" @input="${0}"> </vaadin-password-field> <vaadin-button class="flex-shrink-0 ml-s" style="margin-top:calc(var(--lumo-font-size-s) * 1.5)" theme="error" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .lang="${0}" .ns="${0}" key="jwt.refresh"></x-i18n> <iron-icon icon="icons:refresh" slot="suffix"></iron-icon> </vaadin-button> </div> <x-i18n .lang="${0}" .ns="${0}" key="jwt.subtitle" class="text-xs text-tertiary font-lumo"> </x-i18n> </div> `),t,this.disabled||!this._isI18nReady,e,this._isI18nReady?this.value:"",this._isI18nReady?this._t("jwt.title").toString():"---",(e=>e.stopPropagation()),this.__handleInput,this.disabled||!this._isI18nReady,this.__regenerateValue,this.lang,this.ns,this.lang,this.ns)}updated(e){e.has("value")&&this.__reportValidity()}__regenerateValue(){this.__errorMessage="",this.value=ee(72,(()=>Y(35).toString(36))).join(""),this.dispatchEvent(new je({value:this.value,invalid:!1}))}__handleInput(e){this.value=e.target.value,this.dispatchEvent(new je({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){var e;return this.__errorMessage=0===this.value.length?"required":this.value.length<40?"too_short":this.value.length>100?"too_long":(e=this.value,/^[a-z0-9-]+$/i.test(e)?"":"invalid"),this.requestUpdate(),""===this.__errorMessage}}function Me(e){return t=>{t.preventDefault(),e(t)}}class qe extends x{}let Ne,Te=e=>e;class De extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=De.defaultValue,this.__items=["y","m","w","d"]}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":k}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){return c(Ne||(Ne=Te` <div class="grid grid-cols-2 gap-s"> <vaadin-integer-field data-testid="value" class="w-full" min="1" has-controls .value="${0}" .disabled="${0}" @change="${0}"> </vaadin-integer-field> <x-dropdown data-testid="units" .disabled="${0}" .getText="${0}" .items="${0}" .value="${0}" @change="${0}"> </x-dropdown> </div> `),this._isI18nReady?this.__numericValue:"",this.disabled,this.__handleNumberChange,this.disabled,(e=>this._isI18nReady?this._t(`${e}_plural`):""),this.__items,this._isI18nReady?this.__unitsValue:"",this.__handleUnitsChange)}get __numericValue(){var e;return M(null!==(e=this.value)&&void 0!==e?e:"").count}get __unitsValue(){var e;return M(null!==(e=this.value)&&void 0!==e?e:"").units}__handleNumberChange(e){e.stopPropagation();const t=e.target.value;this.value=this.value.replace(String(this.__numericValue),t),this.__sendChange()}__handleUnitsChange(e){this.value=this.value.replace(String(this.__unitsValue),e.detail),this.__sendChange()}__sendChange(){this.dispatchEvent(new qe(this.value))}}De.defaultValue="1w";class Ae extends te{}let Ue,Oe,Fe,Le,Be=e=>e;class ze extends v{constructor(){super("customer-portal-settings"),this.value=[],this.disabled=!1,this.__newValue=De.defaultValue}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-input":De,"x-skeleton":E,"x-list":ne,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.disabled||!this._isI18nReady||this.value.length>=20;return c(Ue||(Ue=Be` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="w-full md-flex"> <x-frequency-input data-testid="input" class="mb-s md-mb-0 md-mr-s" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <vaadin-button data-testid="button" class="w-full md-w-auto" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?c(Oe||(Oe=Be`<span slot="${0}">${0}</span>`),t,this.__getText(e)):c(Fe||(Fe=Be`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this.lang,this.__newValue,e,this.__handleNewValueChange,e,this.__handleSubmit,this.ns,this.lang,this.value.length>0?c(Le||(Le=Be` <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,q({"block text-xs mt-xs text-center md-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}__handleNewValueChange(e){this.__newValue=e.detail}__handleListChange(e){this.value=e.detail,this.__sendChange()}__handleSubmit(){this.value=[...this.value,this.__newValue],this.__newValue=De.defaultValue,this.__sendChange()}__sendChange(){this.dispatchEvent(new Ae(this.value))}__getText(e){const t=e[e.length-1],s=parseInt(e.replace(t,""));return this._t("duration",{count:s,units:this._t(t,{count:s})})}}class Pe extends y{}let Qe,Ke,Je=e=>e;class Ge extends v{constructor(){super(...arguments),this.disabled=!1,this.value="*",this.__errorMessage="",this.__items=["all","some"],this.__handleNewValueChange=m((e=>{try{D(e).evaluate({}),this.value=e,this.__errorMessage="",this.__sendChange()}catch(e){this.__errorMessage=e.message}this.requestUpdate()}),275)}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"iron-icon":customElements.get("iron-icon"),"x-choice":$,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){const e="pl-xs text-primary rounded font-medium cursor-pointer transition duration-200 focus-outline-none focus-shadow-outline hover-underline";return c(Qe||(Qe=Je` <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="all-label" .ns="${0}" .lang="${0}" key="jsonata.all"></x-i18n> <x-i18n slot="some-label" .ns="${0}" .lang="${0}" key="jsonata.some"></x-i18n> ${0} </x-choice> `),this.disabled||!this._isI18nReady,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?c(Ke||(Ke=Je` <div slot="${0}" class="space-y-s pb-m"> <x-i18n .ns="${0}" .lang="${0}" key="jsonata.hint" class="block font-lumo text-s text-tertiary leading-s"> <a target="_blank" class="${0}" href="https://docs.jsonata.org" rel="noopener noreferrer"> JSONata <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> <a target="_blank" class="${0}" href="https://api.foxycart.com/rels/subscription" rel="noopener noreferrer"> hAPI subscription <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> </x-i18n> <vaadin-text-field class="w-full" data-testid="input" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keydown="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> </div> `),this.__items[1],this.ns,this.lang,e,e,this.__errorMessage,this.disabled||!this._isI18nReady,this.__errorMessage.length>0,this._isI18nReady?this.value:"",this.__stopNavigation,(e=>e.stopPropagation()),(e=>this.__handleNewValueChange(e.target.value))):"")}get __choice(){return this.__items["*"===this.value?0:1]}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?"*":'$contains(frequency, "w")',this.__sendChange()}__stopNavigation(e){e.key.startsWith("Arrow")&&e.stopPropagation()}__sendChange(){this.dispatchEvent(new Pe(this.value))}}class He extends CustomEvent{constructor(e){super("change",{detail:e})}}class We extends CustomEvent{constructor(){super("remove")}}let Ye,Xe,Ze=e=>e;class et extends v{constructor(){super(...arguments),this.open=!1,this.value={jsonataQuery:"*",values:[]},this.disabled=!1}static get scopedElements(){return{"x-frequency-list":ze,"x-jsonata-input":Ge,"iron-icon":customElements.get("iron-icon"),"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{open:{attribute:!1},value:{attribute:!1},disabled:{attribute:!1}})}render(){const{jsonataQuery:e,values:t}=this.value,s=this.open?"":"rounded-b-l";return c(Ye||(Ye=Ze` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m space-y-xs mr-xl"> <x-i18n .ns="${0}" .lang="${0}" .key="${0}" class="block text-m text-header font-medium"> ${0} </x-i18n> <x-i18n .ns="${0}" .lang="${0}" class="block text-s text-tertiary" key="fmod.valuesLabel"> <x-i18n .ns="${0}" .key="${0}" .lang="${0}" .opts="${0}" class="text-secondary"> </x-i18n> </x-i18n> </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <div class="space-y-l pt-m" slot="content"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.match"></x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.options"> </x-i18n> <x-frequency-list data-testid="frequency" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-list> </x-group> </div> </details> </x-group> `),q({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),s,this.ns,this.lang,`fmod.${"*"===e?"all":"some"}Title`,"*"!==e?this.__renderJSONataSummary(e):"",this.ns,this.lang,this.ns,"fmod.valuesList"+(0===t.length?"Empty":""),this.lang,{values:t.map((e=>this.__translateFrequency(e)))},this.disabled||!this._isI18nReady,Me((()=>{this.dispatchEvent(new We)})),this.ns,this.lang,this.ns,this.lang,this.value.jsonataQuery,this.disabled||!this._isI18nReady,this.__handleQueryChange,this.ns,this.lang,this.lang,this.value.values,this.disabled||!this._isI18nReady,this.__handleValuesChange)}__translateFrequency(e){if(".5m"===e)return this._t("frequency_0_5m");const{count:t,units:s}=M(e);return this._t("frequency",{units:this._t(s,{count:t}),count:t})}__renderJSONataSummary(e){return c(Xe||(Xe=Ze` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__handleQueryChange(e){this.value=n(n({},this.value),{},{jsonataQuery:e.detail}),this.__sendChange()}__handleValuesChange(e){this.value=n(n({},this.value),{},{values:e.detail}),this.__sendChange()}__sendChange(){this.dispatchEvent(new He(this.value))}}class tt extends CustomEvent{constructor(e){super("change",{detail:e})}}let st,it,at=e=>e;class nt extends v{constructor(){super(...arguments),this.value=[],this.disabled=!1}static get scopedElements(){return{"x-frequency-modification-rule":et,"vaadin-button":customElements.get("vaadin-button"),"x-section":me,"iron-icon":customElements.get("iron-icon"),"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const{ns:e,lang:t}=this;return c(st||(st=at` <x-section> <x-i18n .ns="${0}" .lang="${0}" key="fmod.title" slot="title" class="text-l"></x-i18n> <x-i18n .ns="${0}" .lang="${0}" key="fmod.subtitle" slot="subtitle" class="mr-xl"></x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_rule"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="fmod.add_rule_hint" class="${0}"> </x-i18n> </div> </x-section> `),e,t,e,t,this.value.map(((e,t,s)=>c(it||(it=at` <x-frequency-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @remove="${0}" @change="${0}"> </x-frequency-modification-rule> `),this.disabled,e,this.lang,this.ns,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()})))),this.disabled||this.value.length>=10||!this._isI18nReady,this.__addRule,this.ns,this.lang,this.lang,this.ns,q({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__addRule(){this.value=[...this.value,{jsonataQuery:"*",values:[]}],this.__sendChange()}__sendChange(){this.dispatchEvent(new tt(this.value))}}function lt(e,t){const s=(new Date).getFullYear(),i={month:"long",day:"numeric"};return e.split("..").map((e=>{const a=A(e),l=(null==a?void 0:a.getFullYear())===s?void 0:"numeric";return null==a?void 0:a.toLocaleDateString(t,n({year:l},i))})).join(" – ")}class rt extends CustomEvent{constructor(e){super("change",{detail:e})}}let dt,ot,ht,ut=e=>e;class ct extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.__items=["all","month","day"]}static get scopedElements(){return{"x-monthday-picker":C,"x-weekday-picker":S,"x-choice":$,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Object}})}render(){var e,t,s,i;return c(dt||(dt=ut` <x-choice data-testid="choice" .value="${0}" .items="${0}" .disabled="${0}" @change="${0}"> <x-i18n slot="all-label" key="ndmod.all" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="month-label" key="ndmod.month" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="day-label" key="ndmod.day" .ns="${0}" .lang="${0}"></x-i18n> ${0} </x-choice> `),null!==(t=null===(e=this.value)||void 0===e?void 0:e.type)&&void 0!==t?t:"all",this.__items,this.disabled,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,"month"===(null===(s=this.value)||void 0===s?void 0:s.type)?c(ot||(ot=ut` <x-monthday-picker slot="month" class="mb-m" data-testid="monthday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-monthday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"day"===(null===(i=this.value)||void 0===i?void 0:i.type)?c(ht||(ht=ut` <x-weekday-picker slot="day" class="mb-m" data-testid="weekday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-weekday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"")}__handleNewValueChange(e){this.value.days=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:e.detail===this.__items[1]?{type:"month",days:[]}:{type:"day",days:[]},this.__sendChange()}__sendChange(){this.dispatchEvent(new rt(this.value))}}class _t extends te{}let gt,pt,vt,mt,xt=e=>e;class yt extends v{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__startValue="",this.__endValue=""}static get scopedElements(){return{"vaadin-date-picker":O,"vaadin-button":d,"x-skeleton":E,"iron-icon":customElements.get("iron-icon"),"x-i18n":w,"x-list":ne}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.value.length>=20||this.disabled||!this._isI18nReady;return c(gt||(gt=xt` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="sm-flex sm-items-end"> <div class="grid grid-cols-2 gap-s"> <vaadin-date-picker data-testid="start" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" @change="${0}"> </vaadin-date-picker> <vaadin-date-picker data-testid="end" .min="${0}" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" clear-button-visible @change="${0}"> </vaadin-date-picker> </div> <vaadin-button .disabled="${0}" data-testid="submit" class="w-full mt-s sm-mt-0 sm-w-auto sm-ml-s" @click="${0}"> <x-i18n .lang="${0}" .key="ndmod.add_${0}" .ns="${0}"> </x-i18n> <iron-icon icon="icons:add" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?c(pt||(pt=xt`<span slot="${0}" class="truncate">${0}</span>`),t,lt(e,this.lang)):c(vt||(vt=xt`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._t("ndmod.range_start").toString(),this.__startValue,e,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleStartValueChange,this.__startValue,this._t("ndmod.range_end").toString(),this.__endValue,e||!this.__startValue,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleEndValueChange,e||!this.__startValue,this.__submit,this.lang,this.__endValue?"range":"single",this.ns,this.value.length>0?c(mt||(mt=xt` <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add_range_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,q({"block text-xs mt-xs text-center sm-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}updated(){const e=this.constructor.getScopedTagName("vaadin-date-picker"),t=this.shadowRoot.querySelectorAll(e);Array.from(t).forEach((e=>e.validate()))}__handleStartValueChange(e){e.stopPropagation(),this.__startValue=e.target.value;const t=A(this.__endValue),s=A(this.__startValue);t&&t.getTime()<s.getTime()&&(this.__endValue=""),this.requestUpdate()}__handleEndValueChange(e){e.stopPropagation(),this.__endValue=e.target.value,this.requestUpdate()}__submit(){this.__startValue&&this.__endValue?this.value=[...this.value,[this.__startValue,this.__endValue].join("..")]:this.value=[...this.value,this.__startValue],this.__sendChange(),this.__startValue="",this.__endValue=""}__handleListChange(e){this.value=e.detail,this.__sendChange()}__sendChange(){this.dispatchEvent(new _t(this.value))}}class $t extends CustomEvent{constructor(e){super("change",{detail:e})}}let ft,bt,wt=e=>e;class kt extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.type="min",this.__items=["none","custom"]}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":De,"x-choice":$,"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:String},type:{type:String}})}render(){return c(ft||(ft=wt` <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="${0}"> </x-i18n> <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="none-label" .ns="${0}" .lang="${0}" key="ndmod.none"></x-i18n> <x-i18n slot="custom-label" .ns="${0}" .lang="${0}" key="ndmod.custom"></x-i18n> ${0} </x-choice> </x-group> `),this.ns,this.lang,`ndmod.${this.type}`,this.disabled,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?c(bt||(bt=wt` <div slot="${0}" class="space-y-s"> <x-frequency-input data-testid="input" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <p class="text-s text-tertiary leading-s">${0}</p> </div> `),this.__items[1],this.value,this.disabled,this.__handleNewValueChange,this.__hint):"")}get __choice(){return this.__items[this.value?1:0]}get __hint(){var e;if(!this._isI18nReady)return"";const{count:t,units:s}=M(null!==(e=this.value)&&void 0!==e?e:"");return this._t(`ndmod.${this.type}Hint`,{duration:this._t("duration",{count:t,units:this._t(null!=s?s:"",{count:t})})})}__handleNewValueChange(e){this.value=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:"1w",this.__sendChange()}__sendChange(){this.dispatchEvent(new $t(this.value))}}class Et extends CustomEvent{constructor(e){super("change",{detail:e})}}class Ct extends CustomEvent{constructor(){super("remove")}}let St,Rt,It,jt,Vt,Mt,qt,Nt,Tt,Dt=e=>e;class At extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value={jsonataQuery:"*"},this.open=!1}static get scopedElements(){return{"x-disallowed-dates":yt,"x-jsonata-input":Ge,"x-offset-input":kt,"x-allowed-days":ct,"iron-icon":customElements.get("iron-icon"),"x-warning":U,"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Object},open:{type:Boolean}})}render(){const{min:e,max:t,allowedDays:s,jsonataQuery:i,disallowedDates:a}=this.value,l=e||t,r=s&&s.days.length>0,d=a&&a.length>0,o=this.open?"":"rounded-b-l";return c(St||(St=Dt` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m mr-xl text-m text-header font-medium space-y-s"> <div> <x-i18n .ns="${0}" .lang="${0}" key="${0}"> ${0} </x-i18n> </div> ${0} </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <article class="space-y-l"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.match"> </x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <div class="flex flex-col md-flex-row"> <div class="mb-l md-mb-0 md-w-1-2 md-border-r md-border-contrast-10"> <x-offset-input data-testid="min" type="min" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> <div class="md-w-1-2"> <x-offset-input data-testid="max" type="max" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> </div> ${0} <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.allowed"> </x-i18n> <x-allowed-days data-testid="allowed" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-allowed-days> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.excluded"> </x-i18n> <x-disallowed-dates data-testid="disallowed" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-disallowed-dates> </x-group> </article> </details> </x-group> `),q({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),o,this.ns,this.lang,`ndmod.${"*"===i?"all":"some"}Title`,"*"!==i?this.__renderJSONataSummary(i):"",l||r||d?c(Rt||(Rt=Dt` <div> ${0} </div> `),R(l&&this.__renderMinMaxSummary(e,t),r&&this.__renderAllowedSummary(s),d&&this.__renderDisallowedSummary(a))):"",this.disabled||!this._isI18nReady,Me((()=>this.dispatchEvent(new Ct))),this.ns,this.lang,this.ns,this.lang,i,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{jsonataQuery:e.detail}),this.__sendUpdate()}),this.lang,e,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{min:e.detail}),this.__sendUpdate()}),this.lang,t,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{max:e.detail}),this.__sendUpdate()}),-1===this.__compareDurations(e,t)?c(It||(It=Dt` <x-warning class="mx-m" data-testid="warning"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.minWarning"> </x-i18n> </x-warning> `),this.ns,this.lang):"",this.ns,this.lang,this.lang,s,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{allowedDays:e.detail}),this.__sendUpdate()}),this.ns,this.lang,this.ns,this.lang,null!=a?a:[],this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{disallowedDates:e.detail}),this.__sendUpdate()}))}__sendUpdate(){this.dispatchEvent(new Et(this.value))}__getEstimatedDaysFrom(e){const{count:t,units:s}=M(e);return t*{y:365,m:31,w:7,d:1}[s]}__compareDurations(e,t){return e===t?0:e&&t?this.__getEstimatedDaysFrom(e)<this.__getEstimatedDaysFrom(t)?1:-1:1}__renderJSONataSummary(e){return c(jt||(jt=Dt` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__renderMinMaxContent(e){if(e){const{count:t,units:s}=e;return c(Vt||(Vt=Dt` ${0} <x-i18n .ns="${0}" .lang="${0}" key="${0}" .opts="${0}"></x-i18n> `),t,this.ns,this.lang,s,{count:t})}return c(Mt||(Mt=Dt`<x-i18n .ns="${0}" .lang="${0}" key="ndmod.any"></x-i18n>`),this.ns,this.lang)}__renderMinMaxSummary(e,t){return c(qt||(qt=Dt` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.range"> <span>:</span> <span class="text-secondary"> ${0} — ${0} </span> </x-i18n> </div> `),this.ns,this.lang,this.__renderMinMaxContent(e?M(e):void 0),this.__renderMinMaxContent(t?M(t):void 0))}__renderAllowedSummary({type:e,days:t}){return c(Nt||(Nt=Dt` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.allowed"> <span>:</span> <span class="text-secondary"> ${0} ${0} </span> </x-i18n> </div> `),this.ns,this.lang,"month"===e?t.join(", "):"","day"===e?t.map((e=>I(e,this.lang,"short"))).join(", "):"")}__renderDisallowedSummary(e){return c(Tt||(Tt=Dt` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.excluded"> <span>:</span> <span class="text-secondary"> ${0} </span> </x-i18n> </div> `),this.ns,this.lang,e.map((e=>lt(e,this.lang))).join("; "))}}class Ut extends CustomEvent{constructor(e){super("change",{detail:e})}}let Ot,Ft,Lt,Bt=e=>e;class zt extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-next-date-modification-rule":At,"vaadin-button":customElements.get("vaadin-button"),"x-section":me,"iron-icon":customElements.get("iron-icon"),"x-switch":fe,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){const e=!this._isI18nReady||this.disabled||!this.value||Array.isArray(this.value)&&this.value.length>=10;return c(Ot||(Ot=Bt` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="ndmod.add_hint" class="${0}"> </x-i18n> </div> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang,this.value?c(Ft||(Ft=Bt` ${0} `),this.__normalizedValue.map(((e,t,s)=>c(Lt||(Lt=Bt` <x-next-date-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" @remove="${0}" @change="${0}"> </x-next-date-modification-rule> `),this.disabled||!this._isI18nReady,e,this.lang,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()}))))):"",e,this.__addRule,this.ns,this.lang,this.lang,this.ns,q({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":Array.isArray(this.value)&&this.value.length<10,"text-primary":Array.isArray(this.value)&&this.value.length>=10,hidden:!Array.isArray(this.value)||0===this.value.length}))}get __normalizedValue(){return"boolean"==typeof this.value?[]:this.value}__addRule(){this.value=[...this.__normalizedValue,{jsonataQuery:"*"}],this.__sendChange()}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Ut(this.value))}}class Pt extends te{}let Qt,Kt,Jt,Gt=e=>e;class Ht extends v{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__errorCode="invalid",this.__invalid=!1,this.__newValue=""}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"x-skeleton":E,"iron-icon":customElements.get("iron-icon"),"x-group":T,"x-list":ne,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},invalid:{type:Boolean},disabled:{type:Boolean}})}render(){return c(Qt||(Qt=Gt` <x-group frame> <x-list data-testid="list" .disabled="${0}" .value="${0}" @change="${0}"> ${0} <div class="flex flex-col sm-flex-row sm-items-start"> <vaadin-text-field data-testid="input" class="mb-s sm-mb-0 sm-mr-s" .placeholder="${0}" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keypress="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> <div class="sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="origins.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="origins.add_hint" class="${0}"> </x-i18n> </div> </div> </x-list> </x-group> `),this.disabled||!this._isI18nReady,this.value,this.__handleChange,this.value.map(((e,t)=>this._isI18nReady?c(Kt||(Kt=Gt` <div class="flex items-center" slot="${0}"> <img height="16" width="16" class="mr-m" src="https://www.google.com/s2/favicons?domain=${0}"> ${0} </div> `),t,e,e):c(Jt||(Jt=Gt`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._isI18nReady?"https://foxy.io":"",this._t(`origins.${this.__errorCode}`).toString(),this.disabled||!this._isI18nReady,this.__invalid,this.__newValue,(e=>"Enter"===e.key&&this.__submit()),(e=>e.stopPropagation()),this.__handleInput,!this._isI18nReady||this.disabled||this.__invalid||this.value.length>=10,this.__submit,this.ns,this.lang,this.lang,this.ns,q({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__sendChange(){this.dispatchEvent(new Pt(this.value))}__handleInput(e){this.__newValue=e.target.value;try{const e=new URL(this.__newValue),t="https:"===e.protocol,s="localhost"===e.hostname;this.__invalid=!s&&!t,this.__errorCode="https_only"}catch(e){this.__invalid=this.__newValue.length>0,this.__errorCode="invalid"}this.requestUpdate()}__submit(){this.__newValue.length>0&&(this.value=[...this.value,new URL(this.__newValue).origin],this.__newValue="",this.__invalid=!1,this.__sendChange()),this.requestUpdate()}__handleChange(e){this.value=e.detail,this.__sendChange()}}class Wt extends CustomEvent{constructor(e){super("change",{detail:e})}}let Yt,Xt=e=>e;class Zt extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-section":me,"x-switch":fe,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){return c(Yt||(Yt=Xt` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="sso.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="sso.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang)}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Wt(this.value))}}const es=f.assign({error:(e,t)=>t.data.type}),ts=f.assign({oldResource:(e,t)=>t.data.resource,newResource:(e,t)=>t.data.resource,store:(e,t)=>t.data.store}),ss=f.assign({oldResource:e=>e.newResource}),is=f.assign({invalid:[],newResource:({oldResource:e})=>e}),as=f.assign({invalid:[],newResource:e=>({allowedOrigins:[],subscriptions:{allowFrequencyModification:[],allowNextDateModification:!1},jwtSharedSecret:ee(72,(()=>Y(35).toString(36))).join(""),sessionLifespanInMinutes:40320,signUp:{enabled:!1,verification:{type:"hcaptcha",siteKey:"",secretKey:""}},sso:!1,date_created:(new Date).toISOString(),date_modified:(new Date).toISOString(),_links:{"fx:store":e.store._links.self,curies:e.store._links.curies,self:e.store._links["fx:customer_portal_settings"]}})}),ns=f.assign({newResource:null}),ls=f.assign({error:"setup_needed"}),rs=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{allowedOrigins:s})}}),ds=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{subscriptions:n(n({},e.subscriptions),{},{allowFrequencyModification:s})})}}),os=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{subscriptions:n(n({},e.subscriptions),{},{allowNextDateModification:s})})}}),hs=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{signUp:s})}}),us=f.assign({invalid:(e,t)=>{const s="sessionLifespanInMinutes",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{sessionLifespanInMinutes:s})}}),cs=f.assign({invalid:(e,t)=>{const s="jwtSharedSecret",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{jwtSharedSecret:s})}}),_s=f.assign({oldResource:null,newResource:null,store:null,error:null,href:(e,t)=>t.data}),gs=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{sso:s})}}),ps={SET_SSO:{target:"#cps.idle",actions:"setSSO"},SET_SECRET:{target:"#cps.idle",actions:"setSecret"},SET_ORIGINS:{target:"#cps.idle",actions:"setOrigins"},SET_SESSION:{target:"#cps.idle",actions:"setSession"},SET_SIGN_UP:{target:"#cps.idle",actions:"setSignUp"},SET_FREQUENCY_MODIFICATION:{target:"#cps.idle",actions:"setFrequencyModification"},SET_NEXT_DATE_MODIFICATION:{target:"#cps.idle",actions:"setNextDateModification"}},vs={initial:"unknown",states:{unknown:{always:[{target:"invalid",cond:"isInvalid"},{target:"valid"}]},invalid:{},valid:{}}},ms=l({id:"cps",initial:"unknown",context:{oldResource:null,newResource:null,invalid:[],store:null,error:null,href:null},states:{unknown:{always:[{target:"error",cond:"isSetupNeeded",actions:"requireSetup"},{target:"idle",cond:"isLoaded"},{target:"busy"}]},error:{on:{RELOAD:{target:"busy.loading"}}},busy:{initial:"loading",states:{loading:{invoke:{src:"load",onDone:{target:"#cps.idle.clean",actions:"handleLoadingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}},saving:{invoke:{src:"save",onDone:{target:"#cps.idle.clean",actions:"handleSavingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}}}},idle:{initial:"unknown",on:{DISABLE:{target:"#cps.idle",actions:"remove"},ENABLE:{target:"#cps.idle",actions:"create"},RESET:{target:"#cps.idle",actions:"reset"}},states:{unknown:{always:[{target:"clean",cond:"isClean"},{target:"dirty"}]},clean:{initial:"unknown",states:{unknown:{always:[{target:"enabled",cond:"isEnabled"},{target:"disabled"}]},enabled:{on:ps},disabled:{}}},dirty:{on:{SAVE:"#cps.busy.saving"},initial:"unknown",states:{unknown:{always:[{target:"created",cond:"isCreated"},{target:"deleted",cond:"isDeleted"},{target:"updated"}]},created:n({on:ps},vs),updated:n({on:ps},vs),deleted:{}}}}}},on:{SET_HREF:{actions:"setHref",target:"unknown"}}},{guards:{isClean:e=>r(e.newResource,e.oldResource),isLoaded:e=>null!==e.store,isInvalid:e=>e.invalid.length>0,isEnabled:e=>null!==e.oldResource,isCreated:e=>null===e.oldResource&&null!==e.newResource,isDeleted:e=>null!==e.oldResource&&null===e.newResource,isSetupNeeded:e=>null===e.href},actions:{setFrequencyModification:ds,setNextDateModification:os,setOrigins:rs,setSession:us,setSecret:cs,setSignUp:hs,setHref:_s,setSSO:gs,handleLoadingSuccess:ts,handleSavingSuccess:ss,handleError:es,create:as,reset:is,remove:ns,requireSetup:ls}});class xs extends CustomEvent{constructor(e){super("change",{detail:e})}}let ys,$s,fs=e=>e;class bs extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=void 0}static get scopedElements(){return{"vaadin-password-field":N,"x-section":me,"x-switch":fe,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Object}})}render(){var e,t,s;return c(ys||(ys=fs` <x-section> <x-switch data-testid="toggle" class="-my-xs" slot="title" .disabled="${0}" .checked="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="sign_up.title" class="text-l"></x-i18n> </x-switch> <x-i18n class="mr-xl" slot="subtitle" key="sign_up.subtitle" .lang="${0}" .ns="${0}"> </x-i18n> ${0} </x-section> `),this.disabled||!this._isI18nReady,this.__normalizedValue.enabled,(()=>{const e=this.__normalizedValue;e.enabled=!e.enabled,e.enabled||(e.verification.siteKey="",e.verification.secretKey=""),this.value=e,this.requestUpdate(),this.__sendChange()}),this.ns,this.lang,this.lang,this.ns,(null===(e=this.__normalizedValue)||void 0===e?void 0:e.enabled)?c($s||($s=fs` <div class="grid gap-m sm-grid-cols-2"> <vaadin-password-field .placeholder="${0}" .disabled="${0}" .value="${0}" .label="${0}" autocomplete="off" data-testid="site-key" @change="${0}" @input="${0}"> </vaadin-password-field> <vaadin-password-field .placeholder="${0}" .disabled="${0}" .value="${0}" .label="${0}" autocomplete="off" data-testid="secret-key" @change="${0}" @input="${0}"> </vaadin-password-field> <x-i18n class="sm-col-span-2 text-s text-secondary" lang="${0}" key="sign_up.hcaptcha_explainer" ns="${0}"> </x-i18n> </div> `),this._isI18nReady?this._t("sign_up.site_key_placeholder").toString():"---",this.disabled||!this._isI18nReady,this._isI18nReady?null===(t=this.value)||void 0===t?void 0:t.verification.siteKey:"",this._isI18nReady?this._t("sign_up.site_key_label").toString():"---",(e=>e.stopPropagation()),(e=>{const t=this.__normalizedValue;t.verification.siteKey=e.target.value,this.value=t,this.requestUpdate(),this.__sendChange()}),this._isI18nReady?this._t("sign_up.secret_key_placeholder").toString():"---",this.disabled||!this._isI18nReady,this._isI18nReady?null===(s=this.value)||void 0===s?void 0:s.verification.secretKey:"",this._isI18nReady?this._t("sign_up.secret_key_label").toString():"---",(e=>e.stopPropagation()),(e=>{const t=this.__normalizedValue;t.verification.secretKey=e.target.value,this.value=t,this.requestUpdate(),this.__sendChange()}),this.lang,this.ns):"")}get __normalizedValue(){return this.value?F(this.value):{verification:{type:"hcaptcha",siteKey:"",secretKey:""},enabled:!1}}__sendChange(){this.dispatchEvent(new xs(this.value))}}let ws,ks,Es,Cs,Ss=e=>e;function Rs(e){if(!e.ok)throw new h(401===e.status?"unauthorized":"unknown")}class Is extends CustomEvent{constructor(){super("ready")}}class js extends CustomEvent{constructor(){super("update")}}class Vs extends v{constructor(){super("customer-portal-settings"),this.rel="customer_portal_settings",this.__machine=ms.withConfig({services:{load:()=>this.__load(),save:()=>this.__save()}}),this.__service=L(this.__machine).onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-modification":nt,"x-next-date-modification":zt,"x-session-duration":Se,"x-session-secret":Ve,"x-loading-screen":oe,"x-error-screen":o,"x-origins-list":Ht,"x-sso-switch":Zt,"x-skeleton":E,"x-section":me,"x-sign-up":bs,"x-switch":fe,"x-i18n":w,"x-page":_e}}static get properties(){return n(n({},super.properties),{},{href:{type:String,noAccessor:!0}})}get href(){return this.__service.state.context.href}set href(e){this.__service.send({type:"SET_HREF",data:e})}render(){var e,t,s,i,a,l;if(this.__service.state.matches("error"))return c(ws||(ws=Ss` <x-error-screen data-testid="error" lang="${0}" type="${0}" reload @reload="${0}"> </x-error-screen> `),this.lang,this.__service.state.context.error,this.__reload);const{newResource:r}=this.__service.state.context,d=this.__service.state.matches("idle.dirty.created"),o=this.__service.state.matches("idle.dirty.deleted"),h=this.__service.state.matches("idle.dirty.updated"),u=this.__service.state.matches("idle.clean.enabled"),_=this.__service.state.matches("idle.dirty.updated.invalid")||this.__service.state.matches("idle.dirty.created.invalid");return c(ks||(ks=Ss` <x-page class="relative"> <x-switch slot="title" data-testid="switch" .disabled="${0}" .checked="${0}" @change="${0}"> <x-i18n key="title" class="text-xxl" .ns="${0}" .lang="${0}"> <sup class="text-tertiary"> <x-i18n key="beta" .ns="${0}" .lang="${0}"> </x-i18n> </sup> </x-i18n> </x-switch> <x-i18n class="block mr-xl" slot="subtitle" key="subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-section> <x-i18n slot="title" key="origins.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="origins.subtitle" .ns="${0}" .lang="${0}"></x-i18n> <x-origins-list data-testid="origins" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-origins-list> </x-section> <x-frequency-modification data-testid="fmod" .lang="${0}" .ns="${0}" .value="${0}" ?disabled="${0}" @change="${0}"> </x-frequency-modification> <x-next-date-modification data-testid="ndmod" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-next-date-modification> <x-sso-switch data-testid="sso" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-sso-switch> <x-sign-up data-testid="signup" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-sign-up> <x-section> <x-i18n slot="title" key="advanced.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="advanced.subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-session-duration data-testid="session" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-duration> <x-session-secret data-testid="secret" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-secret> </x-section> ${0} </x-page> `),!this.__service.state.matches("idle")||!this._isI18nReady,u||d||h,(e=>{this.__service.send(e.detail?"ENABLE":"DISABLE")}),this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.lang,this.ns,null!==(e=null==r?void 0:r.allowedOrigins)&&void 0!==e?e:[],!r,(e=>{this.__service.send({type:"SET_ORIGINS",value:e.detail})}),this.lang,this.ns,null!==(t=null==r?void 0:r.subscriptions.allowFrequencyModification)&&void 0!==t?t:[],!r,(e=>{this.__service.send({type:"SET_FREQUENCY_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(s=null==r?void 0:r.subscriptions.allowNextDateModification)&&void 0!==s&&s,!r,(e=>{this.__service.send({type:"SET_NEXT_DATE_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(i=null==r?void 0:r.sso)&&void 0!==i&&i,!r,(e=>{this.__service.send({type:"SET_SSO",value:e.detail})}),!r,null==r?void 0:r.signUp,this.lang,this.ns,(e=>{this.__service.send({type:"SET_SIGN_UP",value:e.detail})}),this.ns,this.lang,this.ns,this.lang,!r||!this._isI18nReady,null!==(a=null==r?void 0:r.sessionLifespanInMinutes)&&void 0!==a?a:1,this.lang,this.ns,(({detail:e})=>{this.__service.send(n({type:"SET_SESSION"},e))}),!r||!this._isI18nReady,null!==(l=null==r?void 0:r.jwtSharedSecret)&&void 0!==l?l:"",this.lang,this.ns,(({detail:e})=>{this.__service.send(n({type:"SET_SECRET"},e))}),this.__service.state.matches("idle.dirty")?c(Es||(Es=Ss` <div class="sticky flex justify-between rounded-t-l rounded-b-l shadow-m -mx-s p-s bg-contrast" style="bottom:var(--lumo-space-m)"> <vaadin-button data-testid="save" theme="primary ${0}" .disabled="${0}" @click="${0}"> <x-i18n lang="${0}" ns="${0}" key="save_${0}"> </x-i18n> </vaadin-button> <vaadin-button style="--lumo-contrast:var(--lumo-base-color)" data-testid="reset" theme="contrast tertiary" @click="${0}"> <x-i18n lang="${0}" key="undo_all"></x-i18n> <iron-icon icon="lumo:reload" slot="suffix"></iron-icon> </vaadin-button> </div> `),o?"error":"success",_,(()=>this.__service.send("SAVE")),this.lang,this.ns,d?"create":o?"delete":"update",(()=>this.__service.send("RESET")),this.lang):this.__service.state.matches("busy")?c(Cs||(Cs=Ss`<x-loading-screen data-testid="loading" class="mt-0"></x-loading-screen>`)):"")}async __reload(){this.__service.stop(),this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}async __load(){if(null===this.href)throw new h("setup_needed");try{await this.updateComplete;const e=await we.emit({source:this,init:[this.href]});let t,s;if(e.status.toString().startsWith("4")){t=null;const e=await we.emit({source:this,init:["/"]});Rs(e);const i=(await e.json())._links["fx:store"].href,a=await we.emit({source:this,init:[i]});Rs(a),s=await a.json()}else{Rs(e),t=await e.json();const i=t._links["fx:store"].href,a=await we.emit({source:this,init:[i]});Rs(a),s=await a.json()}return{store:s,resource:t}}catch(e){if(e instanceof h)throw e;if(e instanceof be)throw new h("setup_needed");throw new h("unknown")}finally{await this.updateComplete,this.dispatchEvent(new Is)}}async __save(){try{const e=this.__service.state.context,t=F(e.newResource),s=t?"PUT":"DELETE";t&&(delete t._links,delete t.date_created,delete t.date_modified);const i={method:s,body:t?JSON.stringify(t):void 0};Rs(await we.emit({source:this,init:[this.href,i]}))}catch(e){if(e instanceof h)throw e;if(e instanceof be)throw new h("setup_needed");throw new h("unknown")}finally{await this.updateComplete,this.dispatchEvent(new js)}}}customElements.define("foxy-customer-portal-settings",Vs);export{Vs as CustomerPortalSettings};
|
|
1
|
+
import{d as e,an as t,ag as s,ai as i,ao as a,_ as n,ap as l,aq as r}from"./shared-1522d76f.js";import"./shared-6d0be1e4.js";import{B as d}from"./shared-5291bdca.js";import{E as o,F as h}from"./shared-a95067d6.js";import"./shared-ec59505f.js";import"./shared-6ffa9f84.js";import{L as u,h as c,c as _}from"./shared-7f33a83a.js";import{z as g,w as p,x as v,A as m}from"./shared-ecd5eb1b.js";import{D as x,a as y,C as $,b as f}from"./shared-452e38da.js";import"./shared-06916671.js";import{a as b,I as w,D as k,S as E,M as C,W as S,c as R,t as I}from"./shared-63d11888.js";import"./shared-5f1f0d8f.js";import"./shared-264c82b8.js";import{I as j}from"./shared-92dd9964.js";import{C as V}from"./shared-5db2fec0.js";import"./shared-b984ab7c.js";import{p as M}from"./shared-15dfa16d.js";import"./shared-85712eed.js";import{c as q}from"./shared-4e709717.js";import"./shared-54cbd346.js";import{P as N}from"./shared-835cf735.js";import{G as T}from"./shared-0961f769.js";import{j as D}from"./shared-250a399a.js";import{p as A}from"./shared-43e2c3f6.js";import{W as U}from"./shared-4105aacf.js";import{D as O}from"./shared-3fee360a.js";import{c as F}from"./shared-3d251e6f.js";import{i as L}from"./shared-eb116b3e.js";import"./shared-a1d39ddd.js";import"./shared-0ffe26d8.js";import"./shared-30cbf0a6.js";import"./shared-11c2efc8.js";import"./shared-07e9d1fb.js";import"./shared-343d1fd7.js";import"./shared-b23c903e.js";import"./shared-d3bf9ac0.js";import"./shared-8d99b885.js";import"./shared-3d95605f.js";import"./shared-db306674.js";var B=1/0,z=17976931348623157e292;function P(e){return e?(e=g(e))===B||e===-B?(e<0?-1:1)*z:e==e?e:0:0===e?e:0}function Q(e){return e}var K=Math.floor,J=Math.random;var G=parseFloat,H=Math.min,W=Math.random;function Y(a,n,l){if(l&&"boolean"!=typeof l&&function(a,n,l){if(!e(l))return!1;var r=typeof n;return!!("number"==r?t(l)&&s(n,l.length):"string"==r&&n in l)&&i(l[n],a)}(a,n,l)&&(n=l=void 0),void 0===l&&("boolean"==typeof n?(l=n,n=void 0):"boolean"==typeof a&&(l=a,a=void 0)),void 0===a&&void 0===n?(a=0,n=1):(a=P(a),void 0===n?(n=a,a=0):n=P(n)),a>n){var r=a;a=n,n=r}if(l||a%1||n%1){var d=W();return H(a+d*(n-a+G("1e-"+((d+"").length-1))),n)}return function(e,t){return e+K(J()*(t-e+1))}(a,n)}var X=4294967295,Z=Math.min;function ee(e,t){if(e=function(e){var t=P(e),s=t%1;return t==t?s?t-s:t:0}(e),e<1||e>9007199254740991)return[];var s,i=X,n=Z(e,X);e-=X;for(var l=a(n,t="function"==typeof(s=t)?s:Q);++i<e;)t(i);return l}class te extends CustomEvent{constructor(e){super("change",{detail:e})}}let se,ie,ae=e=>e;class ne extends u{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.getText=e=>e}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean},getText:{type:Object}})}static get styles(){return p.styles}render(){return c(se||(se=ae` <div class="font-lumo text-m w-full"> <ul> ${0} </ul> <div class="p-m"> <slot></slot> </div> </div> `),this.value.map(((e,t)=>c(ie||(ie=ae` <li class="${0}"> <slot name="${0}">${0}</slot> <button ?disabled="${0}" class="w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </li> `),"ml-m h-l text-body flex justify-between items-center"+(t>0?" border-t border-contrast-10":""),t,this.getText(e),this.disabled,(()=>this.__remove(t))))))}__remove(e){this.value=this.value.filter(((t,s)=>s!==e)),this.dispatchEvent(new te(this.value))}}let le,re,de=e=>e;class oe extends u{static get styles(){return[p.styles,_(le||(le=de`:host{position:absolute;top:0;right:0;bottom:0;left:0}.top-center{top:calc(50% - (var(--lumo-size-xl)/ 2))}@keyframes dash0{from{transform:translate(0,0)}to{transform:translate(5.681301px,3.368302px)}}@keyframes dash1{from{transform:translate(0,0)}to{transform:translate(5.677051px,3.457428px)}}@keyframes dash2{from{transform:translate(0,0)}to{transform:translate(5.686002px,3.127455px)}}@keyframes dash3{from{transform:translate(-5.6842px,-3.404556px)}to{transform:translate(0,0)}}`))]}render(){return c(re||(re=de` <div class="h-full bg-base text-primary"> <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-xl h-xl mx-auto sticky top-center" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 64 64"> <path id="ew5fy7afo2w2" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z" clip-rule="evenodd"/> <path id="ew5fy7afo2w3" fill-rule="evenodd" stroke="none" stroke-width="1" d="M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z" clip-rule="evenodd"/> <g style="animation:dash0 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w4" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> <g style="animation:dash1 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w5" fill-rule="evenodd" stroke="none" stroke-width="1" d="M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z" clip-rule="evenodd"/> </g> <g style="animation:dash2 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w6" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z" clip-rule="evenodd"/> </g> <g transform="translate(-5.68 -3.4)" style="animation:dash3 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w7" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> </svg> </div> `))}}let he,ue,ce=e=>e;class _e extends u{static get styles(){return[p.styles,_(he||(he=ce`::slotted(:not([slot])){margin-top:var(--lumo-space-xl)}`))]}render(){return c(ue||(ue=ce` <article class="relative antialiased font-lumo"> <header class="space-y-xs leading-s"> <h1 class="font-medium text-header text-xl border-b border-contrast-10 pb-s mb-s"> <slot name="title"></slot> </h1> <p class="text-l text-secondary"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </article> `))}}let ge,pe,ve=e=>e;class me extends _e{static get styles(){return[super.styles,_(ge||(ge=ve`::slotted(:not([slot])){margin-top:var(--lumo-space-m)}`))]}render(){return c(pe||(pe=ve` <section class="leading-s antialiased font-lumo"> <header> <h2 class="text-header font-medium text-l"> <slot name="title"></slot> </h2> <p class="text-secondary text-m"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </section> `))}}let xe,ye=e=>e;class $e extends CustomEvent{constructor(e){super("change",{detail:e})}}class fe extends u{constructor(){super(...arguments),this.disabled=!1,this.checked=!1}static get properties(){return n(n({},super.properties),{},{disabled:{attribute:!1},checked:{attribute:!1}})}static get styles(){return p.styles}render(){return c(xe||(xe=ye` <label class="${0}"> <span class="text-body font-medium text-m mr-m"> <slot></slot> </span> <span style="border-radius:var(--lumo-size-xl);width:calc((var(--lumo-space-l) * 2) + (var(--lumo-space-xs) * 2))" class="${0}"> <span style="width:var(--lumo-space-l);height:var(--lumo-space-l)" class="${0}"></span> <input type="checkbox" class="opacity-0 absolute inset-0" .checked="${0}" .disabled="${0}" @change="${0}"> </span> </label> `),q({"transition duration-200 flex justify-between items-center group":!0,"cursor-pointer":!this.disabled}),q({"transition duration-150 relative flex flex-shrink-0 items-center":!0,"bg-success focus-within-shadow-outline-success":!this.disabled&&this.checked,"bg-contrast-10 focus-within-shadow-outline":this.disabled||!this.checked,"bg-contrast-20":!this.disabled&&!this.checked}),q({"bg-tint transition duration-200 transform block rounded-full m-xs":!0,"translate-x-l":this.checked,"translate-x-0":!this.checked,"shadow-xs group-hover-shadow-s group-hover-scale-110":!this.disabled}),this.checked,this.disabled,(()=>{this.checked=!this.checked,this.dispatchEvent(new $e(this.checked))}))}}class be extends Error{constructor(){super("Unhandled request detected. Please add a request handler to connect this component to a backend.")}}class we extends CustomEvent{static emit(e){return new Promise(((t,s)=>{const i=new we(n({resolve:t,reject:s},e));e.source.dispatchEvent(i)&&s(new be)}))}constructor({source:e,resolve:t,reject:s,init:i}){var a;super("request",{cancelable:!0,composed:!0,bubbles:!0,detail:{source:e,handle:async function(e){a.stopImmediatePropagation(),a.preventDefault();try{t(await e(...i))}catch(e){s(e)}}}}),a=this}}let ke,Ee=e=>e;class Ce extends CustomEvent{constructor(e){super("change",{detail:e})}}class Se extends v{constructor(){super(...arguments),this.disabled=!1,this.value=1,this.__errorMessage=null,this.__customFieldI18n={formatValue:e=>{const t=parseInt(e[0]);if(isNaN(t))return"0";const s=e[1];return"w"===s?(10080*t).toFixed(0):"d"===s?(1440*t).toFixed(0):"h"===s?(60*t).toFixed(0):t.toFixed(0)},parseValue:e=>{const t=parseInt(e);return t%10080==0?[(t/10080).toFixed(0),"w"]:t%1440==0?[(t/1440).toFixed(0),"d"]:t%60==0?[(t/60).toFixed(0),"h"]:[t.toFixed(0),"m"]}},this.__renderer=this.__renderItems.bind(this)}static get scopedElements(){return{"vaadin-integer-field":j,"vaadin-custom-field":V,"vaadin-select":b,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){var e;return c(ke||(ke=Ee` <div class="text-xs text-tertiary font-lumo"> <vaadin-custom-field ?disabled="${0}" .label="${0}" .value="${0}" .i18n="${0}" data-testid="field" id="field" @change="${0}"> <vaadin-integer-field .disabled="${0}" .min="${0}" data-testid="count" has-controls> </vaadin-integer-field> <vaadin-select .disabled="${0}" .renderer="${0}" data-testid="units"> </vaadin-select> </vaadin-custom-field> <br> <x-i18n .lang="${0}" .ns="${0}" .key="${0}" data-testid="error" class="${0}"> </x-i18n> </div> `),this.disabled||!this._isI18nReady,this._isI18nReady?this._t("session.title").toString():"---",this._isI18nReady?this.value.toString():"",this.__customFieldI18n,this.__handleChange,this.disabled||!this._isI18nReady,1,this.disabled||!this._isI18nReady,this._isI18nReady?this.__renderer:null,this.lang,this.ns,this._t(`session.${null!==(e=this.__errorMessage)&&void 0!==e?e:"subtitle"}`).toString(),q({"text-error":null!==this.__errorMessage&&!this.disabled}))}firstUpdated(){this.shadowRoot.getElementById("field").value=this.value.toString()}updated(e){e.has("value")&&this.__reportValidity()}__renderItems(e){let t=e.querySelector("vaadin-list-box");null===t&&(t=document.createElement("vaadin-list-box"),e.appendChild(t));const s=["m","h","d","w"],i=["minute_plural","hour_plural","d_plural","w_plural"],a=t.querySelectorAll("vaadin-item");for(let e=0;e<Math.max(s.length,a.length);++e)if(s[e]){let n;a[e]?n=a[e]:(n=document.createElement("vaadin-item"),t.appendChild(n)),n.value=s[e],n.textContent=this._t(i[e])}else a[e].remove()}__handleChange(e){e.stopPropagation(),this.value=parseInt(e.target.value),this.dispatchEvent(new Ce({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){return this.__errorMessage=this.value<1?"too_short":this.value>40320?"too_long":null,this.requestUpdate(),null===this.__errorMessage}}let Re,Ie=e=>e;class je extends CustomEvent{constructor(e){super("change",{detail:e})}}class Ve extends v{constructor(){super(...arguments),this.disabled=!1,this.value="",this.__errorMessage=""}static get scopedElements(){return{"vaadin-password-field":N,"vaadin-button":d,"iron-icon":customElements.get("iron-icon"),"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){const e=""!==this.__errorMessage&&!this.disabled,t=e?this._t(`jwt.${this.__errorMessage}`).toString():"";return c(Re||(Re=Ie` <div class="space-y-xs"> <div class="flex items-start"> <vaadin-password-field .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" .label="${0}" data-testid="input" class="w-full" @change="${0}" @input="${0}"> </vaadin-password-field> <vaadin-button class="flex-shrink-0 ml-s" style="margin-top:calc(var(--lumo-font-size-s) * 1.5)" theme="error" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .lang="${0}" .ns="${0}" key="jwt.refresh"></x-i18n> <iron-icon icon="icons:refresh" slot="suffix"></iron-icon> </vaadin-button> </div> <x-i18n .lang="${0}" .ns="${0}" key="jwt.subtitle" class="text-xs text-tertiary font-lumo"> </x-i18n> </div> `),t,this.disabled||!this._isI18nReady,e,this._isI18nReady?this.value:"",this._isI18nReady?this._t("jwt.title").toString():"---",(e=>e.stopPropagation()),this.__handleInput,this.disabled||!this._isI18nReady,this.__regenerateValue,this.lang,this.ns,this.lang,this.ns)}updated(e){e.has("value")&&this.__reportValidity()}__regenerateValue(){this.__errorMessage="",this.value=ee(72,(()=>Y(35).toString(36))).join(""),this.dispatchEvent(new je({value:this.value,invalid:!1}))}__handleInput(e){this.value=e.target.value,this.dispatchEvent(new je({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){var e;return this.__errorMessage=0===this.value.length?"required":this.value.length<40?"too_short":this.value.length>100?"too_long":(e=this.value,/^[a-z0-9-]+$/i.test(e)?"":"invalid"),this.requestUpdate(),""===this.__errorMessage}}function Me(e){return t=>{t.preventDefault(),e(t)}}class qe extends x{}let Ne,Te=e=>e;class De extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=De.defaultValue,this.__items=["y","m","w","d"]}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":k}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){return c(Ne||(Ne=Te` <div class="grid grid-cols-2 gap-s"> <vaadin-integer-field data-testid="value" class="w-full" min="1" has-controls .value="${0}" .disabled="${0}" @change="${0}"> </vaadin-integer-field> <x-dropdown data-testid="units" .disabled="${0}" .getText="${0}" .items="${0}" .value="${0}" @change="${0}"> </x-dropdown> </div> `),this._isI18nReady?this.__numericValue:"",this.disabled,this.__handleNumberChange,this.disabled,(e=>this._isI18nReady?this._t(`${e}_plural`):""),this.__items,this._isI18nReady?this.__unitsValue:"",this.__handleUnitsChange)}get __numericValue(){var e;return M(null!==(e=this.value)&&void 0!==e?e:"").count}get __unitsValue(){var e;return M(null!==(e=this.value)&&void 0!==e?e:"").units}__handleNumberChange(e){e.stopPropagation();const t=e.target.value;this.value=this.value.replace(String(this.__numericValue),t),this.__sendChange()}__handleUnitsChange(e){this.value=this.value.replace(String(this.__unitsValue),e.detail),this.__sendChange()}__sendChange(){this.dispatchEvent(new qe(this.value))}}De.defaultValue="1w";class Ae extends te{}let Ue,Oe,Fe,Le,Be=e=>e;class ze extends v{constructor(){super("customer-portal-settings"),this.value=[],this.disabled=!1,this.__newValue=De.defaultValue}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-input":De,"x-skeleton":E,"x-list":ne,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.disabled||!this._isI18nReady||this.value.length>=20;return c(Ue||(Ue=Be` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="w-full md-flex"> <x-frequency-input data-testid="input" class="mb-s md-mb-0 md-mr-s" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <vaadin-button data-testid="button" class="w-full md-w-auto" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?c(Oe||(Oe=Be`<span slot="${0}">${0}</span>`),t,this.__getText(e)):c(Fe||(Fe=Be`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this.lang,this.__newValue,e,this.__handleNewValueChange,e,this.__handleSubmit,this.ns,this.lang,this.value.length>0?c(Le||(Le=Be` <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,q({"block text-xs mt-xs text-center md-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}__handleNewValueChange(e){this.__newValue=e.detail}__handleListChange(e){this.value=e.detail,this.__sendChange()}__handleSubmit(){this.value=[...this.value,this.__newValue],this.__newValue=De.defaultValue,this.__sendChange()}__sendChange(){this.dispatchEvent(new Ae(this.value))}__getText(e){const t=e[e.length-1],s=parseInt(e.replace(t,""));return this._t("duration",{count:s,units:this._t(t,{count:s})})}}class Pe extends y{}let Qe,Ke,Je=e=>e;class Ge extends v{constructor(){super(...arguments),this.disabled=!1,this.value="*",this.__errorMessage="",this.__items=["all","some"],this.__handleNewValueChange=m((e=>{try{D(e).evaluate({}),this.value=e,this.__errorMessage="",this.__sendChange()}catch(e){this.__errorMessage=e.message}this.requestUpdate()}),275)}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"iron-icon":customElements.get("iron-icon"),"x-choice":$,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){const e="pl-xs text-primary rounded font-medium cursor-pointer transition duration-200 focus-outline-none focus-shadow-outline hover-underline";return c(Qe||(Qe=Je` <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="all-label" .ns="${0}" .lang="${0}" key="jsonata.all"></x-i18n> <x-i18n slot="some-label" .ns="${0}" .lang="${0}" key="jsonata.some"></x-i18n> ${0} </x-choice> `),this.disabled||!this._isI18nReady,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?c(Ke||(Ke=Je` <div slot="${0}" class="space-y-s pb-m"> <x-i18n .ns="${0}" .lang="${0}" key="jsonata.hint" class="block font-lumo text-s text-tertiary leading-s"> <a target="_blank" class="${0}" href="https://docs.jsonata.org" rel="noopener noreferrer"> JSONata <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> <a target="_blank" class="${0}" href="https://api.foxycart.com/rels/subscription" rel="noopener noreferrer"> hAPI subscription <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> </x-i18n> <vaadin-text-field class="w-full" data-testid="input" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keydown="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> </div> `),this.__items[1],this.ns,this.lang,e,e,this.__errorMessage,this.disabled||!this._isI18nReady,this.__errorMessage.length>0,this._isI18nReady?this.value:"",this.__stopNavigation,(e=>e.stopPropagation()),(e=>this.__handleNewValueChange(e.target.value))):"")}get __choice(){return this.__items["*"===this.value?0:1]}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?"*":'$contains(frequency, "w")',this.__sendChange()}__stopNavigation(e){e.key.startsWith("Arrow")&&e.stopPropagation()}__sendChange(){this.dispatchEvent(new Pe(this.value))}}class He extends CustomEvent{constructor(e){super("change",{detail:e})}}class We extends CustomEvent{constructor(){super("remove")}}let Ye,Xe,Ze=e=>e;class et extends v{constructor(){super(...arguments),this.open=!1,this.value={jsonataQuery:"*",values:[]},this.disabled=!1}static get scopedElements(){return{"x-frequency-list":ze,"x-jsonata-input":Ge,"iron-icon":customElements.get("iron-icon"),"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{open:{attribute:!1},value:{attribute:!1},disabled:{attribute:!1}})}render(){const{jsonataQuery:e,values:t}=this.value,s=this.open?"":"rounded-b-l";return c(Ye||(Ye=Ze` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m space-y-xs mr-xl"> <x-i18n .ns="${0}" .lang="${0}" .key="${0}" class="block text-m text-header font-medium"> ${0} </x-i18n> <x-i18n .ns="${0}" .lang="${0}" class="block text-s text-tertiary" key="fmod.valuesLabel"> <x-i18n .ns="${0}" .key="${0}" .lang="${0}" .opts="${0}" class="text-secondary"> </x-i18n> </x-i18n> </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <div class="space-y-l pt-m" slot="content"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.match"></x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.options"> </x-i18n> <x-frequency-list data-testid="frequency" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-list> </x-group> </div> </details> </x-group> `),q({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),s,this.ns,this.lang,`fmod.${"*"===e?"all":"some"}Title`,"*"!==e?this.__renderJSONataSummary(e):"",this.ns,this.lang,this.ns,"fmod.valuesList"+(0===t.length?"Empty":""),this.lang,{values:t.map((e=>this.__translateFrequency(e)))},this.disabled||!this._isI18nReady,Me((()=>{this.dispatchEvent(new We)})),this.ns,this.lang,this.ns,this.lang,this.value.jsonataQuery,this.disabled||!this._isI18nReady,this.__handleQueryChange,this.ns,this.lang,this.lang,this.value.values,this.disabled||!this._isI18nReady,this.__handleValuesChange)}__translateFrequency(e){if(".5m"===e)return this._t("frequency_0_5m");const{count:t,units:s}=M(e);return this._t("frequency",{units:this._t(s,{count:t}),count:t})}__renderJSONataSummary(e){return c(Xe||(Xe=Ze` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__handleQueryChange(e){this.value=n(n({},this.value),{},{jsonataQuery:e.detail}),this.__sendChange()}__handleValuesChange(e){this.value=n(n({},this.value),{},{values:e.detail}),this.__sendChange()}__sendChange(){this.dispatchEvent(new He(this.value))}}class tt extends CustomEvent{constructor(e){super("change",{detail:e})}}let st,it,at=e=>e;class nt extends v{constructor(){super(...arguments),this.value=[],this.disabled=!1}static get scopedElements(){return{"x-frequency-modification-rule":et,"vaadin-button":customElements.get("vaadin-button"),"x-section":me,"iron-icon":customElements.get("iron-icon"),"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const{ns:e,lang:t}=this;return c(st||(st=at` <x-section> <x-i18n .ns="${0}" .lang="${0}" key="fmod.title" slot="title" class="text-l"></x-i18n> <x-i18n .ns="${0}" .lang="${0}" key="fmod.subtitle" slot="subtitle" class="mr-xl"></x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_rule"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="fmod.add_rule_hint" class="${0}"> </x-i18n> </div> </x-section> `),e,t,e,t,this.value.map(((e,t,s)=>c(it||(it=at` <x-frequency-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @remove="${0}" @change="${0}"> </x-frequency-modification-rule> `),this.disabled,e,this.lang,this.ns,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()})))),this.disabled||this.value.length>=10||!this._isI18nReady,this.__addRule,this.ns,this.lang,this.lang,this.ns,q({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__addRule(){this.value=[...this.value,{jsonataQuery:"*",values:[]}],this.__sendChange()}__sendChange(){this.dispatchEvent(new tt(this.value))}}function lt(e,t){const s=(new Date).getFullYear(),i={month:"long",day:"numeric"};return e.split("..").map((e=>{const a=A(e),l=(null==a?void 0:a.getFullYear())===s?void 0:"numeric";return null==a?void 0:a.toLocaleDateString(t,n({year:l},i))})).join(" – ")}class rt extends CustomEvent{constructor(e){super("change",{detail:e})}}let dt,ot,ht,ut=e=>e;class ct extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.__items=["all","month","day"]}static get scopedElements(){return{"x-monthday-picker":C,"x-weekday-picker":S,"x-choice":$,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Object}})}render(){var e,t,s,i;return c(dt||(dt=ut` <x-choice data-testid="choice" .value="${0}" .items="${0}" .disabled="${0}" @change="${0}"> <x-i18n slot="all-label" key="ndmod.all" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="month-label" key="ndmod.month" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="day-label" key="ndmod.day" .ns="${0}" .lang="${0}"></x-i18n> ${0} </x-choice> `),null!==(t=null===(e=this.value)||void 0===e?void 0:e.type)&&void 0!==t?t:"all",this.__items,this.disabled,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,"month"===(null===(s=this.value)||void 0===s?void 0:s.type)?c(ot||(ot=ut` <x-monthday-picker slot="month" class="mb-m" data-testid="monthday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-monthday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"day"===(null===(i=this.value)||void 0===i?void 0:i.type)?c(ht||(ht=ut` <x-weekday-picker slot="day" class="mb-m" data-testid="weekday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-weekday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"")}__handleNewValueChange(e){this.value.days=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:e.detail===this.__items[1]?{type:"month",days:[]}:{type:"day",days:[]},this.__sendChange()}__sendChange(){this.dispatchEvent(new rt(this.value))}}class _t extends te{}let gt,pt,vt,mt,xt=e=>e;class yt extends v{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__startValue="",this.__endValue=""}static get scopedElements(){return{"vaadin-date-picker":O,"vaadin-button":d,"x-skeleton":E,"iron-icon":customElements.get("iron-icon"),"x-i18n":w,"x-list":ne}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.value.length>=20||this.disabled||!this._isI18nReady;return c(gt||(gt=xt` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="sm-flex sm-items-end"> <div class="grid grid-cols-2 gap-s"> <vaadin-date-picker data-testid="start" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" @change="${0}"> </vaadin-date-picker> <vaadin-date-picker data-testid="end" .min="${0}" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" clear-button-visible @change="${0}"> </vaadin-date-picker> </div> <vaadin-button .disabled="${0}" data-testid="submit" class="w-full mt-s sm-mt-0 sm-w-auto sm-ml-s" @click="${0}"> <x-i18n .lang="${0}" .key="ndmod.add_${0}" .ns="${0}"> </x-i18n> <iron-icon icon="icons:add" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?c(pt||(pt=xt`<span slot="${0}" class="truncate">${0}</span>`),t,lt(e,this.lang)):c(vt||(vt=xt`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._t("ndmod.range_start").toString(),this.__startValue,e,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleStartValueChange,this.__startValue,this._t("ndmod.range_end").toString(),this.__endValue,e||!this.__startValue,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleEndValueChange,e||!this.__startValue,this.__submit,this.lang,this.__endValue?"range":"single",this.ns,this.value.length>0?c(mt||(mt=xt` <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add_range_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,q({"block text-xs mt-xs text-center sm-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}updated(){const e=this.constructor.getScopedTagName("vaadin-date-picker"),t=this.shadowRoot.querySelectorAll(e);Array.from(t).forEach((e=>e.validate()))}__handleStartValueChange(e){e.stopPropagation(),this.__startValue=e.target.value;const t=A(this.__endValue),s=A(this.__startValue);t&&t.getTime()<s.getTime()&&(this.__endValue=""),this.requestUpdate()}__handleEndValueChange(e){e.stopPropagation(),this.__endValue=e.target.value,this.requestUpdate()}__submit(){this.__startValue&&this.__endValue?this.value=[...this.value,[this.__startValue,this.__endValue].join("..")]:this.value=[...this.value,this.__startValue],this.__sendChange(),this.__startValue="",this.__endValue=""}__handleListChange(e){this.value=e.detail,this.__sendChange()}__sendChange(){this.dispatchEvent(new _t(this.value))}}class $t extends CustomEvent{constructor(e){super("change",{detail:e})}}let ft,bt,wt=e=>e;class kt extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.type="min",this.__items=["none","custom"]}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":De,"x-choice":$,"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:String},type:{type:String}})}render(){return c(ft||(ft=wt` <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="${0}"> </x-i18n> <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="none-label" .ns="${0}" .lang="${0}" key="ndmod.none"></x-i18n> <x-i18n slot="custom-label" .ns="${0}" .lang="${0}" key="ndmod.custom"></x-i18n> ${0} </x-choice> </x-group> `),this.ns,this.lang,`ndmod.${this.type}`,this.disabled,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?c(bt||(bt=wt` <div slot="${0}" class="space-y-s"> <x-frequency-input data-testid="input" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <p class="text-s text-tertiary leading-s">${0}</p> </div> `),this.__items[1],this.value,this.disabled,this.__handleNewValueChange,this.__hint):"")}get __choice(){return this.__items[this.value?1:0]}get __hint(){var e;if(!this._isI18nReady)return"";const{count:t,units:s}=M(null!==(e=this.value)&&void 0!==e?e:"");return this._t(`ndmod.${this.type}Hint`,{duration:this._t("duration",{count:t,units:this._t(null!=s?s:"",{count:t})})})}__handleNewValueChange(e){this.value=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:"1w",this.__sendChange()}__sendChange(){this.dispatchEvent(new $t(this.value))}}class Et extends CustomEvent{constructor(e){super("change",{detail:e})}}class Ct extends CustomEvent{constructor(){super("remove")}}let St,Rt,It,jt,Vt,Mt,qt,Nt,Tt,Dt=e=>e;class At extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value={jsonataQuery:"*"},this.open=!1}static get scopedElements(){return{"x-disallowed-dates":yt,"x-jsonata-input":Ge,"x-offset-input":kt,"x-allowed-days":ct,"iron-icon":customElements.get("iron-icon"),"x-warning":U,"x-group":T,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Object},open:{type:Boolean}})}render(){const{min:e,max:t,allowedDays:s,jsonataQuery:i,disallowedDates:a}=this.value,l=e||t,r=s&&s.days.length>0,d=a&&a.length>0,o=this.open?"":"rounded-b-l";return c(St||(St=Dt` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m mr-xl text-m text-header font-medium space-y-s"> <div> <x-i18n .ns="${0}" .lang="${0}" key="${0}"> ${0} </x-i18n> </div> ${0} </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <article class="space-y-l"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.match"> </x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <div class="flex flex-col md-flex-row"> <div class="mb-l md-mb-0 md-w-1-2 md-border-r md-border-contrast-10"> <x-offset-input data-testid="min" type="min" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> <div class="md-w-1-2"> <x-offset-input data-testid="max" type="max" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> </div> ${0} <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.allowed"> </x-i18n> <x-allowed-days data-testid="allowed" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-allowed-days> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.excluded"> </x-i18n> <x-disallowed-dates data-testid="disallowed" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-disallowed-dates> </x-group> </article> </details> </x-group> `),q({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),o,this.ns,this.lang,`ndmod.${"*"===i?"all":"some"}Title`,"*"!==i?this.__renderJSONataSummary(i):"",l||r||d?c(Rt||(Rt=Dt` <div> ${0} </div> `),R(l&&this.__renderMinMaxSummary(e,t),r&&this.__renderAllowedSummary(s),d&&this.__renderDisallowedSummary(a))):"",this.disabled||!this._isI18nReady,Me((()=>this.dispatchEvent(new Ct))),this.ns,this.lang,this.ns,this.lang,i,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{jsonataQuery:e.detail}),this.__sendUpdate()}),this.lang,e,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{min:e.detail}),this.__sendUpdate()}),this.lang,t,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{max:e.detail}),this.__sendUpdate()}),-1===this.__compareDurations(e,t)?c(It||(It=Dt` <x-warning class="mx-m" data-testid="warning"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.minWarning"> </x-i18n> </x-warning> `),this.ns,this.lang):"",this.ns,this.lang,this.lang,s,this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{allowedDays:e.detail}),this.__sendUpdate()}),this.ns,this.lang,this.ns,this.lang,null!=a?a:[],this.disabled||!this._isI18nReady,(e=>{this.value=n(n({},this.value),{},{disallowedDates:e.detail}),this.__sendUpdate()}))}__sendUpdate(){this.dispatchEvent(new Et(this.value))}__getEstimatedDaysFrom(e){const{count:t,units:s}=M(e);return t*{y:365,m:31,w:7,d:1}[s]}__compareDurations(e,t){return e===t?0:e&&t?this.__getEstimatedDaysFrom(e)<this.__getEstimatedDaysFrom(t)?1:-1:1}__renderJSONataSummary(e){return c(jt||(jt=Dt` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__renderMinMaxContent(e){if(e){const{count:t,units:s}=e;return c(Vt||(Vt=Dt` ${0} <x-i18n .ns="${0}" .lang="${0}" key="${0}" .opts="${0}"></x-i18n> `),t,this.ns,this.lang,s,{count:t})}return c(Mt||(Mt=Dt`<x-i18n .ns="${0}" .lang="${0}" key="ndmod.any"></x-i18n>`),this.ns,this.lang)}__renderMinMaxSummary(e,t){return c(qt||(qt=Dt` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.range"> <span>:</span> <span class="text-secondary"> ${0} — ${0} </span> </x-i18n> </div> `),this.ns,this.lang,this.__renderMinMaxContent(e?M(e):void 0),this.__renderMinMaxContent(t?M(t):void 0))}__renderAllowedSummary({type:e,days:t}){return c(Nt||(Nt=Dt` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.allowed"> <span>:</span> <span class="text-secondary"> ${0} ${0} </span> </x-i18n> </div> `),this.ns,this.lang,"month"===e?t.join(", "):"","day"===e?t.map((e=>I(e,this.lang,"short"))).join(", "):"")}__renderDisallowedSummary(e){return c(Tt||(Tt=Dt` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.excluded"> <span>:</span> <span class="text-secondary"> ${0} </span> </x-i18n> </div> `),this.ns,this.lang,e.map((e=>lt(e,this.lang))).join("; "))}}class Ut extends CustomEvent{constructor(e){super("change",{detail:e})}}let Ot,Ft,Lt,Bt=e=>e;class zt extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-next-date-modification-rule":At,"vaadin-button":customElements.get("vaadin-button"),"x-section":me,"iron-icon":customElements.get("iron-icon"),"x-switch":fe,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){const e=!this._isI18nReady||this.disabled||!this.value||Array.isArray(this.value)&&this.value.length>=10;return c(Ot||(Ot=Bt` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="ndmod.add_hint" class="${0}"> </x-i18n> </div> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang,this.value?c(Ft||(Ft=Bt` ${0} `),this.__normalizedValue.map(((e,t,s)=>c(Lt||(Lt=Bt` <x-next-date-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" @remove="${0}" @change="${0}"> </x-next-date-modification-rule> `),this.disabled||!this._isI18nReady,e,this.lang,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()}))))):"",e,this.__addRule,this.ns,this.lang,this.lang,this.ns,q({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":Array.isArray(this.value)&&this.value.length<10,"text-primary":Array.isArray(this.value)&&this.value.length>=10,hidden:!Array.isArray(this.value)||0===this.value.length}))}get __normalizedValue(){return"boolean"==typeof this.value?[]:this.value}__addRule(){this.value=[...this.__normalizedValue,{jsonataQuery:"*"}],this.__sendChange()}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Ut(this.value))}}class Pt extends te{}let Qt,Kt,Jt,Gt=e=>e;class Ht extends v{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__errorCode="invalid",this.__invalid=!1,this.__newValue=""}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"x-skeleton":E,"iron-icon":customElements.get("iron-icon"),"x-group":T,"x-list":ne,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{value:{type:Array},invalid:{type:Boolean},disabled:{type:Boolean}})}render(){return c(Qt||(Qt=Gt` <x-group frame> <x-list data-testid="list" .disabled="${0}" .value="${0}" @change="${0}"> ${0} <div class="flex flex-col sm-flex-row sm-items-start"> <vaadin-text-field data-testid="input" class="mb-s sm-mb-0 sm-mr-s" .placeholder="${0}" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keypress="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> <div class="sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="origins.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="origins.add_hint" class="${0}"> </x-i18n> </div> </div> </x-list> </x-group> `),this.disabled||!this._isI18nReady,this.value,this.__handleChange,this.value.map(((e,t)=>this._isI18nReady?c(Kt||(Kt=Gt` <div class="flex items-center" slot="${0}"> <img height="16" width="16" class="mr-m" src="https://www.google.com/s2/favicons?domain=${0}"> ${0} </div> `),t,e,e):c(Jt||(Jt=Gt`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._isI18nReady?"https://foxy.io":"",this._t(`origins.${this.__errorCode}`).toString(),this.disabled||!this._isI18nReady,this.__invalid,this.__newValue,(e=>"Enter"===e.key&&this.__submit()),(e=>e.stopPropagation()),this.__handleInput,!this._isI18nReady||this.disabled||this.__invalid||this.value.length>=10,this.__submit,this.ns,this.lang,this.lang,this.ns,q({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__sendChange(){this.dispatchEvent(new Pt(this.value))}__handleInput(e){this.__newValue=e.target.value;try{const e=new URL(this.__newValue),t="https:"===e.protocol,s="localhost"===e.hostname;this.__invalid=!s&&!t,this.__errorCode="https_only"}catch(e){this.__invalid=this.__newValue.length>0,this.__errorCode="invalid"}this.requestUpdate()}__submit(){this.__newValue.length>0&&(this.value=[...this.value,new URL(this.__newValue).origin],this.__newValue="",this.__invalid=!1,this.__sendChange()),this.requestUpdate()}__handleChange(e){this.value=e.detail,this.__sendChange()}}class Wt extends CustomEvent{constructor(e){super("change",{detail:e})}}let Yt,Xt=e=>e;class Zt extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-section":me,"x-switch":fe,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){return c(Yt||(Yt=Xt` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="sso.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="sso.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang)}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Wt(this.value))}}const es=f.assign({error:(e,t)=>t.data.type}),ts=f.assign({oldResource:(e,t)=>t.data.resource,newResource:(e,t)=>t.data.resource,store:(e,t)=>t.data.store}),ss=f.assign({oldResource:e=>e.newResource}),is=f.assign({invalid:[],newResource:({oldResource:e})=>e}),as=f.assign({invalid:[],newResource:e=>({allowedOrigins:[],subscriptions:{allowFrequencyModification:[],allowNextDateModification:!1},jwtSharedSecret:ee(72,(()=>Y(35).toString(36))).join(""),sessionLifespanInMinutes:40320,signUp:{enabled:!1,verification:{type:"hcaptcha",siteKey:"",secretKey:""}},sso:!1,date_created:(new Date).toISOString(),date_modified:(new Date).toISOString(),_links:{"fx:store":e.store._links.self,curies:e.store._links.curies,self:e.store._links["fx:customer_portal_settings"]}})}),ns=f.assign({newResource:null}),ls=f.assign({error:"setup_needed"}),rs=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{allowedOrigins:s})}}),ds=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{subscriptions:n(n({},e.subscriptions),{},{allowFrequencyModification:s})})}}),os=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{subscriptions:n(n({},e.subscriptions),{},{allowNextDateModification:s})})}}),hs=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{signUp:s})}}),us=f.assign({invalid:(e,t)=>{const s="sessionLifespanInMinutes",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{sessionLifespanInMinutes:s})}}),cs=f.assign({invalid:(e,t)=>{const s="jwtSharedSecret",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{jwtSharedSecret:s})}}),_s=f.assign({oldResource:null,newResource:null,store:null,error:null,href:(e,t)=>t.data}),gs=f.assign({newResource:({newResource:e},t)=>{const s=t.value;return n(n({},e),{},{sso:s})}}),ps={SET_SSO:{target:"#cps.idle",actions:"setSSO"},SET_SECRET:{target:"#cps.idle",actions:"setSecret"},SET_ORIGINS:{target:"#cps.idle",actions:"setOrigins"},SET_SESSION:{target:"#cps.idle",actions:"setSession"},SET_SIGN_UP:{target:"#cps.idle",actions:"setSignUp"},SET_FREQUENCY_MODIFICATION:{target:"#cps.idle",actions:"setFrequencyModification"},SET_NEXT_DATE_MODIFICATION:{target:"#cps.idle",actions:"setNextDateModification"}},vs={initial:"unknown",states:{unknown:{always:[{target:"invalid",cond:"isInvalid"},{target:"valid"}]},invalid:{},valid:{}}},ms=l({id:"cps",initial:"unknown",context:{oldResource:null,newResource:null,invalid:[],store:null,error:null,href:null},states:{unknown:{always:[{target:"error",cond:"isSetupNeeded",actions:"requireSetup"},{target:"idle",cond:"isLoaded"},{target:"busy"}]},error:{on:{RELOAD:{target:"busy.loading"}}},busy:{initial:"loading",states:{loading:{invoke:{src:"load",onDone:{target:"#cps.idle.clean",actions:"handleLoadingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}},saving:{invoke:{src:"save",onDone:{target:"#cps.idle.clean",actions:"handleSavingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}}}},idle:{initial:"unknown",on:{DISABLE:{target:"#cps.idle",actions:"remove"},ENABLE:{target:"#cps.idle",actions:"create"},RESET:{target:"#cps.idle",actions:"reset"}},states:{unknown:{always:[{target:"clean",cond:"isClean"},{target:"dirty"}]},clean:{initial:"unknown",states:{unknown:{always:[{target:"enabled",cond:"isEnabled"},{target:"disabled"}]},enabled:{on:ps},disabled:{}}},dirty:{on:{SAVE:"#cps.busy.saving"},initial:"unknown",states:{unknown:{always:[{target:"created",cond:"isCreated"},{target:"deleted",cond:"isDeleted"},{target:"updated"}]},created:n({on:ps},vs),updated:n({on:ps},vs),deleted:{}}}}}},on:{SET_HREF:{actions:"setHref",target:"unknown"}}},{guards:{isClean:e=>r(e.newResource,e.oldResource),isLoaded:e=>null!==e.store,isInvalid:e=>e.invalid.length>0,isEnabled:e=>null!==e.oldResource,isCreated:e=>null===e.oldResource&&null!==e.newResource,isDeleted:e=>null!==e.oldResource&&null===e.newResource,isSetupNeeded:e=>null===e.href},actions:{setFrequencyModification:ds,setNextDateModification:os,setOrigins:rs,setSession:us,setSecret:cs,setSignUp:hs,setHref:_s,setSSO:gs,handleLoadingSuccess:ts,handleSavingSuccess:ss,handleError:es,create:as,reset:is,remove:ns,requireSetup:ls}});class xs extends CustomEvent{constructor(e){super("change",{detail:e})}}let ys,$s,fs=e=>e;class bs extends v{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=void 0}static get scopedElements(){return{"vaadin-password-field":N,"x-section":me,"x-switch":fe,"x-i18n":w}}static get properties(){return n(n({},super.properties),{},{disabled:{type:Boolean},value:{type:Object}})}render(){var e,t,s;return c(ys||(ys=fs` <x-section> <x-switch data-testid="toggle" class="-my-xs" slot="title" .disabled="${0}" .checked="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="sign_up.title" class="text-l"></x-i18n> </x-switch> <x-i18n class="mr-xl" slot="subtitle" key="sign_up.subtitle" .lang="${0}" .ns="${0}"> </x-i18n> ${0} </x-section> `),this.disabled||!this._isI18nReady,this.__normalizedValue.enabled,(()=>{const e=this.__normalizedValue;e.enabled=!e.enabled,e.enabled||(e.verification.siteKey="",e.verification.secretKey=""),this.value=e,this.requestUpdate(),this.__sendChange()}),this.ns,this.lang,this.lang,this.ns,(null===(e=this.__normalizedValue)||void 0===e?void 0:e.enabled)?c($s||($s=fs` <div class="grid gap-m sm-grid-cols-2"> <vaadin-password-field .placeholder="${0}" .disabled="${0}" .value="${0}" .label="${0}" autocomplete="off" data-testid="site-key" @change="${0}" @input="${0}"> </vaadin-password-field> <vaadin-password-field .placeholder="${0}" .disabled="${0}" .value="${0}" .label="${0}" autocomplete="off" data-testid="secret-key" @change="${0}" @input="${0}"> </vaadin-password-field> <x-i18n class="sm-col-span-2 text-s text-secondary" lang="${0}" key="sign_up.hcaptcha_explainer" ns="${0}"> </x-i18n> </div> `),this._isI18nReady?this._t("sign_up.site_key_placeholder").toString():"---",this.disabled||!this._isI18nReady,this._isI18nReady?null===(t=this.value)||void 0===t?void 0:t.verification.siteKey:"",this._isI18nReady?this._t("sign_up.site_key_label").toString():"---",(e=>e.stopPropagation()),(e=>{const t=this.__normalizedValue;t.verification.siteKey=e.target.value,this.value=t,this.requestUpdate(),this.__sendChange()}),this._isI18nReady?this._t("sign_up.secret_key_placeholder").toString():"---",this.disabled||!this._isI18nReady,this._isI18nReady?null===(s=this.value)||void 0===s?void 0:s.verification.secretKey:"",this._isI18nReady?this._t("sign_up.secret_key_label").toString():"---",(e=>e.stopPropagation()),(e=>{const t=this.__normalizedValue;t.verification.secretKey=e.target.value,this.value=t,this.requestUpdate(),this.__sendChange()}),this.lang,this.ns):"")}get __normalizedValue(){return this.value?F(this.value):{verification:{type:"hcaptcha",siteKey:"",secretKey:""},enabled:!1}}__sendChange(){this.dispatchEvent(new xs(this.value))}}let ws,ks,Es,Cs,Ss=e=>e;function Rs(e){if(!e.ok)throw new h(401===e.status?"unauthorized":"unknown")}class Is extends CustomEvent{constructor(){super("ready")}}class js extends CustomEvent{constructor(){super("update")}}class Vs extends v{constructor(){super("customer-portal-settings"),this.rel="customer_portal_settings",this.__machine=ms.withConfig({services:{load:()=>this.__load(),save:()=>this.__save()}}),this.__service=L(this.__machine).onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-modification":nt,"x-next-date-modification":zt,"x-session-duration":Se,"x-session-secret":Ve,"x-loading-screen":oe,"x-error-screen":o,"x-origins-list":Ht,"x-sso-switch":Zt,"x-skeleton":E,"x-section":me,"x-sign-up":bs,"x-switch":fe,"x-i18n":w,"x-page":_e}}static get properties(){return n(n({},super.properties),{},{href:{type:String,noAccessor:!0}})}get href(){return this.__service.state.context.href}set href(e){this.__service.send({type:"SET_HREF",data:e})}render(){var e,t,s,i,a,l;if(this.__service.state.matches("error"))return c(ws||(ws=Ss` <x-error-screen data-testid="error" lang="${0}" type="${0}" reload @reload="${0}"> </x-error-screen> `),this.lang,this.__service.state.context.error,this.__reload);const{newResource:r}=this.__service.state.context,d=this.__service.state.matches("idle.dirty.created"),o=this.__service.state.matches("idle.dirty.deleted"),h=this.__service.state.matches("idle.dirty.updated"),u=this.__service.state.matches("idle.clean.enabled"),_=this.__service.state.matches("idle.dirty.updated.invalid")||this.__service.state.matches("idle.dirty.created.invalid");return c(ks||(ks=Ss` <x-page class="relative"> <x-switch slot="title" data-testid="switch" .disabled="${0}" .checked="${0}" @change="${0}"> <x-i18n key="title" class="text-xxl" .ns="${0}" .lang="${0}"> <sup class="text-tertiary"> <x-i18n key="beta" .ns="${0}" .lang="${0}"> </x-i18n> </sup> </x-i18n> </x-switch> <x-i18n class="block mr-xl" slot="subtitle" key="subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-section> <x-i18n slot="title" key="origins.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="origins.subtitle" .ns="${0}" .lang="${0}"></x-i18n> <x-origins-list data-testid="origins" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-origins-list> </x-section> <x-frequency-modification data-testid="fmod" .lang="${0}" .ns="${0}" .value="${0}" ?disabled="${0}" @change="${0}"> </x-frequency-modification> <x-next-date-modification data-testid="ndmod" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-next-date-modification> <x-sso-switch data-testid="sso" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-sso-switch> <x-sign-up data-testid="signup" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-sign-up> <x-section> <x-i18n slot="title" key="advanced.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="advanced.subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-session-duration data-testid="session" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-duration> <x-session-secret data-testid="secret" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-secret> </x-section> ${0} </x-page> `),!this.__service.state.matches("idle")||!this._isI18nReady,u||d||h,(e=>{this.__service.send(e.detail?"ENABLE":"DISABLE")}),this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.lang,this.ns,null!==(e=null==r?void 0:r.allowedOrigins)&&void 0!==e?e:[],!r,(e=>{this.__service.send({type:"SET_ORIGINS",value:e.detail})}),this.lang,this.ns,null!==(t=null==r?void 0:r.subscriptions.allowFrequencyModification)&&void 0!==t?t:[],!r,(e=>{this.__service.send({type:"SET_FREQUENCY_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(s=null==r?void 0:r.subscriptions.allowNextDateModification)&&void 0!==s&&s,!r,(e=>{this.__service.send({type:"SET_NEXT_DATE_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(i=null==r?void 0:r.sso)&&void 0!==i&&i,!r,(e=>{this.__service.send({type:"SET_SSO",value:e.detail})}),!r,null==r?void 0:r.signUp,this.lang,this.ns,(e=>{this.__service.send({type:"SET_SIGN_UP",value:e.detail})}),this.ns,this.lang,this.ns,this.lang,!r||!this._isI18nReady,null!==(a=null==r?void 0:r.sessionLifespanInMinutes)&&void 0!==a?a:1,this.lang,this.ns,(({detail:e})=>{this.__service.send(n({type:"SET_SESSION"},e))}),!r||!this._isI18nReady,null!==(l=null==r?void 0:r.jwtSharedSecret)&&void 0!==l?l:"",this.lang,this.ns,(({detail:e})=>{this.__service.send(n({type:"SET_SECRET"},e))}),this.__service.state.matches("idle.dirty")?c(Es||(Es=Ss` <div class="sticky flex justify-between rounded-t-l rounded-b-l shadow-m -mx-s p-s bg-contrast" style="bottom:var(--lumo-space-m)"> <vaadin-button data-testid="save" theme="primary ${0}" .disabled="${0}" @click="${0}"> <x-i18n lang="${0}" ns="${0}" key="save_${0}"> </x-i18n> </vaadin-button> <vaadin-button style="--lumo-contrast:var(--lumo-base-color)" data-testid="reset" theme="contrast tertiary" @click="${0}"> <x-i18n lang="${0}" key="undo_all"></x-i18n> <iron-icon icon="lumo:reload" slot="suffix"></iron-icon> </vaadin-button> </div> `),o?"error":"success",_,(()=>this.__service.send("SAVE")),this.lang,this.ns,d?"create":o?"delete":"update",(()=>this.__service.send("RESET")),this.lang):this.__service.state.matches("busy")?c(Cs||(Cs=Ss`<x-loading-screen data-testid="loading" class="mt-0"></x-loading-screen>`)):"")}async __reload(){this.__service.stop(),this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}async __load(){if(null===this.href)throw new h("setup_needed");try{await this.updateComplete;const e=await we.emit({source:this,init:[this.href]});let t,s;if(e.status.toString().startsWith("4")){t=null;const e=await we.emit({source:this,init:["/"]});Rs(e);const i=(await e.json())._links["fx:store"].href,a=await we.emit({source:this,init:[i]});Rs(a),s=await a.json()}else{Rs(e),t=await e.json();const i=t._links["fx:store"].href,a=await we.emit({source:this,init:[i]});Rs(a),s=await a.json()}return{store:s,resource:t}}catch(e){if(e instanceof h)throw e;if(e instanceof be)throw new h("setup_needed");throw new h("unknown")}finally{await this.updateComplete,this.dispatchEvent(new Is)}}async __save(){try{const e=this.__service.state.context,t=F(e.newResource),s=t?"PUT":"DELETE";t&&(delete t._links,delete t.date_created,delete t.date_modified);const i={method:s,body:t?JSON.stringify(t):void 0};Rs(await we.emit({source:this,init:[this.href,i]}))}catch(e){if(e instanceof h)throw e;if(e instanceof be)throw new h("setup_needed");throw new h("unknown")}finally{await this.updateComplete,this.dispatchEvent(new js)}}}customElements.define("foxy-customer-portal-settings",Vs);export{Vs as CustomerPortalSettings};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./foxy-customer.js";import"./shared-
|
|
1
|
+
import"./foxy-customer.js";import"./shared-5291bdca.js";import"./shared-54cbd346.js";import"./shared-6d0be1e4.js";import"./shared-f9180815.js";import{I as e}from"./shared-2c92c192.js";import"./foxy-access-recovery-form.js";import"./foxy-payment-method-card.js";import{TransactionsTable as t}from"./foxy-transactions-table.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-customer-form.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as s,B as r,aj as o}from"./shared-1522d76f.js";import{h as i,L as n,c as a}from"./shared-7f33a83a.js";import{A as d}from"./shared-f1e743df.js";import"./shared-250a399a.js";import{C as l}from"./shared-e8621807.js";import{a as c,T as m}from"./shared-ecd5eb1b.js";import{i as u}from"./shared-d3bf9ac0.js";import{c as h}from"./shared-4e709717.js";import{A as p}from"./shared-07e9d1fb.js";import{C as f}from"./shared-b23c903e.js";import{I as g}from"./shared-30cbf0a6.js";import"./shared-a1d39ddd.js";import"./foxy-attribute-card.js";import"./shared-6a7f96c4.js";import"./shared-343d1fd7.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-15dfa16d.js";import"./foxy-attribute-form.js";import"./shared-0ffe26d8.js";import"./shared-ec59505f.js";import"./shared-264c82b8.js";import"./shared-85712eed.js";import"./shared-d8ca5c87.js";import"./shared-06916671.js";import"./shared-6ffa9f84.js";import"./shared-452e38da.js";import"./shared-5f1f0d8f.js";import"./shared-92dd9964.js";import"./shared-5db2fec0.js";import"./shared-b984ab7c.js";import"./shared-3d95605f.js";import"./shared-11c2efc8.js";import"./shared-63d11888.js";import"./shared-8d99b885.js";import"./shared-0961f769.js";import"./shared-979e24ec.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-table.js";import"./shared-b113467e.js";import"./foxy-nucleon-element.js";import"./shared-61b1fd60.js";import"./shared-e9276306.js";import"./shared-d7be11de.js";import"./shared-eacc4539.js";import"./shared-f3cd4d07.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-745a575c.js";import"./shared-3bd99d11.js";import"./foxy-cancellation-form.js";import"./shared-43e2c3f6.js";import"./shared-79d0699c.js";import"./shared-4105aacf.js";import"./foxy-transaction-card.js";import"./foxy-customer-card.js";import"./foxy-item-card.js";import"./shared-87142858.js";import"./shared-d1265ca0.js";import"./shared-d519a301.js";import"./shared-f8d1abc9.js";import"./shared-c43cd1fa.js";import"./shared-835cf735.js";import"./shared-3f3903d4.js";import"./shared-b738ee96.js";import"./shared-87f55237.js";import"./shared-87824001.js";let $,y,v=e=>e;class b extends(c(m(l),"customer-portal")){constructor(){super(...arguments),this.transactionsTableColumns=[t.priceColumn,t.summaryColumn,t.statusColumn,t.idColumn,t.dateColumn,t.receiptColumn],this.group=""}static get properties(){return s(s({},super.properties),{},{transactionsTableColumns:{attribute:!1},group:{type:String}})}render(){let e;try{e=new URL("./customer_portal_settings",this.base).toString()}catch(t){e=void 0}return this.api.storage.getItem(d.SESSION)?i($||($=v` <foxy-internal-customer-portal-logged-in-view customer="${0}" class="h-full" infer="" href="${0}" .transactionsTableColumns="${0}"> </foxy-internal-customer-portal-logged-in-view> `),this.base,u(e),this.transactionsTableColumns):i(y||(y=v` <foxy-internal-customer-portal-logged-out-view class="h-full" infer="" href="${0}"> </foxy-internal-customer-portal-logged-out-view> `),u(e))}}let S,x,_,j,T=e=>e;class k extends(m(n)){constructor(){super(...arguments),this.disabled=!1,this.href="",this.icon=""}static get properties(){return s(s({},super.properties),{},{disabled:{type:Boolean},href:{type:String},icon:{type:String}})}render(){const e=h({"flex-auto font-medium tracking-wide text-s rounded-s transition-colors":!0,"hover-text-primary hover-cursor-pointer":!this.disabled,"focus-outline-none focus-ring-2 ring-primary-50 ring-offset-2":!this.disabled,"text-disabled cursor-default":this.disabled}),t=i(S||(S=T` ${0} <slot></slot> `),this.icon?i(x||(x=T`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"");return this.disabled?i(_||(_=T`<button class="${0}" disabled="disabled">${0}</button>`),e,t):i(j||(j=T` <a class="${0}" href="${0}" rel="nofollow noopener">${0}</a> `),e,this.href,t)}}let O,w,z,R,E,U,N,A,C=e=>e;const H=c(e);let I,F,L,q,P,B,D,G,J,K,M,Q,V,W,X,Y=e=>e;const Z=c(e);const ee=["html"],te=["html"];let se,re,oe,ie,ne,ae,de,le,ce,me,ue,he,pe=e=>e;const fe=c(f(m(g(n))));let ge,$e,ye,ve=e=>e;const be=f(m(c(g(n),"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends H{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.transactionsTableColumns=[],this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var t,s,r,o,n;const a="customer:header:actions:sign-out",d=this.loggingOutState,l=this.disabledSelector.matches(a)||!(null===(t=this.__customerElement)||void 0===t?void 0:t.in({idle:"snapshot"}))||"idle"!==d,c={"border-radius":"100%",padding:"var(--lumo-space-xs)",display:"flex",margin:"0",cursor:l?"default":"pointer"};return i(O||(O=C` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="${0}" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t("sign_out").toString(),Object.entries(c).reduce(((e,[t,s])=>`${e}${t}:${s};`),""),l,(async function(){try{e.loggingOutState="busy",await new p(e).fetch("foxy://customer-api/session",{method:"DELETE"}),e.loggingOutState="idle"}catch(t){e.loggingOutState="fail",e.loggingOutStateResetTimeout=setTimeout((()=>{e.loggingOutState="idle",e.loggingOutStateResetTimeout=null}),1e3)}}),"idle"===d?i(w||(w=C`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):i(z||(z=C` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0}"> </foxy-spinner> `),"fail"===d?"error":"busy",this.lang,[this.ns,null!==(r=null===(s=customElements.get("foxy-customer"))||void 0===s?void 0:s.defaultNS)&&void 0!==r?r:"",null!==(n=null===(o=customElements.get("foxy-spinner"))||void 0===o?void 0:o.defaultNS)&&void 0!==n?n:""].join(" ")),this.renderTemplateOrSlot(`${a}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(R||(R=C`
|
|
2
2
|
${0}
|
|
3
3
|
|
|
4
4
|
<foxy-internal-customer-portal-subscriptions
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-6d0be1e4.js";import"./shared-54cbd346.js";import{h as t}from"./shared-a1d39ddd.js";import"./shared-5291bdca.js";import"./shared-f9180815.js";import"./foxy-payment-method-card.js";import"./foxy-subscription-form.js";import"./foxy-form-dialog.js";import"./foxy-transactions-table.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-customer-form.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-15dfa16d.js";import{aj as e,_ as s}from"./shared-1522d76f.js";import{L as r,h as a,c as o}from"./shared-7f33a83a.js";import{C as i}from"./shared-b23c903e.js";import"./shared-ec59505f.js";import"./shared-6ffa9f84.js";import{w as h,S as d,T as n,a as l}from"./shared-ecd5eb1b.js";import{c as m}from"./shared-4e709717.js";import"./shared-452e38da.js";import"./shared-06916671.js";import{S as c}from"./shared-63d11888.js";import"./shared-5f1f0d8f.js";import"./shared-264c82b8.js";import"./shared-92dd9964.js";import"./shared-5db2fec0.js";import"./shared-b984ab7c.js";import{G as v}from"./shared-0961f769.js";import"./shared-85712eed.js";import{N as p}from"./shared-6a7f96c4.js";import{S as f}from"./shared-61b1fd60.js";import{i as g}from"./shared-d3bf9ac0.js";import"./shared-d8ca5c87.js";import"./shared-d7be11de.js";import"./foxy-nucleon-element.js";import"./shared-07e9d1fb.js";import"./shared-343d1fd7.js";import"./shared-3ab0306f.js";import"./shared-30cbf0a6.js";import"./shared-eb116b3e.js";import"./shared-2c92c192.js";import"./shared-eacc4539.js";import"./shared-f3cd4d07.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-745a575c.js";import"./shared-3bd99d11.js";import"./foxy-cancellation-form.js";import"./shared-43e2c3f6.js";import"./shared-79d0699c.js";import"./shared-4105aacf.js";import"./shared-0ffe26d8.js";import"./shared-11c2efc8.js";import"./shared-8d99b885.js";import"./shared-3d95605f.js";import"./foxy-transaction-card.js";import"./foxy-customer-card.js";import"./foxy-item-card.js";import"./shared-87142858.js";import"./shared-d1265ca0.js";import"./shared-e9276306.js";import"./shared-f1e743df.js";import"./shared-250a399a.js";import"./shared-b113467e.js";import"./shared-d519a301.js";import"./shared-979e24ec.js";import"./shared-f8d1abc9.js";import"./shared-c43cd1fa.js";import"./shared-835cf735.js";import"./shared-3f3903d4.js";import"./shared-b738ee96.js";let z,u,b,$=t=>t;class H extends r{constructor(){super(...arguments),this.value=0,this.size=0}static get properties(){return{value:{type:Number},size:{type:Number}}}static get styles(){return h.styles}render(){const t=[],e=[];for(let s=0;s<this.size;++s)t.push(a(z||(z=$` <button id="tab-${0}" role="tab" class="${0}" aria-controls="panel-${0}" aria-selected="${0}" @click="${0}" @keydown="${0}"> <slot name="tab-${0}"></slot> </button> `),s,m({"text-l font-medium px-s rounded focus-outline-none focus-shadow-outline":!0,"text-tertiary hover-text-body focus-text-body":this.value!==s}),s,this.value===s,(()=>this.value=s),this.__handleKeyDown,s)),e.push(a(u||(u=$` <slot id="panel-${0}" role="tabpanel" name="panel-${0}" class="${0}" aria-hidden="${0}" aria-labelledby="tab-${0}"> </slot> `),s,s,m({hidden:this.value!==s}),this.value!==s,s));return a(b||(b=$` <div role="tablist" aria-orientation="horizontal" class="-mx-s mb-s">${0}</div> ${0} `),t,e)}__handleKeyDown(t){if(t.key.startsWith("Arrow")){t.preventDefault();const e=t.target;let s=null;"ArrowRight"===t.key||"ArrowDown"===t.key?s=e.nextElementSibling:"ArrowLeft"!==t.key&&"ArrowUp"!==t.key||(s=e.previousElementSibling),null==s||s.click(),null==s||s.focus()}}}
|
|
2
2
|
/**
|
|
3
3
|
@license
|
|
4
4
|
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
|
|
@@ -79,7 +79,7 @@ found at http://polymer.github.io/PATENTS.txt
|
|
|
79
79
|
<g id="vertical-align-top"><path d="M8 11h3v10h2V11h3l-4-4-4 4zM4 3v2h16V3H4z"></path></g>
|
|
80
80
|
<g id="wrap-text"><path d="M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3 3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"></path></g>
|
|
81
81
|
</defs></svg>
|
|
82
|
-
</iron-iconset-svg>`;document.head.appendChild(y.content);let x;const V=o(x||(x=(t=>t)`:host{--tile-width:16rem}.w-tile{width:var(--tile-width)}.w-payment-method-card{width:calc(var(--tile-width) + ((var(--lumo-space-m) * 2)) + 2px)}`)),M=["html"];let S,_,j,L,T,w,k,A,C,O,E,N,P,R,q,D,U,K,G,W,B,F,I,J,Q,X,Y=t=>t;const Z=d(i(n(l(p,"customer"))));class tt extends Z{constructor(){super(...arguments),this.templates={},this.settings=null,this.__renderHeaderActionsEdit=()=>{const{readonlySelector:t,disabledSelector:e,hiddenSelector:s}=this,r="header:actions:edit:form",o="customer-dialog",i=!this.in({idle:"snapshot"})||e.matches("header:actions:edit",!0);return a(S||(S=Y` ${0} <foxy-form-dialog data-testid="header:actions:edit:form" header="update" parent="${0}" group="${0}" href="${0}" form="foxy-customer-form" lang="${0}" ns="${0}" id="${0}" readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" .templates="${0}" .props="${0}"> </foxy-form-dialog> <vaadin-button data-testid="header:actions:edit" aria-label="${0}" class="px-xs rounded-full" theme="icon" ?disabled="${0}" @click="${0}"> <iron-icon icon="editor:mode-edit"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("header:actions:edit:before"),this.parent,this.group,this.href,this.lang,this.ns,o,t.zoom(r).toString(),e.zoom(r).toString(),s.zoom(r).toString(),this.getNestedTemplates("header:actions:edit:form"),{".settings":this.settings},this.t("update").toString(),i,(t=>{this.renderRoot.querySelector(`#${o}`).show(t.currentTarget)}),this.renderTemplateOrSlot("header:actions:edit:after"))},this.__renderHeaderActions=()=>{const t=this.hiddenSelector.zoom("header:actions");return a(_||(_=Y` <div class="flex" data-testid="header:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("header:actions:before"),t.matches("edit",!0)?"":this.__renderHeaderActionsEdit(),this.renderTemplateOrSlot("header:actions:after"))},this.__renderHeader=()=>{const t=
|
|
82
|
+
</iron-iconset-svg>`;document.head.appendChild(y.content);let x;const V=o(x||(x=(t=>t)`:host{--tile-width:16rem}.w-tile{width:var(--tile-width)}.w-payment-method-card{width:calc(var(--tile-width) + ((var(--lumo-space-m) * 2)) + 2px)}`)),M=["html"];let S,_,j,L,T,w,k,A,C,O,E,N,P,R,q,D,U,K,G,W,B,F,I,J,Q,X,Y=t=>t;const Z=d(i(n(l(p,"customer"))));class tt extends Z{constructor(){super(...arguments),this.templates={},this.settings=null,this.__renderHeaderActionsEdit=()=>{const{readonlySelector:t,disabledSelector:e,hiddenSelector:s}=this,r="header:actions:edit:form",o="customer-dialog",i=!this.in({idle:"snapshot"})||e.matches("header:actions:edit",!0);return a(S||(S=Y` ${0} <foxy-form-dialog data-testid="header:actions:edit:form" header="update" parent="${0}" group="${0}" href="${0}" form="foxy-customer-form" lang="${0}" ns="${0}" id="${0}" readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" .templates="${0}" .props="${0}"> </foxy-form-dialog> <vaadin-button data-testid="header:actions:edit" aria-label="${0}" class="px-xs rounded-full" theme="icon" ?disabled="${0}" @click="${0}"> <iron-icon icon="editor:mode-edit"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("header:actions:edit:before"),this.parent,this.group,this.href,this.lang,this.ns,o,t.zoom(r).toString(),e.zoom(r).toString(),s.zoom(r).toString(),this.getNestedTemplates("header:actions:edit:form"),{".settings":this.settings},this.t("update").toString(),i,(t=>{this.renderRoot.querySelector(`#${o}`).show(t.currentTarget)}),this.renderTemplateOrSlot("header:actions:edit:after"))},this.__renderHeaderActions=()=>{const t=this.hiddenSelector.zoom("header:actions");return a(_||(_=Y` <div class="flex" data-testid="header:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("header:actions:before"),t.matches("edit",!0)?"":this.__renderHeaderActionsEdit(),this.renderTemplateOrSlot("header:actions:after"))},this.__renderHeader=()=>{const t=g(this.in("busy")?void 0:"static");return a(j||(j=Y` ${0} <header class="flex items-center justify-between space-x-m pb-s border-b border-contrast-10" data-testid="header"> <h1 class="text-xxl font-medium truncate min-w-0 flex-1"> ${0} </h1> ${0} </header> ${0} `),this.renderTemplateOrSlot("header:before"),this.in({idle:"snapshot"})?a(L||(L=Y`${0} ${0}`),this.data.first_name,this.data.last_name):a(T||(T=Y`<x-skeleton class="w-full" variant="${0}"> </x-skeleton>`),t),this.hiddenSelector.matches("header:actions",!0)?"":this.__renderHeaderActions(),this.renderTemplateOrSlot("header:after"))},this.__renderAddressesActionsCreate=()=>{var t;const{data:e,lang:s,ns:r}=this,o=this.disabledSelector.zoom("addresses:actions"),i=this.readonlySelector.zoom("addresses:actions"),h=this.hiddenSelector.zoom("addresses:actions"),d=!this.in({idle:"snapshot"})||o.matches("create",!0);return a(w||(w=Y` ${0} <vaadin-button data-testid="addresses:actions:create" aria-label="${0}" class="px-xs rounded-full" theme="small icon" ?disabled="${0}" @click="${0}"> <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testid="addresses:actions:create:form" parent="${0}" header="create" group="${0}" form="foxy-address-form" lang="${0}" ns="${0}" id="address-dialog" .templates="${0}"> </foxy-form-dialog> <iron-icon slot="suffix" icon="icons:add"></iron-icon> </vaadin-button> ${0} `),this.renderTemplateOrSlot("addresses:actions:create:before"),this.t("create").toString(),d,(t=>{if(null===e)return;const s=t.target;s.firstElementChild.show(s)}),i.zoom("create:form").toString(),o.zoom("create:form").toString(),h.zoom("create:form").toString(),null!==(t=null==e?void 0:e._links["fx:customer_addresses"].href)&&void 0!==t?t:"",this.group,s,r,this.getNestedTemplates("addresses:actions:create:form"),this.renderTemplateOrSlot("addresses:actions:create:after"))},this.__renderAddressesActions=()=>{const t=this.hiddenSelector.zoom("addresses:actions");return a(k||(k=Y` <div data-testid="addresses:actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("addresses:actions:before"),t.matches("create",!0)?"":this.__renderAddressesActionsCreate(),this.renderTemplateOrSlot("addresses:actions:after"))},this.__renderAddressesListCard=t=>{var e,s;const r=m({"snap-start text-left p-m rounded-t-l rounded-b-l flex-shrink-0":!0,"border border-contrast-10":!0,"hover-border-contrast-30 focus-outline-none focus-border-primary":null!==t.data}),o=this.readonlySelector.matches("addresses:list:card",!0),i=this.disabledSelector.matches("addresses:list:card",!0);return a(A||(A=Y` <button data-testclass="addresses:list:card" class="${0}" ?disabled="${0}" @click="${0}"> <foxy-address-card hiddencontrols="${0}" parent="${0}" class="w-tile" group="${0}" lang="${0}" href="${0}" ns="${0} ${0}" .templates="${0}"> </foxy-address-card> </button> `),r,!t.data||o||i,(e=>{if(null===t.data)return;const s=e.target,r=s.getRootNode().querySelector("#addresses-list-form");r.href=t.data._links.self.href,r.show(s)}),t.hiddenControls.toString(),t.parent,t.group,t.lang,t.href,t.ns,null!==(s=null===(e=customElements.get("foxy-address-card"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"",t.templates)},this.__renderAddressesListPage=t=>t.html(C||(C=Y`
|
|
83
83
|
<foxy-collection-page
|
|
84
84
|
hiddencontrols=${0}
|
|
85
85
|
class="space-x-m flex"
|
|
@@ -110,7 +110,7 @@ found at http://polymer.github.io/PATENTS.txt
|
|
|
110
110
|
>
|
|
111
111
|
</foxy-attribute-card>
|
|
112
112
|
</button>
|
|
113
|
-
`),r,null===t.data,(e=>{if(null===t.data)return;const s=e.target,r=s.getRootNode().querySelector("#attributes-list-form");r.href=t.data._links.self.href,r.show(s)}),t.hiddenControls.toString(),t.parent,t.group,t.lang,t.href,t.ns,null!==(s=null===(e=customElements.get("foxy-attribute-card"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"",t.templates)},this.__renderAttributesListPage=t=>a(U||(U=Y` <foxy-collection-page hiddencontrols="${0}" class="space-x-m flex" group="${0}" lang="${0}" href="${0}" ns="${0}" .item="${0}" .templates="${0}"> </foxy-collection-page> `),t.hiddenControls.toString(),t.group,t.lang,t.href,t.ns,this.__renderAttributesListCard,t.templates),this.__renderAttributesList=()=>{var t,e,s,r;const o="attributes:list:form",i="attributes:list:card";return a(K||(K=Y` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testclass="i18n" data-testid="attributes:list:form" parent="${0}" header="update" group="${0}" form="foxy-attribute-form" lang="${0}" ns="${0}" id="attributes-list-form" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages hiddencontrols="${0}" data-testid="attributes:list" first="${0}" class="snap-x-mandatory flex items-center space-x-m overflow-auto" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("attributes:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:attributes"].href)&&void 0!==e?e:"",this.group,this.lang,this.ns,this.getNestedTemplates(o),this.hiddenControls.zoom(i).toString(),null!==(r=null===(s=this.data)||void 0===s?void 0:s._links["fx:attributes"].href)&&void 0!==r?r:"",this.group,this.lang,this.ns,this.__renderAttributesListPage,this.getNestedTemplates(i),this.renderTemplateOrSlot("attributes:list:after"))},this.__renderAttributes=()=>{const{lang:t,ns:e}=this,s=this.hiddenSelector.zoom("attributes");return a(G||(G=Y` ${0} <section class="pt-m" data-testid="attributes"> <header class="space-x-m flex items-center mb-s"> <h2 class="text-l font-medium"> <foxy-i18n ns="${0}" lang="${0}" key="attribute_plural"></foxy-i18n> </h2> ${0} </header> ${0} </section> ${0} `),this.renderTemplateOrSlot("attributes:before"),e,t,s.matches("actions",!0)?"":this.__renderAttributesActions(),s.matches("list",!0)?"":this.__renderAttributesList(),this.renderTemplateOrSlot("attributes:after"))},this.__renderTransactions=()=>{let t="";if(this.in({idle:"snapshot"})){const e=new URL(this.data._links["fx:transactions"].href);e.searchParams.set("zoom","items"),t=e.toString()}return a(W||(W=Y` ${0} <x-group frame> <foxy-collection-pages data-testid="transactions" spinner="foxy-spinner" first="${0}" class="divide-y divide-contrast-10 block mx-m" group="${0}" page="foxy-transactions-table" lang="${0}" ns="${0}" .templates="${0}"> </foxy-collection-pages> </x-group> ${0} `),this.renderTemplateOrSlot("transactions:before"),t,this.group,this.lang,this.ns,this.getNestedTemplates("transactions:table"),this.renderTemplateOrSlot("transactions:after"))},this.__subscriptionsTableColumns=[
|
|
113
|
+
`),r,null===t.data,(e=>{if(null===t.data)return;const s=e.target,r=s.getRootNode().querySelector("#attributes-list-form");r.href=t.data._links.self.href,r.show(s)}),t.hiddenControls.toString(),t.parent,t.group,t.lang,t.href,t.ns,null!==(s=null===(e=customElements.get("foxy-attribute-card"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"",t.templates)},this.__renderAttributesListPage=t=>a(U||(U=Y` <foxy-collection-page hiddencontrols="${0}" class="space-x-m flex" group="${0}" lang="${0}" href="${0}" ns="${0}" .item="${0}" .templates="${0}"> </foxy-collection-page> `),t.hiddenControls.toString(),t.group,t.lang,t.href,t.ns,this.__renderAttributesListCard,t.templates),this.__renderAttributesList=()=>{var t,e,s,r;const o="attributes:list:form",i="attributes:list:card";return a(K||(K=Y` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" data-testclass="i18n" data-testid="attributes:list:form" parent="${0}" header="update" group="${0}" form="foxy-attribute-form" lang="${0}" ns="${0}" id="attributes-list-form" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages hiddencontrols="${0}" data-testid="attributes:list" first="${0}" class="snap-x-mandatory flex items-center space-x-m overflow-auto" group="${0}" lang="${0}" ns="${0}" .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("attributes:list:before"),this.readonlySelector.zoom(o).toString(),this.disabledSelector.zoom(o).toString(),this.hiddenSelector.zoom(o).toString(),null!==(e=null===(t=this.data)||void 0===t?void 0:t._links["fx:attributes"].href)&&void 0!==e?e:"",this.group,this.lang,this.ns,this.getNestedTemplates(o),this.hiddenControls.zoom(i).toString(),null!==(r=null===(s=this.data)||void 0===s?void 0:s._links["fx:attributes"].href)&&void 0!==r?r:"",this.group,this.lang,this.ns,this.__renderAttributesListPage,this.getNestedTemplates(i),this.renderTemplateOrSlot("attributes:list:after"))},this.__renderAttributes=()=>{const{lang:t,ns:e}=this,s=this.hiddenSelector.zoom("attributes");return a(G||(G=Y` ${0} <section class="pt-m" data-testid="attributes"> <header class="space-x-m flex items-center mb-s"> <h2 class="text-l font-medium"> <foxy-i18n ns="${0}" lang="${0}" key="attribute_plural"></foxy-i18n> </h2> ${0} </header> ${0} </section> ${0} `),this.renderTemplateOrSlot("attributes:before"),e,t,s.matches("actions",!0)?"":this.__renderAttributesActions(),s.matches("list",!0)?"":this.__renderAttributesList(),this.renderTemplateOrSlot("attributes:after"))},this.__renderTransactions=()=>{let t="";if(this.in({idle:"snapshot"})){const e=new URL(this.data._links["fx:transactions"].href);e.searchParams.set("zoom","items"),t=e.toString()}return a(W||(W=Y` ${0} <x-group frame> <foxy-collection-pages data-testid="transactions" spinner="foxy-spinner" first="${0}" class="divide-y divide-contrast-10 block mx-m" group="${0}" page="foxy-transactions-table" lang="${0}" ns="${0}" .templates="${0}"> </foxy-collection-pages> </x-group> ${0} `),this.renderTemplateOrSlot("transactions:before"),t,this.group,this.lang,this.ns,this.getNestedTemplates("transactions:table"),this.renderTemplateOrSlot("transactions:after"))},this.__subscriptionsTableColumns=[f.priceColumn,f.summaryColumn,f.statusColumn,{cell:({html:t,lang:e,data:s})=>t(B||(B=Y`
|
|
114
114
|
<vaadin-button
|
|
115
115
|
data-testclass="edit"
|
|
116
116
|
theme="small tertiary-inline"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./foxy-spinner.js";import"./shared-
|
|
1
|
+
import"./foxy-spinner.js";import"./shared-15dfa16d.js";import{T as s}from"./shared-b113467e.js";import{a}from"./shared-ecd5eb1b.js";import{h as e}from"./shared-7f33a83a.js";import"./shared-6d0be1e4.js";import"./shared-a1d39ddd.js";import"./shared-54cbd346.js";import"./shared-1522d76f.js";import"./shared-30cbf0a6.js";import"./shared-343d1fd7.js";import"./shared-b23c903e.js";import"./shared-d3bf9ac0.js";import"./foxy-nucleon-element.js";import"./shared-6a7f96c4.js";import"./shared-07e9d1fb.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-4e709717.js";let t,d,n,o,r=s=>s;class m extends(a(s,"customers-table")){constructor(){super(...arguments),this.columns=[m.nameColumn,m.idColumn,m.dateColumn,m.emailColumn]}}m.nameColumn={cell:s=>e(t||(t=r` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},m.idColumn={hideBelow:"md",cell:s=>e(d||(d=r` <span role="presentation" class="text-m text-tertiary">ID </span> <span data-testclass="ids" class="text-m text-secondary font-tnum">${0}</span> `),s.data.id)},m.dateColumn={hideBelow:"md",cell:s=>e(n||(n=r` <span class="text-m text-secondary font-tnum"> <foxy-i18n data-testclass="i18n" lang="${0}" key="date_created" ns="${0}"> </foxy-i18n> <foxy-i18n data-testclass="dates i18n" lang="${0}" key="date" ns="${0}" .options="${0}"> </foxy-i18n> </span> `),s.lang,s.ns,s.lang,s.ns,{value:s.data.date_created})},m.emailColumn={cell:s=>e(o||(o=r`<span data-testclass="emails" class="text-m text-secondary">${0}</span>`),s.data.email)},m.__ns="customers-table",customElements.define("foxy-customers-table",m);export{m as CustomersTable};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-
|
|
1
|
+
import"./shared-15dfa16d.js";import{_ as e}from"./shared-1522d76f.js";import{h as t,L as s}from"./shared-7f33a83a.js";import{r}from"./shared-d519a301.js";import{C as i}from"./shared-b23c903e.js";import{I as n}from"./shared-30cbf0a6.js";import{T as a,a as o}from"./shared-ecd5eb1b.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-bb05cfed.js";import"./shared-343d1fd7.js";import"./shared-d3bf9ac0.js";let c,u,h,p,m,b,f,y,g=e=>e;const v=a(i(o(n(s),"discount-builder")));class $ extends v{constructor(){super(...arguments),this.value=null}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){var e;let t="",s="",r="quantity_amount";try{const[[i,n]]=Array.from(new URLSearchParams(null!==(e=this.value)&&void 0!==e?e:"").entries()),a=i.substring(9);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(a)&&(r=a);const o=n.indexOf("{"),l=n.lastIndexOf("}");-1!==o&&-1!==l&&(t=n.substring(o+1,l),s=n.substring(0,o))}catch(e){}return 0===s.length&&(s="Discount"),{type:r,name:s,details:t}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var s;const i=this.parsedValue.details.split("|").filter((e=>!!e.trim())),n=null!==(s=/[-+]/.test(i[0])?null:i.shift())&&void 0!==s?s:"single",a="repeat"===n?[i[0]]:[...i,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return t(c||(c=g` <div class="space-y-s"> ${0} </div> `),r(a,((t,s)=>this.__renderTier({source:l,method:n,units:d,tier:t,onChange:r=>{var a,o,c;const u=null!==(a=r.method)&&void 0!==a?a:n,h=null!==(o=r.source)&&void 0!==o?o:l,p=null!==(c=r.units)&&void 0!==c?c:d,m=r.tier,b=[...i];if(m){const e=t?s:b.length,r=t?1:0;b.splice(e,r,m)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${h}_${p}`,details:`${u}|${b.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=i.filter(((e,t)=>t!==s)),r=`${n}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:r}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:s,options:r,onChange:i}){const n=!this.disabled&&!this.readonly;return t(u||(u=g` <label class="${0}"> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 w-full focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded-s pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),e,this.t(r[s]),!n,(e=>{const t=e.currentTarget;i(t.options[t.selectedIndex].value)}),Object.entries(r).map((([e,r])=>t(h||(h=g` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===s,this.t(r)))))}__renderSwitch({value:e,options:s,onChange:r}){const i=!this.disabled&&!this.readonly,n=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return t(p||(p=g` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),l({"h-xs px-xs space-x-xs flex items-center rounded-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":i,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":i,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!i)return;t.currentTarget.querySelector("input").focus(),r(0===e?1:0)}),s.map(((s,a)=>t(m||(m=g` <label> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),l({"sr-only":a!==e}),s,s,n,!i,a===e,(e=>{e.currentTarget.checked&&r(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:s,onChange:r}){const i=!this.disabled&&!this.readonly,n=e.toString().length;return t(b||(b=g` <label> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <input data-testclass="interactive editable" style="width:calc(var(--lumo-size-xl) * ${0})" class="${0}" type="number" lang="${0}" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),s,n<=2?1:2.5,l({"transition-colors border p-xs h-xs font-medium text-m rounded-s":!0,"ring-primary-50 text-body bg-contrast-10":i,"hover-bg-contrast-20":i,"focus-outline-none focus-ring-2":i,"text-disabled bg-contrast-5":this.disabled,"text-secondary":this.readonly&&!this.disabled,"border-transparent border-solid":!this.readonly,"border-dashed border-contrast-30":this.readonly}),this.lang,!i,e,(e=>{const t=e.currentTarget;r(t.value||"0")}))}__renderTier(e){var s;const r=null!==(s=e.tier)&&void 0!==s?s:"0-0",i=r.includes("+")?"+":"-",[n,a]=r.split(/[-+]/).map((e=>parseFloat(e)));return t(f||(f=g` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_if"></foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_then"></foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-medium" infer="" key="tier_by"></foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"flex items-start justify-between rounded":!0,"border border-contrast-10":!0,"border-dashed":!e.tier}),l({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!this.disabled,"text-disabled":this.disabled}),this.__renderSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),d,this.__renderField({label:"from",value:String(n),onChange:t=>e.onChange({tier:`${t}${i}${a}`})}),this.__renderSwitch({options:["reduce","increase"],value:"-"===i?0:1,onChange:t=>e.onChange({tier:`${n}${t?"+":"-"}${a}`})}),this.__renderSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${n}${i}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?t(y||(y=g` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),l({"w-s h-s m-s flex-shrink-0 rounded-s transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!this.disabled,"text-disabled cursor-default":this.disabled}),this.disabled,this.readonly,(()=>e.onDelete())):"")}}customElements.define("foxy-discount-builder",$);export{$ as DiscountBuilder};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-f9180815.js";import"./foxy-spinner.js";import"./shared-
|
|
1
|
+
import"./shared-f9180815.js";import"./foxy-spinner.js";import"./shared-15dfa16d.js";import{h as r}from"./shared-7f33a83a.js";import{a as s}from"./shared-ecd5eb1b.js";import{T as e}from"./shared-25edf241.js";import"./shared-6d0be1e4.js";import"./shared-a1d39ddd.js";import"./shared-54cbd346.js";import"./shared-1522d76f.js";import"./shared-30cbf0a6.js";import"./shared-343d1fd7.js";import"./shared-b23c903e.js";import"./shared-d3bf9ac0.js";import"./shared-d1265ca0.js";import"./shared-6a7f96c4.js";import"./shared-07e9d1fb.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-4e709717.js";let t,a,i=r=>r;class o extends(s(e,"discount-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0} • ${0}`),s.name,s.code),subtitle:s=>r(a||(a=i` <foxy-i18n options="${0}" class="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({currencyDisplay:this.__currencyDisplay,amount:`${s.amount} ${this.__currency}`}),s.amount>=0?"text-success":"text-error",this.lang,this.ns)})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-card",o);export{o as DiscountCard};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./shared-f9180815.js";import"./foxy-spinner.js";import"./shared-
|
|
1
|
+
import"./shared-f9180815.js";import"./foxy-spinner.js";import"./shared-15dfa16d.js";import{h as r}from"./shared-7f33a83a.js";import{a as s}from"./shared-ecd5eb1b.js";import{T as e}from"./shared-25edf241.js";import"./shared-6d0be1e4.js";import"./shared-a1d39ddd.js";import"./shared-54cbd346.js";import"./shared-1522d76f.js";import"./shared-30cbf0a6.js";import"./shared-343d1fd7.js";import"./shared-b23c903e.js";import"./shared-d3bf9ac0.js";import"./shared-d1265ca0.js";import"./shared-6a7f96c4.js";import"./shared-07e9d1fb.js";import"./shared-3ab0306f.js";import"./shared-eb116b3e.js";import"./shared-4e709717.js";let t,a,i=r=>r;const c=s(e,"discount-detail-card");class d extends c{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0}`),s.name),subtitle:s=>{let e;try{e=Math.abs(s.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){e="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),s.amount_per>0?"text-success":"text-error",e)}})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-detail-card",d);export{d as DiscountDetailCard};
|