@foxy.io/elements 1.16.0-beta.3 → 1.16.0-beta.4
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-copy-to-clipboard.js +1 -0
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -0
- 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 +1 -1
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -0
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -0
- 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-item-card.js +1 -0
- package/dist/cdn/foxy-item-form.js +1 -0
- package/dist/cdn/foxy-item-option-card.js +1 -0
- package/dist/cdn/foxy-item-option-form.js +1 -0
- 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-report-form.js +9 -9
- package/dist/cdn/foxy-reports-table.js +1 -1
- package/dist/cdn/foxy-shipment-card.js +17 -0
- 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-transaction.js +64 -0
- 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-8c308dc1.js → shared-007660a6.js} +1 -1
- package/dist/cdn/shared-06014421.js +1 -0
- package/dist/cdn/shared-072abf87.js +1 -0
- package/dist/cdn/shared-1b064836.js +1 -0
- package/dist/cdn/shared-1ddccf4d.js +1 -0
- package/dist/cdn/{shared-03949800.js → shared-22103348.js} +1 -1
- package/dist/cdn/{shared-9aed33de.js → shared-25e9c276.js} +1 -1
- package/dist/cdn/{shared-571516a4.js → shared-2bb49907.js} +1 -1
- package/dist/cdn/{shared-5bf947db.js → shared-2eee69db.js} +1 -1
- package/dist/cdn/shared-3026cee0.js +15 -0
- package/dist/cdn/{shared-e6dd0f55.js → shared-34998df6.js} +1 -1
- package/dist/cdn/{shared-70c7bf00.js → shared-35de1004.js} +1 -1
- package/dist/cdn/{shared-70d6309f.js → shared-368a2f85.js} +1 -1
- package/dist/cdn/{shared-42457145.js → shared-38f8a319.js} +7 -7
- package/dist/cdn/{shared-ea015924.js → shared-3ffd77da.js} +14 -19
- package/dist/cdn/shared-4e63d6e0.js +1 -0
- package/dist/cdn/{shared-3a7ec144.js → shared-5097c880.js} +2 -11
- package/dist/cdn/shared-518902c8.js +1 -0
- package/dist/cdn/{shared-8c3463b5.js → shared-5e75308a.js} +1 -1
- package/dist/cdn/{shared-15d3d613.js → shared-60e98fbf.js} +1 -1
- package/dist/cdn/shared-64657919.js +1 -0
- package/dist/cdn/{shared-7a93239c.js → shared-757bb517.js} +1 -1
- package/dist/cdn/{shared-7823570c.js → shared-7819b0b0.js} +1 -1
- package/dist/cdn/{shared-712b7f69.js → shared-7f3ca8e7.js} +5 -5
- package/dist/cdn/shared-874bbae5.js +1 -0
- package/dist/cdn/{shared-1dedbcf4.js → shared-92d6f937.js} +1 -1
- package/dist/cdn/shared-935ba2fc.js +1 -0
- package/dist/cdn/shared-96df3c85.js +1 -0
- package/dist/cdn/shared-9a089d49.js +1 -0
- package/dist/cdn/shared-9d4835ed.js +1 -0
- package/dist/cdn/{shared-6b326bd8.js → shared-9d7aaf7a.js} +1 -1
- package/dist/cdn/shared-a8e21a41.js +1 -0
- package/dist/cdn/{shared-864a9f46.js → shared-b4a4a92b.js} +1 -1
- package/dist/cdn/{shared-7991f6c1.js → shared-b8f492a4.js} +1 -1
- package/dist/cdn/{shared-7eaa7ada.js → shared-bbfdfee2.js} +2 -2
- package/dist/cdn/{shared-9b0b7e4d.js → shared-bc94606b.js} +1 -1
- package/dist/cdn/{shared-3d12e221.js → shared-c3c424cd.js} +1 -1
- package/dist/cdn/{shared-667a8855.js → shared-c4f0a219.js} +1 -1
- package/dist/cdn/shared-d3ffe0ef.js +1 -0
- package/dist/cdn/{shared-5499ce50.js → shared-e090608c.js} +1 -1
- package/dist/cdn/{shared-447623da.js → shared-e59c65e3.js} +1 -1
- package/dist/cdn/shared-e6f3e9f0.js +6 -0
- package/dist/cdn/{shared-c937b8af.js → shared-ea9af4b0.js} +2 -2
- package/dist/cdn/{shared-1faaa1b6.js → shared-f0ba30e8.js} +1 -1
- package/dist/cdn/{shared-afa7534d.js → shared-f3655f42.js} +1 -1
- package/dist/cdn/{shared-dfb99fb9.js → shared-f3f9f752.js} +1 -1
- package/dist/cdn/shared-f7bddf72.js +9 -0
- package/dist/cdn/{shared-b4159722.js → shared-fe8ec1f9.js} +1 -1
- package/dist/cdn/translations/copy-to-clipboard/en.json +6 -0
- package/dist/cdn/translations/coupon-form/en.json +21 -2
- package/dist/cdn/translations/gift-card-form/en.json +21 -0
- package/dist/cdn/translations/item-card/en.json +9 -0
- package/dist/cdn/translations/item-form/en.json +387 -0
- package/dist/cdn/translations/item-option-form/en.json +43 -0
- package/dist/cdn/translations/shipment-card/en.json +470 -0
- package/dist/cdn/translations/transaction/en.json +941 -0
- package/dist/elements/index.d.ts +1 -0
- package/dist/elements/index.js +2 -0
- package/dist/elements/index.js.map +1 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +12 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +65 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/index.js +6 -0
- package/dist/elements/internal/InternalAsyncComboBoxControl/index.js.map +1 -0
- package/dist/elements/internal/InternalCard/InternalCard.d.ts +13 -0
- package/dist/elements/internal/InternalCard/InternalCard.js +43 -0
- package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -0
- package/dist/elements/internal/InternalCard/index.d.ts +6 -0
- package/dist/elements/internal/InternalCard/index.js +8 -0
- package/dist/elements/internal/InternalCard/index.js.map +1 -0
- package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.d.ts +16 -0
- package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.js +63 -0
- package/dist/elements/internal/InternalCollapsibleCard/InternalCollapsibleCard.js.map +1 -0
- package/dist/elements/internal/InternalCollapsibleCard/index.d.ts +5 -0
- package/dist/elements/internal/InternalCollapsibleCard/index.js +7 -0
- package/dist/elements/internal/InternalCollapsibleCard/index.js.map +1 -0
- package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.d.ts +13 -0
- package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.js +119 -0
- package/dist/elements/internal/InternalCollectionCard/InternalCollectionCard.js.map +1 -0
- package/dist/elements/internal/InternalCollectionCard/index.d.ts +7 -0
- package/dist/elements/internal/InternalCollectionCard/index.js +9 -0
- package/dist/elements/internal/InternalCollectionCard/index.js.map +1 -0
- package/dist/elements/internal/InternalControl/InternalControl.d.ts +21 -0
- package/dist/elements/internal/InternalControl/InternalControl.js +53 -0
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -0
- package/dist/elements/internal/InternalControl/index.d.ts +2 -0
- package/dist/elements/internal/InternalControl/index.js +4 -0
- package/dist/elements/internal/InternalControl/index.js.map +1 -0
- package/dist/elements/internal/InternalCreateControl/InternalCreateControl.d.ts +13 -0
- package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js +47 -0
- package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js.map +1 -0
- package/dist/elements/internal/InternalCreateControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalCreateControl/index.js +6 -0
- package/dist/elements/internal/InternalCreateControl/index.js.map +1 -0
- package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +7 -0
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js +48 -0
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -0
- package/dist/elements/internal/InternalDateControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalDateControl/index.js +6 -0
- package/dist/elements/internal/InternalDateControl/index.js.map +1 -0
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.d.ts +6 -0
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +39 -0
- package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -0
- package/dist/elements/internal/InternalDeleteControl/index.d.ts +5 -0
- package/dist/elements/internal/InternalDeleteControl/index.js +7 -0
- package/dist/elements/internal/InternalDeleteControl/index.js.map +1 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +25 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +78 -0
- package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -0
- package/dist/elements/internal/InternalEditableControl/index.d.ts +3 -0
- package/dist/elements/internal/InternalEditableControl/index.js +5 -0
- package/dist/elements/internal/InternalEditableControl/index.js.map +1 -0
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +13 -0
- package/dist/elements/internal/InternalForm/InternalForm.js +49 -0
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -0
- package/dist/elements/internal/InternalForm/index.d.ts +6 -0
- package/dist/elements/internal/InternalForm/index.js +8 -0
- package/dist/elements/internal/InternalForm/index.js.map +1 -0
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +9 -0
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +115 -0
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -0
- package/dist/elements/internal/InternalFrequencyControl/index.d.ts +7 -0
- package/dist/elements/internal/InternalFrequencyControl/index.js +9 -0
- package/dist/elements/internal/InternalFrequencyControl/index.js.map +1 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +5 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +28 -0
- package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -0
- package/dist/elements/internal/InternalIntegerControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalIntegerControl/index.js +6 -0
- package/dist/elements/internal/InternalIntegerControl/index.js.map +1 -0
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +5 -0
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +28 -0
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -0
- package/dist/elements/internal/InternalNumberControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalNumberControl/index.js +6 -0
- package/dist/elements/internal/InternalNumberControl/index.js.map +1 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +5 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +27 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -0
- package/dist/elements/internal/InternalTextControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalTextControl/index.js +6 -0
- package/dist/elements/internal/InternalTextControl/index.js.map +1 -0
- package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.d.ts +8 -0
- package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js +56 -0
- package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js.map +1 -0
- package/dist/elements/internal/InternalTimestampsControl/index.d.ts +2 -0
- package/dist/elements/internal/InternalTimestampsControl/index.js +4 -0
- package/dist/elements/internal/InternalTimestampsControl/index.js.map +1 -0
- package/dist/elements/private/Dialog/Dialog.d.ts +4 -2
- package/dist/elements/private/Dialog/Dialog.js +3 -1
- package/dist/elements/private/Dialog/Dialog.js.map +1 -1
- package/dist/elements/private/EditableList/EditableList.d.ts +4 -2
- package/dist/elements/private/EditableList/EditableList.js +3 -1
- package/dist/elements/private/EditableList/EditableList.js.map +1 -1
- package/dist/elements/private/FrequencyInput/FrequencyInput.d.ts +3 -1
- package/dist/elements/private/FrequencyInput/FrequencyInput.js +2 -1
- package/dist/elements/private/FrequencyInput/FrequencyInput.js.map +1 -1
- package/dist/elements/public/CollectionPage/CollectionPage.d.ts +4 -3
- package/dist/elements/public/CollectionPage/CollectionPage.js +5 -3
- package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
- package/dist/elements/public/CollectionPage/types.d.ts +1 -0
- package/dist/elements/public/CollectionPage/types.js.map +1 -1
- package/dist/elements/public/CollectionPages/CollectionPages.d.ts +4 -2
- package/dist/elements/public/CollectionPages/CollectionPages.js +3 -1
- package/dist/elements/public/CollectionPages/CollectionPages.js.map +1 -1
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.d.ts +14 -0
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js +112 -0
- package/dist/elements/public/CopyToClipboard/CopyToClipboard.js.map +1 -0
- package/dist/elements/public/CopyToClipboard/index.d.ts +4 -0
- package/dist/elements/public/CopyToClipboard/index.js +6 -0
- package/dist/elements/public/CopyToClipboard/index.js.map +1 -0
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +25 -0
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +58 -0
- package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -0
- package/dist/elements/public/CouponDetailCard/index.d.ts +5 -0
- package/dist/elements/public/CouponDetailCard/index.js +7 -0
- package/dist/elements/public/CouponDetailCard/index.js.map +1 -0
- package/dist/elements/public/CouponDetailCard/types.d.ts +3 -0
- package/dist/elements/public/CouponDetailCard/types.js +2 -0
- package/dist/elements/public/CouponDetailCard/types.js.map +1 -0
- package/dist/elements/public/CouponForm/CouponForm.js +36 -35
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/CouponForm/index.d.ts +1 -0
- package/dist/elements/public/CouponForm/index.js +1 -0
- package/dist/elements/public/CouponForm/index.js.map +1 -1
- package/dist/elements/public/CustomerApi/CustomerApi.d.ts +3 -1
- package/dist/elements/public/CustomerApi/CustomerApi.js +2 -1
- package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.d.ts +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.js +2 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalChangePassword.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.d.ts +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js +2 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.d.ts +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +2 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalTransactions.d.ts +3 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalTransactions.js +2 -1
- package/dist/elements/public/CustomerPortal/InternalCustomerPortalTransactions.js.map +1 -1
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.d.ts +28 -0
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +339 -0
- package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -0
- package/dist/elements/public/DiscountBuilder/index.d.ts +2 -0
- package/dist/elements/public/DiscountBuilder/index.js +4 -0
- package/dist/elements/public/DiscountBuilder/index.js.map +1 -0
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +25 -0
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +58 -0
- package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -0
- package/dist/elements/public/DiscountDetailCard/index.d.ts +5 -0
- package/dist/elements/public/DiscountDetailCard/index.js +7 -0
- package/dist/elements/public/DiscountDetailCard/index.js.map +1 -0
- package/dist/elements/public/DiscountDetailCard/types.d.ts +3 -0
- package/dist/elements/public/DiscountDetailCard/types.js +2 -0
- package/dist/elements/public/DiscountDetailCard/types.js.map +1 -0
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +28 -15
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/GiftCardForm/index.d.ts +1 -0
- package/dist/elements/public/GiftCardForm/index.js +1 -0
- package/dist/elements/public/GiftCardForm/index.js.map +1 -1
- package/dist/elements/public/I18n/I18n.d.ts +3 -1
- package/dist/elements/public/I18n/I18n.js +2 -1
- package/dist/elements/public/I18n/I18n.js.map +1 -1
- package/dist/elements/public/ItemCard/ItemCard.d.ts +16 -0
- package/dist/elements/public/ItemCard/ItemCard.js +139 -0
- package/dist/elements/public/ItemCard/ItemCard.js.map +1 -0
- package/dist/elements/public/ItemCard/index.d.ts +4 -0
- package/dist/elements/public/ItemCard/index.js +6 -0
- package/dist/elements/public/ItemCard/index.js.map +1 -0
- package/dist/elements/public/ItemCard/types.d.ts +5 -0
- package/dist/elements/public/ItemCard/types.js +2 -0
- package/dist/elements/public/ItemCard/types.js.map +1 -0
- package/dist/elements/public/ItemForm/ItemForm.d.ts +19 -0
- package/dist/elements/public/ItemForm/ItemForm.js +96 -0
- package/dist/elements/public/ItemForm/ItemForm.js.map +1 -0
- package/dist/elements/public/ItemForm/index.d.ts +19 -0
- package/dist/elements/public/ItemForm/index.js +21 -0
- package/dist/elements/public/ItemForm/index.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +6 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +23 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +6 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +8 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +6 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +31 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +5 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +7 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +6 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +48 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +7 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +9 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +6 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +32 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +5 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +7 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +6 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +75 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +8 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +10 -0
- package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -0
- package/dist/elements/public/ItemForm/types.d.ts +3 -0
- package/dist/elements/public/ItemForm/types.js +2 -0
- package/dist/elements/public/ItemForm/types.js.map +1 -0
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +25 -0
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +56 -0
- package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -0
- package/dist/elements/public/ItemOptionCard/index.d.ts +6 -0
- package/dist/elements/public/ItemOptionCard/index.js +8 -0
- package/dist/elements/public/ItemOptionCard/index.js.map +1 -0
- package/dist/elements/public/ItemOptionCard/types.d.ts +11 -0
- package/dist/elements/public/ItemOptionCard/types.js +2 -0
- package/dist/elements/public/ItemOptionCard/types.js.map +1 -0
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.d.ts +12 -0
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +23 -0
- package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +1 -0
- package/dist/elements/public/ItemOptionForm/index.d.ts +5 -0
- package/dist/elements/public/ItemOptionForm/index.js +7 -0
- package/dist/elements/public/ItemOptionForm/index.js.map +1 -0
- package/dist/elements/public/ItemOptionForm/types.d.ts +3 -0
- package/dist/elements/public/ItemOptionForm/types.js +2 -0
- package/dist/elements/public/ItemOptionForm/types.js.map +1 -0
- package/dist/elements/public/NucleonElement/NucleonElement.d.ts +7 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js +13 -1
- package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
- package/dist/elements/public/Pagination/Pagination.d.ts +3 -1
- package/dist/elements/public/Pagination/Pagination.js +3 -2
- 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 +3 -1
- package/dist/elements/public/QueryBuilder/QueryBuilder.js +2 -1
- package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/elements/public/ShipmentCard/ShipmentCard.d.ts +22 -0
- package/dist/elements/public/ShipmentCard/ShipmentCard.js +114 -0
- package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -0
- package/dist/elements/public/ShipmentCard/index.d.ts +7 -0
- package/dist/elements/public/ShipmentCard/index.js +9 -0
- package/dist/elements/public/ShipmentCard/index.js.map +1 -0
- package/dist/elements/public/ShipmentCard/types.d.ts +18 -0
- package/dist/elements/public/ShipmentCard/types.js +2 -0
- package/dist/elements/public/ShipmentCard/types.js.map +1 -0
- package/dist/elements/public/Spinner/Spinner.d.ts +4 -2
- package/dist/elements/public/Spinner/Spinner.js +3 -1
- package/dist/elements/public/Spinner/Spinner.js.map +1 -1
- package/dist/elements/public/Transaction/Transaction.d.ts +13 -0
- package/dist/elements/public/Transaction/Transaction.js +101 -0
- package/dist/elements/public/Transaction/Transaction.js.map +1 -0
- package/dist/elements/public/Transaction/index.d.ts +19 -0
- package/dist/elements/public/Transaction/index.js +21 -0
- package/dist/elements/public/Transaction/index.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.d.ts +9 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js +69 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.d.ts +4 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.js +6 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/index.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.d.ts +5 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +36 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.d.ts +7 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js +9 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/index.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.d.ts +11 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +50 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.d.ts +5 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js +7 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/index.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.d.ts +8 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +77 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +1 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.d.ts +4 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js +6 -0
- package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/index.js.map +1 -0
- package/dist/elements/public/Transaction/types.d.ts +3 -0
- package/dist/elements/public/Transaction/types.js +2 -0
- package/dist/elements/public/Transaction/types.js.map +1 -0
- package/dist/elements/public/index.d.ts +10 -0
- package/dist/elements/public/index.defined.d.ts +10 -0
- package/dist/elements/public/index.defined.js +10 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +10 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/configurable.d.ts +5 -3
- package/dist/mixins/configurable.js +39 -4
- package/dist/mixins/configurable.js.map +1 -1
- package/dist/mixins/inferrable.d.ts +15 -0
- package/dist/mixins/inferrable.js +66 -0
- package/dist/mixins/inferrable.js.map +1 -0
- package/dist/mixins/themeable.js +96 -16
- package/dist/mixins/themeable.js.map +1 -1
- package/dist/mixins/translatable.d.ts +3 -1
- package/dist/mixins/translatable.js +13 -1
- package/dist/mixins/translatable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-102cccce.js +0 -1
- package/dist/cdn/shared-1b98e51a.js +0 -1
- package/dist/cdn/shared-50f0611d.js +0 -15
- package/dist/cdn/shared-58debe59.js +0 -1
- package/dist/cdn/shared-5bf4b9f9.js +0 -1
- package/dist/cdn/shared-84731e61.js +0 -1
- package/dist/cdn/shared-930bbe32.js +0 -1
- package/dist/cdn/shared-a821b675.js +0 -1
- package/dist/cdn/shared-ebd1dc3f.js +0 -1
- package/dist/cdn/shared-f7a9db82.js +0 -1
- package/dist/cdn/shared-f92fa56a.js +0 -1
|
@@ -16,6 +16,19 @@ export const ConfigurableMixin = (BaseElement) => {
|
|
|
16
16
|
this.hiddenControls = BooleanSelector.False;
|
|
17
17
|
this.__observer = new MutationObserver(() => this.__onMutation());
|
|
18
18
|
}
|
|
19
|
+
static get inferredProperties() {
|
|
20
|
+
return [
|
|
21
|
+
...super.inferredProperties,
|
|
22
|
+
'disabledSelector',
|
|
23
|
+
'readonlySelector',
|
|
24
|
+
'hiddenSelector',
|
|
25
|
+
'templates',
|
|
26
|
+
'disabled',
|
|
27
|
+
'readonly',
|
|
28
|
+
'hidden',
|
|
29
|
+
'mode',
|
|
30
|
+
];
|
|
31
|
+
}
|
|
19
32
|
static get properties() {
|
|
20
33
|
return {
|
|
21
34
|
...super.properties,
|
|
@@ -86,7 +99,7 @@ export const ConfigurableMixin = (BaseElement) => {
|
|
|
86
99
|
});
|
|
87
100
|
this.templates = templates;
|
|
88
101
|
}
|
|
89
|
-
renderTemplateOrSlot(name,
|
|
102
|
+
renderTemplateOrSlot(name, context) {
|
|
90
103
|
const templateName = name !== null && name !== void 0 ? name : 'default';
|
|
91
104
|
const template = this.templates[templateName];
|
|
92
105
|
if (!template)
|
|
@@ -94,15 +107,14 @@ export const ConfigurableMixin = (BaseElement) => {
|
|
|
94
107
|
const renderer = () => {
|
|
95
108
|
try {
|
|
96
109
|
const target = {};
|
|
97
|
-
const
|
|
110
|
+
const resolvedContext = context !== null && context !== void 0 ? context : this;
|
|
111
|
+
const proxy = new Proxy(target, { get: (_, key) => resolvedContext[key] });
|
|
98
112
|
return template === null || template === void 0 ? void 0 : template(html, proxy);
|
|
99
113
|
}
|
|
100
114
|
catch (err) {
|
|
101
115
|
console.error(err);
|
|
102
116
|
}
|
|
103
117
|
};
|
|
104
|
-
if (__noSandbox)
|
|
105
|
-
return renderer();
|
|
106
118
|
return html `
|
|
107
119
|
<foxy-internal-sandbox data-testid=${templateName} .render=${renderer}>
|
|
108
120
|
</foxy-internal-sandbox>
|
|
@@ -118,6 +130,29 @@ export const ConfigurableMixin = (BaseElement) => {
|
|
|
118
130
|
});
|
|
119
131
|
return nestedTemplates;
|
|
120
132
|
}
|
|
133
|
+
applyInferredProperties(context) {
|
|
134
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
135
|
+
super.applyInferredProperties(context);
|
|
136
|
+
if (this.infer === null)
|
|
137
|
+
return;
|
|
138
|
+
const disabledSelector = context.get('disabledSelector');
|
|
139
|
+
const disabled = context.get('disabled');
|
|
140
|
+
const readonlySelector = context.get('readonlySelector');
|
|
141
|
+
const readonly = context.get('readonly');
|
|
142
|
+
const hiddenSelector = context.get('hiddenSelector');
|
|
143
|
+
const hidden = context.get('hidden');
|
|
144
|
+
const templates = context.get('templates');
|
|
145
|
+
const mode = context.get('mode');
|
|
146
|
+
this.disabledControls = (_a = disabledSelector === null || disabledSelector === void 0 ? void 0 : disabledSelector.zoom(this.infer)) !== null && _a !== void 0 ? _a : BooleanSelector.False;
|
|
147
|
+
this.disabled = (_c = (_b = disabledSelector === null || disabledSelector === void 0 ? void 0 : disabledSelector.matches(this.infer, true)) !== null && _b !== void 0 ? _b : disabled) !== null && _c !== void 0 ? _c : false;
|
|
148
|
+
this.readonlyControls = (_d = readonlySelector === null || readonlySelector === void 0 ? void 0 : readonlySelector.zoom(this.infer)) !== null && _d !== void 0 ? _d : BooleanSelector.False;
|
|
149
|
+
this.readonly = (_f = (_e = readonlySelector === null || readonlySelector === void 0 ? void 0 : readonlySelector.matches(this.infer, true)) !== null && _e !== void 0 ? _e : readonly) !== null && _f !== void 0 ? _f : false;
|
|
150
|
+
this.hiddenControls = (_g = hiddenSelector === null || hiddenSelector === void 0 ? void 0 : hiddenSelector.zoom(this.infer)) !== null && _g !== void 0 ? _g : BooleanSelector.False;
|
|
151
|
+
this.hidden = (_j = (_h = hiddenSelector === null || hiddenSelector === void 0 ? void 0 : hiddenSelector.matches(this.infer, true)) !== null && _h !== void 0 ? _h : hidden) !== null && _j !== void 0 ? _j : false;
|
|
152
|
+
this.templates = templates !== null && templates !== void 0 ? templates : {};
|
|
153
|
+
this.templates = this.getNestedTemplates(this.infer);
|
|
154
|
+
this.mode = mode !== null && mode !== void 0 ? mode : 'production';
|
|
155
|
+
}
|
|
121
156
|
__observe() {
|
|
122
157
|
this.__observer.observe(this, {
|
|
123
158
|
characterData: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurable.js","sourceRoot":"","sources":["../../src/mixins/configurable.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { Constructor, LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { ifDefined } from 'lit-html/directives/if-defined';\n\nexport declare class ConfigurableMixinHost {\n /** Template render functions mapped to their name. */\n templates: Partial<Record<string, Renderer<any>>>;\n\n /**\n * Toggles additional functionality for developers on and off. In particular,\n * setting this property (or attribute with the same name) to \"development\" will\n * start tracking changes in templates, allowing developers to edit HTML in the browser\n * and see results without having to refresh the page every time.\n */\n mode: 'development' | 'production';\n\n /**\n * If true, makes every editable control inside of this element read-only.\n * This property is reflected to the `readonly` boolean attribute.\n *\n * @since 1.4.0\n */\n readonly: boolean;\n\n /**\n * [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) selecting\n * controls to render as read-only. Parsed version of the `readonlycontrols` attribute value.\n *\n * @type {BooleanSelector}\n * @since 1.4.0\n * @default BooleanSelector.False\n */\n readonlyControls: BooleanSelector;\n\n /**\n * If true, disables every interactive control inside of this element.\n * This property is reflected to the `disabled` boolean attribute.\n *\n * @since 1.4.0\n */\n disabled: boolean;\n\n /**\n * [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) selecting\n * controls to render as disabled. Parsed version of the `disabledcontrols` attribute value.\n *\n * @type {BooleanSelector}\n * @since 1.4.0\n * @default BooleanSelector.False\n */\n disabledControls: BooleanSelector;\n\n /**\n * If true, hides every configurable control inside of this element.\n * This property is reflected to the `hidden` boolean attribute.\n *\n * @since 1.4.0\n */\n hidden: boolean;\n\n /**\n * [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) selecting\n * controls to hide. Parsed version of the `hiddencontrols` attribute value.\n *\n * @type {BooleanSelector}\n * @since 1.4.0\n * @default BooleanSelector.False\n */\n hiddenControls: BooleanSelector;\n\n /**\n * Combined [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) for `readonlyControls`\n * and `readonly` properties. If `readonly` is true, this selector will match any control,\n * otherwise it will match the same controls as in `readonlyControls`.\n *\n * @since 1.4.0\n */\n get readonlySelector(): BooleanSelector;\n\n /**\n * Combined [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) for `disabledControls`\n * and `disabled` properties. If `disabled` is true, this selector will match any control,\n * otherwise it will match the same controls as in `disabledControls`.\n *\n * @since 1.4.0\n */\n get disabledSelector(): BooleanSelector;\n\n /**\n * Combined [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) for `hiddenControls`\n * and `hidden` properties. If `hidden` is true, this selector will match any control,\n * otherwise it will match the same controls as in `hiddenControls`.\n *\n * @since 1.4.0\n */\n get hiddenSelector(): BooleanSelector;\n\n /**\n * Looks for templates in element's children and compiles them to render functions.\n *\n * @param replace If true, all existing templates will be removed.\n */\n compileTemplates(replace?: boolean): void;\n\n /**\n * Renders a template with the given name if available and a slot otherwise.\n * For empty name looks for a \"default\" template first and renders it if found – otherwise renders a default slot.\n *\n * @param name Name of the template/slot to render.\n * @param __noSandbox INTERNAL - if true, doesn't isolate template content in a sandbox.\n */\n renderTemplateOrSlot(name?: string, __noSandbox?: boolean): void;\n\n /**\n * Zooms into templates with complex names. For example, zooming on `customer` in `customer:header:before`\n * will return `header:before`.\n *\n * @param id Name to zoom on.\n */\n getNestedTemplates<T extends Partial<Record<string, Renderer<any>>>>(id: string): T;\n}\n\ntype Base = Constructor<LitElement> & { properties?: PropertyDeclarations };\ntype TemplateFunction = typeof html;\nexport type Renderer<THost> = (html: TemplateFunction, host: THost) => TemplateResult;\n\nexport const ConfigurableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & Constructor<ConfigurableMixinHost> => {\n return class ConfigurableElement extends BaseElement {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n\n templates: { attribute: false },\n mode: { type: String },\n\n readonly: { type: Boolean, reflect: true },\n readonlyControls: {\n attribute: 'readonlycontrols',\n converter: { fromAttribute: value => new BooleanSelector(value ?? '') },\n },\n\n disabled: { type: Boolean, reflect: true },\n disabledControls: {\n attribute: 'disabledcontrols',\n converter: { fromAttribute: value => new BooleanSelector(value ?? '') },\n },\n\n hidden: { type: Boolean, reflect: true },\n hiddenControls: {\n attribute: 'hiddencontrols',\n converter: { fromAttribute: value => new BooleanSelector(value ?? '') },\n },\n };\n }\n\n templates = {} as Partial<Record<string, Renderer<any>>>;\n\n mode: 'development' | 'production' = 'production';\n\n readonly = false;\n\n readonlyControls: BooleanSelector = BooleanSelector.False;\n\n disabled = false;\n\n disabledControls: BooleanSelector = BooleanSelector.False;\n\n hidden = false;\n\n hiddenControls: BooleanSelector = BooleanSelector.False;\n\n private readonly __observer = new MutationObserver(() => this.__onMutation());\n\n get readonlySelector(): BooleanSelector {\n return this.readonly ? BooleanSelector.True : this.readonlyControls;\n }\n\n get disabledSelector(): BooleanSelector {\n return this.disabled ? BooleanSelector.True : this.disabledControls;\n }\n\n get hiddenSelector(): BooleanSelector {\n return this.hidden ? BooleanSelector.True : this.hiddenControls;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n if (this.mode === 'development') this.__observe();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__observer.disconnect();\n }\n\n protected firstUpdated(...args: Parameters<LitElement['firstUpdated']>): void {\n super.firstUpdated(...args);\n if (this.mode === 'production') this.compileTemplates();\n }\n\n protected updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n if (changes.has('mode')) {\n this.__observer.disconnect();\n if (this.mode === 'development') this.__observe();\n }\n }\n\n compileTemplates(replace = false): void {\n const templates = replace ? {} : { ...this.templates };\n\n Array.from(this.children).forEach(child => {\n if (child.localName !== 'template') return;\n const slot = child.getAttribute('slot') ?? 'default';\n\n try {\n const script = `return html\\`${child.innerHTML}\\``;\n templates[slot] = new Function('html', 'host', script) as () => TemplateResult;\n } catch (err) {\n console.error(err);\n }\n });\n\n this.templates = templates;\n }\n\n renderTemplateOrSlot(name?: string, __noSandbox = false) {\n const templateName = name ?? 'default';\n const template = this.templates[templateName];\n\n if (!template) return html`<slot name=${ifDefined(name)}></slot>`;\n\n const renderer = () => {\n try {\n const target = {} as unknown as this;\n const proxy = new Proxy(target, { get: (_, p) => this[p as keyof this] });\n return template?.(html, proxy);\n } catch (err) {\n console.error(err);\n }\n };\n\n if (__noSandbox) return renderer();\n\n return html`\n <foxy-internal-sandbox data-testid=${templateName} .render=${renderer}>\n </foxy-internal-sandbox>\n `;\n }\n\n getNestedTemplates<T extends Partial<Record<string, Renderer<any>>>>(id: string): T {\n const nestedTemplates = {} as T;\n\n Object.entries(this.templates).forEach(([key, value]) => {\n if (key.startsWith(`${id}:`)) {\n const zoomedKey = key.replace(`${id}:`, '');\n nestedTemplates[zoomedKey as keyof T] = value as T[keyof T];\n }\n });\n\n return nestedTemplates;\n }\n\n private __observe() {\n this.__observer.observe(this, {\n characterData: true,\n attributes: true,\n childList: true,\n subtree: true,\n });\n\n this.__onMutation();\n }\n\n private __onMutation() {\n const config: MutationObserverInit = {\n characterData: true,\n attributes: true,\n childList: true,\n subtree: true,\n };\n\n this.__observer.disconnect();\n this.__observer.observe(this, config);\n\n Array.from(this.children).forEach(child => {\n if (child.localName !== 'template' || !child.hasAttribute('slot')) return;\n this.__observer.observe((child as HTMLTemplateElement).content, config);\n });\n\n this.compileTemplates(true);\n }\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"configurable.js","sourceRoot":"","sources":["../../src/mixins/configurable.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { Constructor, LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { InferrableMixinHost } from './inferrable';\n\nexport declare class ConfigurableMixinHost {\n /** Template render functions mapped to their name. */\n templates: Partial<Record<string, Renderer<any>>>;\n\n /**\n * Toggles additional functionality for developers on and off. In particular,\n * setting this property (or attribute with the same name) to \"development\" will\n * start tracking changes in templates, allowing developers to edit HTML in the browser\n * and see results without having to refresh the page every time.\n */\n mode: 'development' | 'production';\n\n /**\n * If true, makes every editable control inside of this element read-only.\n * This property is reflected to the `readonly` boolean attribute.\n *\n * @since 1.4.0\n */\n readonly: boolean;\n\n /**\n * [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) selecting\n * controls to render as read-only. Parsed version of the `readonlycontrols` attribute value.\n *\n * @type {BooleanSelector}\n * @since 1.4.0\n * @default BooleanSelector.False\n */\n readonlyControls: BooleanSelector;\n\n /**\n * If true, disables every interactive control inside of this element.\n * This property is reflected to the `disabled` boolean attribute.\n *\n * @since 1.4.0\n */\n disabled: boolean;\n\n /**\n * [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) selecting\n * controls to render as disabled. Parsed version of the `disabledcontrols` attribute value.\n *\n * @type {BooleanSelector}\n * @since 1.4.0\n * @default BooleanSelector.False\n */\n disabledControls: BooleanSelector;\n\n /**\n * If true, hides every configurable control inside of this element.\n * This property is reflected to the `hidden` boolean attribute.\n *\n * @since 1.4.0\n */\n hidden: boolean;\n\n /**\n * [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) selecting\n * controls to hide. Parsed version of the `hiddencontrols` attribute value.\n *\n * @type {BooleanSelector}\n * @since 1.4.0\n * @default BooleanSelector.False\n */\n hiddenControls: BooleanSelector;\n\n /**\n * Combined [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) for `readonlyControls`\n * and `readonly` properties. If `readonly` is true, this selector will match any control,\n * otherwise it will match the same controls as in `readonlyControls`.\n *\n * @since 1.4.0\n */\n get readonlySelector(): BooleanSelector;\n\n /**\n * Combined [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) for `disabledControls`\n * and `disabled` properties. If `disabled` is true, this selector will match any control,\n * otherwise it will match the same controls as in `disabledControls`.\n *\n * @since 1.4.0\n */\n get disabledSelector(): BooleanSelector;\n\n /**\n * Combined [BooleanSelector](https://sdk.foxy.dev/classes/_core_index_.booleanselector.html) for `hiddenControls`\n * and `hidden` properties. If `hidden` is true, this selector will match any control,\n * otherwise it will match the same controls as in `hiddenControls`.\n *\n * @since 1.4.0\n */\n get hiddenSelector(): BooleanSelector;\n\n /**\n * Looks for templates in element's children and compiles them to render functions.\n *\n * @param replace If true, all existing templates will be removed.\n */\n compileTemplates(replace?: boolean): void;\n\n /**\n * Renders a template with the given name if available and a slot otherwise.\n * For empty name looks for a \"default\" template first and renders it if found – otherwise renders a default slot.\n *\n * @param name Name of the template/slot to render.\n * @param context Context to provide template renderer with.\n */\n renderTemplateOrSlot(name?: string, context?: any): void;\n\n /**\n * Zooms into templates with complex names. For example, zooming on `customer` in `customer:header:before`\n * will return `header:before`.\n *\n * @param id Name to zoom on.\n */\n getNestedTemplates<T extends Partial<Record<string, Renderer<any>>>>(id: string): T;\n}\n\ntype Base = Constructor<InferrableMixinHost> &\n Constructor<LitElement> & { properties?: PropertyDeclarations; inferredProperties: string[] };\n\ntype TemplateFunction = typeof html;\n\nexport type Renderer<THost> = (html: TemplateFunction, host: THost) => TemplateResult;\n\nexport const ConfigurableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & Constructor<ConfigurableMixinHost> => {\n return class ConfigurableElement extends BaseElement {\n static get inferredProperties(): string[] {\n return [\n ...super.inferredProperties,\n 'disabledSelector',\n 'readonlySelector',\n 'hiddenSelector',\n 'templates',\n 'disabled',\n 'readonly',\n 'hidden',\n 'mode',\n ];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n\n templates: { attribute: false },\n mode: { type: String },\n\n readonly: { type: Boolean, reflect: true },\n readonlyControls: {\n attribute: 'readonlycontrols',\n converter: { fromAttribute: value => new BooleanSelector(value ?? '') },\n },\n\n disabled: { type: Boolean, reflect: true },\n disabledControls: {\n attribute: 'disabledcontrols',\n converter: { fromAttribute: value => new BooleanSelector(value ?? '') },\n },\n\n hidden: { type: Boolean, reflect: true },\n hiddenControls: {\n attribute: 'hiddencontrols',\n converter: { fromAttribute: value => new BooleanSelector(value ?? '') },\n },\n };\n }\n\n templates = {} as Partial<Record<string, Renderer<any>>>;\n\n mode: 'development' | 'production' = 'production';\n\n readonly = false;\n\n readonlyControls: BooleanSelector = BooleanSelector.False;\n\n disabled = false;\n\n disabledControls: BooleanSelector = BooleanSelector.False;\n\n hidden = false;\n\n hiddenControls: BooleanSelector = BooleanSelector.False;\n\n private readonly __observer = new MutationObserver(() => this.__onMutation());\n\n get readonlySelector(): BooleanSelector {\n return this.readonly ? BooleanSelector.True : this.readonlyControls;\n }\n\n get disabledSelector(): BooleanSelector {\n return this.disabled ? BooleanSelector.True : this.disabledControls;\n }\n\n get hiddenSelector(): BooleanSelector {\n return this.hidden ? BooleanSelector.True : this.hiddenControls;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n if (this.mode === 'development') this.__observe();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.__observer.disconnect();\n }\n\n protected firstUpdated(...args: Parameters<LitElement['firstUpdated']>): void {\n super.firstUpdated(...args);\n if (this.mode === 'production') this.compileTemplates();\n }\n\n protected updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n if (changes.has('mode')) {\n this.__observer.disconnect();\n if (this.mode === 'development') this.__observe();\n }\n }\n\n compileTemplates(replace = false): void {\n const templates = replace ? {} : { ...this.templates };\n\n Array.from(this.children).forEach(child => {\n if (child.localName !== 'template') return;\n const slot = child.getAttribute('slot') ?? 'default';\n\n try {\n const script = `return html\\`${child.innerHTML}\\``;\n templates[slot] = new Function('html', 'host', script) as () => TemplateResult;\n } catch (err) {\n console.error(err);\n }\n });\n\n this.templates = templates;\n }\n\n renderTemplateOrSlot(name?: string, context?: any) {\n const templateName = name ?? 'default';\n const template = this.templates[templateName];\n\n if (!template) return html`<slot name=${ifDefined(name)}></slot>`;\n\n const renderer = () => {\n try {\n const target = {} as unknown as this;\n const resolvedContext = context ?? this;\n const proxy = new Proxy(target, { get: (_, key) => resolvedContext[key] });\n\n return template?.(html, proxy);\n } catch (err) {\n console.error(err);\n }\n };\n\n return html`\n <foxy-internal-sandbox data-testid=${templateName} .render=${renderer}>\n </foxy-internal-sandbox>\n `;\n }\n\n getNestedTemplates<T extends Partial<Record<string, Renderer<any>>>>(id: string): T {\n const nestedTemplates = {} as T;\n\n Object.entries(this.templates).forEach(([key, value]) => {\n if (key.startsWith(`${id}:`)) {\n const zoomedKey = key.replace(`${id}:`, '');\n nestedTemplates[zoomedKey as keyof T] = value as T[keyof T];\n }\n });\n\n return nestedTemplates;\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n type Templates = ConfigurableMixinHost['templates'];\n type Mode = ConfigurableMixinHost['mode'];\n\n if (this.infer === null) return;\n\n const disabledSelector = context.get('disabledSelector') as BooleanSelector | undefined;\n const disabled = context.get('disabled') as boolean | undefined;\n\n const readonlySelector = context.get('readonlySelector') as BooleanSelector | undefined;\n const readonly = context.get('readonly') as boolean | undefined;\n\n const hiddenSelector = context.get('hiddenSelector') as BooleanSelector | undefined;\n const hidden = context.get('hidden') as boolean | undefined;\n\n const templates = context.get('templates') as Templates | undefined;\n const mode = context.get('mode') as Mode | undefined;\n\n this.disabledControls = disabledSelector?.zoom(this.infer) ?? BooleanSelector.False;\n this.disabled = disabledSelector?.matches(this.infer, true) ?? disabled ?? false;\n\n this.readonlyControls = readonlySelector?.zoom(this.infer) ?? BooleanSelector.False;\n this.readonly = readonlySelector?.matches(this.infer, true) ?? readonly ?? false;\n\n this.hiddenControls = hiddenSelector?.zoom(this.infer) ?? BooleanSelector.False;\n this.hidden = hiddenSelector?.matches(this.infer, true) ?? hidden ?? false;\n\n this.templates = templates ?? {};\n this.templates = this.getNestedTemplates(this.infer);\n\n this.mode = mode ?? 'production';\n }\n\n private __observe() {\n this.__observer.observe(this, {\n characterData: true,\n attributes: true,\n childList: true,\n subtree: true,\n });\n\n this.__onMutation();\n }\n\n private __onMutation() {\n const config: MutationObserverInit = {\n characterData: true,\n attributes: true,\n childList: true,\n subtree: true,\n };\n\n this.__observer.disconnect();\n this.__observer.observe(this, config);\n\n Array.from(this.children).forEach(child => {\n if (child.localName !== 'template' || !child.hasAttribute('slot')) return;\n this.__observer.observe((child as HTMLTemplateElement).content, config);\n });\n\n this.compileTemplates(true);\n }\n };\n};\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Constructor, LitElement, PropertyDeclarations } from 'lit-element';
|
|
2
|
+
declare type Base = Constructor<LitElement> & {
|
|
3
|
+
properties?: PropertyDeclarations;
|
|
4
|
+
};
|
|
5
|
+
export declare class InferrableMixinHost {
|
|
6
|
+
infer: string | null;
|
|
7
|
+
inferProperties(): void;
|
|
8
|
+
inferFromElement(key: string, element: HTMLElement): unknown | undefined;
|
|
9
|
+
inferPropertiesInDescendants(): void;
|
|
10
|
+
applyInferredProperties(context: Map<string, unknown>): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const InferrableMixin: <TBase extends Base>(BaseElement: TBase) => TBase & Constructor<InferrableMixinHost> & {
|
|
13
|
+
inferredProperties: string[];
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export const InferrableMixin = (BaseElement) => {
|
|
2
|
+
return class InferrableElement extends BaseElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(...arguments);
|
|
5
|
+
/** Set a name for this element here to enable property inference. Set to `null` to disable. */
|
|
6
|
+
this.infer = null;
|
|
7
|
+
}
|
|
8
|
+
static get inferredProperties() {
|
|
9
|
+
return [];
|
|
10
|
+
}
|
|
11
|
+
static get properties() {
|
|
12
|
+
return {
|
|
13
|
+
...super.properties,
|
|
14
|
+
infer: { type: String, reflect: true },
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
inferFromElement(key, element) {
|
|
18
|
+
if (key in element)
|
|
19
|
+
return element[key];
|
|
20
|
+
}
|
|
21
|
+
inferProperties() {
|
|
22
|
+
var _a;
|
|
23
|
+
const context = new Map();
|
|
24
|
+
const constructor = this.constructor;
|
|
25
|
+
const contextKeysToInfer = new Set(constructor.inferredProperties);
|
|
26
|
+
const processNode = (node) => {
|
|
27
|
+
if (node) {
|
|
28
|
+
if (node instanceof ShadowRoot) {
|
|
29
|
+
processNode(node.host);
|
|
30
|
+
}
|
|
31
|
+
else if (node instanceof HTMLElement) {
|
|
32
|
+
contextKeysToInfer.forEach(key => {
|
|
33
|
+
const value = this.inferFromElement(key, node);
|
|
34
|
+
if (value !== undefined) {
|
|
35
|
+
context.set(key, value);
|
|
36
|
+
contextKeysToInfer.delete(key);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
if (contextKeysToInfer.size > 0)
|
|
40
|
+
processNode(node.parentNode);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
processNode(this.parentNode);
|
|
45
|
+
(_a = this.applyInferredProperties) === null || _a === void 0 ? void 0 : _a.call(this, context);
|
|
46
|
+
}
|
|
47
|
+
inferPropertiesInDescendants() {
|
|
48
|
+
const roots = this.renderRoot === this ? [this.renderRoot] : [this.renderRoot, this];
|
|
49
|
+
roots.forEach(root => root
|
|
50
|
+
.querySelectorAll('[infer]')
|
|
51
|
+
.forEach(inferrable => inferrable.inferProperties()));
|
|
52
|
+
}
|
|
53
|
+
applyInferredProperties(context) {
|
|
54
|
+
//
|
|
55
|
+
}
|
|
56
|
+
connectedCallback() {
|
|
57
|
+
super.connectedCallback();
|
|
58
|
+
this.inferPropertiesInDescendants();
|
|
59
|
+
}
|
|
60
|
+
updated(changes) {
|
|
61
|
+
super.updated(changes);
|
|
62
|
+
this.inferPropertiesInDescendants();
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=inferrable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inferrable.js","sourceRoot":"","sources":["../../src/mixins/inferrable.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,WAAkB,EAC2D,EAAE;IAC/E,OAAO,MAAM,iBAAkB,SAAQ,WAAW;QAA3C;;YAYL,+FAA+F;YAC/F,UAAK,GAAkB,IAAI,CAAC;QAwD9B,CAAC;QApEC,MAAM,KAAK,kBAAkB;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,UAAU;YACnB,OAAO;gBACL,GAAG,KAAK,CAAC,UAAU;gBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;aACvC,CAAC;QACJ,CAAC;QAKD,gBAAgB,CAAC,GAAW,EAAE,OAAoB;YAChD,IAAI,GAAG,IAAI,OAAO;gBAAE,OAAQ,OAAe,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC;QAED,eAAe;;YACb,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;YAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAuC,CAAC;YACjE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAEnE,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAQ,EAAE;gBAC9C,IAAI,IAAI,EAAE;oBACR,IAAI,IAAI,YAAY,UAAU,EAAE;wBAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACxB;yBAAM,IAAI,IAAI,YAAY,WAAW,EAAE;wBACtC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;4BAC/C,IAAI,KAAK,KAAK,SAAS,EAAE;gCACvB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gCACxB,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;6BAChC;wBACH,CAAC,CAAC,CAAC;wBAEH,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC;4BAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAC/D;iBACF;YACH,CAAC,CAAC;YAEF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,MAAA,IAAI,CAAC,uBAAuB,+CAA5B,IAAI,EAA2B,OAAO,EAAE;QAC1C,CAAC;QAED,4BAA4B;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAErF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACnB,IAAI;iBACD,gBAAgB,CAAoC,SAAS,CAAC;iBAC9D,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC;QAED,uBAAuB,CAAC,OAA6B;YACnD,EAAE;QACJ,CAAC;QAED,iBAAiB;YACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC1B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,OAAiC;YACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { Constructor, LitElement, PropertyDeclarations } from 'lit-element';\n\ntype Base = Constructor<LitElement> & { properties?: PropertyDeclarations };\n\nexport declare class InferrableMixinHost {\n infer: string | null;\n\n inferProperties(): void;\n\n inferFromElement(key: string, element: HTMLElement): unknown | undefined;\n\n inferPropertiesInDescendants(): void;\n\n applyInferredProperties(context: Map<string, unknown>): void;\n}\n\nexport const InferrableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & Constructor<InferrableMixinHost> & { inferredProperties: string[] } => {\n return class InferrableElement extends BaseElement {\n static get inferredProperties(): string[] {\n return [];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n infer: { type: String, reflect: true },\n };\n }\n\n /** Set a name for this element here to enable property inference. Set to `null` to disable. */\n infer: string | null = null;\n\n inferFromElement(key: string, element: HTMLElement): unknown | undefined {\n if (key in element) return (element as any)[key];\n }\n\n inferProperties(): void {\n const context = new Map<string, unknown>();\n const constructor = this.constructor as typeof InferrableElement;\n const contextKeysToInfer = new Set(constructor.inferredProperties);\n\n const processNode = (node: Node | null): void => {\n if (node) {\n if (node instanceof ShadowRoot) {\n processNode(node.host);\n } else if (node instanceof HTMLElement) {\n contextKeysToInfer.forEach(key => {\n const value = this.inferFromElement(key, node);\n if (value !== undefined) {\n context.set(key, value);\n contextKeysToInfer.delete(key);\n }\n });\n\n if (contextKeysToInfer.size > 0) processNode(node.parentNode);\n }\n }\n };\n\n processNode(this.parentNode);\n this.applyInferredProperties?.(context);\n }\n\n inferPropertiesInDescendants(): void {\n const roots = this.renderRoot === this ? [this.renderRoot] : [this.renderRoot, this];\n\n roots.forEach(root =>\n root\n .querySelectorAll<InferrableMixinHost & HTMLElement>('[infer]')\n .forEach(inferrable => inferrable.inferProperties())\n );\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n //\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.inferPropertiesInDescendants();\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.inferPropertiesInDescendants();\n }\n };\n};\n"]}
|
package/dist/mixins/themeable.js
CHANGED
|
@@ -428,6 +428,13 @@ input::-webkit-date-and-time-value{
|
|
|
428
428
|
left: 0;
|
|
429
429
|
}
|
|
430
430
|
|
|
431
|
+
.inset {
|
|
432
|
+
top: var(--lumo-space-m, 1rem);
|
|
433
|
+
right: var(--lumo-space-m, 1rem);
|
|
434
|
+
bottom: var(--lumo-space-m, 1rem);
|
|
435
|
+
left: var(--lumo-space-m, 1rem);
|
|
436
|
+
}
|
|
437
|
+
|
|
431
438
|
.top-0 {
|
|
432
439
|
top: 0;
|
|
433
440
|
}
|
|
@@ -452,10 +459,6 @@ input::-webkit-date-and-time-value{
|
|
|
452
459
|
left: var(--lumo-space-m, 1rem);
|
|
453
460
|
}
|
|
454
461
|
|
|
455
|
-
.isolate {
|
|
456
|
-
isolation: isolate;
|
|
457
|
-
}
|
|
458
|
-
|
|
459
462
|
.z-50 {
|
|
460
463
|
z-index: 50;
|
|
461
464
|
}
|
|
@@ -554,6 +557,11 @@ input::-webkit-date-and-time-value{
|
|
|
554
557
|
margin-right: calc(var(--lumo-space-s, 0.5rem) * -1);
|
|
555
558
|
}
|
|
556
559
|
|
|
560
|
+
.-mx-m {
|
|
561
|
+
margin-left: calc(var(--lumo-space-m, 1rem) * -1);
|
|
562
|
+
margin-right: calc(var(--lumo-space-m, 1rem) * -1);
|
|
563
|
+
}
|
|
564
|
+
|
|
557
565
|
.my-auto {
|
|
558
566
|
margin-top: auto;
|
|
559
567
|
margin-bottom: auto;
|
|
@@ -1185,6 +1193,10 @@ input::-webkit-date-and-time-value{
|
|
|
1185
1193
|
justify-content: space-evenly;
|
|
1186
1194
|
}
|
|
1187
1195
|
|
|
1196
|
+
.gap-xs {
|
|
1197
|
+
gap: var(--lumo-space-xs, 0.25rem);
|
|
1198
|
+
}
|
|
1199
|
+
|
|
1188
1200
|
.gap-s {
|
|
1189
1201
|
gap: var(--lumo-space-s, 0.5rem);
|
|
1190
1202
|
}
|
|
@@ -1618,6 +1630,10 @@ input::-webkit-date-and-time-value{
|
|
|
1618
1630
|
padding-right: var(--lumo-space-xs, 0.25rem);
|
|
1619
1631
|
}
|
|
1620
1632
|
|
|
1633
|
+
.pr-s {
|
|
1634
|
+
padding-right: var(--lumo-space-s, 0.5rem);
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1621
1637
|
.pr-m {
|
|
1622
1638
|
padding-right: var(--lumo-space-m, 1rem);
|
|
1623
1639
|
}
|
|
@@ -1823,6 +1839,10 @@ input::-webkit-date-and-time-value{
|
|
|
1823
1839
|
color: var(--lumo-error-text-color, hsl(3, 92%, 53%));
|
|
1824
1840
|
}
|
|
1825
1841
|
|
|
1842
|
+
.text-error-contrast {
|
|
1843
|
+
color: var(--lumo-error-contrast-color, #fff);
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1826
1846
|
.text-success {
|
|
1827
1847
|
color: var(--lumo-success-text-color, hsl(145, 100%, 32%));
|
|
1828
1848
|
}
|
|
@@ -2609,6 +2629,13 @@ input::-webkit-date-and-time-value{
|
|
|
2609
2629
|
left: 0;
|
|
2610
2630
|
}
|
|
2611
2631
|
|
|
2632
|
+
.inset {
|
|
2633
|
+
top: var(--lumo-space-m, 1rem);
|
|
2634
|
+
right: var(--lumo-space-m, 1rem);
|
|
2635
|
+
bottom: var(--lumo-space-m, 1rem);
|
|
2636
|
+
left: var(--lumo-space-m, 1rem);
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2612
2639
|
.top-0 {
|
|
2613
2640
|
top: 0;
|
|
2614
2641
|
}
|
|
@@ -2633,10 +2660,6 @@ input::-webkit-date-and-time-value{
|
|
|
2633
2660
|
left: var(--lumo-space-m, 1rem);
|
|
2634
2661
|
}
|
|
2635
2662
|
|
|
2636
|
-
.isolate {
|
|
2637
|
-
isolation: isolate;
|
|
2638
|
-
}
|
|
2639
|
-
|
|
2640
2663
|
.z-50 {
|
|
2641
2664
|
z-index: 50;
|
|
2642
2665
|
}
|
|
@@ -2735,6 +2758,11 @@ input::-webkit-date-and-time-value{
|
|
|
2735
2758
|
margin-right: calc(var(--lumo-space-s, 0.5rem) * -1);
|
|
2736
2759
|
}
|
|
2737
2760
|
|
|
2761
|
+
.-mx-m {
|
|
2762
|
+
margin-left: calc(var(--lumo-space-m, 1rem) * -1);
|
|
2763
|
+
margin-right: calc(var(--lumo-space-m, 1rem) * -1);
|
|
2764
|
+
}
|
|
2765
|
+
|
|
2738
2766
|
.my-auto {
|
|
2739
2767
|
margin-top: auto;
|
|
2740
2768
|
margin-bottom: auto;
|
|
@@ -3366,6 +3394,10 @@ input::-webkit-date-and-time-value{
|
|
|
3366
3394
|
justify-content: space-evenly;
|
|
3367
3395
|
}
|
|
3368
3396
|
|
|
3397
|
+
.gap-xs {
|
|
3398
|
+
gap: var(--lumo-space-xs, 0.25rem);
|
|
3399
|
+
}
|
|
3400
|
+
|
|
3369
3401
|
.gap-s {
|
|
3370
3402
|
gap: var(--lumo-space-s, 0.5rem);
|
|
3371
3403
|
}
|
|
@@ -3799,6 +3831,10 @@ input::-webkit-date-and-time-value{
|
|
|
3799
3831
|
padding-right: var(--lumo-space-xs, 0.25rem);
|
|
3800
3832
|
}
|
|
3801
3833
|
|
|
3834
|
+
.pr-s {
|
|
3835
|
+
padding-right: var(--lumo-space-s, 0.5rem);
|
|
3836
|
+
}
|
|
3837
|
+
|
|
3802
3838
|
.pr-m {
|
|
3803
3839
|
padding-right: var(--lumo-space-m, 1rem);
|
|
3804
3840
|
}
|
|
@@ -4004,6 +4040,10 @@ input::-webkit-date-and-time-value{
|
|
|
4004
4040
|
color: var(--lumo-error-text-color, hsl(3, 92%, 53%));
|
|
4005
4041
|
}
|
|
4006
4042
|
|
|
4043
|
+
.text-error-contrast {
|
|
4044
|
+
color: var(--lumo-error-contrast-color, #fff);
|
|
4045
|
+
}
|
|
4046
|
+
|
|
4007
4047
|
.text-success {
|
|
4008
4048
|
color: var(--lumo-success-text-color, hsl(145, 100%, 32%));
|
|
4009
4049
|
}
|
|
@@ -4786,6 +4826,13 @@ input::-webkit-date-and-time-value{
|
|
|
4786
4826
|
left: 0;
|
|
4787
4827
|
}
|
|
4788
4828
|
|
|
4829
|
+
.inset {
|
|
4830
|
+
top: var(--lumo-space-m, 1rem);
|
|
4831
|
+
right: var(--lumo-space-m, 1rem);
|
|
4832
|
+
bottom: var(--lumo-space-m, 1rem);
|
|
4833
|
+
left: var(--lumo-space-m, 1rem);
|
|
4834
|
+
}
|
|
4835
|
+
|
|
4789
4836
|
.top-0 {
|
|
4790
4837
|
top: 0;
|
|
4791
4838
|
}
|
|
@@ -4810,10 +4857,6 @@ input::-webkit-date-and-time-value{
|
|
|
4810
4857
|
left: var(--lumo-space-m, 1rem);
|
|
4811
4858
|
}
|
|
4812
4859
|
|
|
4813
|
-
.isolate {
|
|
4814
|
-
isolation: isolate;
|
|
4815
|
-
}
|
|
4816
|
-
|
|
4817
4860
|
.z-50 {
|
|
4818
4861
|
z-index: 50;
|
|
4819
4862
|
}
|
|
@@ -4912,6 +4955,11 @@ input::-webkit-date-and-time-value{
|
|
|
4912
4955
|
margin-right: calc(var(--lumo-space-s, 0.5rem) * -1);
|
|
4913
4956
|
}
|
|
4914
4957
|
|
|
4958
|
+
.-mx-m {
|
|
4959
|
+
margin-left: calc(var(--lumo-space-m, 1rem) * -1);
|
|
4960
|
+
margin-right: calc(var(--lumo-space-m, 1rem) * -1);
|
|
4961
|
+
}
|
|
4962
|
+
|
|
4915
4963
|
.my-auto {
|
|
4916
4964
|
margin-top: auto;
|
|
4917
4965
|
margin-bottom: auto;
|
|
@@ -5543,6 +5591,10 @@ input::-webkit-date-and-time-value{
|
|
|
5543
5591
|
justify-content: space-evenly;
|
|
5544
5592
|
}
|
|
5545
5593
|
|
|
5594
|
+
.gap-xs {
|
|
5595
|
+
gap: var(--lumo-space-xs, 0.25rem);
|
|
5596
|
+
}
|
|
5597
|
+
|
|
5546
5598
|
.gap-s {
|
|
5547
5599
|
gap: var(--lumo-space-s, 0.5rem);
|
|
5548
5600
|
}
|
|
@@ -5976,6 +6028,10 @@ input::-webkit-date-and-time-value{
|
|
|
5976
6028
|
padding-right: var(--lumo-space-xs, 0.25rem);
|
|
5977
6029
|
}
|
|
5978
6030
|
|
|
6031
|
+
.pr-s {
|
|
6032
|
+
padding-right: var(--lumo-space-s, 0.5rem);
|
|
6033
|
+
}
|
|
6034
|
+
|
|
5979
6035
|
.pr-m {
|
|
5980
6036
|
padding-right: var(--lumo-space-m, 1rem);
|
|
5981
6037
|
}
|
|
@@ -6181,6 +6237,10 @@ input::-webkit-date-and-time-value{
|
|
|
6181
6237
|
color: var(--lumo-error-text-color, hsl(3, 92%, 53%));
|
|
6182
6238
|
}
|
|
6183
6239
|
|
|
6240
|
+
.text-error-contrast {
|
|
6241
|
+
color: var(--lumo-error-contrast-color, #fff);
|
|
6242
|
+
}
|
|
6243
|
+
|
|
6184
6244
|
.text-success {
|
|
6185
6245
|
color: var(--lumo-success-text-color, hsl(145, 100%, 32%));
|
|
6186
6246
|
}
|
|
@@ -6963,6 +7023,13 @@ input::-webkit-date-and-time-value{
|
|
|
6963
7023
|
left: 0;
|
|
6964
7024
|
}
|
|
6965
7025
|
|
|
7026
|
+
.inset {
|
|
7027
|
+
top: var(--lumo-space-m, 1rem);
|
|
7028
|
+
right: var(--lumo-space-m, 1rem);
|
|
7029
|
+
bottom: var(--lumo-space-m, 1rem);
|
|
7030
|
+
left: var(--lumo-space-m, 1rem);
|
|
7031
|
+
}
|
|
7032
|
+
|
|
6966
7033
|
.top-0 {
|
|
6967
7034
|
top: 0;
|
|
6968
7035
|
}
|
|
@@ -6987,10 +7054,6 @@ input::-webkit-date-and-time-value{
|
|
|
6987
7054
|
left: var(--lumo-space-m, 1rem);
|
|
6988
7055
|
}
|
|
6989
7056
|
|
|
6990
|
-
.isolate {
|
|
6991
|
-
isolation: isolate;
|
|
6992
|
-
}
|
|
6993
|
-
|
|
6994
7057
|
.z-50 {
|
|
6995
7058
|
z-index: 50;
|
|
6996
7059
|
}
|
|
@@ -7089,6 +7152,11 @@ input::-webkit-date-and-time-value{
|
|
|
7089
7152
|
margin-right: calc(var(--lumo-space-s, 0.5rem) * -1);
|
|
7090
7153
|
}
|
|
7091
7154
|
|
|
7155
|
+
.-mx-m {
|
|
7156
|
+
margin-left: calc(var(--lumo-space-m, 1rem) * -1);
|
|
7157
|
+
margin-right: calc(var(--lumo-space-m, 1rem) * -1);
|
|
7158
|
+
}
|
|
7159
|
+
|
|
7092
7160
|
.my-auto {
|
|
7093
7161
|
margin-top: auto;
|
|
7094
7162
|
margin-bottom: auto;
|
|
@@ -7720,6 +7788,10 @@ input::-webkit-date-and-time-value{
|
|
|
7720
7788
|
justify-content: space-evenly;
|
|
7721
7789
|
}
|
|
7722
7790
|
|
|
7791
|
+
.gap-xs {
|
|
7792
|
+
gap: var(--lumo-space-xs, 0.25rem);
|
|
7793
|
+
}
|
|
7794
|
+
|
|
7723
7795
|
.gap-s {
|
|
7724
7796
|
gap: var(--lumo-space-s, 0.5rem);
|
|
7725
7797
|
}
|
|
@@ -8153,6 +8225,10 @@ input::-webkit-date-and-time-value{
|
|
|
8153
8225
|
padding-right: var(--lumo-space-xs, 0.25rem);
|
|
8154
8226
|
}
|
|
8155
8227
|
|
|
8228
|
+
.pr-s {
|
|
8229
|
+
padding-right: var(--lumo-space-s, 0.5rem);
|
|
8230
|
+
}
|
|
8231
|
+
|
|
8156
8232
|
.pr-m {
|
|
8157
8233
|
padding-right: var(--lumo-space-m, 1rem);
|
|
8158
8234
|
}
|
|
@@ -8358,6 +8434,10 @@ input::-webkit-date-and-time-value{
|
|
|
8358
8434
|
color: var(--lumo-error-text-color, hsl(3, 92%, 53%));
|
|
8359
8435
|
}
|
|
8360
8436
|
|
|
8437
|
+
.text-error-contrast {
|
|
8438
|
+
color: var(--lumo-error-contrast-color, #fff);
|
|
8439
|
+
}
|
|
8440
|
+
|
|
8361
8441
|
.text-success {
|
|
8362
8442
|
color: var(--lumo-success-text-color, hsl(145, 100%, 32%));
|
|
8363
8443
|
}
|
|
@@ -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":"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,6 +1,7 @@
|
|
|
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';
|
|
4
5
|
/**
|
|
5
6
|
* One of the base classes for each rel-specific element in the collection,
|
|
6
7
|
* providing internationalization capabilities to the derived components.
|
|
@@ -64,8 +65,9 @@ export declare abstract class Translatable extends Themeable {
|
|
|
64
65
|
protected get _isI18nReady(): boolean;
|
|
65
66
|
protected get _t(): TFunction;
|
|
66
67
|
}
|
|
67
|
-
declare type Base = Constructor<LitElement> & {
|
|
68
|
+
declare type Base = Constructor<InferrableMixinHost> & Constructor<LitElement> & {
|
|
68
69
|
properties?: PropertyDeclarations;
|
|
70
|
+
inferredProperties: string[];
|
|
69
71
|
};
|
|
70
72
|
declare type Translator = (key: string, options?: StringMap) => string;
|
|
71
73
|
export declare class TranslatableMixinHost {
|
|
@@ -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(
|
|
162
|
+
.filter(v => v.length > 0)
|
|
163
163
|
.reverse()
|
|
164
164
|
.map((v, i, a) => `${v}:${[...a.slice(i + 1), key].join('.')}`),
|
|
165
165
|
`shared:${key}`,
|
|
@@ -167,6 +167,9 @@ 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
|
+
}
|
|
170
173
|
static get properties() {
|
|
171
174
|
return {
|
|
172
175
|
...super.properties,
|
|
@@ -198,6 +201,15 @@ export const TranslatableMixin = (BaseElement, defaultNS = '') => {
|
|
|
198
201
|
super.disconnectedCallback();
|
|
199
202
|
(_a = this.__untrackTranslations) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
200
203
|
}
|
|
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
|
+
}
|
|
201
213
|
};
|
|
202
214
|
};
|
|
203
215
|
//# sourceMappingURL=translatable.js.map
|