@foxy.io/elements 1.16.0-beta.5 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +2 -2
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-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-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.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-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 +15 -15
- package/dist/cdn/foxy-customer.js +6 -6
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-donation.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-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +4 -4
- 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-transaction-card.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/{shared-f3b35364.js → shared-07134f93.js} +1 -1
- package/dist/cdn/{shared-7819b0b0.js → shared-073cb8e9.js} +1 -1
- package/dist/cdn/{shared-368a2f85.js → shared-0f38a631.js} +1 -1
- package/dist/cdn/{shared-25e9c276.js → shared-1a67bc75.js} +4 -4
- package/dist/cdn/shared-1a91d467.js +1 -0
- package/dist/cdn/shared-1de261b3.js +1 -0
- package/dist/cdn/shared-21419f10.js +1 -0
- package/dist/cdn/{shared-99065f2a.js → shared-218ba06e.js} +1 -1
- package/dist/cdn/{shared-3ffd77da.js → shared-30dd6de7.js} +19 -14
- package/dist/cdn/shared-39e3ae67.js +1 -0
- package/dist/cdn/{shared-2bb49907.js → shared-448781f9.js} +1 -1
- package/dist/cdn/{shared-35de1004.js → shared-46ee137f.js} +10 -10
- package/dist/cdn/shared-4f1f4281.js +1 -0
- package/dist/cdn/{shared-b8f492a4.js → shared-4f424828.js} +2 -2
- package/dist/cdn/shared-50765afb.js +1 -0
- package/dist/cdn/{shared-e59c65e3.js → shared-548f721a.js} +1 -1
- package/dist/cdn/shared-5535f38f.js +15 -0
- package/dist/cdn/shared-55481c27.js +1 -0
- package/dist/cdn/{shared-f0ba30e8.js → shared-59e44f29.js} +1 -1
- package/dist/cdn/{shared-757bb517.js → shared-5a54a9bc.js} +1 -1
- package/dist/cdn/{shared-bc94606b.js → shared-60126eee.js} +1 -1
- package/dist/cdn/shared-63eaded9.js +159 -0
- package/dist/cdn/{shared-5097c880.js → shared-65dfd512.js} +11 -2
- package/dist/cdn/{shared-d3bf9ac0.js → shared-6d45a07b.js} +2 -2
- package/dist/cdn/{shared-38f8a319.js → shared-6f412a43.js} +7 -7
- package/dist/cdn/{shared-f3655f42.js → shared-756034e4.js} +1 -1
- package/dist/cdn/shared-7f0a9790.js +1 -0
- package/dist/cdn/shared-81cd9eac.js +1 -0
- package/dist/cdn/shared-87aa97d2.js +1 -0
- package/dist/cdn/shared-8b20bc23.js +12 -0
- package/dist/cdn/{shared-22103348.js → shared-8f2c9582.js} +1 -1
- package/dist/cdn/{shared-0479553e.js → shared-9221e6b2.js} +1 -1
- package/dist/cdn/{shared-60e98fbf.js → shared-a040d79d.js} +1 -1
- package/dist/cdn/shared-a62e1a93.js +1 -0
- package/dist/cdn/shared-ad16479c.js +1 -0
- package/dist/cdn/{shared-11c2efc8.js → shared-b0f0e8b5.js} +1 -1
- package/dist/cdn/shared-b58b8353.js +1 -0
- package/dist/cdn/{shared-d519a301.js → shared-b710881a.js} +2 -2
- package/dist/cdn/shared-c64bc1a0.js +1 -0
- package/dist/cdn/shared-ce2ac6b4.js +1 -0
- package/dist/cdn/shared-db4f299b.js +1 -0
- package/dist/cdn/shared-df730f90.js +1 -0
- package/dist/cdn/{shared-7f3ca8e7.js → shared-ea9f7255.js} +5 -5
- package/dist/cdn/{shared-9d7aaf7a.js → shared-f4ad24f4.js} +1 -1
- package/dist/cdn/shared-f6e51811.js +1 -0
- package/dist/cdn/{shared-bbfdfee2.js → shared-f7fbb249.js} +10 -10
- package/dist/cdn/{shared-f3f9f752.js → shared-fab8c705.js} +10 -10
- package/dist/cdn/shared-ff79f3f9.js +230 -0
- package/dist/cdn/translations/coupon-form/en.json +2 -21
- package/dist/cdn/translations/customer-portal/se.json +223 -0
- package/dist/cdn/translations/gift-card-form/en.json +0 -21
- package/dist/elements/private/Dialog/Dialog.d.ts +2 -4
- package/dist/elements/private/Dialog/Dialog.js +1 -3
- package/dist/elements/private/Dialog/Dialog.js.map +1 -1
- package/dist/elements/private/EditableList/EditableList.d.ts +2 -4
- package/dist/elements/private/EditableList/EditableList.js +1 -3
- package/dist/elements/private/EditableList/EditableList.js.map +1 -1
- package/dist/elements/private/FrequencyInput/FrequencyInput.d.ts +1 -3
- package/dist/elements/private/FrequencyInput/FrequencyInput.js +1 -2
- package/dist/elements/private/FrequencyInput/FrequencyInput.js.map +1 -1
- package/dist/elements/public/CollectionPage/CollectionPage.d.ts +3 -4
- package/dist/elements/public/CollectionPage/CollectionPage.js +3 -5
- package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
- package/dist/elements/public/CollectionPage/types.d.ts +0 -1
- package/dist/elements/public/CollectionPage/types.js.map +1 -1
- package/dist/elements/public/CollectionPages/CollectionPages.d.ts +2 -4
- package/dist/elements/public/CollectionPages/CollectionPages.js +1 -3
- package/dist/elements/public/CollectionPages/CollectionPages.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +35 -36
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CouponForm/index.d.ts +0 -1
- package/dist/elements/public/CouponForm/index.js +0 -1
- package/dist/elements/public/CouponForm/index.js.map +1 -1
- package/dist/elements/public/CustomerApi/CustomerApi.d.ts +1 -3
- package/dist/elements/public/CustomerApi/CustomerApi.js +1 -2
- package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.d.ts +1 -3
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.js +1 -2
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +3 -12
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.d.ts +1 -3
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js +1 -2
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.d.ts +1 -3
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +1 -2
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalTransactions.d.ts +1 -3
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalTransactions.js +1 -2
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalTransactions.js.map +1 -1
- package/dist/elements/public/ErrorEntryCard/ErrorEntryCard.js +1 -2
- package/dist/elements/public/ErrorEntryCard/ErrorEntryCard.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +15 -28
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/index.d.ts +0 -1
- package/dist/elements/public/GiftCardForm/index.js +0 -1
- package/dist/elements/public/GiftCardForm/index.js.map +1 -1
- package/dist/elements/public/I18n/I18n.d.ts +1 -3
- package/dist/elements/public/I18n/I18n.js +1 -2
- package/dist/elements/public/I18n/I18n.js.map +1 -1
- package/dist/elements/public/NucleonElement/NucleonElement.d.ts +1 -7
- package/dist/elements/public/NucleonElement/NucleonElement.js +1 -13
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/Pagination/Pagination.d.ts +1 -3
- package/dist/elements/public/Pagination/Pagination.js +2 -3
- package/dist/elements/public/Pagination/Pagination.js.map +1 -1
- package/dist/elements/public/PaymentCard/PaymentCard.js +1 -1
- package/dist/elements/public/PaymentCard/PaymentCard.js.map +1 -1
- package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +1 -3
- package/dist/elements/public/QueryBuilder/QueryBuilder.js +1 -2
- package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/elements/public/Spinner/Spinner.d.ts +2 -4
- package/dist/elements/public/Spinner/Spinner.js +1 -3
- package/dist/elements/public/Spinner/Spinner.js.map +1 -1
- package/dist/elements/public/index.d.ts +0 -13
- package/dist/elements/public/index.defined.d.ts +0 -13
- package/dist/elements/public/index.defined.js +0 -13
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +0 -13
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/configurable.d.ts +3 -5
- package/dist/mixins/configurable.js +4 -39
- package/dist/mixins/configurable.js.map +1 -1
- package/dist/mixins/themeable.js +4 -6655
- package/dist/mixins/themeable.js.map +1 -1
- package/dist/mixins/translatable.d.ts +1 -3
- package/dist/mixins/translatable.js +2 -14
- package/dist/mixins/translatable.js.map +1 -1
- package/package.json +3 -3
- package/dist/cdn/foxy-copy-to-clipboard.js +0 -1
- package/dist/cdn/foxy-coupon-detail-card.js +0 -1
- package/dist/cdn/foxy-discount-builder.js +0 -1
- package/dist/cdn/foxy-discount-detail-card.js +0 -1
- package/dist/cdn/foxy-item-card.js +0 -1
- package/dist/cdn/foxy-item-form.js +0 -1
- package/dist/cdn/foxy-item-option-card.js +0 -1
- package/dist/cdn/foxy-item-option-form.js +0 -1
- package/dist/cdn/foxy-report-form.js +0 -195
- package/dist/cdn/foxy-reports-table.js +0 -41
- package/dist/cdn/foxy-shipment-card.js +0 -17
- package/dist/cdn/foxy-swipe-actions.js +0 -1
- package/dist/cdn/foxy-transaction.js +0 -64
- package/dist/cdn/shared-007660a6.js +0 -12
- package/dist/cdn/shared-06014421.js +0 -1
- package/dist/cdn/shared-1b064836.js +0 -1
- package/dist/cdn/shared-1ddccf4d.js +0 -1
- package/dist/cdn/shared-2eee69db.js +0 -1
- package/dist/cdn/shared-3026cee0.js +0 -15
- package/dist/cdn/shared-34998df6.js +0 -1
- package/dist/cdn/shared-4e63d6e0.js +0 -1
- package/dist/cdn/shared-518902c8.js +0 -1
- package/dist/cdn/shared-5e75308a.js +0 -1
- package/dist/cdn/shared-64657919.js +0 -1
- package/dist/cdn/shared-7f33a83a.js +0 -159
- package/dist/cdn/shared-874bbae5.js +0 -1
- package/dist/cdn/shared-92d6f937.js +0 -1
- package/dist/cdn/shared-96df3c85.js +0 -1
- package/dist/cdn/shared-9a089d49.js +0 -1
- package/dist/cdn/shared-9d4835ed.js +0 -1
- package/dist/cdn/shared-a8e21a41.js +0 -1
- package/dist/cdn/shared-b4a4a92b.js +0 -1
- package/dist/cdn/shared-c3c424cd.js +0 -1
- package/dist/cdn/shared-c4f0a219.js +0 -1
- package/dist/cdn/shared-cad5fe82.js +0 -1
- package/dist/cdn/shared-ce2aab66.js +0 -1
- package/dist/cdn/shared-e090608c.js +0 -201
- package/dist/cdn/shared-e6f3e9f0.js +0 -6
- package/dist/cdn/shared-ea9af4b0.js +0 -29
- package/dist/cdn/shared-f7bddf72.js +0 -9
- package/dist/cdn/shared-fe8ec1f9.js +0 -1
- package/dist/cdn/translations/copy-to-clipboard/en.json +0 -6
- package/dist/cdn/translations/item-card/en.json +0 -9
- package/dist/cdn/translations/item-form/en.json +0 -387
- package/dist/cdn/translations/item-option-form/en.json +0 -43
- package/dist/cdn/translations/report-form/en.json +0 -38
- package/dist/cdn/translations/reports-table/en.json +0 -21
- package/dist/cdn/translations/shipment-card/en.json +0 -470
- package/dist/cdn/translations/transaction/en.json +0 -941
- package/dist/elements/index.d.ts +0 -1
- package/dist/elements/index.js +0 -2
- package/dist/elements/index.js.map +0 -1
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +0 -22
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +0 -79
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +0 -1
- package/dist/elements/internal/InternalAsyncComboBoxControl/index.d.ts +0 -4
- package/dist/elements/internal/InternalAsyncComboBoxControl/index.js +0 -6
- package/dist/elements/internal/InternalAsyncComboBoxControl/index.js.map +0 -1
- package/dist/elements/internal/InternalCard/InternalCard.d.ts +0 -13
- package/dist/elements/internal/InternalCard/InternalCard.js +0 -43
- package/dist/elements/internal/InternalCard/InternalCard.js.map +0 -1
- package/dist/elements/internal/InternalCard/index.d.ts +0 -3
- package/dist/elements/internal/InternalCard/index.js +0 -5
- package/dist/elements/internal/InternalCard/index.js.map +0 -1
- package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.d.ts +0 -16
- package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.js +0 -63
- package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.js.map +0 -1
- package/dist/elements/internal/InternalCollapsibleCard/index.d.ts +0 -5
- package/dist/elements/internal/InternalCollapsibleCard/index.js +0 -7
- package/dist/elements/internal/InternalCollapsibleCard/index.js.map +0 -1
- package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.d.ts +0 -13
- package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.js +0 -119
- package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.js.map +0 -1
- package/dist/elements/internal/InternalCollectionCard/index.d.ts +0 -7
- package/dist/elements/internal/InternalCollectionCard/index.js +0 -9
- package/dist/elements/internal/InternalCollectionCard/index.js.map +0 -1
- package/dist/elements/internal/InternalControl/InternalControl.d.ts +0 -21
- package/dist/elements/internal/InternalControl/InternalControl.js +0 -53
- package/dist/elements/internal/InternalControl/InternalControl.js.map +0 -1
- package/dist/elements/internal/InternalControl/index.d.ts +0 -2
- package/dist/elements/internal/InternalControl/index.js +0 -4
- package/dist/elements/internal/InternalControl/index.js.map +0 -1
- package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +0 -14
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js +0 -60
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +0 -1
- package/dist/elements/internal/InternalDateControl/index.d.ts +0 -4
- package/dist/elements/internal/InternalDateControl/index.js +0 -6
- package/dist/elements/internal/InternalDateControl/index.js.map +0 -1
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +0 -25
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +0 -78
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +0 -1
- package/dist/elements/internal/InternalEditableControl/index.d.ts +0 -3
- package/dist/elements/internal/InternalEditableControl/index.js +0 -5
- package/dist/elements/internal/InternalEditableControl/index.js.map +0 -1
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +0 -13
- package/dist/elements/internal/InternalForm/InternalForm.js +0 -49
- package/dist/elements/internal/InternalForm/InternalForm.js.map +0 -1
- package/dist/elements/internal/InternalForm/index.d.ts +0 -6
- package/dist/elements/internal/InternalForm/index.js +0 -8
- package/dist/elements/internal/InternalForm/index.js.map +0 -1
- package/dist/elements/internal/InternalForm/internal/InternalCreateControl/InternalCreateControl.d.ts +0 -13
- package/dist/elements/internal/InternalForm/internal/InternalCreateControl/InternalCreateControl.js +0 -47
- package/dist/elements/internal/InternalForm/internal/InternalCreateControl/InternalCreateControl.js.map +0 -1
- package/dist/elements/internal/InternalForm/internal/InternalCreateControl/index.d.ts +0 -4
- package/dist/elements/internal/InternalForm/internal/InternalCreateControl/index.js +0 -6
- package/dist/elements/internal/InternalForm/internal/InternalCreateControl/index.js.map +0 -1
- package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/InternalDeleteControl.d.ts +0 -6
- package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/InternalDeleteControl.js +0 -39
- package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/InternalDeleteControl.js.map +0 -1
- package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/index.d.ts +0 -5
- package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/index.js +0 -7
- package/dist/elements/internal/InternalForm/internal/InternalDeleteControl/index.js.map +0 -1
- package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/InternalTimestampsControl.d.ts +0 -8
- package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/InternalTimestampsControl.js +0 -56
- package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/InternalTimestampsControl.js.map +0 -1
- package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/index.d.ts +0 -2
- package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/index.js +0 -4
- package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/index.js.map +0 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +0 -9
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +0 -115
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +0 -1
- package/dist/elements/internal/InternalFrequencyControl/index.d.ts +0 -7
- package/dist/elements/internal/InternalFrequencyControl/index.js +0 -9
- package/dist/elements/internal/InternalFrequencyControl/index.js.map +0 -1
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +0 -13
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +0 -41
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +0 -1
- package/dist/elements/internal/InternalIntegerControl/index.d.ts +0 -4
- package/dist/elements/internal/InternalIntegerControl/index.js +0 -6
- package/dist/elements/internal/InternalIntegerControl/index.js.map +0 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +0 -13
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +0 -41
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +0 -1
- package/dist/elements/internal/InternalNumberControl/index.d.ts +0 -4
- package/dist/elements/internal/InternalNumberControl/index.js +0 -6
- package/dist/elements/internal/InternalNumberControl/index.js.map +0 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +0 -13
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +0 -40
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +0 -1
- package/dist/elements/internal/InternalTextControl/index.d.ts +0 -4
- package/dist/elements/internal/InternalTextControl/index.js +0 -6
- package/dist/elements/internal/InternalTextControl/index.js.map +0 -1
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.d.ts +0 -14
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js +0 -112
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js.map +0 -1
- package/dist/elements/public/CopyToClipboard/index.d.ts +0 -4
- package/dist/elements/public/CopyToClipboard/index.js +0 -6
- package/dist/elements/public/CopyToClipboard/index.js.map +0 -1
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +0 -25
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +0 -58
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +0 -1
- package/dist/elements/public/CouponDetailCard/index.d.ts +0 -5
- package/dist/elements/public/CouponDetailCard/index.js +0 -7
- package/dist/elements/public/CouponDetailCard/index.js.map +0 -1
- package/dist/elements/public/CouponDetailCard/types.d.ts +0 -3
- package/dist/elements/public/CouponDetailCard/types.js +0 -2
- package/dist/elements/public/CouponDetailCard/types.js.map +0 -1
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.d.ts +0 -28
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +0 -339
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +0 -1
- package/dist/elements/public/DiscountBuilder/index.d.ts +0 -2
- package/dist/elements/public/DiscountBuilder/index.js +0 -4
- package/dist/elements/public/DiscountBuilder/index.js.map +0 -1
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +0 -25
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +0 -58
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +0 -1
- package/dist/elements/public/DiscountDetailCard/index.d.ts +0 -5
- package/dist/elements/public/DiscountDetailCard/index.js +0 -7
- package/dist/elements/public/DiscountDetailCard/index.js.map +0 -1
- package/dist/elements/public/DiscountDetailCard/types.d.ts +0 -3
- package/dist/elements/public/DiscountDetailCard/types.js +0 -2
- package/dist/elements/public/DiscountDetailCard/types.js.map +0 -1
- package/dist/elements/public/ItemCard/ItemCard.d.ts +0 -16
- package/dist/elements/public/ItemCard/ItemCard.js +0 -139
- package/dist/elements/public/ItemCard/ItemCard.js.map +0 -1
- package/dist/elements/public/ItemCard/index.d.ts +0 -4
- package/dist/elements/public/ItemCard/index.js +0 -6
- package/dist/elements/public/ItemCard/index.js.map +0 -1
- package/dist/elements/public/ItemCard/types.d.ts +0 -5
- package/dist/elements/public/ItemCard/types.js +0 -2
- package/dist/elements/public/ItemCard/types.js.map +0 -1
- package/dist/elements/public/ItemForm/ItemForm.d.ts +0 -19
- package/dist/elements/public/ItemForm/ItemForm.js +0 -96
- package/dist/elements/public/ItemForm/ItemForm.js.map +0 -1
- package/dist/elements/public/ItemForm/index.d.ts +0 -19
- package/dist/elements/public/ItemForm/index.js +0 -21
- package/dist/elements/public/ItemForm/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +0 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +0 -23
- 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 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +0 -31
- 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 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +0 -48
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +0 -7
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +0 -9
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +0 -1
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +0 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +0 -32
- 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 -6
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +0 -75
- 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
- package/dist/elements/public/ItemForm/types.d.ts +0 -3
- package/dist/elements/public/ItemForm/types.js +0 -2
- package/dist/elements/public/ItemForm/types.js.map +0 -1
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +0 -25
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +0 -56
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +0 -1
- package/dist/elements/public/ItemOptionCard/index.d.ts +0 -6
- package/dist/elements/public/ItemOptionCard/index.js +0 -8
- package/dist/elements/public/ItemOptionCard/index.js.map +0 -1
- package/dist/elements/public/ItemOptionCard/types.d.ts +0 -11
- package/dist/elements/public/ItemOptionCard/types.js +0 -2
- package/dist/elements/public/ItemOptionCard/types.js.map +0 -1
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.d.ts +0 -12
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +0 -23
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +0 -1
- package/dist/elements/public/ItemOptionForm/index.d.ts +0 -5
- package/dist/elements/public/ItemOptionForm/index.js +0 -7
- package/dist/elements/public/ItemOptionForm/index.js.map +0 -1
- package/dist/elements/public/ItemOptionForm/types.d.ts +0 -3
- package/dist/elements/public/ItemOptionForm/types.js +0 -2
- package/dist/elements/public/ItemOptionForm/types.js.map +0 -1
- package/dist/elements/public/ReportForm/ReportForm.d.ts +0 -48
- package/dist/elements/public/ReportForm/ReportForm.js +0 -391
- package/dist/elements/public/ReportForm/ReportForm.js.map +0 -1
- package/dist/elements/public/ReportForm/index.d.ts +0 -11
- package/dist/elements/public/ReportForm/index.js +0 -13
- package/dist/elements/public/ReportForm/index.js.map +0 -1
- package/dist/elements/public/ReportForm/types.d.ts +0 -17
- package/dist/elements/public/ReportForm/types.js +0 -2
- package/dist/elements/public/ReportForm/types.js.map +0 -1
- package/dist/elements/public/ReportForm/utils.d.ts +0 -16
- package/dist/elements/public/ReportForm/utils.js +0 -73
- package/dist/elements/public/ReportForm/utils.js.map +0 -1
- package/dist/elements/public/ReportsTable/ReportsTable.d.ts +0 -21
- package/dist/elements/public/ReportsTable/ReportsTable.js +0 -101
- package/dist/elements/public/ReportsTable/ReportsTable.js.map +0 -1
- package/dist/elements/public/ReportsTable/index.d.ts +0 -4
- package/dist/elements/public/ReportsTable/index.js +0 -6
- package/dist/elements/public/ReportsTable/index.js.map +0 -1
- package/dist/elements/public/ReportsTable/types.d.ts +0 -3
- package/dist/elements/public/ReportsTable/types.js +0 -2
- package/dist/elements/public/ReportsTable/types.js.map +0 -1
- package/dist/elements/public/ShipmentCard/ShipmentCard.d.ts +0 -22
- package/dist/elements/public/ShipmentCard/ShipmentCard.js +0 -114
- package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +0 -1
- package/dist/elements/public/ShipmentCard/index.d.ts +0 -7
- package/dist/elements/public/ShipmentCard/index.js +0 -9
- package/dist/elements/public/ShipmentCard/index.js.map +0 -1
- package/dist/elements/public/ShipmentCard/types.d.ts +0 -18
- package/dist/elements/public/ShipmentCard/types.js +0 -2
- package/dist/elements/public/ShipmentCard/types.js.map +0 -1
- package/dist/elements/public/SwipeActions/SwipeActions.d.ts +0 -13
- package/dist/elements/public/SwipeActions/SwipeActions.js +0 -116
- package/dist/elements/public/SwipeActions/SwipeActions.js.map +0 -1
- package/dist/elements/public/SwipeActions/index.d.ts +0 -2
- package/dist/elements/public/SwipeActions/index.js +0 -4
- package/dist/elements/public/SwipeActions/index.js.map +0 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +0 -13
- package/dist/elements/public/Transaction/Transaction.js +0 -101
- package/dist/elements/public/Transaction/Transaction.js.map +0 -1
- package/dist/elements/public/Transaction/index.d.ts +0 -19
- package/dist/elements/public/Transaction/index.js +0 -21
- package/dist/elements/public/Transaction/index.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.d.ts +0 -9
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js +0 -69
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.d.ts +0 -4
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.js +0 -6
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.d.ts +0 -5
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +0 -36
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.d.ts +0 -7
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js +0 -9
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.d.ts +0 -11
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +0 -50
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.d.ts +0 -5
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js +0 -7
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.d.ts +0 -8
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +0 -77
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +0 -1
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.d.ts +0 -4
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js +0 -6
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js.map +0 -1
- package/dist/elements/public/Transaction/types.d.ts +0 -3
- package/dist/elements/public/Transaction/types.js +0 -2
- package/dist/elements/public/Transaction/types.js.map +0 -1
- package/dist/mixins/inferrable.d.ts +0 -15
- package/dist/mixins/inferrable.js +0 -66
- package/dist/mixins/inferrable.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAA0C,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAkB,EACkB,EAAE;IACtC,OAAO,MAAM,gBAAiB,SAAQ,WAAW;QAC/C,MAAM,KAAK,MAAM;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAEjC,OAAO;gBACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6HF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,cAAc,CACZ,yBAAyB,EACzB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SASF,CACF,CAAC;AAEF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAOF,CACF,CAAC;AAEF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAOF,CACF,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAU,SAAQ,mBAAmB,CACzD,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAC5C;CAAG","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-combo-box::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-time-picker {\n width: 100%;\n }\n\n vaadin-date-time-picker {\n width: 100%;\n }\n\n vaadin-button {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\nregisterStyles(\n 'vaadin-date-time-picker',\n css`\n vaadin-date-time-picker-custom-field {\n --lumo-text-field-size: auto;\n padding: 0;\n }\n\n vaadin-date-time-picker-custom-field::part(label) {\n padding-bottom: 0.5em;\n }\n `\n);\n\nregisterStyles(\n 'vaadin-date-time-picker-date-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-date-text-field {\n padding: 0;\n }\n `\n);\n\nregisterStyles(\n 'vaadin-date-time-picker-time-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-time-text-field {\n padding: 0;\n }\n `\n);\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
|
|
1
|
+
{"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-combo-box::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-button {\n margin: 0;\n }\n\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Constructor, LitElement, PropertyDeclarations } from 'lit-element';
|
|
2
2
|
import { StringMap, TFunction, i18n } from 'i18next';
|
|
3
3
|
import { Themeable } from './themeable';
|
|
4
|
-
import { InferrableMixinHost } from './inferrable';
|
|
5
4
|
/**
|
|
6
5
|
* One of the base classes for each rel-specific element in the collection,
|
|
7
6
|
* providing internationalization capabilities to the derived components.
|
|
@@ -65,9 +64,8 @@ export declare abstract class Translatable extends Themeable {
|
|
|
65
64
|
protected get _isI18nReady(): boolean;
|
|
66
65
|
protected get _t(): TFunction;
|
|
67
66
|
}
|
|
68
|
-
declare type Base = Constructor<
|
|
67
|
+
declare type Base = Constructor<LitElement> & {
|
|
69
68
|
properties?: PropertyDeclarations;
|
|
70
|
-
inferredProperties: string[];
|
|
71
69
|
};
|
|
72
70
|
declare type Translator = (key: string, options?: StringMap) => string;
|
|
73
71
|
export declare class TranslatableMixinHost {
|
|
@@ -72,7 +72,7 @@ export class Translatable extends Themeable {
|
|
|
72
72
|
this.__i18n.use(HttpApi);
|
|
73
73
|
this.__whenI18NReady = this.__i18n.init({
|
|
74
74
|
ns: ['global'],
|
|
75
|
-
supportedLngs: ['nl', 'en', 'es', 'sv', 'fi', 'fr', 'de', 'zh', 'no', 'it', 'pl'],
|
|
75
|
+
supportedLngs: ['nl', 'en', 'es', 'sv', 'fi', 'fr', 'de', 'zh', 'no', 'it', 'pl', 'se'],
|
|
76
76
|
interpolation: { format: Translatable.__f },
|
|
77
77
|
fallbackLng: 'en',
|
|
78
78
|
fallbackNS: 'global',
|
|
@@ -159,7 +159,7 @@ export const TranslatableMixin = (BaseElement, defaultNS = '') => {
|
|
|
159
159
|
const keys = [
|
|
160
160
|
...[defaultNS, ...this.ns.split(' ').reverse()]
|
|
161
161
|
.map(v => v.trim())
|
|
162
|
-
.filter(v => v.length > 0)
|
|
162
|
+
.filter((v, i, a) => a.indexOf(v) === i && v.length > 0)
|
|
163
163
|
.reverse()
|
|
164
164
|
.map((v, i, a) => `${v}:${[...a.slice(i + 1), key].join('.')}`),
|
|
165
165
|
`shared:${key}`,
|
|
@@ -167,9 +167,6 @@ export const TranslatableMixin = (BaseElement, defaultNS = '') => {
|
|
|
167
167
|
return I18nElement.i18next.t(keys, { lng: this.lang, ...options }).toString();
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
|
-
static get inferredProperties() {
|
|
171
|
-
return [...super.inferredProperties, 'lang', 'ns'];
|
|
172
|
-
}
|
|
173
170
|
static get properties() {
|
|
174
171
|
return {
|
|
175
172
|
...super.properties,
|
|
@@ -201,15 +198,6 @@ export const TranslatableMixin = (BaseElement, defaultNS = '') => {
|
|
|
201
198
|
super.disconnectedCallback();
|
|
202
199
|
(_a = this.__untrackTranslations) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
203
200
|
}
|
|
204
|
-
applyInferredProperties(context) {
|
|
205
|
-
super.applyInferredProperties(context);
|
|
206
|
-
if (this.infer === null)
|
|
207
|
-
return;
|
|
208
|
-
const lang = context.get('lang');
|
|
209
|
-
const ns = context.get('ns');
|
|
210
|
-
this.lang = lang !== null && lang !== void 0 ? lang : '';
|
|
211
|
-
this.ns = ns ? `${ns} ${this.infer}`.trim() : defaultNS;
|
|
212
|
-
}
|
|
213
201
|
};
|
|
214
202
|
};
|
|
215
203
|
//# sourceMappingURL=translatable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translatable.js","sourceRoot":"","sources":["../../src/mixins/translatable.ts"],"names":[],"mappings":"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","sourcesContent":["import { Constructor, LitElement, PropertyDeclarations } from 'lit-element';\nimport i18next, { FormatFunction, StringMap, TFunction, i18n } from 'i18next';\n\nimport HttpApi from 'i18next-http-backend';\nimport { I18n } from '../elements/public/I18n/I18n';\nimport { Themeable } from './themeable';\nimport { cdn } from '../env';\nimport { InferrableMixinHost } from './inferrable';\n\n/**\n * One of the base classes for each rel-specific element in the collection,\n * providing internationalization capabilities to the derived components.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Translatable extends Themeable {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n lang: { type: String, noAccessor: true },\n ns: { type: String, noAccessor: true },\n };\n }\n\n /**\n * i18next formatter that converts given value to lowecase.\n * @see https://www.i18next.com/translation-function/formatting\n */\n private static __fLowercase: FormatFunction = (value): string => {\n return value.toLowerCase();\n };\n\n /**\n * i18next formatter that presents an array of serializable items\n * as `[0], [1], [...] and [length - 1]`. For example, given an array like\n * the following: `['a', 'b', 'c']`, it will output `'a, b and c'`.\n * @see https://www.i18next.com/translation-function/formatting\n */\n private static __fList: FormatFunction = (value): string => {\n return (value as string[])\n .map((v, i, a) => {\n if (i === 0) return v;\n const part = i === a.length - 1 ? ` $t(and) ` : ',';\n return `${part} ${v}`;\n })\n .join('');\n };\n\n /**\n * Chooses the right i18next formatter for the given template.\n * @see https://www.i18next.com/translation-function/formatting\n */\n private static __f: FormatFunction = (...args): string => {\n const value = args[0];\n const formats = args[1]?.split(' ') ?? [];\n\n return formats.reduce((result, format) => {\n switch (format) {\n case 'lowercase':\n return Translatable.__fLowercase(result);\n case 'list':\n return Translatable.__fList(result);\n default:\n return result;\n }\n }, value);\n };\n\n private static __whenI18NReady: Promise<TFunction>;\n\n private static __isI18NReady = false;\n\n private static __i18n: i18n;\n\n private __lang = (this._i18n.options.fallbackLng as string[])[0];\n\n private __ns = (this._i18n.options.fallbackNS as string[])[0];\n\n /**\n * Creates class instance and starts loading missing translations\n * in background. Triggers render when ready.\n *\n * @param defaultNS Name of the folder translations for this component are stored in. Usually a node name without vendor prefix.\n */\n constructor(defaultNS = 'global') {\n super();\n this.ns = defaultNS;\n this._whenI18nReady.then(() => this.requestUpdate());\n }\n\n /**\n * Contains the language this component presents its translatable\n * content in. Assigning a value to this property will load new\n * translations in background and trigger a render afterwards.\n *\n * **Example:** `\"en\"`\n */\n public get lang(): string {\n return this.__lang;\n }\n\n public set lang(value: string) {\n if (!value || value === 'undefined') return;\n this.__lang = value;\n this._i18n.loadLanguages(value).then(() => {\n if (this.__lang === value) this.requestUpdate();\n });\n }\n\n /**\n * The namespace to look for the translations in. We use this property to\n * sync namespace settings with the parent element and it's highly unlikely\n * that you'll ever need to set or read it in your code.\n *\n * **Example:** `\"admin\"`\n */\n public get ns(): string {\n return this.__ns;\n }\n\n public set ns(value: string) {\n this.__ns = value;\n this._i18n.loadNamespaces(value).then(() => {\n if (this.__ns === value) this.requestUpdate();\n });\n }\n\n private static __initI18N() {\n this.__i18n = i18next.createInstance();\n this.__i18n.use(HttpApi);\n\n this.__whenI18NReady = this.__i18n.init({\n ns: ['global'],\n supportedLngs: ['nl', 'en', 'es', 'sv', 'fi', 'fr', 'de', 'zh', 'no', 'it', 'pl'],\n interpolation: { format: Translatable.__f },\n fallbackLng: 'en',\n fallbackNS: 'global',\n defaultNS: 'global',\n detection: {\n order: ['querystring', 'navigator', 'htmlTag', 'path', 'subdomain'],\n caches: [],\n },\n backend: {\n loadPath: `${cdn}/translations/{{ns}}/{{lng}}.json`,\n },\n });\n\n this.__whenI18NReady.then(() => (this.__isI18NReady = true));\n\n return this.__i18n;\n }\n\n protected get _i18n(): i18n {\n return Translatable.__i18n ?? Translatable.__initI18N();\n }\n\n protected get _whenI18nReady(): Promise<TFunction> {\n return Translatable.__whenI18NReady;\n }\n\n protected get _isI18nReady(): boolean {\n return Translatable.__isI18NReady;\n }\n\n protected get _t(): TFunction {\n const ns = [this.__ns, this._i18n.options.fallbackNS as string];\n return this._i18n.getFixedT(this.__lang, ns);\n }\n}\n\ntype Base = Constructor<InferrableMixinHost> &\n Constructor<LitElement> & { properties?: PropertyDeclarations; inferredProperties: string[] };\n\ntype Translator = (key: string, options?: StringMap) => string;\n\nexport declare class TranslatableMixinHost {\n /** Optional ISO 639-1 code describing the language element content is written in. */\n lang: string;\n\n /**\n * Namespace used by this element.\n * @since 1.4.0\n */\n ns: string;\n\n /**\n * Translation function from i18next fixed to the current language and element namespace.\n * @since 1.4.0\n */\n get t(): Translator;\n}\n\nexport const TranslatableMixin = <T extends Base>(\n BaseElement: T,\n defaultNS = ''\n): T & Constructor<TranslatableMixinHost> & { defaultNS: string } => {\n return class TranslatableElement extends BaseElement {\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'lang', 'ns'];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n lang: { type: String },\n ns: { type: String },\n };\n }\n\n static get defaultNS(): string {\n return defaultNS;\n }\n\n lang = '';\n\n ns = defaultNS;\n\n t: Translator = (key, options) => {\n const I18nElement = customElements.get('foxy-i18n') as typeof I18n | undefined;\n\n if (!I18nElement) return key;\n\n const keys = [\n ...[defaultNS, ...this.ns.split(' ').reverse()]\n .map(v => v.trim())\n .filter(v => v.length > 0)\n .reverse()\n .map((v, i, a) => `${v}:${[...a.slice(i + 1), key].join('.')}`),\n `shared:${key}`,\n ];\n\n return I18nElement.i18next.t(keys, { lng: this.lang, ...options }).toString();\n };\n\n private __untrackTranslations?: () => void;\n\n connectedCallback(): void {\n super.connectedCallback();\n const I18nElement = customElements.get('foxy-i18n') as typeof I18n | undefined;\n this.__untrackTranslations = I18nElement?.onTranslationChange(() => this.requestUpdate());\n }\n\n /** @readonly */\n updated(changedProperties: Map<keyof I18n, unknown>): void {\n super.updated(changedProperties);\n\n const I18nElement = customElements.get('foxy-i18n') as typeof I18n | undefined;\n if (!I18nElement) return;\n\n if (changedProperties.has('lang')) I18nElement.i18next.loadLanguages(this.lang);\n if (changedProperties.has('ns')) I18nElement.i18next.loadNamespaces(this.ns.split(' '));\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__untrackTranslations?.();\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n if (this.infer === null) return;\n\n const lang = context.get('lang') as string | undefined;\n const ns = context.get('ns') as string | undefined;\n\n this.lang = lang ?? '';\n this.ns = ns ? `${ns} ${this.infer}`.trim() : defaultNS;\n }\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"translatable.js","sourceRoot":"","sources":["../../src/mixins/translatable.ts"],"names":[],"mappings":"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","sourcesContent":["import { Constructor, LitElement, PropertyDeclarations } from 'lit-element';\nimport i18next, { FormatFunction, StringMap, TFunction, i18n } from 'i18next';\n\nimport HttpApi from 'i18next-http-backend';\nimport { I18n } from '../elements/public/I18n/I18n';\nimport { Themeable } from './themeable';\nimport { cdn } from '../env';\n\n/**\n * One of the base classes for each rel-specific element in the collection,\n * providing internationalization capabilities to the derived components.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Translatable extends Themeable {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n lang: { type: String, noAccessor: true },\n ns: { type: String, noAccessor: true },\n };\n }\n\n /**\n * i18next formatter that converts given value to lowecase.\n * @see https://www.i18next.com/translation-function/formatting\n */\n private static __fLowercase: FormatFunction = (value): string => {\n return value.toLowerCase();\n };\n\n /**\n * i18next formatter that presents an array of serializable items\n * as `[0], [1], [...] and [length - 1]`. For example, given an array like\n * the following: `['a', 'b', 'c']`, it will output `'a, b and c'`.\n * @see https://www.i18next.com/translation-function/formatting\n */\n private static __fList: FormatFunction = (value): string => {\n return (value as string[])\n .map((v, i, a) => {\n if (i === 0) return v;\n const part = i === a.length - 1 ? ` $t(and) ` : ',';\n return `${part} ${v}`;\n })\n .join('');\n };\n\n /**\n * Chooses the right i18next formatter for the given template.\n * @see https://www.i18next.com/translation-function/formatting\n */\n private static __f: FormatFunction = (...args): string => {\n const value = args[0];\n const formats = args[1]?.split(' ') ?? [];\n\n return formats.reduce((result, format) => {\n switch (format) {\n case 'lowercase':\n return Translatable.__fLowercase(result);\n case 'list':\n return Translatable.__fList(result);\n default:\n return result;\n }\n }, value);\n };\n\n private static __whenI18NReady: Promise<TFunction>;\n\n private static __isI18NReady = false;\n\n private static __i18n: i18n;\n\n private __lang = (this._i18n.options.fallbackLng as string[])[0];\n\n private __ns = (this._i18n.options.fallbackNS as string[])[0];\n\n /**\n * Creates class instance and starts loading missing translations\n * in background. Triggers render when ready.\n *\n * @param defaultNS Name of the folder translations for this component are stored in. Usually a node name without vendor prefix.\n */\n constructor(defaultNS = 'global') {\n super();\n this.ns = defaultNS;\n this._whenI18nReady.then(() => this.requestUpdate());\n }\n\n /**\n * Contains the language this component presents its translatable\n * content in. Assigning a value to this property will load new\n * translations in background and trigger a render afterwards.\n *\n * **Example:** `\"en\"`\n */\n public get lang(): string {\n return this.__lang;\n }\n\n public set lang(value: string) {\n if (!value || value === 'undefined') return;\n this.__lang = value;\n this._i18n.loadLanguages(value).then(() => {\n if (this.__lang === value) this.requestUpdate();\n });\n }\n\n /**\n * The namespace to look for the translations in. We use this property to\n * sync namespace settings with the parent element and it's highly unlikely\n * that you'll ever need to set or read it in your code.\n *\n * **Example:** `\"admin\"`\n */\n public get ns(): string {\n return this.__ns;\n }\n\n public set ns(value: string) {\n this.__ns = value;\n this._i18n.loadNamespaces(value).then(() => {\n if (this.__ns === value) this.requestUpdate();\n });\n }\n\n private static __initI18N() {\n this.__i18n = i18next.createInstance();\n this.__i18n.use(HttpApi);\n\n this.__whenI18NReady = this.__i18n.init({\n ns: ['global'],\n supportedLngs: ['nl', 'en', 'es', 'sv', 'fi', 'fr', 'de', 'zh', 'no', 'it', 'pl', 'se'],\n interpolation: { format: Translatable.__f },\n fallbackLng: 'en',\n fallbackNS: 'global',\n defaultNS: 'global',\n detection: {\n order: ['querystring', 'navigator', 'htmlTag', 'path', 'subdomain'],\n caches: [],\n },\n backend: {\n loadPath: `${cdn}/translations/{{ns}}/{{lng}}.json`,\n },\n });\n\n this.__whenI18NReady.then(() => (this.__isI18NReady = true));\n\n return this.__i18n;\n }\n\n protected get _i18n(): i18n {\n return Translatable.__i18n ?? Translatable.__initI18N();\n }\n\n protected get _whenI18nReady(): Promise<TFunction> {\n return Translatable.__whenI18NReady;\n }\n\n protected get _isI18nReady(): boolean {\n return Translatable.__isI18NReady;\n }\n\n protected get _t(): TFunction {\n const ns = [this.__ns, this._i18n.options.fallbackNS as string];\n return this._i18n.getFixedT(this.__lang, ns);\n }\n}\n\ntype Base = Constructor<LitElement> & { properties?: PropertyDeclarations };\ntype Translator = (key: string, options?: StringMap) => string;\n\nexport declare class TranslatableMixinHost {\n /** Optional ISO 639-1 code describing the language element content is written in. */\n lang: string;\n\n /**\n * Namespace used by this element.\n * @since 1.4.0\n */\n ns: string;\n\n /**\n * Translation function from i18next fixed to the current language and element namespace.\n * @since 1.4.0\n */\n get t(): Translator;\n}\n\nexport const TranslatableMixin = <T extends Base>(\n BaseElement: T,\n defaultNS = ''\n): T & Constructor<TranslatableMixinHost> & { defaultNS: string } => {\n return class TranslatableElement extends BaseElement {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n lang: { type: String },\n ns: { type: String },\n };\n }\n\n static get defaultNS(): string {\n return defaultNS;\n }\n\n lang = '';\n\n ns = defaultNS;\n\n t: Translator = (key, options) => {\n const I18nElement = customElements.get('foxy-i18n') as typeof I18n | undefined;\n\n if (!I18nElement) return key;\n\n const keys = [\n ...[defaultNS, ...this.ns.split(' ').reverse()]\n .map(v => v.trim())\n .filter((v, i, a) => a.indexOf(v) === i && v.length > 0)\n .reverse()\n .map((v, i, a) => `${v}:${[...a.slice(i + 1), key].join('.')}`),\n `shared:${key}`,\n ];\n\n return I18nElement.i18next.t(keys, { lng: this.lang, ...options }).toString();\n };\n\n private __untrackTranslations?: () => void;\n\n connectedCallback(): void {\n super.connectedCallback();\n const I18nElement = customElements.get('foxy-i18n') as typeof I18n | undefined;\n this.__untrackTranslations = I18nElement?.onTranslationChange(() => this.requestUpdate());\n }\n\n /** @readonly */\n updated(changedProperties: Map<keyof I18n, unknown>): void {\n super.updated(changedProperties);\n\n const I18nElement = customElements.get('foxy-i18n') as typeof I18n | undefined;\n if (!I18nElement) return;\n\n if (changedProperties.has('lang')) I18nElement.i18next.loadLanguages(this.lang);\n if (changedProperties.has('ns')) I18nElement.i18next.loadNamespaces(this.ns.split(' '));\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__untrackTranslations?.();\n }\n };\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foxy.io/elements",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.16.0
|
|
4
|
+
"version": "1.16.0",
|
|
5
5
|
"description": "E-commerce web components by Foxy.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
"format": "npm run format:eslint && npm run format:prettier",
|
|
22
22
|
"format:eslint": "eslint --ext .ts,.html . --fix --ignore-path .gitignore",
|
|
23
23
|
"format:prettier": "prettier \"**/*.js\" \"**/*.ts\" --write --ignore-path .gitignore",
|
|
24
|
-
"test": "wtr src
|
|
24
|
+
"test": "wtr src/**/*.test.ts",
|
|
25
25
|
"test:watch": "wtr src/**/*.test.ts --watch",
|
|
26
26
|
"prepack": "npm run lint && rimraf dist && node ./.build/compile-for-npm.js && rollup -c"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@foxy.io/sdk": "^1.
|
|
29
|
+
"@foxy.io/sdk": "^1.8.2",
|
|
30
30
|
"@open-wc/lit-helpers": "^0.3.11",
|
|
31
31
|
"@open-wc/scoped-elements": "1.2.1",
|
|
32
32
|
"@polymer/iron-icons": "^3.0.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./shared-bc94606b.js";import"./shared-35de1004.js";import{_ as t,I as e}from"./shared-2eee69db.js";import{c as o,h as i,L as s}from"./shared-7f33a83a.js";import{C as r}from"./shared-06014421.js";import{a}from"./shared-ea9af4b0.js";import"./shared-e090608c.js";import"./shared-3026cee0.js";import"./shared-d3bf9ac0.js";let n,c,d=t=>t;const h=r(a(e(s),"copy-to-clipboard"));class p extends h{constructor(){super(...arguments),this.text="",this.__state="idle"}static get properties(){return t(t({},super.properties),{},{text:{type:String},__state:{attribute:!1}})}static get styles(){return o(n||(n=d`button{position:relative;appearance:none;background:0 0;border:none;border-radius:var(--lumo-border-radius-s);color:inherit;font-size:inherit;padding:0;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center}button::before{position:absolute;inset:0;content:' ';display:block;background:currentColor;opacity:.08;transition:opacity .15s ease;border-radius:var(--lumo-border-radius-s)}button:focus{outline:0;box-shadow:0 0 0 2px currentColor}button:disabled{opacity:.5;cursor:default}@media (hover:hover){button:not(:disabled):hover{cursor:pointer}button:not(:disabled):hover::before{opacity:.16}}iron-icon{--iron-icon-height:1em;--iron-icon-width:1em}`))}render(){let t="",e="";return"busy"===this.__state?(t="copying",e="icons:hourglass-empty"):"fail"===this.__state?(t="failed_to_copy",e="icons:error-outline"):"done"===this.__state?(t="done",e="icons:done"):(t="click_to_copy",e="icons:content-copy"),i(c||(c=d` <button title="${0}" ?disabled="${0}" @click="${0}"> <iron-icon icon="${0}"></iron-icon> </button> `),this.t(t),this.disabled,(()=>{"idle"===this.__state&&(this.__state="busy",navigator.clipboard.writeText(this.text).then((()=>this.__state="done")).catch((()=>this.__state="fail")).then((()=>setTimeout((()=>this.__state="idle"),2e3))))}),e)}}customElements.define("foxy-copy-to-clipboard",p);export{p as CopyToClipboard};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4e63d6e0.js";import{h as r}from"./shared-7f33a83a.js";import{a as e}from"./shared-ea9af4b0.js";import{T as s}from"./shared-fe8ec1f9.js";import"./shared-35de1004.js";import"./shared-e090608c.js";import"./shared-bc94606b.js";import"./shared-2eee69db.js";import"./shared-64657919.js";import"./shared-3026cee0.js";import"./shared-06014421.js";import"./shared-d3bf9ac0.js";import"./shared-1b064836.js";import"./shared-9d4835ed.js";import"./shared-7684cb05.js";import"./shared-f3655f42.js";import"./shared-4e709717.js";let t,a,i=r=>r;const c=e(s,"coupon-detail-card");class o extends c{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:e=>r(t||(t=i`${0} • ${0}`),e.name,e.code),subtitle:e=>{let s;try{s=Math.abs(e.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){s="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),e.amount_per>0?"text-success":"text-error",s)}})}async _sendGet(){const r=await super._sendGet(),[e,s]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=e.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-coupon-detail-card",o);export{o as CouponDetailCard};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,I as t}from"./shared-2eee69db.js";import{h as s,L as i}from"./shared-7f33a83a.js";import{r as n}from"./shared-d519a301.js";import{C as r}from"./shared-06014421.js";import{T as a,a as o}from"./shared-ea9af4b0.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-e6f3e9f0.js";import"./shared-3026cee0.js";import"./shared-d3bf9ac0.js";let c,h,u,p,b,g,m,$,y=e=>e;const f=a(r(o(t(i),"discount-builder")));class v extends f{constructor(){super(...arguments),this.value=""}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){let e="",t="",s="quantity_amount";try{const[[i,n]]=Array.from(new URLSearchParams(this.value).entries()),r=i.substring("discount_".length);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(r)&&(s=r);const a=n.indexOf("{"),o=n.lastIndexOf("}");-1!==a&&-1!==o&&(e=n.substring(a,o),t=n.substring(0,a))}catch(e){}return{type:s,name:t,details:e}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var t;const i=this.parsedValue.details.split("|").filter((e=>!!e.trim())),r=null!==(t=/[-+]/.test(i[0])?null:i.shift())&&void 0!==t?t:"single",a="repeat"===r?[i[0]]:[...i,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return s(c||(c=y` <div class="space-y-s"> ${0} </div> `),n(a,((t,s)=>this.__renderTier({source:l,method:r,units:d,tier:t,onChange:n=>{var a,o,c;const h=null!==(a=n.method)&&void 0!==a?a:r,u=null!==(o=n.source)&&void 0!==o?o:l,p=null!==(c=n.units)&&void 0!==c?c:d,b=n.tier,g=[...i];if(b){const e=t?s:g.length,i=t?1:0;g.splice(e,i,b)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${u}_${p}`,details:`${h}|${g.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=i.filter(((e,t)=>t!==s)),n=`${r}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:n}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:t,options:i,onChange:n}){const r=!this.disabled&&!this.readonly;return s(h||(h=y` <label class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${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 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":r,"bg-primary-10 text-primary":r,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),this.lang,e,this.ns,this.t(i[t]),!r,(e=>{const t=e.currentTarget;n(t.options[t.selectedIndex].value)}),Object.entries(i).map((([e,i])=>s(u||(u=y` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===t,this.t(i)))))}__renderSwitch({value:e,options:t,onChange:i}){const n=!this.disabled&&!this.readonly,r=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return s(p||(p=y` <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 transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!n)return;t.currentTarget.querySelector("input").focus(),i(0===e?1:0)}),t.map(((t,a)=>s(b||(b=y` <label> <foxy-i18n class="${0}" lang="${0}" key="${0}" ns="${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}),this.lang,t,this.ns,t,r,!n,a===e,(e=>{e.currentTarget.checked&&i(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:t,onChange:i}){const n=!this.disabled&&!this.readonly;return s(g||(g=y` <label> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <input data-testclass="interactive editable" class="${0}" type="number" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),this.lang,t,this.ns,l({"transition-colors border p-xs h-xs font-medium text-m rounded w-xl":!0,"ring-primary-50 text-body bg-contrast-10":n,"hover-bg-contrast-20":n,"focus-outline-none focus-ring-2":n,"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}),!n,e,(e=>{const t=e.currentTarget;i(t.value)}))}__renderTier(e){var t;const i=null!==(t=e.tier)&&void 0!==t?t:"0-0",n=i.includes("+")?"+":"-",[r,a]=i.split(/[-+]/).map((e=>parseFloat(e)));return s(m||(m=y` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_if" ns="${0}"> </foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_then" ns="${0}"> </foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_by" ns="${0}"> </foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"flex items-start justify-between rounded-t-l rounded-b-l":!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.lang,this.ns,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(r),onChange:t=>e.onChange({tier:`${t}${n}${a}`})}),this.lang,this.ns,this.__renderSwitch({options:["reduce","increase"],value:"-"===n?0:1,onChange:t=>e.onChange({tier:`${r}${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.lang,this.ns,this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${r}${n}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?s($||($=y` <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 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",v);export{v as DiscountBuilder};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4e63d6e0.js";import{h as r}from"./shared-7f33a83a.js";import{a as e}from"./shared-ea9af4b0.js";import{T as s}from"./shared-fe8ec1f9.js";import"./shared-35de1004.js";import"./shared-e090608c.js";import"./shared-bc94606b.js";import"./shared-2eee69db.js";import"./shared-64657919.js";import"./shared-3026cee0.js";import"./shared-06014421.js";import"./shared-d3bf9ac0.js";import"./shared-1b064836.js";import"./shared-9d4835ed.js";import"./shared-7684cb05.js";import"./shared-f3655f42.js";import"./shared-4e709717.js";let t,a,i=r=>r;const c=e(s,"discount-detail-card");class n extends c{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:e=>r(t||(t=i`${0}`),e.name),subtitle:e=>{let s;try{s=Math.abs(e.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){s="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),e.amount_per>0?"text-success":"text-error",s)}})}async _sendGet(){const r=await super._sendGet(),[e,s]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=e.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-detail-card",n);export{n as DiscountDetailCard};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{a as ItemCard}from"./shared-cad5fe82.js";import"./shared-4e63d6e0.js";import"./foxy-spinner.js";import"./shared-35de1004.js";import"./shared-e090608c.js";import"./shared-ea9af4b0.js";import"./shared-2eee69db.js";import"./shared-7f33a83a.js";import"./shared-bc94606b.js";import"./shared-64657919.js";import"./shared-3026cee0.js";import"./shared-06014421.js";import"./shared-d3bf9ac0.js";import"./shared-1b064836.js";import"./shared-9d4835ed.js";import"./shared-7684cb05.js";import"./shared-f3655f42.js";import"./shared-4e709717.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./shared-5097c880.js";import"./shared-60e98fbf.js";import"./shared-f7bddf72.js";import{I as e,a as t,b as r}from"./shared-ce2aab66.js";import{i}from"./shared-d3bf9ac0.js";import{h as o,L as n,c as s}from"./shared-7f33a83a.js";import"./foxy-collection-page.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import{p as a}from"./shared-4e63d6e0.js";import"./shared-bc94606b.js";import"./shared-35de1004.js";import{I as l,_ as c}from"./shared-2eee69db.js";import{T as d,a as f}from"./shared-ea9af4b0.js";import{c as m}from"./shared-4e709717.js";import"./foxy-discount-detail-card.js";import"./foxy-coupon-detail-card.js";import"./foxy-item-option-card.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-coupon-card.js";import"./shared-f3f9f752.js";import{A as u}from"./shared-9d4835ed.js";import"./foxy-discount-builder.js";import"./shared-38f8a319.js";import{m as p}from"./shared-3026cee0.js";import"./shared-b8f492a4.js";import{s as h}from"./shared-2061be9a.js";import{p as y}from"./shared-c4f0a219.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./shared-007660a6.js";import"./shared-e090608c.js";import"./shared-06014421.js";import"./shared-1b064836.js";import"./shared-64657919.js";import"./shared-7684cb05.js";import"./shared-f3655f42.js";import"./foxy-spinner.js";import"./shared-757bb517.js";import"./shared-92d6f937.js";import"./shared-1ddccf4d.js";import"./shared-d519a301.js";import"./shared-11c2efc8.js";import"./shared-0479553e.js";import"./shared-fe8ec1f9.js";import"./shared-7819b0b0.js";import"./shared-bbfdfee2.js";import"./shared-5e75308a.js";import"./shared-22103348.js";import"./shared-e6f3e9f0.js";import"./shared-874bbae5.js";import"./foxy-cancellation-form.js";import"./foxy-collection-pages.js";import"./shared-a8e21a41.js";import"./shared-34998df6.js";import"./foxy-table.js";import"./shared-c3c424cd.js";import"./foxy-nucleon-element.js";import"./shared-2bb49907.js";import"./shared-f0ba30e8.js";import"./shared-e59c65e3.js";let x,b=e=>e;customElements.define("foxy-internal-integer-control",class extends e{renderControl(){return o(x||(x=b` <vaadin-integer-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" has-controls @keydown="${0}" @change="${0}"> </vaadin-integer-field> `),i(this._errorMessage),this.placeholder,this.helperText,this.label,this.disabled,this.readonly,this._checkValidity,String(this._value),(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{const t=e.currentTarget;this._value=parseInt(t.value)}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:0}set _value(e){super._value=e}});let g,v=e=>e;class $ extends(d(f(l(n)))){constructor(){super(...arguments),this.summary="",this.open=!1}static get properties(){return c(c({},super.properties),{},{summary:{type:String},open:{type:Boolean}})}render(){return o(g||(g=v` <details class="w-full border border-contrast-10 rounded-t-l rounded-b-l" ?open="${0}" @toggle="${0}"> <summary class="${0}"> <div class="flex items-center h-m pl-m pr-s"> <div class="flex items-center flex-1"> <foxy-i18n class="flex items-center text-xs tracking-wide uppercase font-bold text-body" key="${0}" infer> </foxy-i18n> <slot name="actions"></slot> </div> <iron-icon class="icon-inline text-xl text-body" icon="icons:expand-${0}"> </iron-icon> </div> </summary> <div class="border-t border-contrast-10"> <slot></slot> </div> </details> `),this.open,(e=>{this.open=e.currentTarget.open}),m({"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"transition-colors cursor-pointer hover-bg-contrast-5":!0,"rounded-t-l":!0,"rounded-b-l":!this.open}),this.summary,this.open?"less":"more")}}customElements.define("foxy-internal-collapsible-card",$);let _,j,k,S,w=e=>e;customElements.define("foxy-internal-collection-card",class extends t{constructor(){super(...arguments),this.related=[],this.limit=20,this.first="",this.form="",this.item="",this.open=!1}static get properties(){return c(c({},super.properties),{},{related:{type:Array},first:{type:String},limit:{type:Number},form:{type:String},item:{type:String},open:{type:Boolean}})}renderControl(){var e,t;let r;try{const e=new URL(this.first);e.searchParams.set("limit",String(this.limit)),r=e.toString()}catch(e){r=this.first}const n=new Function("ctx",`return ctx.html\`<${this.item} related=\${JSON.stringify(ctx.related)} parent=\${ctx.parent} class="p-m" infer href=\${ctx.href}></${this.item}>\``);return o(j||(j=w` <foxy-internal-collapsible-card summary="title" infer ?open="${0}" @toggle="${0}"> ${0} <foxy-pagination class="px-m pb-s" first="${0}" infer="pagination"> <foxy-collection-page related="${0}" class="-mx-m block divide-y divide-contrast-10 mb-s" group="${0}" infer="card" .item="${0}"> </foxy-collection-page> </foxy-pagination> </foxy-internal-collapsible-card> `),this.open,(e=>{this.open=e.currentTarget.open}),this.form?o(k||(k=w` <foxy-form-dialog related="${0}" parent="${0}" group="${0}" infer="dialog" id="form" .form="${0}"> </foxy-form-dialog> ${0} `),JSON.stringify(this.related),r,i(null===(e=this.nucleon)||void 0===e?void 0:e.group),this.form,this.readonly?"":o(S||(S=w` <button class="h-xs w-xs rounded-full text-success flex items-center justify-center text-l focus-outline-none focus-ring-2 focus-ring-primary-50" slot="actions" @click="${0}"> <iron-icon class="icon-inline" icon="icons:add"></iron-icon> </button> `),(e=>{e.preventDefault(),e.stopPropagation();const t=this.renderRoot.querySelector("#form");t.header="header_create",t.href="",t.show(e.currentTarget)}))):"",r,JSON.stringify(this.related),i(null===(t=this.nucleon)||void 0===t?void 0:t.group),(e=>{if(this.form&&e.data){const t=this.disabledSelector.matches("card",!0);return o(_||(_=w` <button ?disabled="${0}" class="${0}" @click="${0}"> ${0} </button> `),t,m({"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block transition-colors":!0,"hover-bg-contrast-5":!t}),(t=>{const r=this.renderRoot.querySelector("#form"),i=t.currentTarget;r.header="header_update",r.href=e.href,r.show(i)}),n(e))}return n(e)}))}});let E,P=e=>e;customElements.define("foxy-internal-async-combo-box-control",class extends e{constructor(){super(...arguments),this.itemLabelPath=null,this.itemValuePath=null,this.first=null}static get properties(){return c(c({},super.properties),{},{itemLabelPath:{type:String,attribute:"item-label-path"},itemValuePath:{type:String,attribute:"item-value-path"},first:{type:String}})}renderControl(){var e,t,r=this;return o(E||(E=P` <vaadin-combo-box item-value-path="${0}" item-label-path="${0}" error-message="${0}" item-id-path="_links.self.href" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .dataProvider="${0}" .value="${0}" @change="${0}"> </vaadin-combo-box> `),i(null!==(e=this.itemValuePath)&&void 0!==e?e:void 0),i(null!==(t=this.itemLabelPath)&&void 0!==t?t:void 0),i(this._errorMessage),this.helperText,this.placeholder,this.label,this.disabled,this.readonly,this._checkValidity,(async function(e,t){if(!r.first)return t([],0);const i=new URL(r.first);i.searchParams.set("offset",String(e.page*e.pageSize)),i.searchParams.set("limit",String(e.pageSize)),e.filter&&r.itemLabelPath&&i.searchParams.set(r.itemLabelPath,`*${e.filter}*`);const o=await new u(r).fetch(i.toString());if(!o.ok)throw new Error(await o.text());const n=await o.json();t(Array.from(Object.values(n._embedded))[0],n.total_items)}),this._value,(e=>{const t=e.currentTarget;this._value=t.value}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});let q,C=e=>e;customElements.define("foxy-internal-item-form-line-item-discount-control",class extends t{constructor(){super(...arguments),this.infer="line-item-discount"}renderControl(){var e,t,r,n;return o(q||(q=C` <foxy-internal-collapsible-card summary="title" infer> <div class="space-y-m p-m"> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" first="${0}" infer="coupon" @change="${0}"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="discount-name"></foxy-internal-text-control> <foxy-discount-builder infer="discount-builder" .parsedValue="${0}"> </foxy-discount-builder> </div> </foxy-internal-collapsible-card> `),i(null===(e=this.nucleon)||void 0===e?void 0:e.coupons),(e=>{var t;e.preventDefault();const r=e.detail;null===(t=this.nucleon)||void 0===t||t.edit({discount_name:r.name,discount_type:r.coupon_discount_type,discount_details:r.coupon_discount_details})}),{type:null===(t=this.nucleon)||void 0===t?void 0:t.form.discount_type,name:null===(r=this.nucleon)||void 0===r?void 0:r.form.discount_name,details:null===(n=this.nucleon)||void 0===n?void 0:n.form.discount_details})}});let T,V,L=e=>e;customElements.define("foxy-internal-frequency-control",class extends e{constructor(){super(...arguments),this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{const{count:t,units:r}=a(e);return[t.toString(),r]}},this.__getItems=p((e=>{const t=a(e).count;return[{value:"d",label:this.t("day",{count:t})},{value:"w",label:this.t("week",{count:t})},{value:"m",label:this.t("month",{count:t})},{value:"y",label:this.t("year",{count:t})}]}))}static get styles(){return[super.styles,s(T||(T=L`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0;padding-top:0!important}vaadin-custom-field::part(label){padding-bottom:var(--lumo-space-s)}vaadin-custom-field::part(error-message)[aria-hidden=false]{padding-top:var(--lumo-space-xs)}vaadin-combo-box,vaadin-integer-field{width:calc(50% - (var(--lumo-space-s)/ 2))}vaadin-integer-field{margin-right:var(--lumo-space-s);padding:0}vaadin-combo-box::part(text-field){padding:0}`))]}renderControl(){var e;const t=null!==(e=this._value)&&void 0!==e?e:"";return o(V||(V=L` <vaadin-custom-field data-testid="field" .i18n="${0}" .label="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" .errorMessage="${0}" .checkValidity="${0}" @change="${0}"> <vaadin-integer-field data-testid="value" min="1" max="999" has-controls prevent-invalid-input ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-integer-field> <vaadin-combo-box data-testid="units" item-value-path="value" item-label-path="label" .items="${0}" ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.__i18n,this.label,t,this.disabled,this.readonly,this._errorMessage,this._checkValidity,(e=>{const t=e.currentTarget;this._value=t.value}),!!this._error,this.disabled,this.readonly,this.__getItems(t),!!this._error,this.disabled,this.readonly)}updated(e){var t;super.updated(e);const r=this.renderRoot.firstElementChild,i=null===(t=this.nucleon)||void 0===t?void 0:t.form[this.property];r.value!==i&&(r.value=i)}});let N,A=e=>e;customElements.define("foxy-internal-date-control",class extends e{constructor(){super(...arguments),this.format=null}static get properties(){return c(c({},super.properties),{},{format:{type:String}})}renderControl(){var e;let t;return t="unix"===this.format?h(new Date(1e3*(null!==(e=this._value)&&void 0!==e?e:0))):this._value,o(N||(N=A` <vaadin-date-picker error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),i(this._errorMessage),this.placeholder,this.helperText,this.label,this.disabled,this.readonly,this._checkValidity,t,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{var t,r;const i=e.currentTarget;"unix"===this.format?this._value=Math.floor((null!==(r=null===(t=y(i.value))||void 0===t?void 0:t.getTime())&&void 0!==r?r:0)/1e3):this._value=i.value}))}});let M,O,R,z=e=>e;customElements.define("foxy-internal-item-form-subscription-control",class extends t{constructor(){super(...arguments),this.infer="subscription"}renderControl(){var e,t,r,i,n;let s;try{const o=null!==(i=null===(r=(null===(t=null===(e=this.nucleon)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links)["fx:subscription"])||void 0===r?void 0:r.href)&&void 0!==i?i:"",n=new URL(o);n.searchParams.set("zoom","last_transaction,transaction_template:items"),s=n.toString()}catch(e){s=null}return o(M||(M=z` <foxy-internal-collapsible-card summary="title" lang="${0}" ns="${0}"> ${0} </foxy-internal-collapsible-card> `),this.lang,this.ns,s?o(O||(O=z` <foxy-form-dialog related="${0}" header="update" infer="form" href="${0}" form="foxy-subscription-form"> </foxy-form-dialog> <button ?disabled="${0}" @click="${0}"> <foxy-subscription-card hiddencontrols="${0}" class="p-m" infer="card" href="${0}"> </foxy-subscription-card> </button> `),(null===(n=this.nucleon)||void 0===n?void 0:n.href)?JSON.stringify([this.nucleon.href]):"",s,this.disabled,(e=>{const t=e.currentTarget;t.previousElementSibling.show(t)}),this.hiddenSelector.zoom("card").toString(),s):o(R||(R=z` <div class="space-y-m p-m"> <foxy-internal-frequency-control infer="frequency" property="subscription_frequency"> </foxy-internal-frequency-control> <foxy-internal-date-control infer="start" property="subscription_start_date"> </foxy-internal-date-control> <foxy-internal-date-control infer="end" property="subscription_end_date"> </foxy-internal-date-control> <foxy-internal-date-control infer="next" property="subscription_next_transaction_date"> </foxy-internal-date-control> </div> `)))}});let I,J=e=>e;customElements.define("foxy-internal-item-form-inventory-control",class extends t{constructor(){super(...arguments),this.infer="inventory"}renderControl(){var e;return o(I||(I=J` <foxy-internal-collapsible-card summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-async-combo-box-control item-value-path="_links.self.href" item-label-path="name" property="item_category_uri" first="${0}" class="col-span-2" infer="category"> </foxy-internal-async-combo-box-control> <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-text-control infer="parent-code"></foxy-internal-text-control> </div> </foxy-internal-collapsible-card> `),this.lang,this.ns,i(null===(e=this.nucleon)||void 0===e?void 0:e.itemCategories))}});let B,D=e=>e;customElements.define("foxy-internal-item-form-shipping-control",class extends t{constructor(){super(...arguments),this.infer="shipping"}renderControl(){var e;return o(B||(B=D` <foxy-internal-collapsible-card summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-async-combo-box-control item-value-path="address_name" item-label-path="address_name" first="${0}" class="col-span-2" infer="shipto"> </foxy-internal-async-combo-box-control> <foxy-internal-integer-control infer="width"></foxy-internal-integer-control> <foxy-internal-integer-control infer="height"></foxy-internal-integer-control> <foxy-internal-integer-control infer="length"></foxy-internal-integer-control> <foxy-internal-integer-control infer="weight"></foxy-internal-integer-control> </div> </foxy-internal-collapsible-card> `),this.lang,this.ns,i(null===(e=this.nucleon)||void 0===e?void 0:e.customerAddresses))}});let U,G=e=>e;customElements.define("foxy-internal-item-form-cart-control",class extends t{constructor(){super(...arguments),this.infer="cart"}renderControl(){return o(U||(U=G` <foxy-internal-collapsible-card summary="title" lang="${0}" ns="${0}"> <div class="grid grid-cols-2 gap-m p-m"> <foxy-internal-date-control class="col-span-2" infer="expires" format="unix"> </foxy-internal-date-control> <foxy-internal-text-control class="col-span-2" infer="url"></foxy-internal-text-control> <foxy-internal-text-control class="col-span-2" infer="image"></foxy-internal-text-control> <foxy-internal-integer-control infer="quantity-min"></foxy-internal-integer-control> <foxy-internal-integer-control infer="quantity-max"></foxy-internal-integer-control> </div> </foxy-internal-collapsible-card> `),this.lang,this.ns)}});let F,H,K=e=>e;class Q extends(f(r,"item-form")){constructor(){super(...arguments),this.customerAddresses="",this.itemCategories="",this.coupons="",this.__itemsLink=""}static get properties(){return c(c({},super.properties),{},{customerAddresses:{type:String,attribute:"customer-addresses"},itemCategories:{type:String,attribute:"item-categories"},coupons:{type:String}})}static get v8n(){return[({name:e})=>!!e||"name:v8n_required",({name:e})=>!!e&&e.length<=255||"name:v8n_too_long",({price:e})=>"number"==typeof e&&!isNaN(e)||"price:v8n_required",({price:e})=>"number"==typeof e&&e>=0||"price:v8n_negative",({quantity:e})=>"number"==typeof e&&e>=1||"quantity:v8n_less_than_one"]}renderBody(){return o(F||(F=K` <foxy-internal-text-control infer="name"></foxy-internal-text-control> <div class="grid grid-cols-2 gap-m"> <foxy-internal-number-control infer="price"></foxy-internal-number-control> <foxy-internal-integer-control infer="quantity"></foxy-internal-integer-control> </div> <foxy-internal-item-form-subscription-control></foxy-internal-item-form-subscription-control> <foxy-internal-item-form-line-item-discount-control></foxy-internal-item-form-line-item-discount-control> <foxy-internal-item-form-cart-control></foxy-internal-item-form-cart-control> <foxy-internal-item-form-shipping-control></foxy-internal-item-form-shipping-control> <foxy-internal-item-form-inventory-control></foxy-internal-item-form-inventory-control> ${0} ${0} `),this.data?o(H||(H=K` <foxy-internal-collection-card infer="discount-details" first="${0}" limit="5" item="foxy-discount-detail-card"> </foxy-internal-collection-card> <foxy-internal-collection-card infer="coupon-details" first="${0}" limit="5" item="foxy-coupon-detail-card"> </foxy-internal-collection-card> <foxy-internal-collection-card infer="attributes" first="${0}" limit="5" item="foxy-attribute-card" form="foxy-attribute-form"> </foxy-internal-collection-card> <foxy-internal-collection-card related="${0}" infer="item-options" first="${0}" limit="5" item="foxy-item-option-card" form="foxy-item-option-form"> </foxy-internal-collection-card> `),this.data._links["fx:discount_details"].href,this.data._links["fx:coupon_details"].href,this.data._links["fx:attributes"].href,JSON.stringify([this.data._links["fx:transaction"].href,this.data._links["fx:shipment"],this.__itemsLink]),this.data._links["fx:item_options"].href):"",super.renderBody())}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:transaction"].href);return this.__itemsLink=t._links["fx:items"].href,e}}customElements.define("foxy-item-form",Q);export{Q as ItemForm};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./shared-bc94606b.js";import"./shared-35de1004.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import{h as r}from"./shared-7f33a83a.js";import{a as e}from"./shared-ea9af4b0.js";import{T as s}from"./shared-fe8ec1f9.js";import"./shared-e090608c.js";import"./shared-4e63d6e0.js";import"./shared-2eee69db.js";import"./shared-64657919.js";import"./shared-3026cee0.js";import"./shared-06014421.js";import"./shared-d3bf9ac0.js";import"./shared-1b064836.js";import"./shared-9d4835ed.js";import"./shared-7684cb05.js";import"./shared-f3655f42.js";import"./shared-4e709717.js";let t,i,a=r=>r;const c=e(s,"item-option-card");class o extends c{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:e=>{let s;try{s=Math.abs(e.price_mod).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){s="--"}return r(t||(t=a`${0} • ${0} • ${0}`),e.name,s,e.weight_mod)},subtitle:e=>r(i||(i=a`${0}`),e.value)})}async _sendGet(){const r=await super._sendGet(),[e,s]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=e.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-item-option-card",o);export{o as ItemOptionCard};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{c as ItemOptionForm}from"./shared-ce2aab66.js";import"./shared-5097c880.js";import"./shared-60e98fbf.js";import"./shared-007660a6.js";import"./shared-e090608c.js";import"./shared-ea9af4b0.js";import"./shared-2eee69db.js";import"./shared-7f33a83a.js";import"./shared-06014421.js";import"./shared-3026cee0.js";import"./shared-d3bf9ac0.js";import"./shared-1b064836.js";import"./shared-9d4835ed.js";import"./shared-64657919.js";import"./shared-7684cb05.js";import"./shared-f3655f42.js";import"./foxy-spinner.js";import"./shared-35de1004.js";import"./shared-bc94606b.js";import"./shared-4e63d6e0.js";import"./shared-757bb517.js";import"./shared-92d6f937.js";import"./shared-1ddccf4d.js";import"./shared-4e709717.js";
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import{a as e,C as t,b as i}from"./shared-38f8a319.js";import{D as a,a as s}from"./shared-b8f492a4.js";import{C as n,d as r,c as d}from"./shared-f3f9f752.js";import{h as l,B as o,P as h}from"./shared-e090608c.js";import{T as m,E as _,C as u}from"./shared-007660a6.js";import{T as c}from"./shared-60e98fbf.js";import"./shared-9d7aaf7a.js";import"./shared-757bb517.js";import"./shared-bbfdfee2.js";import"./shared-92d6f937.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-4e63d6e0.js";import{_ as p}from"./shared-2eee69db.js";import"./shared-35de1004.js";import"./shared-7819b0b0.js";import{h as g,f as v}from"./shared-7f33a83a.js";import{S as f,R as b,T as y,a as k}from"./shared-ea9af4b0.js";import{c as T}from"./shared-4e709717.js";import"./shared-1ddccf4d.js";import"./shared-5097c880.js";import"./shared-f7bddf72.js";import{G as x}from"./shared-5e75308a.js";import{P as $}from"./shared-22103348.js";import{C as D}from"./shared-06014421.js";import{N as E}from"./shared-1b064836.js";import{i as w}from"./shared-d3bf9ac0.js";import{l as S}from"./shared-f3b35364.js";import"./shared-3026cee0.js";import"./shared-11c2efc8.js";import"./shared-f3655f42.js";import"./shared-bc94606b.js";import"./shared-64657919.js";import"./shared-9d4835ed.js";import"./shared-7684cb05.js";
|
|
2
|
-
/**
|
|
3
|
-
@license
|
|
4
|
-
Copyright (c) 2017 Vaadin Ltd.
|
|
5
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
6
|
-
*/class P extends(m(n(r(h)))){static get template(){return l`
|
|
7
|
-
<style>
|
|
8
|
-
:host([opened]) {
|
|
9
|
-
pointer-events: auto;
|
|
10
|
-
}
|
|
11
|
-
</style>
|
|
12
|
-
|
|
13
|
-
<slot></slot>
|
|
14
|
-
|
|
15
|
-
<vaadin-combo-box-dropdown-wrapper id="overlay" opened="[[opened]]" position-target="[[inputElement]]" renderer="[[renderer]]" _focused-index="[[_focusedIndex]]" _item-id-path="[[itemIdPath]]" _item-label-path="[[itemLabelPath]]" loading="[[loading]]" theme="[[theme]]">
|
|
16
|
-
</vaadin-combo-box-dropdown-wrapper>
|
|
17
|
-
`}static get is(){return"vaadin-combo-box-light"}static get properties(){return{attrForValue:{type:String,value:"value"},inputElement:{type:Element,readOnly:!0}}}constructor(){super(),this._boundInputValueChanged=this._inputValueChanged.bind(this),this.__boundInputValueCommitted=this.__inputValueCommitted.bind(this)}ready(){super.ready(),this._toggleElement=this.querySelector(".toggle-button"),this._clearElement=this.querySelector(".clear-button"),this._clearElement&&this._clearElement.addEventListener("mousedown",(e=>{e.preventDefault(),(this.inputElement._focusableElement||this.inputElement).focus()}))}get focused(){return this.getRootNode().activeElement===this.inputElement}connectedCallback(){super.connectedCallback();this._setInputElement(this.querySelector("vaadin-text-field,iron-input,paper-input,.paper-input-input,.input")),this._revertInputValue(),this.inputElement.addEventListener("input",this._boundInputValueChanged),this.inputElement.addEventListener("change",this.__boundInputValueCommitted),this._preventInputBlur()}disconnectedCallback(){super.disconnectedCallback(),this.inputElement.removeEventListener("input",this._boundInputValueChanged),this.inputElement.removeEventListener("change",this.__boundInputValueCommitted),this._restoreInputBlur()}__inputValueCommitted(e){e.__fromClearButton&&this._clear()}get _propertyForValue(){return o(this.attrForValue)}get _inputElementValue(){return this.inputElement&&this.inputElement[this._propertyForValue]}set _inputElementValue(e){this.inputElement&&(this.inputElement[this._propertyForValue]=e)}}customElements.define(P.is,P);const C=l`<dom-module id="lumo-time-picker" theme-for="vaadin-time-picker">
|
|
18
|
-
<template>
|
|
19
|
-
<style include="lumo-field-button">
|
|
20
|
-
[part~="toggle-button"]::before {
|
|
21
|
-
content: var(--lumo-icons-clock);
|
|
22
|
-
}
|
|
23
|
-
</style>
|
|
24
|
-
</template>
|
|
25
|
-
</dom-module>`;document.head.appendChild(C.content);const I=l`<dom-module id="lumo-time-picker-text-field" theme-for="vaadin-time-picker-text-field">
|
|
26
|
-
<template>
|
|
27
|
-
<style>
|
|
28
|
-
:not(*):placeholder-shown, /* to prevent broken styles on IE */
|
|
29
|
-
:host([dir="rtl"]) [part="value"]:placeholder-shown,
|
|
30
|
-
:host([dir="rtl"]) [part="input-field"] ::slotted(input:placeholder-shown) {
|
|
31
|
-
--_lumo-text-field-overflow-mask-image: none;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
:host([dir="rtl"]) [part="value"],
|
|
35
|
-
:host([dir="rtl"]) [part="input-field"] ::slotted(input) {
|
|
36
|
-
--_lumo-text-field-overflow-mask-image: linear-gradient(to left, transparent, #000 1.25em);
|
|
37
|
-
}
|
|
38
|
-
</style>
|
|
39
|
-
</template>
|
|
40
|
-
</dom-module>`;document.head.appendChild(I.content);
|
|
41
|
-
/**
|
|
42
|
-
@license
|
|
43
|
-
Copyright (c) 2018 Vaadin Ltd.
|
|
44
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
45
|
-
*/
|
|
46
|
-
const M=document.createElement("template");M.innerHTML='<dom-module id="vaadin-time-picker-text-field-styles" theme-for="vaadin-time-picker-text-field">\n <template>\n <style>\n :host([dir="rtl"]) [part="input-field"] {\n direction: ltr;\n }\n\n :host([dir="rtl"]) [part="value"]::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="input-field"] ::slotted(input)::placeholder {\n direction: rtl;\n text-align: left;\n }\n\n :host([dir="rtl"]) [part="value"]:-ms-input-placeholder,\n :host([dir="rtl"]) [part="input-field"] ::slotted(input):-ms-input-placeholder {\n direction: rtl;\n text-align: left;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(M.content);class V extends c{static get is(){return"vaadin-time-picker-text-field"}}customElements.define(V.is,V);
|
|
47
|
-
/**
|
|
48
|
-
@license
|
|
49
|
-
Copyright (c) 2018 Vaadin Ltd.
|
|
50
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
51
|
-
*/
|
|
52
|
-
class O extends(_(u(m(h)))){static get template(){return l`
|
|
53
|
-
<style>
|
|
54
|
-
:host {
|
|
55
|
-
display: inline-block;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
:host([hidden]) {
|
|
59
|
-
display: none !important;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
[part~="toggle-button"] {
|
|
63
|
-
cursor: pointer;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.input {
|
|
67
|
-
width: 100%;
|
|
68
|
-
min-width: 0;
|
|
69
|
-
}
|
|
70
|
-
</style>
|
|
71
|
-
<vaadin-combo-box-light allow-custom-value="" item-label-path="value" filtered-items="[[__dropdownItems]]" disabled="[[disabled]]" readonly="[[readonly]]" auto-open-disabled="[[autoOpenDisabled]]" dir="ltr" theme\$="[[theme]]">
|
|
72
|
-
<template>
|
|
73
|
-
[[item.label]]
|
|
74
|
-
</template>
|
|
75
|
-
<vaadin-time-picker-text-field class="input" name="[[name]]" invalid="[[invalid]]" autocomplete="off" label="[[label]]" required="[[required]]" disabled="[[disabled]]" prevent-invalid-input="[[preventInvalidInput]]" pattern="[[pattern]]" error-message="[[errorMessage]]" autofocus="[[autofocus]]" placeholder="[[placeholder]]" readonly="[[readonly]]" role="application" aria-live="assertive" min\$="[[min]]" max\$="[[max]]" aria-label\$="[[label]]" clear-button-visible="[[clearButtonVisible]]" i18n="[[i18n]]" helper-text="[[helperText]]" theme\$="[[theme]]">
|
|
76
|
-
<slot name="helper" slot="helper">[[helperText]]</slot>
|
|
77
|
-
<span slot="suffix" part="toggle-button" class="toggle-button" role="button" aria-label\$="[[i18n.selector]]"></span>
|
|
78
|
-
</vaadin-time-picker-text-field>
|
|
79
|
-
</vaadin-combo-box-light>
|
|
80
|
-
`}static get is(){return"vaadin-time-picker"}static get version(){return"2.4.0"}static get properties(){return{name:{type:String},value:{type:String,observer:"__valueChanged",notify:!0,value:""},label:{type:String,reflectToAttribute:!0},required:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},preventInvalidInput:{type:Boolean},pattern:{type:String},errorMessage:{type:String},helperText:{type:String,value:""},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},min:{type:String,value:"00:00:00.000"},max:{type:String,value:"23:59:59.999"},step:{type:Number},clearButtonVisible:{type:Boolean,value:!1},autoOpenDisabled:Boolean,__dropdownItems:{type:Array},i18n:{type:Object,value:()=>({formatTime:e=>{if(!e)return;const t=(e=0,t="00")=>(t+e).substr((t+e).length-t.length);let i=`${t(e.hours)}:${t(e.minutes)}`;return void 0!==e.seconds&&(i+=`:${t(e.seconds)}`),void 0!==e.milliseconds&&(i+=`.${t(e.milliseconds,"000")}`),i},parseTime:e=>{const t=new RegExp("^(\\d|[0-1]\\d|2[0-3])(?::(\\d|[0-5]\\d)(?::(\\d|[0-5]\\d)(?:\\.(\\d{1,3}))?)?)?$").exec(e);if(t){if(t[4])for(;t[4].length<3;)t[4]+="0";return{hours:t[1],minutes:t[2],seconds:t[3],milliseconds:t[4]}}},selector:"Time selector",clear:"Clear"})}}}static get observers(){return["__updateDropdownItems(i18n.*, min, max, step)"]}ready(){super.ready(),this.__inputElement.validate=()=>{},this.__dropdownElement.addEventListener("value-changed",(e=>this.__onInputChange(e))),this.__inputElement.addEventListener("keydown",this.__onKeyDown.bind(this)),this.__dropdownElement.addEventListener("change",(e=>this.validate())),this.__inputElement.addEventListener("blur",(e=>this.validate())),this.__dropdownElement.addEventListener("change",(e=>{e.composedPath()[0]!==this.__inputElement&&this.__dispatchChange()}))}__validDayDivisor(e){return!e||86400%e==0||e<1&&e%1*1e3%1==0}__onKeyDown(e){if(this.readonly||this.disabled||this.__dropdownItems.length)return;const t=this.__validDayDivisor(this.step)&&this.step||60;d.keyboardEventMatchesKeys(e,"down")?this.__onArrowPressWithStep(-t):d.keyboardEventMatchesKeys(e,"up")&&this.__onArrowPressWithStep(t)}__onArrowPressWithStep(e){const t=this.__addStep(this.__getMsec(this.__memoValue),e,!0);this.__memoValue=t,this.__inputElement.value=this.i18n.formatTime(this.__validateTime(t)),this.__dispatchChange()}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__getMsec(e){let t=60*(e&&e.hours||0)*60*1e3;return t+=60*(e&&e.minutes||0)*1e3,t+=1e3*(e&&e.seconds||0),t+=e&&parseInt(e.milliseconds)||0,t}__getSec(e){let t=60*(e&&e.hours||0)*60;return t+=60*(e&&e.minutes||0),t+=e&&e.seconds||0,t+=e&&e.milliseconds/1e3||0,t}__addStep(e,t,i){0===e&&t<0&&(e=864e5);const a=1e3*t,s=e%a;a<0&&s&&i?e-=s:a>0&&s&&i?e-=s-a:e+=a;var n=Math.floor(e/1e3/60/60);e-=1e3*n*60*60;var r=Math.floor(e/1e3/60);e-=1e3*r*60;var d=Math.floor(e/1e3);return{hours:n<24?n:0,minutes:r,seconds:d,milliseconds:e-=1e3*d}}__updateDropdownItems(e,t,i,a){const s=this.__validateTime(this.__parseISO(t)),n=this.__getSec(s),r=this.__validateTime(this.__parseISO(i)),d=this.__getSec(r);if(this.__adjustValue(n,d,s,r),this.__dropdownItems=this.__generateDropdownList(n,d,a),a!==this.__oldStep){this.__oldStep=a;const e=this.__validateTime(this.__parseISO(this.value));this.__updateValue(e)}this.value&&(this.__dropdownElement.value=this.i18n.formatTime(this.i18n.parseTime(this.value)))}__generateDropdownList(e,t,i){if(i<900||!this.__validDayDivisor(i))return[];const a=[];let s=-(i=i||3600)+e;for(;s+i>=e&&s+i<=t;){const e=this.__validateTime(this.__addStep(1e3*s,i));s+=i;const t=this.i18n.formatTime(e);a.push({label:t,value:t})}return a}__adjustValue(e,t,i,a){if(!this.__memoValue)return;const s=this.__getSec(this.__memoValue);s<e?this.__updateValue(i):s>t&&this.__updateValue(a)}__valueChanged(e,t){const i=this.__memoValue=this.__parseISO(e),a=this.__formatISO(i)||"";""===this.value||null===this.value||i?this.value!==a?this.value=a:this.__updateInputValue(i):this.value=t}__onInputChange(e){const t=this.i18n.parseTime(this.__dropdownElement.value),i=this.i18n.formatTime(t)||"";t?this.__dropdownElement.value!==i?this.__dropdownElement.value=i:this.__updateValue(t):this.value=""}__updateValue(e){const t=this.__formatISO(this.__validateTime(e))||"";this.value=t}__updateInputValue(e){const t=this.i18n.formatTime(this.__validateTime(e))||"";this.__dropdownElement.value=t}__validateTime(e){return e&&(e.hours=parseInt(e.hours),e.minutes=parseInt(e.minutes||0),e.seconds=this.__stepSegment<3?void 0:parseInt(e.seconds||0),e.milliseconds=this.__stepSegment<4?void 0:parseInt(e.milliseconds||0)),e}get __stepSegment(){return this.step%3600==0?1:this.step%60!=0&&this.step?this.step%1==0?3:this.step<1?4:void 0:2}__formatISO(e){return O.properties.i18n.value().formatTime(e)}__parseISO(e){return O.properties.i18n.value().parseTime(e)}_getInputElement(){return this.shadowRoot.querySelector("vaadin-time-picker-text-field")}get __inputElement(){return this.__memoInput||(this.__memoInput=this._getInputElement())}get __dropdownElement(){return this.__memoDropdown||(this.__memoDropdown=this.shadowRoot.querySelector("vaadin-combo-box-light"))}get focusElement(){return this.__inputElement}validate(){return!(this.invalid=!this.checkValidity())}_timeAllowed(e){const t=this.i18n.parseTime(this.min),i=this.i18n.parseTime(this.max);return(!this.__getMsec(t)||this.__getMsec(e)>=this.__getMsec(t))&&(!this.__getMsec(i)||this.__getMsec(e)<=this.__getMsec(i))}checkValidity(){return!(!this.__inputElement.focusElement.checkValidity()||this.value&&!this._timeAllowed(this.i18n.parseTime(this.value))||this.__dropdownElement.value&&!this.i18n.parseTime(this.__dropdownElement.value))}}customElements.define(O.is,O);const j=l`<dom-module id="lumo-date-time-picker-date-text-field" theme-for="vaadin-date-time-picker-date-text-field">
|
|
81
|
-
<template>
|
|
82
|
-
<style>
|
|
83
|
-
[part~="input-field"] {
|
|
84
|
-
border-top-right-radius: 0;
|
|
85
|
-
border-bottom-right-radius: 0;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/* RTL specific styles */
|
|
89
|
-
:host([dir="rtl"]) [part~="input-field"] {
|
|
90
|
-
border-radius: var(--lumo-border-radius);
|
|
91
|
-
border-top-left-radius: 0;
|
|
92
|
-
border-bottom-left-radius: 0;
|
|
93
|
-
}
|
|
94
|
-
</style>
|
|
95
|
-
</template>
|
|
96
|
-
</dom-module><dom-module id="lumo-date-time-picker-time-text-field" theme-for="vaadin-date-time-picker-time-text-field">
|
|
97
|
-
<template>
|
|
98
|
-
<style>
|
|
99
|
-
[part~="input-field"] {
|
|
100
|
-
border-top-left-radius: 0;
|
|
101
|
-
border-bottom-left-radius: 0;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/* RTL specific styles */
|
|
105
|
-
:host([dir="rtl"]) [part~="input-field"] {
|
|
106
|
-
border-radius: var(--lumo-border-radius);
|
|
107
|
-
border-top-right-radius: 0;
|
|
108
|
-
border-bottom-right-radius: 0;
|
|
109
|
-
}
|
|
110
|
-
</style>
|
|
111
|
-
</template>
|
|
112
|
-
</dom-module><dom-module id="lumo-date-time-picker-date-picker" theme-for="vaadin-date-time-picker-date-picker">
|
|
113
|
-
<template>
|
|
114
|
-
<style>
|
|
115
|
-
:host {
|
|
116
|
-
margin-right: 2px;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/* RTL specific styles */
|
|
120
|
-
:host([dir="rtl"]) {
|
|
121
|
-
margin-right: auto;
|
|
122
|
-
margin-left: 2px;
|
|
123
|
-
}
|
|
124
|
-
</style>
|
|
125
|
-
</template>
|
|
126
|
-
</dom-module>`;document.head.appendChild(j.content);
|
|
127
|
-
/**
|
|
128
|
-
@license
|
|
129
|
-
Copyright (c) 2019 Vaadin Ltd.
|
|
130
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
131
|
-
*/
|
|
132
|
-
class F extends e{static get is(){return"vaadin-date-time-picker-custom-field"}connectedCallback(){this.__toggleHasValue=function(e){null!==e&&""!==e&&-1===e.split("T").indexOf("")?this.setAttribute("has-value",""):this.removeAttribute("has-value")},super.connectedCallback()}validate(){}}customElements.define(F.is,F);
|
|
133
|
-
/**
|
|
134
|
-
@license
|
|
135
|
-
Copyright (c) 2019 Vaadin Ltd.
|
|
136
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
137
|
-
*/
|
|
138
|
-
class q extends c{static get is(){return"vaadin-date-time-picker-date-text-field"}}
|
|
139
|
-
/**
|
|
140
|
-
@license
|
|
141
|
-
Copyright (c) 2019 Vaadin Ltd.
|
|
142
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
143
|
-
*/
|
|
144
|
-
let L,R;customElements.define(q.is,q);class N extends a{static get is(){return"vaadin-date-time-picker-date-picker"}static get template(){return L||(L=super.template.cloneNode(!0),L.innerHTML=L.innerHTML.replace("vaadin-date-picker-text-field","vaadin-date-time-picker-date-text-field")),L}}customElements.define(N.is,N);
|
|
145
|
-
/**
|
|
146
|
-
@license
|
|
147
|
-
Copyright (c) 2019 Vaadin Ltd.
|
|
148
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
149
|
-
*/
|
|
150
|
-
class B extends c{static get is(){return"vaadin-date-time-picker-time-text-field"}}customElements.define(B.is,B);class H extends O{static get is(){return"vaadin-date-time-picker-time-picker"}static get template(){return R||(R=super.template.cloneNode(!0),R.innerHTML=R.innerHTML.replace("vaadin-time-picker-text-field","vaadin-date-time-picker-time-text-field")),R}_getInputElement(){return this.shadowRoot.querySelector("vaadin-date-time-picker-time-text-field")}}customElements.define(H.is,H);
|
|
151
|
-
/**
|
|
152
|
-
@license
|
|
153
|
-
Copyright (c) 2019 Vaadin Ltd.
|
|
154
|
-
This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
155
|
-
*/
|
|
156
|
-
const Y=document.createElement("template");Y.innerHTML='<dom-module id="date-time-picker-custom-field" theme-for="vaadin-date-time-picker-custom-field">\n <template>\n <style>\n :host,\n .container {\n width: 100%;\n }\n </style>\n </template>\n</dom-module>',document.head.appendChild(Y.content);const A=function(e,t){for(;e;){if(e.properties&&e.properties[t])return e.properties[t];e=e.__proto__}},W=customElements.get("vaadin-date-time-picker-date-picker"),K=customElements.get("vaadin-date-time-picker-time-picker"),U=A(W,"i18n").value(),G=A(K,"i18n").value(),z=Object.keys(U),J=Object.keys(G);class Q extends(_(m(h))){static get template(){return l`
|
|
157
|
-
<style>
|
|
158
|
-
:host {
|
|
159
|
-
display: inline-block;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
:host([hidden]) {
|
|
163
|
-
display: none !important;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.slot-container {
|
|
167
|
-
display: flex;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
[part="date"],
|
|
171
|
-
.slot-container ::slotted([slot="date-picker"]) {
|
|
172
|
-
pointer-events: all;
|
|
173
|
-
min-width: 0;
|
|
174
|
-
flex: 1 1 auto;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
[part="time"],
|
|
178
|
-
.slot-container ::slotted([slot="time-picker"]) {
|
|
179
|
-
pointer-events: all;
|
|
180
|
-
min-width: 0;
|
|
181
|
-
flex: 1 1.65 auto;
|
|
182
|
-
}
|
|
183
|
-
</style>
|
|
184
|
-
<vaadin-date-time-picker-custom-field id="customField" on-value-changed="__customFieldValueChanged" i18n="[[__customFieldValueFormat]]" label="[[label]]" theme\$="[[theme]]" invalid="[[invalid]]" required="[[required]]" disabled\$="[[disabled]]" readonly\$="[[readonly]]" error-message="[[errorMessage]]" helper-text="[[helperText]]">
|
|
185
|
-
<div class="slot-container">
|
|
186
|
-
<slot name="date-picker" id="dateSlot">
|
|
187
|
-
<vaadin-date-time-picker-date-picker part="date" theme\$="[[theme]]"></vaadin-date-time-picker-date-picker>
|
|
188
|
-
</slot>
|
|
189
|
-
<slot name="time-picker" id="timeSlot">
|
|
190
|
-
<vaadin-date-time-picker-time-picker part="time" theme\$="[[theme]]"></vaadin-date-time-picker-time-picker>
|
|
191
|
-
</slot>
|
|
192
|
-
</div>
|
|
193
|
-
<slot name="helper" slot="helper">[[helperText]]</slot>
|
|
194
|
-
</vaadin-date-time-picker-custom-field>
|
|
195
|
-
`}static get is(){return"vaadin-date-time-picker"}static get version(){return"1.4.0"}static get properties(){return{name:{type:String},invalid:{type:Boolean,reflectToAttribute:!0,notify:!0,value:!1},required:{type:Boolean,value:!1},errorMessage:String,value:{type:String,notify:!0,value:"",observer:"__valueChanged"},min:{type:String,observer:"__minChanged"},max:{type:String,observer:"__maxChanged"},__minDateTime:{type:Date,value:""},__maxDateTime:{type:Date,value:""},datePlaceholder:{type:String},timePlaceholder:{type:String},helperText:{type:String,value:""},step:{type:Number},initialPosition:String,showWeekNumbers:{type:Boolean},label:{type:String,value:""},autoOpenDisabled:Boolean,disabled:{type:Boolean,value:!1,reflectToAttribute:!0},readonly:{type:Boolean,value:!1,reflectToAttribute:!0},autofocus:{type:Boolean},__selectedDateTime:{type:Date},__customFieldValueFormat:{type:Object,value:()=>({parseValue:e=>e.split("T"),formatValue:e=>e.join("T")})},i18n:{type:Object,value:()=>Object.assign({},U,G)}}}static get observers(){return["__selectedDateTimeChanged(__selectedDateTime)","__datePlaceholderChanged(datePlaceholder)","__timePlaceholderChanged(timePlaceholder)","__stepChanged(step)","__initialPositionChanged(initialPosition)","__showWeekNumbersChanged(showWeekNumbers)","__requiredChanged(required)","__invalidChanged(invalid)","__disabledChanged(disabled)","__readonlyChanged(readonly)","__i18nChanged(i18n.*)","__autoOpenDisabledChanged(autoOpenDisabled)"]}constructor(){super(),this.__defaultDateMinMaxValue=void 0,this.__defaultTimeMinValue="00:00:00.000",this.__defaultTimeMaxValue="23:59:59.999"}ready(){super.ready(),this.addEventListener("focusout",(e=>{e.relatedTarget!==this.__datePicker.$.overlay&&this.validate()})),this.__changeEventHandler=this.__changeEventHandler.bind(this),this.__filterElements=e=>e.nodeType===Node.ELEMENT_NODE,this.__datePickerChanged(),this.__timePickerChanged(),this.$.dateSlot.addEventListener("slotchange",this.__datePickerChanged.bind(this)),this.$.timeSlot.addEventListener("slotchange",this.__timePickerChanged.bind(this)),this.autofocus&&!this.disabled&&window.requestAnimationFrame((()=>this.focus()))}focus(){this.$.customField.focus()}__syncI18n(e,t,i){(i=i||Object.keys(t.i18n)).forEach((i=>{t.i18n.hasOwnProperty(i)&&e.set(`i18n.${i}`,t.i18n[i])}))}__updateCustomFieldInputs(){const e=this.$.customField.inputs;this.__datePicker&&this.__timePicker&&(e[0]!==this.__datePicker||e[1]!==this.__timePicker)&&this.$.customField._setInputs([this.__datePicker,this.__timePicker])}__changeEventHandler(e){this.__doDispatchChange=!0}__removeChangeListener(e){e&&e.removeEventListener("change",this.__changeEventHandler,!1)}__addChangeListener(e){e.addEventListener("change",this.__changeEventHandler,!1)}__datePickerChanged(){const e=this.shadowRoot.querySelector('[part="date"]'),t=this.$.dateSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__datePicker!==t&&(this.__removeChangeListener(this.__datePicker),this.__addChangeListener(t),this.__datePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.datePlaceholder,t.invalid=this.invalid,t.initialPosition=this.initialPosition,t.showWeekNumbers=this.showWeekNumbers,this.__syncI18n(t,this,z)):(this.datePlaceholder=t.placeholder,this.initialPosition=t.initialPosition,this.showWeekNumbers=t.showWeekNumbers,this.__syncI18n(this,t,z)),t.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue),t.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{},t._validateInput=()=>{})}__timePickerChanged(){const e=this.shadowRoot.querySelector('[part="time"]'),t=this.$.timeSlot.assignedNodes({flatten:!0}).filter(this.__filterElements)[0];this.__timePicker!==t&&(this.__removeChangeListener(this.__timePicker),this.__addChangeListener(t),this.__timePicker=t,this.__updateCustomFieldInputs(),t===e?(t.placeholder=this.timePlaceholder,t.step=this.step,t.invalid=this.invalid,this.__syncI18n(t,this,J)):(this.timePlaceholder=t.placeholder,this.step=t.step,this.__syncI18n(this,t,J)),this.__updateTimePickerMinMax(),t.required=this.required,t.disabled=this.disabled,t.readonly=this.readonly,t.autoOpenDisabled=this.autoOpenDisabled,t.validate=()=>{})}__updateTimePickerMinMax(){if(this.__timePicker&&this.__datePicker){const e=s._dateEquals,t=this.__parseDate(this.__datePicker.value),i=e(this.__minDateTime,this.__maxDateTime),a=this.__timePicker.value;this.__minDateTime&&e(t,this.__minDateTime)||i?this.__timePicker.min=this.__dateToIsoTimeString(this.__minDateTime):this.__timePicker.min=this.__defaultTimeMinValue,this.__maxDateTime&&e(t,this.__maxDateTime)||i?this.__timePicker.max=this.__dateToIsoTimeString(this.__maxDateTime):this.__timePicker.max=this.__defaultTimeMaxValue,this.__timePicker.value!==a&&(this.__timePicker.value=a)}}__i18nChanged(e){this.__datePicker&&this.__datePicker.set(e.path,e.value),this.__timePicker&&this.__timePicker.set(e.path,e.value)}__datePlaceholderChanged(e){this.__datePicker&&(this.__datePicker.placeholder=e)}__timePlaceholderChanged(e){this.__timePicker&&(this.__timePicker.placeholder=e)}__stepChanged(e){if(this.__timePicker&&this.__timePicker.step!==e){const t=this.__timePicker.value;this.__timePicker.step=e,this.__timePicker.value!==t&&this.__triggerCustomFieldValueUpdate()}}__triggerCustomFieldValueUpdate(){this.__timePicker&&this.__timePicker.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__initialPositionChanged(e){this.__datePicker&&(this.__datePicker.initialPosition=e)}__showWeekNumbersChanged(e){this.__datePicker&&(this.__datePicker.showWeekNumbers=e)}__invalidChanged(e){this.__datePicker&&(this.__datePicker.invalid=e),this.__timePicker&&(this.__timePicker.invalid=e)}__requiredChanged(e){this.__datePicker&&(this.__datePicker.required=e),this.__timePicker&&(this.__timePicker.required=e)}__disabledChanged(e){this.__datePicker&&(this.__datePicker.disabled=e),this.__timePicker&&(this.__timePicker.disabled=e)}__readonlyChanged(e){this.__datePicker&&(this.__datePicker.readonly=e),this.__timePicker&&(this.__timePicker.readonly=e)}__parseDate(e){return W.prototype._parseDate(e)}__formatDateISO(e,t){return e?W.prototype._formatISO(e):t}__formatTimeISO(e){return G.formatTime(e)}__parseTimeISO(e){return G.parseTime(e)}__parseDateTime(e){const[t,i]=e.split("T");if(!t||!i)return;const a=this.__parseDate(t);if(!a)return;const s=this.__parseTimeISO(i);return s?(a.setHours(parseInt(s.hours)),a.setMinutes(parseInt(s.minutes||0)),a.setSeconds(parseInt(s.seconds||0)),a.setMilliseconds(parseInt(s.milliseconds||0)),a):void 0}__formatDateTime(e){if(!e)return"";return`${this.__formatDateISO(e,"")}T${this.__dateToIsoTimeString(e)}`}__dateToIsoTimeString(e){return this.__formatTimeISO(this.__validateTime({hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds(),milliseconds:e.getMilliseconds()}))}__validateTime(e){return e&&(e.seconds=this.__stepSegment<3?void 0:e.seconds,e.milliseconds=this.__stepSegment<4?void 0:e.milliseconds),e}validate(){return!(this.invalid=!this.checkValidity())}checkValidity(){const e=this.$.customField.inputs.filter((e=>!e.checkValidity.call(e))).length>0,t=this.required&&this.$.customField.inputs.filter((e=>!e.value)).length>0;return!e&&!t}get __stepSegment(){const e=null==this.step?60:parseFloat(this.step);return e%3600==0?1:e%60!=0&&e?e%1==0?3:e<1?4:void 0:2}__dateTimeEquals(e,t){return!!s._dateEquals(e,t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds()&&e.getMilliseconds()===t.getMilliseconds())}__handleDateTimeChange(e,t,i,a){if(!i)return this[e]="",void(this[t]="");const s=this.__parseDateTime(i);s?this.__dateTimeEquals(this[t],s)||(this[t]=s):this[e]=a}__valueChanged(e,t){this.__handleDateTimeChange("value","__selectedDateTime",e,t),this.__doDispatchChange&&(this.__dispatchChange(),this.validate())}__dispatchChange(){this.dispatchEvent(new CustomEvent("change",{bubbles:!0}))}__minChanged(e,t){this.__handleDateTimeChange("min","__minDateTime",e,t),this.__datePicker&&(this.__datePicker.min=this.__formatDateISO(this.__minDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__maxChanged(e,t){this.__handleDateTimeChange("max","__maxDateTime",e,t),this.__datePicker&&(this.__datePicker.max=this.__formatDateISO(this.__maxDateTime,this.__defaultDateMinMaxValue)),this.__updateTimePickerMinMax()}__selectedDateTimeChanged(e){const t=this.__formatDateTime(e);this.value!==t&&(this.value=t);if(!!this.$.customField.inputs[0].$){const e=this.__doDispatchChange;this.$.customField.value=""!==this.value?this.value:"T",this.__doDispatchChange=e}}__customFieldValueChanged(e){const t=e.detail.value;if("T"===t&&!this.__customFieldInitialValueChangeReceived)return void(this.__customFieldInitialValueChangeReceived=!0);const[i,a]=t.split("T");this.__oldDateValue!==i&&(this.__oldDateValue=i,this.__updateTimePickerMinMax()),i&&a?t!==this.value&&(this.value=t):this.value="",this.__doDispatchChange=!1}__autoOpenDisabledChanged(e){this.__datePicker&&(this.__datePicker.autoOpenDisabled=e),this.__timePicker&&(this.__timePicker.autoOpenDisabled=e)}}customElements.define(Q.is,Q);const X=[[0,1,2],[3,4,5],[6,7,8],[9,10,11]];function Z(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=0===i?X.length-1:i-1,s=X[a][0],n=new Date(e.getFullYear(),s),r=X[a][2];return{start:n,end:new Date(new Date(e.getFullYear(),r+1).getTime()-1)}}function ee(e=new Date){const t=e.getMonth(),i=X.findIndex((e=>e.includes(t))),a=X[i][0],s=new Date(e.getFullYear(),a),n=X[i][2];return{start:s,end:new Date(new Date(e.getFullYear(),n+1).getTime()-1)}}function te(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()-1),end:new Date(new Date(e.getFullYear(),e.getMonth()).getTime()-1)}}function ie(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth()),end:new Date(new Date(e.getFullYear(),e.getMonth()+1).getTime()-1)}}function ae(e=new Date){return{start:new Date(e.getFullYear()-1,0),end:new Date(new Date(e.getFullYear(),0).getTime()-1)}}function se(e=new Date){return{start:new Date(e.getFullYear(),0),end:new Date(new Date(e.getFullYear()+1,0).getTime()-1)}}function ne(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-365),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function re(e=new Date){return{start:new Date(e.getFullYear(),e.getMonth(),e.getDate()-30),end:new Date(new Date(e.getFullYear(),e.getMonth(),e.getDate()+1).getTime()-1)}}function de(e){return`${e.getFullYear().toString().padStart(4,"0")}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")}T${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}let le,oe,he,me,_e,ue,ce,pe,ge,ve,fe,be,ye,ke,Te,xe=e=>e;const $e=f(b(y(D(k(E,"report-form")))));class De extends $e{constructor(){super(...arguments),this.templates={},this.__showRangeTime=!1}static get scopedElements(){return{"vaadin-date-time-picker":customElements.get("vaadin-date-time-picker"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"vaadin-select":customElements.get("vaadin-select"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":$,"x-choice":t,"x-group":x}}static get properties(){return p(p({},super.properties),{},{__showRangeTime:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({datetime_start:e})=>!!e||"datetime_start_required",({datetime_end:e})=>!!e||"datetime_end_required"]}render(){var e,t;const i=this.hiddenSelector;return g(le||(le=xe` <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="space-y-m"> ${0} ${0} ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i.matches("name",!0)?"":this.__renderName(),i.matches("range",!0)?"":this.__renderRange(),i.matches("timestamps",!0)||!this.data?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),T({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderName(){const e="name",t=["complete","customers","customers_ltv"],a=!this.in("idle")||this.disabledSelector.matches(e),s=this.readonlySelector.matches(e);return g(oe||(oe=xe` <div data-testid="${0}"> ${0} <x-group frame> <foxy-i18n lang="${0}" slot="header" key="name" ns="${0}"></foxy-i18n> <x-choice data-testid="name-choice" .value="${0}" .items="${0}" ?readonly="${0}" ?disabled="${0}" @change="${0}"> ${0} </x-choice> </x-group> ${0} </div> `),e,this.renderTemplateOrSlot("name:before"),this.lang,this.ns,this.form.name,t,s,a,(e=>{e instanceof i&&this.edit({name:e.detail})}),t.map((e=>g(he||(he=xe` <div slot="${0}-label" class="py-s leading-s"> <foxy-i18n class="block" lang="${0}" key="name_${0}" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-s opacity-70" lang="${0}" key="name_${0}_explainer" ns="${0}"> </foxy-i18n> </div> `),e,this.lang,e,this.ns,this.lang,e,this.ns))),this.renderTemplateOrSlot("name:after"))}__renderRangePreset(){var e;const t=[[p({value:"0",label:"preset_previous_quarter"},Z()),p({value:"1",label:"preset_previous_month"},te()),p({value:"2",label:"preset_previous_year"},ae())],[p({value:"3",label:"preset_this_quarter"},ee()),p({value:"4",label:"preset_this_month"},ie()),p({value:"5",label:"preset_this_year"},se())],[p({value:"6",label:"preset_last_365_days"},ne()),p({value:"7",label:"preset_last_30_days"},re())]],i=t.flat(1).find((e=>{const{datetime_end:t,datetime_start:i}=this.form;return i&&t&&de(e.start)===i&&de(e.end)===t}));return g(ge||(ge=xe` <div> <vaadin-select data-testid="range:preset" label="${0}" class="w-full -mt-m -mb-xs" ?disabled="${0}" ?readonly="${0}" .value="${0}" .renderer="${0}" @change="${0}"> </vaadin-select> </div> `),this.t("preset"),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),S(null!==(e=null==i?void 0:i.value)&&void 0!==e?e:"custom"),(e=>{const i=g(me||(me=xe`<vaadin-item value="custom">${0}</vaadin-item>`),this.t("preset_custom")),a=g(_e||(_e=xe`<hr>`)),s=t.map((e=>{const t=e.map((({value:e,label:t})=>g(ue||(ue=xe`<vaadin-item value="${0}">${0}</vaadin-item>`),e,this.t(t))));return g(ce||(ce=xe`${0}${0}`),t,a)}));e.firstElementChild||e.appendChild(document.createElement("vaadin-list-box")),v(g(pe||(pe=xe`${0}${0}`),s,i),e.firstElementChild)}),(e=>{const i=e.currentTarget,a=t.flat(1).find((e=>e.value===i.value));a&&this.edit({datetime_start:de(a.start),datetime_end:de(a.end)})}))}__renderRangeDateTimePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(ve||(ve=xe` <vaadin-date-time-picker date-placeholder="${0}" time-placeholder="${0}" error-message="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-time-picker> `),this.t("select_date"),this.t("select_time"),w(i?this.t(i):void 0),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(e=>{const i=e.currentTarget;this.edit({[t]:i.value})}));var s,n}__renderRangeDatePicker(e){const t="end"===e?"datetime_end":"datetime_start",i=this.errors.find((e=>e.startsWith(`${t}_`))),a=this.form[t];return g(fe||(fe=xe` <vaadin-date-picker error-message="${0}" placeholder="${0}" data-testid="range:${0}" class="w-full" label="${0}" step="1" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" @keydown="${0}" @change="${0}"> </vaadin-date-picker> `),w(i?this.t(i):void 0),this.t("select_date"),e,this.t(e),!this.in("idle")||this.disabledSelector.matches("range",!0),this.readonlySelector.matches("range",!0),(()=>!i),a?null!==(n=null===(s=/^\d{4}-\d{2}-\d{2}/.exec(a))||void 0===s?void 0:s[0])&&void 0!==n?n:"":"",(e=>"Enter"===e.key&&this.submit()),(i=>{const a=i.currentTarget,s="end"===e?"23:59:59":"00:00:00";this.edit({[t]:`${a.value}T${s}`})}));var s,n}__renderRange(){const e=this.__showRangeTime?this.__renderRangeDateTimePicker:this.__renderRangeDatePicker;return g(be||(be=xe` <div data-testid="range"> ${0} <x-group frame> <foxy-i18n slot="header" lang="${0}" key="range" ns="${0}"></foxy-i18n> <div class="p-m grid gap-m ${0}"> <div class="${0}"> ${0} </div> ${0} ${0} <vaadin-checkbox data-testid="range:toggle" class="-my-xs w-full ${0}" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="use_precise_time" ns="${0}"></foxy-i18n> </vaadin-checkbox> </div> </x-group> ${0} </div> `),this.renderTemplateOrSlot("range:before"),this.lang,this.ns,this.__showRangeTime?"grid-cols-1":"sm-grid-cols-2",this.__showRangeTime?"col-span-1":"sm-col-span-2",this.__renderRangePreset(),e.call(this,"start"),e.call(this,"end"),this.__showRangeTime?"col-span-1":"sm-col-span-2",!this.in("idle")||this.disabledSelector.matches("range",!0),this.__showRangeTime,(e=>{const t=e.currentTarget;this.__showRangeTime=t.checked}),this.lang,this.ns,this.renderTemplateOrSlot("range:after"))}__renderTimestamps(){return g(ye||(ye=xe` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),a=this.in({idle:{snapshot:{dirty:"invalid"}}}),s=e||t||(i||a),n=this.in("idle");return g(ke||(ke=xe` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!n||s||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return g(Te||(Te=xe` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-report-form",De);export{De as ReportForm};
|