@foxy.io/elements 1.18.0-beta.20 → 1.18.0-beta.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +1 -1
- 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-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-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-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 +1 -1
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-email-template-card.js +1 -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-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 +2 -2
- 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 +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -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-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +5 -5
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.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 +1 -1
- 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-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-39b184de.js → shared-08156595.js} +1 -1
- package/dist/cdn/shared-0821cfdc.js +1 -0
- package/dist/cdn/{shared-23bf6ee6.js → shared-08e27fe9.js} +3 -3
- package/dist/cdn/{shared-68e0cf30.js → shared-0ce006b9.js} +1 -1
- package/dist/cdn/shared-1000b848.js +1 -0
- package/dist/cdn/{shared-d384d6a3.js → shared-101d1234.js} +2 -2
- package/dist/cdn/{shared-7d658c02.js → shared-1c94a156.js} +1 -1
- package/dist/cdn/{shared-3ca1e8e4.js → shared-2092d86f.js} +1 -1
- package/dist/cdn/shared-21679ebd.js +1 -0
- package/dist/cdn/{shared-dbd4a5e8.js → shared-2add595d.js} +1 -1
- package/dist/cdn/{shared-1e94e6dd.js → shared-2cc638ad.js} +1 -1
- package/dist/cdn/{shared-0d4f9b06.js → shared-39c10b22.js} +1 -1
- package/dist/cdn/{shared-e99fa3d6.js → shared-404aa9cc.js} +1 -1
- package/dist/cdn/{shared-17c1eab2.js → shared-4849ef5b.js} +1 -1
- package/dist/cdn/shared-486d7bb5.js +1 -0
- package/dist/cdn/{shared-0f649dc6.js → shared-4f9d2417.js} +5 -5
- package/dist/cdn/{shared-413415b0.js → shared-5378bd8c.js} +1 -1
- package/dist/cdn/{shared-a90a5235.js → shared-5a4829e3.js} +1 -1
- package/dist/cdn/{shared-90c7dbdb.js → shared-5b177708.js} +1 -1
- package/dist/cdn/{shared-5b3ae513.js → shared-5ea18e60.js} +1 -1
- package/dist/cdn/{shared-ae588315.js → shared-62a54a6c.js} +1 -1
- package/dist/cdn/{shared-2f6e33b6.js → shared-62c088b7.js} +1 -1
- package/dist/cdn/{shared-5c6eb602.js → shared-639c666f.js} +1 -1
- package/dist/cdn/{shared-21689ac0.js → shared-6581241a.js} +1 -1
- package/dist/cdn/{shared-df462496.js → shared-6cb1015f.js} +1 -1
- package/dist/cdn/{shared-179ff8af.js → shared-71d8d167.js} +1 -1
- package/dist/cdn/{shared-cdc183c5.js → shared-71f2ef1f.js} +1 -1
- package/dist/cdn/{shared-9d7bbdd8.js → shared-744cf66b.js} +1 -1
- package/dist/cdn/{shared-a343ec6b.js → shared-7d4fb1a2.js} +1 -1
- package/dist/cdn/{shared-5ada1ccb.js → shared-80fc2b6a.js} +1 -1
- package/dist/cdn/{shared-034c6aeb.js → shared-83596b46.js} +1 -1
- package/dist/cdn/shared-868065de.js +1 -0
- package/dist/cdn/{shared-2b2002ac.js → shared-88c4cfec.js} +1 -1
- package/dist/cdn/{shared-cf784db1.js → shared-8dd0af4d.js} +1 -1
- package/dist/cdn/{shared-776f948d.js → shared-988ec916.js} +1 -1
- package/dist/cdn/{shared-c379590f.js → shared-9bdacf65.js} +1 -1
- package/dist/cdn/{shared-a41f2200.js → shared-9f436277.js} +1 -1
- package/dist/cdn/shared-a0c8faf2.js +1 -0
- package/dist/cdn/{shared-bae9da44.js → shared-a37abe4c.js} +2 -2
- package/dist/cdn/{shared-ea6c8bae.js → shared-a41234b4.js} +1 -1
- package/dist/cdn/{shared-6cc53630.js → shared-af226a9a.js} +1 -1
- package/dist/cdn/{shared-13982611.js → shared-b40cf0dd.js} +1 -1
- package/dist/cdn/{shared-9d511d7e.js → shared-bb0e33c3.js} +1 -1
- package/dist/cdn/{shared-b48e5aaf.js → shared-bc814810.js} +1 -1
- package/dist/cdn/{shared-88c7755d.js → shared-bd252323.js} +1 -1
- package/dist/cdn/{shared-869df7ed.js → shared-be66c2e7.js} +1 -1
- package/dist/cdn/{shared-e06b70cc.js → shared-c774d080.js} +1 -1
- package/dist/cdn/{shared-e94165e9.js → shared-c95c17e6.js} +1 -1
- package/dist/cdn/shared-cba08e1c.js +1 -0
- package/dist/cdn/{shared-7fb8ecc5.js → shared-d518bd55.js} +1 -1
- package/dist/cdn/{shared-004f1a77.js → shared-d61b3e4f.js} +1 -1
- package/dist/cdn/{shared-d4a652b7.js → shared-d8dc97f0.js} +1 -1
- package/dist/cdn/{shared-bf47ead0.js → shared-de036570.js} +1 -1
- package/dist/cdn/{shared-1db07286.js → shared-ed0dee03.js} +1 -1
- package/dist/cdn/shared-f7e4cd67.js +1 -0
- package/dist/cdn/{shared-8eb4c8d7.js → shared-f80f402a.js} +1 -1
- package/dist/cdn/translations/cart-card/en.json +3 -3
- package/dist/cdn/translations/gift-card-code-form/en.json +6 -3
- package/dist/cdn/translations/gift-card-code-log-card/en.json +6 -3
- package/dist/cdn/translations/integration-form/en.json +13 -15
- package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +0 -2
- package/dist/cdn/translations/payments-api-payment-method-card/en.json +0 -2
- package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
- package/dist/cdn/translations/template-set-form/en.json +10 -0
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +10 -5
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
- package/dist/elements/internal/InternalControl/InternalControl.js +2 -2
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
- package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
- package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
- package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
- package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +3 -2
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/private/Group/Group.js +1 -1
- package/dist/elements/private/Group/Group.js.map +1 -1
- package/dist/elements/private/Warning/Warning.js +1 -3
- package/dist/elements/private/Warning/Warning.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +12 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +12 -0
- package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionCard/index.d.ts +1 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js +1 -0
- package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +2 -2
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +7 -8
- package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +23 -4
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +19 -0
- package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -1
- package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +12 -0
- package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -1
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
- package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js +28 -14
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/CartCard/CartCard.d.ts +7 -2
- package/dist/elements/public/CartCard/CartCard.js +16 -9
- package/dist/elements/public/CartCard/CartCard.js.map +1 -1
- package/dist/elements/public/CartForm/CartForm.d.ts +106 -1
- package/dist/elements/public/CartForm/CartForm.js +167 -37
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/CartForm/index.d.ts +2 -0
- package/dist/elements/public/CartForm/index.js +2 -0
- package/dist/elements/public/CartForm/index.js.map +1 -1
- package/dist/elements/public/CartForm/types.d.ts +64 -0
- package/dist/elements/public/CartForm/types.js.map +1 -1
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +13 -9
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
- package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -35
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
- package/dist/elements/public/DiscountCard/DiscountCard.js +2 -2
- package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +1 -1
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +2 -2
- package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +10 -2
- package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +13 -2
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +66 -76
- package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -1
- package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +1 -2
- package/dist/elements/public/GiftCardCodeLogCard/index.js +1 -2
- package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -3
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/I18n/format/price.js +1 -0
- package/dist/elements/public/I18n/format/price.js.map +1 -1
- package/dist/elements/public/I18nEditor/I18nEditor.d.ts +9 -0
- package/dist/elements/public/I18nEditor/I18nEditor.js +13 -4
- package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -1
- package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +35 -0
- package/dist/elements/public/IntegrationForm/IntegrationForm.js +156 -164
- package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
- package/dist/elements/public/IntegrationForm/index.d.ts +1 -0
- package/dist/elements/public/IntegrationForm/index.js +1 -0
- package/dist/elements/public/IntegrationForm/index.js.map +1 -1
- package/dist/elements/public/ItemCard/ItemCard.js +14 -15
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +1 -1
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +2 -2
- package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +1 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +2 -2
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +23 -2
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +35 -19
- package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +2 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +2 -1
- package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +41 -3
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +142 -84
- package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +2 -3
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +2 -3
- package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +15 -0
- package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +23 -3
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +34 -20
- package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +2 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +2 -1
- package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +70 -3
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +314 -263
- package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +29 -0
- package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +2 -2
- package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +40 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +93 -74
- package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +14 -0
- package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
- package/dist/elements/public/ReportForm/ReportForm.js +4 -1
- package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
- package/dist/elements/public/StoreForm/StoreForm.d.ts +153 -1
- package/dist/elements/public/StoreForm/StoreForm.js +191 -27
- package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
- package/dist/elements/public/StoreForm/index.d.ts +1 -0
- package/dist/elements/public/StoreForm/index.js +1 -0
- package/dist/elements/public/StoreForm/index.js.map +1 -1
- package/dist/elements/public/StoreForm/types.d.ts +94 -0
- package/dist/elements/public/StoreForm/types.js.map +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +1 -1
- package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +50 -1
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +49 -0
- package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +1 -0
- package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -1
- package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +33 -1
- package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +4 -1
- package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
- package/dist/elements/public/TemplateForm/TemplateForm.js +10 -2
- package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +1 -1
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +2 -2
- package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +49 -8
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +100 -64
- package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/index.d.ts +1 -0
- package/dist/elements/public/TemplateSetForm/index.js +1 -0
- package/dist/elements/public/TemplateSetForm/index.js.map +1 -1
- package/dist/elements/public/TemplateSetForm/types.d.ts +22 -0
- package/dist/elements/public/TemplateSetForm/types.js.map +1 -1
- package/dist/mixins/themeable.js +19 -12
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +2 -1
- package/dist/cdn/shared-11ffd643.js +0 -1
- package/dist/cdn/shared-1351c1e3.js +0 -1
- package/dist/cdn/shared-2f9b7791.js +0 -1
- package/dist/cdn/shared-79d6a262.js +0 -1
- package/dist/cdn/shared-888d690a.js +0 -1
- package/dist/cdn/shared-b7636a23.js +0 -1
- package/dist/cdn/shared-fafafc09.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"I18nEditor.js","sourceRoot":"","sources":["../../../../src/elements/public/I18nEditor/I18nEditor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { Data, Overrides } from './types';\nimport type { TabsElement } from '@vaadin/vaadin-tabs';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { html } from 'lit-html';\n\nconst NS = 'i18n-editor';\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(NucleonElement)), NS);\n\nexport class I18nEditor extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n languageOverrides: { attribute: 'language-overrides' },\n selectedLanguage: { attribute: 'selected-language' },\n __selectedTabIndex: { attribute: false },\n };\n }\n\n languageOverrides: string | null = 'https://demo.api/hapi/language_overrides';\n\n selectedLanguage: string | null = 'english';\n\n private __selectedTabIndex = 0;\n\n render(): TemplateResult {\n const tabs = this.__tabs;\n const prefix = tabs[this.__selectedTabIndex] as string | undefined;\n const valuesForLang = this.data?.values[this.selectedLanguage ?? ''] ?? {};\n const filteredValues: Record<string, string> = {};\n const isSpinnerVisible = !this.in({ idle: 'snapshot' });\n\n if (prefix) {\n if (prefix.includes('_')) {\n const group = prefix.substring(0, prefix.indexOf('_'));\n const subGroup = prefix.substring(prefix.indexOf('_') + 1);\n const values = (valuesForLang[group] as Record<string, Record<string, string>>)[subGroup];\n\n for (const key in values) {\n filteredValues[`${group}_${subGroup}_${key}`] = values[key];\n }\n } else {\n for (const key in valuesForLang) {\n if (key.startsWith(prefix)) filteredValues[key] = valuesForLang[key] as string;\n }\n }\n }\n\n const overridesLoader = this.__renderOverridesLoader();\n const overrides = overridesLoader.overrides;\n\n return html`\n ${overridesLoader.template}\n\n <div aria-busy=${this.in('busy')} aria-live=\"polite\" class=\"relative\">\n <div\n class=${classMap({\n 'transition-opacity grid grid-cols-1 gap-s': true,\n 'opacity-0 pointer-events-none': isSpinnerVisible,\n })}\n >\n <vaadin-tabs\n selected=${this.__selectedTabIndex}\n class=\"-mx-l\"\n theme=\"minimal\"\n @selected-changed=${(evt: CustomEvent) => {\n const tabsElement = evt.currentTarget as TabsElement;\n this.__selectedTabIndex = tabsElement.selected ?? 0;\n }}\n >\n ${tabs.map(name => {\n const shortName = name.substring(name.indexOf('_') + 1).replace(/_/g, ' ');\n const label = html`<span class=\"capitalize\">${shortName}</span>`;\n return html`<vaadin-tab>${label}</vaadin-tab>`;\n })}\n </vaadin-tabs>\n\n ${repeat(\n Object.entries(filteredValues),\n ([keyOrGroup]) => keyOrGroup,\n ([keyOrGroup, translationOrDictionary]) => {\n let code: string;\n let gateway: string | undefined;\n let override: Overrides['_embedded']['fx:language_overrides'][number] | undefined;\n\n if (keyOrGroup.startsWith('gateways_')) {\n code = keyOrGroup.substring(prefix!.length + 1);\n gateway = prefix!.substring(9);\n override = overrides.find(o => o.code === code && o.gateway === gateway);\n } else {\n code = keyOrGroup;\n gateway = undefined;\n override = overrides.find(o => o.code === code);\n }\n\n return html`\n <foxy-internal-i18n-editor-entry\n default-value=${translationOrDictionary}\n gateway=${ifDefined(gateway)}\n parent=${ifDefined(this.languageOverrides ?? void 0)}\n code=${code}\n infer=\"\"\n .data=${override ?? null}\n >\n </foxy-internal-i18n-editor-entry>\n `;\n }\n )}\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition-opacity absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isSpinnerVisible,\n })}\n >\n <foxy-spinner\n layout=${this.in('busy') ? 'no-label' : 'horizontal'}\n class=\"m-auto\"\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n infer=\"spinner\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n private get __tabs() {\n const values = this.selectedLanguage ? this.data?.values[this.selectedLanguage] : undefined;\n\n const tabs = Object.entries(values ?? {}).reduce((allKeys, [key, value]) => {\n if (typeof value === 'string') {\n const prefix = key.substring(0, key.indexOf('_'));\n allKeys.add(prefix || key);\n } else {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (Object.keys(subValue).length === 0) return;\n allKeys.add(`${key}_${subKey}`);\n });\n }\n\n return allKeys;\n }, new Set<string>());\n\n return Array.from(tabs);\n }\n\n private __renderOverridesLoader() {\n type Loader = NucleonElement<Overrides>;\n\n const loaders = Array.from(this.renderRoot.querySelectorAll<Loader>('foxy-nucleon'));\n const overrides = loaders.reduce(\n (result, loader) => [...result, ...(loader.data?._embedded['fx:language_overrides'] ?? [])],\n [] as Resource<Rels.LanguageOverride>[]\n );\n\n const firstLoader = loaders[0] as Loader | undefined;\n\n const loaderTemplates = new Array(Math.ceil((firstLoader?.data?.total_items || 300) / 300))\n .fill(0)\n .map((_, index) => {\n try {\n const url = new URL(this.languageOverrides ?? '');\n\n url.searchParams.set('offset', String(index * 300));\n url.searchParams.set('limit', '300');\n\n return html`\n <foxy-nucleon infer=\"\" href=${url.toString()} @update=${() => this.requestUpdate()}>\n </foxy-nucleon>\n `;\n } catch {\n return undefined;\n }\n });\n\n return {\n template: html`<div class=\"hidden\">${loaderTemplates}</div>`,\n overrides,\n loaders,\n };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"I18nEditor.js","sourceRoot":"","sources":["../../../../src/elements/public/I18nEditor/I18nEditor.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { Data, Overrides } from './types';\nimport type { TabsElement } from '@vaadin/vaadin-tabs';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../NucleonElement/NucleonElement';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { html } from 'lit-html';\n\nconst NS = 'i18n-editor';\nconst Base = TranslatableMixin(ConfigurableMixin(ThemeableMixin(NucleonElement)), NS);\n\n/**\n * Editor for language string overrides. Loads language strings\n * property helper (`fx:language_strings`) as main resource.\n *\n * @since 1.21.0\n * @element foxy-i18n-editor\n */\nexport class I18nEditor extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n languageOverrides: { attribute: 'language-overrides' },\n selectedLanguage: { attribute: 'selected-language' },\n __selectedTabIndex: { attribute: false },\n };\n }\n\n /** URL of the `fx:language_overrides` resource for a template set. */\n languageOverrides: string | null = null;\n\n /** Language from the `fx:language_strings` property helper for which the default values will be pulled from. */\n selectedLanguage: string | null = null;\n\n private __selectedTabIndex = 0;\n\n render(): TemplateResult {\n const tabs = this.__tabs;\n const prefix = tabs[this.__selectedTabIndex] as string | undefined;\n const valuesForLang = this.data?.values[this.selectedLanguage ?? ''] ?? {};\n const filteredValues: Record<string, string> = {};\n const isSpinnerVisible = !this.in({ idle: 'snapshot' });\n\n if (prefix) {\n if (prefix.includes('_')) {\n const group = prefix.substring(0, prefix.indexOf('_'));\n const subGroup = prefix.substring(prefix.indexOf('_') + 1);\n const values = (valuesForLang[group] as Record<string, Record<string, string>>)[subGroup];\n\n for (const key in values) {\n filteredValues[`${group}_${subGroup}_${key}`] = values[key];\n }\n } else {\n for (const key in valuesForLang) {\n if (key.startsWith(prefix)) filteredValues[key] = valuesForLang[key] as string;\n }\n }\n }\n\n const overridesLoader = this.__renderOverridesLoader();\n const overrides = overridesLoader.overrides;\n\n return html`\n ${overridesLoader.template}\n\n <div aria-busy=${this.in('busy')} aria-live=\"polite\" class=\"relative\">\n <div\n class=${classMap({\n 'transition-opacity grid grid-cols-1 gap-s': true,\n 'opacity-0 pointer-events-none': isSpinnerVisible,\n })}\n >\n <vaadin-tabs\n selected=${this.__selectedTabIndex}\n class=\"-mx-l\"\n theme=\"minimal\"\n @selected-changed=${(evt: CustomEvent) => {\n const tabsElement = evt.currentTarget as TabsElement;\n this.__selectedTabIndex = tabsElement.selected ?? 0;\n }}\n >\n ${tabs.map(name => {\n const shortName = name.substring(name.indexOf('_') + 1).replace(/_/g, ' ');\n const label = html`<span class=\"capitalize\">${shortName}</span>`;\n return html`<vaadin-tab>${label}</vaadin-tab>`;\n })}\n </vaadin-tabs>\n\n ${repeat(\n Object.entries(filteredValues),\n ([keyOrGroup]) => keyOrGroup,\n ([keyOrGroup, defaultValue]) => {\n let code: string;\n let gateway: string | undefined;\n let override: Overrides['_embedded']['fx:language_overrides'][number] | undefined;\n\n if (keyOrGroup.startsWith('gateways_')) {\n code = keyOrGroup.substring(prefix!.length + 1);\n gateway = prefix!.substring(9);\n override = overrides.find(o => o.code === code && o.gateway === gateway);\n } else {\n code = keyOrGroup;\n gateway = undefined;\n override = overrides.find(o => o.code === code);\n }\n\n return html`\n <foxy-internal-i18n-editor-entry\n default-value=${defaultValue}\n gateway=${ifDefined(gateway)}\n parent=${ifDefined(this.languageOverrides ?? void 0)}\n code=${code}\n infer=\"\"\n .data=${override ?? null}\n >\n </foxy-internal-i18n-editor-entry>\n `;\n }\n )}\n </div>\n\n <div\n data-testid=\"spinner\"\n class=${classMap({\n 'transition-opacity absolute inset-0 flex': true,\n 'opacity-0 pointer-events-none': !isSpinnerVisible,\n })}\n >\n <foxy-spinner\n layout=${this.in('busy') ? 'no-label' : 'horizontal'}\n class=\"m-auto\"\n state=${this.in('fail') ? 'error' : this.in({ idle: 'template' }) ? 'empty' : 'busy'}\n infer=\"spinner\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n private get __tabs() {\n const values = this.selectedLanguage ? this.data?.values[this.selectedLanguage] : undefined;\n\n const tabs = Object.entries(values ?? {}).reduce((allKeys, [key, value]) => {\n if (typeof value === 'string') {\n const prefix = key.substring(0, key.indexOf('_'));\n allKeys.add(prefix || key);\n } else {\n Object.entries(value).forEach(([subKey, subValue]) => {\n if (Object.keys(subValue).length === 0) return;\n allKeys.add(`${key}_${subKey}`);\n });\n }\n\n return allKeys;\n }, new Set<string>());\n\n return Array.from(tabs);\n }\n\n private __renderOverridesLoader() {\n type Loader = NucleonElement<Overrides>;\n\n const loaders = Array.from(this.renderRoot.querySelectorAll<Loader>('foxy-nucleon'));\n const overrides = loaders.reduce(\n (result, loader) => [...result, ...(loader.data?._embedded['fx:language_overrides'] ?? [])],\n [] as Resource<Rels.LanguageOverride>[]\n );\n\n const firstLoader = loaders[0] as Loader | undefined;\n\n const loaderTemplates = new Array(Math.ceil((firstLoader?.data?.total_items || 300) / 300))\n .fill(0)\n .map((_, index) => {\n try {\n const url = new URL(this.languageOverrides ?? '');\n\n url.searchParams.set('offset', String(index * 300));\n url.searchParams.set('limit', '300');\n\n return html`\n <foxy-nucleon infer=\"\" href=${url.toString()} @update=${() => this.requestUpdate()}>\n </foxy-nucleon>\n `;\n } catch {\n return undefined;\n }\n });\n\n return {\n template: html`<div class=\"hidden\">${loaderTemplates}</div>`,\n overrides,\n loaders,\n };\n }\n}\n"]}
|
|
@@ -6,6 +6,33 @@ import { InternalForm } from '../../internal/InternalForm/InternalForm';
|
|
|
6
6
|
declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
|
|
7
7
|
defaultNS: string;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Form element for managing integrations (`fx:integration`).
|
|
11
|
+
*
|
|
12
|
+
* @slot project-name:before
|
|
13
|
+
* @slot project-name:after
|
|
14
|
+
*
|
|
15
|
+
* @slot project-description:before
|
|
16
|
+
* @slot project-description:after
|
|
17
|
+
*
|
|
18
|
+
* @slot create:before
|
|
19
|
+
* @slot create:after
|
|
20
|
+
*
|
|
21
|
+
* @slot header:before
|
|
22
|
+
* @slot header:after
|
|
23
|
+
*
|
|
24
|
+
* @slot message:before
|
|
25
|
+
* @slot message:after
|
|
26
|
+
*
|
|
27
|
+
* @slot table:before
|
|
28
|
+
* @slot table:after
|
|
29
|
+
*
|
|
30
|
+
* @slot delete:before
|
|
31
|
+
* @slot delete:after
|
|
32
|
+
*
|
|
33
|
+
* @element foxy-integration-form
|
|
34
|
+
* @since 1.21.0
|
|
35
|
+
*/
|
|
9
36
|
export declare class IntegrationForm extends Base<Data> {
|
|
10
37
|
static get properties(): PropertyDeclarations;
|
|
11
38
|
static get v8n(): NucleonV8N<Data>;
|
|
@@ -14,5 +41,13 @@ export declare class IntegrationForm extends Base<Data> {
|
|
|
14
41
|
protected _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult>;
|
|
15
42
|
private __renderSnapshotBody;
|
|
16
43
|
private __renderTemplateBody;
|
|
44
|
+
private __renderMessage;
|
|
45
|
+
private __renderHeader;
|
|
46
|
+
private __renderTable;
|
|
47
|
+
private __renderCopiableText;
|
|
48
|
+
private __renderMailToLink;
|
|
49
|
+
private __renderLink;
|
|
50
|
+
private __renderTableRow;
|
|
51
|
+
private __renderTableI18n;
|
|
17
52
|
}
|
|
18
53
|
export {};
|
|
@@ -1,8 +1,36 @@
|
|
|
1
1
|
import { TranslatableMixin } from "../../../mixins/translatable.js";
|
|
2
2
|
import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
|
|
3
|
+
import { classMap } from "../../../utils/class-map.js";
|
|
3
4
|
import { html } from 'lit-html';
|
|
4
5
|
const NS = 'integration-form';
|
|
5
6
|
const Base = TranslatableMixin(InternalForm, NS);
|
|
7
|
+
/**
|
|
8
|
+
* Form element for managing integrations (`fx:integration`).
|
|
9
|
+
*
|
|
10
|
+
* @slot project-name:before
|
|
11
|
+
* @slot project-name:after
|
|
12
|
+
*
|
|
13
|
+
* @slot project-description:before
|
|
14
|
+
* @slot project-description:after
|
|
15
|
+
*
|
|
16
|
+
* @slot create:before
|
|
17
|
+
* @slot create:after
|
|
18
|
+
*
|
|
19
|
+
* @slot header:before
|
|
20
|
+
* @slot header:after
|
|
21
|
+
*
|
|
22
|
+
* @slot message:before
|
|
23
|
+
* @slot message:after
|
|
24
|
+
*
|
|
25
|
+
* @slot table:before
|
|
26
|
+
* @slot table:after
|
|
27
|
+
*
|
|
28
|
+
* @slot delete:before
|
|
29
|
+
* @slot delete:after
|
|
30
|
+
*
|
|
31
|
+
* @element foxy-integration-form
|
|
32
|
+
* @since 1.21.0
|
|
33
|
+
*/
|
|
6
34
|
export class IntegrationForm extends Base {
|
|
7
35
|
constructor() {
|
|
8
36
|
super(...arguments);
|
|
@@ -34,187 +62,151 @@ export class IntegrationForm extends Base {
|
|
|
34
62
|
return json;
|
|
35
63
|
}
|
|
36
64
|
__renderSnapshotBody() {
|
|
37
|
-
|
|
65
|
+
const hiddenSelector = this.hiddenSelector;
|
|
66
|
+
const postResponse = this.__postResponse;
|
|
67
|
+
return html `
|
|
68
|
+
${hiddenSelector.matches('header', true) ? '' : this.__renderHeader()}
|
|
69
|
+
${hiddenSelector.matches('message', true) || !postResponse ? '' : this.__renderMessage()}
|
|
70
|
+
${hiddenSelector.matches('table') ? '' : this.__renderTable()}
|
|
71
|
+
<foxy-internal-delete-control infer="delete"></foxy-internal-delete-control>
|
|
72
|
+
`;
|
|
73
|
+
}
|
|
74
|
+
__renderTemplateBody() {
|
|
75
|
+
return html `
|
|
76
|
+
<foxy-internal-text-control infer="project-name"></foxy-internal-text-control>
|
|
77
|
+
<foxy-internal-text-area-control infer="project-description">
|
|
78
|
+
</foxy-internal-text-area-control>
|
|
79
|
+
<foxy-internal-create-control infer="create"></foxy-internal-create-control>
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
__renderMessage() {
|
|
83
|
+
return html `
|
|
84
|
+
${this.renderTemplateOrSlot('message:before')}
|
|
85
|
+
|
|
86
|
+
<div class="bg-success-10 text-success p-m pb-s space-y-xs leading-s rounded-t-l rounded-b-l">
|
|
87
|
+
<foxy-i18n infer="message" class="block" key="text"></foxy-i18n>
|
|
88
|
+
<vaadin-button
|
|
89
|
+
data-testid="message-action"
|
|
90
|
+
theme="tertiary contrast"
|
|
91
|
+
class="p-0"
|
|
92
|
+
?disabled=${this.disabledSelector.matches('message', true)}
|
|
93
|
+
@click=${() => (this.__postResponse = null)}
|
|
94
|
+
>
|
|
95
|
+
<foxy-i18n infer="message" key="action"></foxy-i18n>
|
|
96
|
+
</vaadin-button>
|
|
97
|
+
</div>
|
|
98
|
+
|
|
99
|
+
${this.renderTemplateOrSlot('message:after')}
|
|
100
|
+
`;
|
|
101
|
+
}
|
|
102
|
+
__renderHeader() {
|
|
38
103
|
const data = this.data;
|
|
39
|
-
const
|
|
40
|
-
const description = ((_b = data.project_description) === null || _b === void 0 ? void 0 : _b.trim()) || this.t('no_description');
|
|
104
|
+
const noDescription = html `<foxy-i18n infer="header" key="no_description"></foxy-i18n>`;
|
|
41
105
|
return html `
|
|
42
|
-
|
|
43
|
-
<dt class="sr-only">${this.t('title_description')}</dt>
|
|
44
|
-
<dd class="font-bold truncate text-xl">${data.project_name}​</dd>
|
|
106
|
+
${this.renderTemplateOrSlot('header:before')}
|
|
45
107
|
|
|
46
|
-
|
|
47
|
-
<
|
|
48
|
-
|
|
108
|
+
<div class="space-y-xs">
|
|
109
|
+
<div class="font-bold truncate text-xl">${data.project_name}​</div>
|
|
110
|
+
<div class="text-secondary">${data.project_description || noDescription}</div>
|
|
111
|
+
</div>
|
|
49
112
|
|
|
50
|
-
${this.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
>
|
|
61
|
-
<foxy-i18n infer="" key="post_success_action"></foxy-i18n>
|
|
62
|
-
</vaadin-button>
|
|
63
|
-
</div>
|
|
64
|
-
`
|
|
65
|
-
: ''}
|
|
113
|
+
${this.renderTemplateOrSlot('header:after')}
|
|
114
|
+
`;
|
|
115
|
+
}
|
|
116
|
+
__renderTable() {
|
|
117
|
+
var _a;
|
|
118
|
+
const data = this.data;
|
|
119
|
+
const expires = new Date(((_a = data.expires) !== null && _a !== void 0 ? _a : 0) * 1000);
|
|
120
|
+
const postResponse = this.__postResponse;
|
|
121
|
+
return html `
|
|
122
|
+
${this.renderTemplateOrSlot('table:before')}
|
|
66
123
|
|
|
67
124
|
<table class="font-lumo text-m leading-m w-full">
|
|
68
125
|
<tbody class="divide-y divide-contrast-10">
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
126
|
+
${this.__renderTableRow({
|
|
127
|
+
label: this.__renderTableI18n('added_by'),
|
|
128
|
+
value: this.__renderMailToLink(data.added_by_email, data.added_by_name),
|
|
129
|
+
})}
|
|
130
|
+
${this.__renderTableRow({
|
|
131
|
+
label: this.__renderTableI18n('contact'),
|
|
132
|
+
value: this.__renderMailToLink(data.contact_email, data.contact_name),
|
|
133
|
+
})}
|
|
134
|
+
${this.__renderTableRow({
|
|
135
|
+
label: this.__renderTableI18n('company'),
|
|
136
|
+
value: this.__renderLink(data.company_url, data.company_name),
|
|
137
|
+
})}
|
|
138
|
+
${this.__renderTableRow({
|
|
139
|
+
label: this.__renderTableI18n('expires'),
|
|
140
|
+
value: this.__renderTableI18n('expires_date', { date: expires }),
|
|
141
|
+
})}
|
|
142
|
+
${this.__renderTableRow({
|
|
143
|
+
label: 'Client ID',
|
|
144
|
+
value: this.__renderCopiableText(data.client_id),
|
|
145
|
+
})}
|
|
146
|
+
${postResponse
|
|
75
147
|
? html `
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
</td>
|
|
92
|
-
<td class="max-w-0 truncate py-s text-body w-2-3">
|
|
93
|
-
${data.contact_email
|
|
94
|
-
? html `
|
|
95
|
-
<a
|
|
96
|
-
target="_blank"
|
|
97
|
-
class="font-semibold text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50"
|
|
98
|
-
href="mailto:${data.contact_email}"
|
|
99
|
-
>
|
|
100
|
-
${data.contact_name}
|
|
101
|
-
</a>
|
|
102
|
-
`
|
|
103
|
-
: data.contact_name}
|
|
104
|
-
</td>
|
|
105
|
-
</tr>
|
|
106
|
-
|
|
107
|
-
<tr>
|
|
108
|
-
<td class="max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold">
|
|
109
|
-
<foxy-i18n infer="" key="company"></foxy-i18n>
|
|
110
|
-
</td>
|
|
111
|
-
<td class="max-w-0 truncate py-s text-body w-2-3">
|
|
112
|
-
${data.company_url
|
|
113
|
-
? html `
|
|
114
|
-
<a
|
|
115
|
-
target="_blank"
|
|
116
|
-
class="font-semibold text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50"
|
|
117
|
-
href=${data.company_url}
|
|
118
|
-
>
|
|
119
|
-
${data.company_name}
|
|
120
|
-
</a>
|
|
121
|
-
`
|
|
122
|
-
: data.company_name}
|
|
123
|
-
</td>
|
|
124
|
-
</tr>
|
|
125
|
-
|
|
126
|
-
<tr>
|
|
127
|
-
<td class="max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold">
|
|
128
|
-
<foxy-i18n infer="" key="expires"></foxy-i18n>
|
|
129
|
-
</td>
|
|
130
|
-
<td class="max-w-0 truncate py-s text-body w-2-3">
|
|
131
|
-
<foxy-i18n infer="" key="expires_date" .options=${{ date: expires }}></foxy-i18n>
|
|
132
|
-
</td>
|
|
133
|
-
</tr>
|
|
134
|
-
|
|
135
|
-
<tr>
|
|
136
|
-
<td class="max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold">Client ID</td>
|
|
137
|
-
<td class="max-w-0 truncate py-s text-body w-2-3">
|
|
138
|
-
<div class="flex items-center gap-s">
|
|
139
|
-
<code class="truncate flex-1">${data.client_id}</code>
|
|
140
|
-
<foxy-copy-to-clipboard
|
|
141
|
-
infer="copy-to-clipboard"
|
|
142
|
-
class="inline-block"
|
|
143
|
-
text=${data.client_id}
|
|
144
|
-
>
|
|
145
|
-
</foxy-copy-to-clipboard>
|
|
146
|
-
</div>
|
|
147
|
-
</td>
|
|
148
|
-
</tr>
|
|
149
|
-
|
|
150
|
-
${this.__postResponse
|
|
151
|
-
? html `
|
|
152
|
-
<tr class="font-semibold text-success">
|
|
153
|
-
<td class="max-w-0 truncate py-s w-1-3 pr-m font-semibold">Client secret</td>
|
|
154
|
-
<td class="max-w-0 py-s w-2-3">
|
|
155
|
-
<div class="flex items-center gap-s">
|
|
156
|
-
<code class="truncate flex-1">${this.__postResponse.client_secret}</code>
|
|
157
|
-
<foxy-copy-to-clipboard
|
|
158
|
-
infer="copy-to-clipboard"
|
|
159
|
-
class="inline-block"
|
|
160
|
-
text=${this.__postResponse.client_secret}
|
|
161
|
-
>
|
|
162
|
-
</foxy-copy-to-clipboard>
|
|
163
|
-
</div>
|
|
164
|
-
</td>
|
|
165
|
-
</tr>
|
|
166
|
-
|
|
167
|
-
<tr class="font-semibold text-success">
|
|
168
|
-
<td class="max-w-0 truncate py-s w-1-3 pr-m font-semibold">Refresh token</td>
|
|
169
|
-
<td class="max-w-0 py-s w-2-3">
|
|
170
|
-
<div class="flex items-center gap-s">
|
|
171
|
-
<code class="truncate flex-1">${this.__postResponse.refresh_token}</code>
|
|
172
|
-
<foxy-copy-to-clipboard
|
|
173
|
-
infer="copy-to-clipboard"
|
|
174
|
-
class="inline-block"
|
|
175
|
-
text=${this.__postResponse.refresh_token}
|
|
176
|
-
>
|
|
177
|
-
</foxy-copy-to-clipboard>
|
|
178
|
-
</div>
|
|
179
|
-
</td>
|
|
180
|
-
</tr>
|
|
181
|
-
|
|
182
|
-
<tr class="font-semibold text-success">
|
|
183
|
-
<td class="max-w-0 truncate py-s w-1-3 pr-m font-semibold">Access token</td>
|
|
184
|
-
<td class="max-w-0 py-s w-2-3">
|
|
185
|
-
<div class="flex items-center gap-s">
|
|
186
|
-
<code class="truncate flex-1">${this.__postResponse.access_token}</code>
|
|
187
|
-
<foxy-copy-to-clipboard
|
|
188
|
-
infer="copy-to-clipboard"
|
|
189
|
-
class="inline-block"
|
|
190
|
-
text=${this.__postResponse.access_token}
|
|
191
|
-
>
|
|
192
|
-
</foxy-copy-to-clipboard>
|
|
193
|
-
</div>
|
|
194
|
-
</td>
|
|
195
|
-
</tr>
|
|
148
|
+
${this.__renderTableRow({
|
|
149
|
+
highlight: true,
|
|
150
|
+
label: 'Client secret',
|
|
151
|
+
value: this.__renderCopiableText(postResponse.client_secret),
|
|
152
|
+
})}
|
|
153
|
+
${this.__renderTableRow({
|
|
154
|
+
highlight: true,
|
|
155
|
+
label: 'Refresh token',
|
|
156
|
+
value: this.__renderCopiableText(postResponse.refresh_token),
|
|
157
|
+
})}
|
|
158
|
+
${this.__renderTableRow({
|
|
159
|
+
highlight: true,
|
|
160
|
+
label: 'Access token',
|
|
161
|
+
value: this.__renderCopiableText(postResponse.access_token),
|
|
162
|
+
})}
|
|
196
163
|
`
|
|
197
164
|
: ''}
|
|
198
|
-
|
|
199
|
-
<tr>
|
|
200
|
-
<td class="max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold">Scope</td>
|
|
201
|
-
<td class="max-w-0 truncate py-s text-body w-2-3"><code>${data.scope}</code></td>
|
|
202
|
-
</tr>
|
|
165
|
+
${this.__renderTableRow({ label: 'Scope', value: html `<code>${data.scope}</code>` })}
|
|
203
166
|
</tbody>
|
|
204
167
|
</table>
|
|
205
168
|
|
|
206
|
-
|
|
169
|
+
${this.renderTemplateOrSlot('table:after')}
|
|
207
170
|
`;
|
|
208
171
|
}
|
|
209
|
-
|
|
172
|
+
__renderCopiableText(text) {
|
|
210
173
|
return html `
|
|
211
|
-
<
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
<foxy-internal-create-control infer="create"></foxy-internal-create-control>
|
|
174
|
+
<div class="flex items-center gap-s">
|
|
175
|
+
<code class="truncate flex-1">${text}</code>
|
|
176
|
+
<foxy-copy-to-clipboard infer="copy-to-clipboard" class="inline-block" text=${text}>
|
|
177
|
+
</foxy-copy-to-clipboard>
|
|
178
|
+
</div>
|
|
217
179
|
`;
|
|
218
180
|
}
|
|
181
|
+
__renderMailToLink(email, caption) {
|
|
182
|
+
if (!email)
|
|
183
|
+
return html `${caption}`;
|
|
184
|
+
return this.__renderLink(`mailto:${email}`, caption);
|
|
185
|
+
}
|
|
186
|
+
__renderLink(href, caption) {
|
|
187
|
+
if (!href)
|
|
188
|
+
return html `${caption}`;
|
|
189
|
+
return html `
|
|
190
|
+
<a
|
|
191
|
+
target="_blank"
|
|
192
|
+
class="font-semibold text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50"
|
|
193
|
+
href=${href}
|
|
194
|
+
>
|
|
195
|
+
${caption}
|
|
196
|
+
</a>
|
|
197
|
+
`;
|
|
198
|
+
}
|
|
199
|
+
__renderTableRow(params) {
|
|
200
|
+
const { label, value, highlight = false } = params;
|
|
201
|
+
return html `
|
|
202
|
+
<tr class=${classMap({ 'font-semibold text-success': highlight })}>
|
|
203
|
+
<td class="max-w-0 truncate py-s text-secondary w-1-3 pr-m">${label}</td>
|
|
204
|
+
<td class="max-w-0 truncate py-s text-body w-2-3">${value}</td>
|
|
205
|
+
</tr>
|
|
206
|
+
`;
|
|
207
|
+
}
|
|
208
|
+
__renderTableI18n(key, options) {
|
|
209
|
+
return html `<foxy-i18n infer="table" key=${key} .options=${options}></foxy-i18n>`;
|
|
210
|
+
}
|
|
219
211
|
}
|
|
220
212
|
//# sourceMappingURL=IntegrationForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegrationForm.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/IntegrationForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Data, PostResponseData } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { html } from 'lit-html';\n\nconst NS = 'integration-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class IntegrationForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __postResponse: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [({ project_name: v }) => !!v || 'project-name:v8n_required'];\n }\n\n private __postResponse: PostResponseData | null = null;\n\n renderBody(): TemplateResult {\n return this.data ? this.__renderSnapshotBody() : this.__renderTemplateBody();\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const constructor = this.constructor as typeof IntegrationForm;\n const response = await new constructor.API(this).fetch(...args);\n const method = typeof args[0] === 'string' ? args[1]?.method : args[0].method;\n const url = typeof args[0] === 'string' ? args[0] : args[0].url;\n\n if (!response.ok) throw response;\n\n const json = await response.json();\n if (method?.toUpperCase() === 'POST' && url === this.parent) this.__postResponse = json;\n\n return json;\n }\n\n private __renderSnapshotBody() {\n const data = this.data as Data;\n const expires = new Date((data.expires ?? 0) * 1000);\n const description = data.project_description?.trim() || this.t('no_description');\n\n return html`\n <dl class=\"grid grid-cols-1 gap-s\">\n <dt class=\"sr-only\">${this.t('title_description')}</dt>\n <dd class=\"font-bold truncate text-xl\">${data.project_name}​</dd>\n\n <dt class=\"sr-only\">${this.t('subtitle_description')}</dt>\n <dd class=\"text-secondary\">${description}​</dd>\n </dl>\n\n ${this.__postResponse\n ? html`\n <div\n class=\"bg-success-10 text-success p-m pb-s space-y-xs leading-s rounded-t-l rounded-b-l\"\n >\n <foxy-i18n infer=\"\" class=\"block\" key=\"post_success_message\"></foxy-i18n>\n <vaadin-button\n theme=\"tertiary contrast\"\n class=\"p-0\"\n @click=${() => (this.__postResponse = null)}\n >\n <foxy-i18n infer=\"\" key=\"post_success_action\"></foxy-i18n>\n </vaadin-button>\n </div>\n `\n : ''}\n\n <table class=\"font-lumo text-m leading-m w-full\">\n <tbody class=\"divide-y divide-contrast-10\">\n <tr>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold\">\n <foxy-i18n infer=\"\" key=\"added_by\"></foxy-i18n>\n </td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">\n ${data.added_by_email\n ? html`\n <a\n target=\"_blank\"\n class=\"font-semibold text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"mailto:${data.added_by_email}\"\n >\n ${data.added_by_name}\n </a>\n `\n : data.added_by_name}\n </td>\n </tr>\n\n <tr>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold\">\n <foxy-i18n infer=\"\" key=\"contact\"></foxy-i18n>\n </td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">\n ${data.contact_email\n ? html`\n <a\n target=\"_blank\"\n class=\"font-semibold text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"mailto:${data.contact_email}\"\n >\n ${data.contact_name}\n </a>\n `\n : data.contact_name}\n </td>\n </tr>\n\n <tr>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold\">\n <foxy-i18n infer=\"\" key=\"company\"></foxy-i18n>\n </td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">\n ${data.company_url\n ? html`\n <a\n target=\"_blank\"\n class=\"font-semibold text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${data.company_url}\n >\n ${data.company_name}\n </a>\n `\n : data.company_name}\n </td>\n </tr>\n\n <tr>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold\">\n <foxy-i18n infer=\"\" key=\"expires\"></foxy-i18n>\n </td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">\n <foxy-i18n infer=\"\" key=\"expires_date\" .options=${{ date: expires }}></foxy-i18n>\n </td>\n </tr>\n\n <tr>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold\">Client ID</td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">\n <div class=\"flex items-center gap-s\">\n <code class=\"truncate flex-1\">${data.client_id}</code>\n <foxy-copy-to-clipboard\n infer=\"copy-to-clipboard\"\n class=\"inline-block\"\n text=${data.client_id}\n >\n </foxy-copy-to-clipboard>\n </div>\n </td>\n </tr>\n\n ${this.__postResponse\n ? html`\n <tr class=\"font-semibold text-success\">\n <td class=\"max-w-0 truncate py-s w-1-3 pr-m font-semibold\">Client secret</td>\n <td class=\"max-w-0 py-s w-2-3\">\n <div class=\"flex items-center gap-s\">\n <code class=\"truncate flex-1\">${this.__postResponse.client_secret}</code>\n <foxy-copy-to-clipboard\n infer=\"copy-to-clipboard\"\n class=\"inline-block\"\n text=${this.__postResponse.client_secret}\n >\n </foxy-copy-to-clipboard>\n </div>\n </td>\n </tr>\n\n <tr class=\"font-semibold text-success\">\n <td class=\"max-w-0 truncate py-s w-1-3 pr-m font-semibold\">Refresh token</td>\n <td class=\"max-w-0 py-s w-2-3\">\n <div class=\"flex items-center gap-s\">\n <code class=\"truncate flex-1\">${this.__postResponse.refresh_token}</code>\n <foxy-copy-to-clipboard\n infer=\"copy-to-clipboard\"\n class=\"inline-block\"\n text=${this.__postResponse.refresh_token}\n >\n </foxy-copy-to-clipboard>\n </div>\n </td>\n </tr>\n\n <tr class=\"font-semibold text-success\">\n <td class=\"max-w-0 truncate py-s w-1-3 pr-m font-semibold\">Access token</td>\n <td class=\"max-w-0 py-s w-2-3\">\n <div class=\"flex items-center gap-s\">\n <code class=\"truncate flex-1\">${this.__postResponse.access_token}</code>\n <foxy-copy-to-clipboard\n infer=\"copy-to-clipboard\"\n class=\"inline-block\"\n text=${this.__postResponse.access_token}\n >\n </foxy-copy-to-clipboard>\n </div>\n </td>\n </tr>\n `\n : ''}\n\n <tr>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m font-semibold\">Scope</td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\"><code>${data.scope}</code></td>\n </tr>\n </tbody>\n </table>\n\n <foxy-internal-delete-control infer=\"delete\"></foxy-internal-delete-control>\n `;\n }\n\n private __renderTemplateBody() {\n return html`\n <foxy-internal-text-control infer=\"project-name\"></foxy-internal-text-control>\n\n <foxy-internal-text-area-control infer=\"project-description\">\n </foxy-internal-text-area-control>\n\n <foxy-internal-create-control infer=\"create\"></foxy-internal-create-control>\n `;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"IntegrationForm.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/IntegrationForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Data, PostResponseData } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\nconst NS = 'integration-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for managing integrations (`fx:integration`).\n *\n * @slot project-name:before\n * @slot project-name:after\n *\n * @slot project-description:before\n * @slot project-description:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot header:before\n * @slot header:after\n *\n * @slot message:before\n * @slot message:after\n *\n * @slot table:before\n * @slot table:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n * @element foxy-integration-form\n * @since 1.21.0\n */\nexport class IntegrationForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __postResponse: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [({ project_name: v }) => !!v || 'project-name:v8n_required'];\n }\n\n private __postResponse: PostResponseData | null = null;\n\n renderBody(): TemplateResult {\n return this.data ? this.__renderSnapshotBody() : this.__renderTemplateBody();\n }\n\n protected async _fetch<TResult = Data>(...args: Parameters<Window['fetch']>): Promise<TResult> {\n const constructor = this.constructor as typeof IntegrationForm;\n const response = await new constructor.API(this).fetch(...args);\n const method = typeof args[0] === 'string' ? args[1]?.method : args[0].method;\n const url = typeof args[0] === 'string' ? args[0] : args[0].url;\n\n if (!response.ok) throw response;\n\n const json = await response.json();\n if (method?.toUpperCase() === 'POST' && url === this.parent) this.__postResponse = json;\n\n return json;\n }\n\n private __renderSnapshotBody() {\n const hiddenSelector = this.hiddenSelector;\n const postResponse = this.__postResponse;\n\n return html`\n ${hiddenSelector.matches('header', true) ? '' : this.__renderHeader()}\n ${hiddenSelector.matches('message', true) || !postResponse ? '' : this.__renderMessage()}\n ${hiddenSelector.matches('table') ? '' : this.__renderTable()}\n <foxy-internal-delete-control infer=\"delete\"></foxy-internal-delete-control>\n `;\n }\n\n private __renderTemplateBody() {\n return html`\n <foxy-internal-text-control infer=\"project-name\"></foxy-internal-text-control>\n <foxy-internal-text-area-control infer=\"project-description\">\n </foxy-internal-text-area-control>\n <foxy-internal-create-control infer=\"create\"></foxy-internal-create-control>\n `;\n }\n\n private __renderMessage() {\n return html`\n ${this.renderTemplateOrSlot('message:before')}\n\n <div class=\"bg-success-10 text-success p-m pb-s space-y-xs leading-s rounded-t-l rounded-b-l\">\n <foxy-i18n infer=\"message\" class=\"block\" key=\"text\"></foxy-i18n>\n <vaadin-button\n data-testid=\"message-action\"\n theme=\"tertiary contrast\"\n class=\"p-0\"\n ?disabled=${this.disabledSelector.matches('message', true)}\n @click=${() => (this.__postResponse = null)}\n >\n <foxy-i18n infer=\"message\" key=\"action\"></foxy-i18n>\n </vaadin-button>\n </div>\n\n ${this.renderTemplateOrSlot('message:after')}\n `;\n }\n\n private __renderHeader() {\n const data = this.data as Data;\n const noDescription = html`<foxy-i18n infer=\"header\" key=\"no_description\"></foxy-i18n>`;\n\n return html`\n ${this.renderTemplateOrSlot('header:before')}\n\n <div class=\"space-y-xs\">\n <div class=\"font-bold truncate text-xl\">${data.project_name}​</div>\n <div class=\"text-secondary\">${data.project_description || noDescription}</div>\n </div>\n\n ${this.renderTemplateOrSlot('header:after')}\n `;\n }\n\n private __renderTable() {\n const data = this.data as Data;\n const expires = new Date((data.expires ?? 0) * 1000);\n const postResponse = this.__postResponse;\n\n return html`\n ${this.renderTemplateOrSlot('table:before')}\n\n <table class=\"font-lumo text-m leading-m w-full\">\n <tbody class=\"divide-y divide-contrast-10\">\n ${this.__renderTableRow({\n label: this.__renderTableI18n('added_by'),\n value: this.__renderMailToLink(data.added_by_email, data.added_by_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('contact'),\n value: this.__renderMailToLink(data.contact_email, data.contact_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('company'),\n value: this.__renderLink(data.company_url, data.company_name),\n })}\n ${this.__renderTableRow({\n label: this.__renderTableI18n('expires'),\n value: this.__renderTableI18n('expires_date', { date: expires }),\n })}\n ${this.__renderTableRow({\n label: 'Client ID',\n value: this.__renderCopiableText(data.client_id),\n })}\n ${postResponse\n ? html`\n ${this.__renderTableRow({\n highlight: true,\n label: 'Client secret',\n value: this.__renderCopiableText(postResponse.client_secret),\n })}\n ${this.__renderTableRow({\n highlight: true,\n label: 'Refresh token',\n value: this.__renderCopiableText(postResponse.refresh_token),\n })}\n ${this.__renderTableRow({\n highlight: true,\n label: 'Access token',\n value: this.__renderCopiableText(postResponse.access_token),\n })}\n `\n : ''}\n ${this.__renderTableRow({ label: 'Scope', value: html`<code>${data.scope}</code>` })}\n </tbody>\n </table>\n\n ${this.renderTemplateOrSlot('table:after')}\n `;\n }\n\n private __renderCopiableText(text: string) {\n return html`\n <div class=\"flex items-center gap-s\">\n <code class=\"truncate flex-1\">${text}</code>\n <foxy-copy-to-clipboard infer=\"copy-to-clipboard\" class=\"inline-block\" text=${text}>\n </foxy-copy-to-clipboard>\n </div>\n `;\n }\n\n private __renderMailToLink(email: string, caption: string) {\n if (!email) return html`${caption}`;\n return this.__renderLink(`mailto:${email}`, caption);\n }\n\n private __renderLink(href: string, caption: string) {\n if (!href) return html`${caption}`;\n\n return html`\n <a\n target=\"_blank\"\n class=\"font-semibold text-primary rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n ${caption}\n </a>\n `;\n }\n\n private __renderTableRow(params: { label: unknown; value: unknown; highlight?: boolean }) {\n const { label, value, highlight = false } = params;\n return html`\n <tr class=${classMap({ 'font-semibold text-success': highlight })}>\n <td class=\"max-w-0 truncate py-s text-secondary w-1-3 pr-m\">${label}</td>\n <td class=\"max-w-0 truncate py-s text-body w-2-3\">${value}</td>\n </tr>\n `;\n }\n\n private __renderTableI18n(key: string, options?: unknown) {\n return html`<foxy-i18n infer=\"table\" key=${key} .options=${options}></foxy-i18n>`;\n }\n}\n"]}
|
|
@@ -3,6 +3,7 @@ import '../../internal/InternalTextAreaControl/index';
|
|
|
3
3
|
import '../../internal/InternalDeleteControl/index';
|
|
4
4
|
import '../../internal/InternalCreateControl/index';
|
|
5
5
|
import '../../internal/InternalTextControl/index';
|
|
6
|
+
import '../../internal/InternalSandbox/index';
|
|
6
7
|
import '../../internal/InternalForm/index';
|
|
7
8
|
import '../CopyToClipboard/index';
|
|
8
9
|
import '../I18n/index';
|
|
@@ -3,6 +3,7 @@ import "../../internal/InternalTextAreaControl/index.js";
|
|
|
3
3
|
import "../../internal/InternalDeleteControl/index.js";
|
|
4
4
|
import "../../internal/InternalCreateControl/index.js";
|
|
5
5
|
import "../../internal/InternalTextControl/index.js";
|
|
6
|
+
import "../../internal/InternalSandbox/index.js";
|
|
6
7
|
import "../../internal/InternalForm/index.js";
|
|
7
8
|
import "../CopyToClipboard/index.js";
|
|
8
9
|
import "../I18n/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,yDAAsD;AACtD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,8CAA2C;AAE3C,qCAAkC;AAClC,0BAAuB;AAEvB,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAEpD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../internal/InternalTextAreaControl/index';\nimport '../../internal/InternalDeleteControl/index';\nimport '../../internal/InternalCreateControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\n\nimport '../CopyToClipboard/index';\nimport '../I18n/index';\n\nimport { IntegrationForm } from './IntegrationForm';\n\ncustomElements.define('foxy-integration-form', IntegrationForm);\n\nexport { IntegrationForm };\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/IntegrationForm/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,yDAAsD;AACtD,uDAAoD;AACpD,uDAAoD;AACpD,qDAAkD;AAClD,iDAA8C;AAC9C,8CAA2C;AAE3C,qCAAkC;AAClC,0BAAuB;AAEvB,OAAO,EAAE,eAAe,EAAE,6BAA0B;AAEpD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../internal/InternalTextAreaControl/index';\nimport '../../internal/InternalDeleteControl/index';\nimport '../../internal/InternalCreateControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalSandbox/index';\nimport '../../internal/InternalForm/index';\n\nimport '../CopyToClipboard/index';\nimport '../I18n/index';\n\nimport { IntegrationForm } from './IntegrationForm';\n\ncustomElements.define('foxy-integration-form', IntegrationForm);\n\nexport { IntegrationForm };\n"]}
|
|
@@ -101,26 +101,25 @@ export class ItemCard extends Base {
|
|
|
101
101
|
>
|
|
102
102
|
</foxy-nucleon>
|
|
103
103
|
|
|
104
|
-
<div
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
<div
|
|
105
|
+
class="flex items-start leading-xs"
|
|
106
|
+
style="gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
|
|
107
|
+
>
|
|
108
|
+
<img
|
|
109
|
+
class="relative h-s w-s object-cover rounded-full bg-contrast-20 flex-shrink-0 shadow-xs"
|
|
110
|
+
src=${ifDefined((_g = this.data) === null || _g === void 0 ? void 0 : _g.image)}
|
|
111
|
+
alt=""
|
|
112
|
+
@error=${(evt) => {
|
|
111
113
|
const img = evt.currentTarget;
|
|
112
114
|
img.src = ItemCard.__placeholder;
|
|
113
115
|
}}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
<div class="border border-contrast-10 absolute inset-0 rounded-s"></div>
|
|
117
|
-
</div>
|
|
116
|
+
/>
|
|
118
117
|
|
|
119
118
|
<div class="flex-1 min-w-0">
|
|
120
|
-
<div class="flex-1 h-
|
|
121
|
-
<div class="flex-1
|
|
119
|
+
<div class="flex-1 h-s flex items-center">
|
|
120
|
+
<div class="flex-1">
|
|
122
121
|
<div class="font-semibold text-m truncate">${(_h = this.data) === null || _h === void 0 ? void 0 : _h.name}</div>
|
|
123
|
-
<div class="text-
|
|
122
|
+
<div class="text-tertiary text-s truncate">
|
|
124
123
|
${quantity} ×
|
|
125
124
|
|
|
126
125
|
<foxy-i18n
|
|
@@ -165,7 +164,7 @@ export class ItemCard extends Base {
|
|
|
165
164
|
${options.map(option => html `
|
|
166
165
|
<div
|
|
167
166
|
data-testclass="option"
|
|
168
|
-
class="flex items-center text-
|
|
167
|
+
class="flex items-center text-s space-x-xs leading-m"
|
|
169
168
|
>
|
|
170
169
|
<div class="flex-1 text-tertiary truncate">
|
|
171
170
|
${option.name}: ${option.value}
|