@foxy.io/elements 1.28.0 → 1.29.0-beta.2
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 +5 -5
- package/dist/cdn/foxy-address-form.js +1 -1
- package/dist/cdn/foxy-admin-subscription-card.js +1 -1
- package/dist/cdn/foxy-admin-subscription-form.js +1 -0
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -1
- package/dist/cdn/foxy-cancellation-form.js +1 -1
- package/dist/cdn/foxy-cart-card.js +1 -1
- package/dist/cdn/foxy-cart-form.js +57 -1
- package/dist/cdn/foxy-client-card.js +1 -1
- package/dist/cdn/foxy-client-form.js +1 -1
- package/dist/cdn/foxy-collection-page.js +1 -1
- package/dist/cdn/foxy-collection-pages.js +1 -1
- package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
- package/dist/cdn/foxy-coupon-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-coupon-codes-form.js +1 -1
- package/dist/cdn/foxy-coupon-detail-card.js +1 -1
- package/dist/cdn/foxy-coupon-form.js +1 -1
- package/dist/cdn/foxy-custom-field-card.js +1 -1
- package/dist/cdn/foxy-custom-field-form.js +1 -1
- package/dist/cdn/foxy-customer-api.js +1 -1
- package/dist/cdn/foxy-customer-card.js +1 -1
- package/dist/cdn/foxy-customer-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
- package/dist/cdn/foxy-customer-portal-settings.js +1 -1
- package/dist/cdn/foxy-customer-portal.js +2 -2
- package/dist/cdn/foxy-customer.js +4 -4
- package/dist/cdn/foxy-customers-table.js +1 -1
- package/dist/cdn/foxy-discount-builder.js +1 -1
- package/dist/cdn/foxy-discount-card.js +1 -1
- package/dist/cdn/foxy-discount-detail-card.js +1 -1
- package/dist/cdn/foxy-donation.js +1 -1
- package/dist/cdn/foxy-downloadable-card.js +1 -1
- package/dist/cdn/foxy-downloadable-form.js +1 -1
- package/dist/cdn/foxy-email-template-card.js +1 -1
- package/dist/cdn/foxy-email-template-form.js +1 -1
- package/dist/cdn/foxy-error-entry-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-card.js +1 -1
- package/dist/cdn/foxy-filter-attribute-form.js +1 -1
- package/dist/cdn/foxy-form-dialog.js +1 -1
- package/dist/cdn/foxy-generate-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-card.js +1 -1
- package/dist/cdn/foxy-gift-card-code-form.js +1 -1
- package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
- package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
- package/dist/cdn/foxy-gift-card-form.js +1 -1
- package/dist/cdn/foxy-i18n-editor.js +2 -2
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +3 -3
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-native-integration-card.js +1 -1
- package/dist/cdn/foxy-native-integration-form.js +1 -1
- package/dist/cdn/foxy-nucleon-element.js +1 -1
- package/dist/cdn/foxy-pagination.js +1 -1
- package/dist/cdn/foxy-passkey-card.js +1 -1
- package/dist/cdn/foxy-passkey-form.js +1 -1
- package/dist/cdn/foxy-payment-card-embed.js +1 -1
- package/dist/cdn/foxy-payment-card.js +1 -1
- package/dist/cdn/foxy-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
- package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
- package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
- package/dist/cdn/foxy-payments-api.js +1 -1
- package/dist/cdn/foxy-query-builder.js +1 -1
- package/dist/cdn/foxy-report-form.js +2 -2
- package/dist/cdn/foxy-reports-table.js +5 -5
- package/dist/cdn/foxy-shipment-card.js +1 -1
- package/dist/cdn/foxy-shipping-container-card.js +1 -1
- package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
- package/dist/cdn/foxy-shipping-method-card.js +1 -1
- package/dist/cdn/foxy-shipping-service-card.js +1 -1
- package/dist/cdn/foxy-sign-in-form.js +1 -1
- package/dist/cdn/foxy-spinner.js +2 -2
- package/dist/cdn/foxy-store-card.js +1 -1
- package/dist/cdn/foxy-store-form.js +1 -1
- package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
- package/dist/cdn/foxy-subscription-card.js +1 -1
- package/dist/cdn/foxy-subscription-form.js +1 -1
- package/dist/cdn/foxy-subscription-settings-form.js +1 -1
- package/dist/cdn/foxy-subscriptions-table.js +1 -1
- package/dist/cdn/foxy-table.js +1 -1
- package/dist/cdn/foxy-tax-card.js +1 -1
- package/dist/cdn/foxy-tax-form.js +1 -1
- package/dist/cdn/foxy-template-config-form.js +1 -1
- package/dist/cdn/foxy-template-form.js +1 -1
- package/dist/cdn/foxy-template-set-card.js +1 -1
- package/dist/cdn/foxy-template-set-form.js +1 -1
- package/dist/cdn/foxy-transaction-card.js +1 -1
- package/dist/cdn/foxy-transaction.js +1 -1
- package/dist/cdn/foxy-transactions-table.js +7 -7
- package/dist/cdn/foxy-update-payment-method-form.js +1 -1
- package/dist/cdn/foxy-user-card.js +1 -1
- package/dist/cdn/foxy-user-form.js +1 -1
- package/dist/cdn/foxy-users-table.js +1 -1
- package/dist/cdn/foxy-webhook-card.js +1 -1
- package/dist/cdn/foxy-webhook-form.js +1 -1
- package/dist/cdn/foxy-webhook-log-card.js +1 -1
- package/dist/cdn/foxy-webhook-status-card.js +1 -1
- package/dist/cdn/{shared-c2128988.js → shared-01b2cad8.js} +1 -1
- package/dist/cdn/{shared-fad783a0.js → shared-021c7a22.js} +1 -1
- package/dist/cdn/{shared-f2335b72.js → shared-075796e2.js} +2 -2
- package/dist/cdn/{shared-fee535ca.js → shared-0b01f721.js} +1 -1
- package/dist/cdn/{shared-701157ac.js → shared-0f6e4584.js} +1 -1
- package/dist/cdn/{shared-414a0c9b.js → shared-10325cda.js} +1 -1
- package/dist/cdn/{shared-9f44b81f.js → shared-10b5e78f.js} +1 -1
- package/dist/cdn/{shared-042969fe.js → shared-12a7a15d.js} +1 -1
- package/dist/cdn/{shared-9ee719e6.js → shared-12ac8cc6.js} +1 -1
- package/dist/cdn/{shared-57e4bcb0.js → shared-1cf1e1a4.js} +1 -1
- package/dist/cdn/{shared-7004839c.js → shared-2099544a.js} +2 -2
- package/dist/cdn/{shared-cbeb8587.js → shared-24d71d01.js} +1 -1
- package/dist/cdn/shared-292ba15e.js +1 -0
- package/dist/cdn/{shared-850e441a.js → shared-2a71795e.js} +1 -1
- package/dist/cdn/{shared-c0e56e97.js → shared-2d723710.js} +1 -1
- package/dist/cdn/{shared-58095d4b.js → shared-2fc671cd.js} +1 -1
- package/dist/cdn/{shared-cfdd6c21.js → shared-30221a16.js} +1 -1
- package/dist/cdn/{shared-e4cc1191.js → shared-303b428e.js} +1 -1
- package/dist/cdn/{shared-44b101d0.js → shared-339bbd50.js} +1 -1
- package/dist/cdn/{shared-cf9c48f9.js → shared-39a33102.js} +1 -1
- package/dist/cdn/{shared-0ed41a9e.js → shared-3e03c988.js} +1 -1
- package/dist/cdn/{shared-66084f2e.js → shared-3fa791ca.js} +1 -1
- package/dist/cdn/{shared-a28c9952.js → shared-4993a79d.js} +1 -1
- package/dist/cdn/shared-4c2d43e6.js +1 -0
- package/dist/cdn/{shared-ecec6a10.js → shared-522a172d.js} +1 -1
- package/dist/cdn/{shared-f300193c.js → shared-558bc894.js} +1 -1
- package/dist/cdn/{shared-b44cf5a9.js → shared-5c05ac06.js} +1 -1
- package/dist/cdn/shared-61f4e91a.js +1 -0
- package/dist/cdn/{shared-ec696e1b.js → shared-634b670e.js} +1 -1
- package/dist/cdn/{shared-25c57c74.js → shared-644ee296.js} +1 -1
- package/dist/cdn/shared-6474675f.js +1 -0
- package/dist/cdn/{shared-24586cfb.js → shared-6a4e81ad.js} +1 -1
- package/dist/cdn/{shared-bb35ee61.js → shared-6ac0d05e.js} +1 -1
- package/dist/cdn/{shared-7063f5af.js → shared-6d645dc5.js} +1 -1
- package/dist/cdn/shared-6e355777.js +1 -0
- package/dist/cdn/shared-7026fb08.js +1 -0
- package/dist/cdn/shared-70a5fad6.js +1 -0
- package/dist/cdn/{shared-a79dbeb9.js → shared-72c61f43.js} +1 -1
- package/dist/cdn/{shared-484b31eb.js → shared-72f41a65.js} +1 -1
- package/dist/cdn/shared-77051754.js +1 -0
- package/dist/cdn/{shared-789e3185.js → shared-77c4acdd.js} +1 -1
- package/dist/cdn/{shared-1708eb3c.js → shared-797ba64a.js} +1 -1
- package/dist/cdn/shared-7b8ad9c1.js +1 -0
- package/dist/cdn/shared-7ce91c80.js +1 -0
- package/dist/cdn/{shared-b3681c71.js → shared-7fd9a30f.js} +1 -1
- package/dist/cdn/{shared-ba5c9c0b.js → shared-81d3a9ae.js} +1 -1
- package/dist/cdn/{shared-80b9cb48.js → shared-876a4341.js} +1 -1
- package/dist/cdn/shared-8c1df97c.js +1 -0
- package/dist/cdn/{shared-add044d3.js → shared-8f7a31e0.js} +2 -2
- package/dist/cdn/{shared-49d678ad.js → shared-91f5e0b3.js} +1 -1
- package/dist/cdn/{shared-059680a0.js → shared-9a90a24e.js} +1 -1
- package/dist/cdn/shared-9db46672.js +1 -0
- package/dist/cdn/{shared-23061fb2.js → shared-a036e345.js} +1 -1
- package/dist/cdn/{shared-baaa1e47.js → shared-a159ccff.js} +1 -1
- package/dist/cdn/shared-a6273e4a.js +1 -0
- package/dist/cdn/{shared-f91d5706.js → shared-abea5e34.js} +1 -1
- package/dist/cdn/{shared-ae200b9f.js → shared-acdcae7e.js} +1 -1
- package/dist/cdn/{shared-80c6f97e.js → shared-aefac46b.js} +1 -1
- package/dist/cdn/{shared-fd410dee.js → shared-b6814728.js} +2 -2
- package/dist/cdn/{shared-293f9c07.js → shared-b731dfc5.js} +1 -1
- package/dist/cdn/{shared-2782886e.js → shared-b98b8d02.js} +1 -1
- package/dist/cdn/{shared-32cac4bd.js → shared-bdd4fbbb.js} +3 -3
- package/dist/cdn/shared-c286c5ad.js +1 -0
- package/dist/cdn/shared-cbb0e610.js +1 -0
- package/dist/cdn/{shared-4761504a.js → shared-cc79152c.js} +1 -1
- package/dist/cdn/{shared-2e6bda84.js → shared-d464d078.js} +1 -1
- package/dist/cdn/shared-d4810405.js +1 -0
- package/dist/cdn/{shared-41d57c3b.js → shared-d6010c96.js} +1 -1
- package/dist/cdn/{shared-c4f5b03b.js → shared-df00a537.js} +1 -1
- package/dist/cdn/{shared-db108ddb.js → shared-e2a61f69.js} +1 -1
- package/dist/cdn/{shared-59d8b64e.js → shared-e5d37737.js} +1 -1
- package/dist/cdn/{shared-a4e0a78b.js → shared-e6e84ff5.js} +1 -1
- package/dist/cdn/{shared-fbfa45bb.js → shared-ee36b83f.js} +1 -1
- package/dist/cdn/{shared-6d1556a0.js → shared-f1d2b5bb.js} +1 -1
- package/dist/cdn/{shared-aac73acd.js → shared-f22f22ae.js} +1 -1
- package/dist/cdn/{shared-ae462b8e.js → shared-f5366dda.js} +1 -1
- package/dist/cdn/{shared-a5c48bf4.js → shared-f7a1193f.js} +1 -1
- package/dist/cdn/{shared-a05fe56c.js → shared-fa9e5c7f.js} +1 -1
- package/dist/cdn/{shared-a08d509a.js → shared-fb56178f.js} +1 -1
- package/dist/cdn/{shared-5c1e607b.js → shared-fe77f6f6.js} +1 -1
- package/dist/cdn/{shared-bba917bf.js → shared-ff63a551.js} +1 -1
- package/dist/cdn/{shared-4b209827.js → shared-ffd3690b.js} +1 -1
- package/dist/cdn/translations/address-form/en.json +3 -3
- package/dist/cdn/translations/admin-subscription-form/en.json +1840 -0
- package/dist/cdn/translations/api-browser/en.json +2 -5
- package/dist/cdn/translations/cart-form/en.json +598 -169
- package/dist/cdn/translations/customer/en.json +3 -3
- package/dist/cdn/translations/item-form/en.json +0 -1
- package/dist/cdn/translations/transaction/en.json +0 -1
- package/dist/elements/internal/InternalCalendar/InternalCalendar.js +2 -1
- package/dist/elements/internal/InternalCalendar/InternalCalendar.js.map +1 -1
- package/dist/elements/internal/InternalCard/InternalCard.js +1 -1
- package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
- package/dist/elements/internal/InternalControl/InternalControl.d.ts +1 -0
- package/dist/elements/internal/InternalControl/InternalControl.js +10 -7
- package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
- package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +4 -1
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js +36 -3
- package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
- package/dist/elements/internal/InternalDateControl/getMonthNames.d.ts +1 -0
- package/dist/elements/internal/InternalDateControl/getMonthNames.js +7 -0
- package/dist/elements/internal/InternalDateControl/getMonthNames.js.map +1 -0
- package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.d.ts +1 -0
- package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.js +8 -0
- package/dist/elements/internal/InternalDateControl/getWeekdayLongNames.js.map +1 -0
- package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.d.ts +1 -0
- package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.js +8 -0
- package/dist/elements/internal/InternalDateControl/getWeekdayShortNames.js.map +1 -0
- package/dist/elements/internal/InternalDateControl/index.d.ts +1 -0
- package/dist/elements/internal/InternalDateControl/index.js +1 -0
- package/dist/elements/internal/InternalDateControl/index.js.map +1 -1
- package/dist/elements/internal/InternalDateControl/vaadinStyles.d.ts +1 -0
- package/dist/elements/internal/InternalDateControl/vaadinStyles.js +73 -0
- package/dist/elements/internal/InternalDateControl/vaadinStyles.js.map +1 -0
- package/dist/elements/internal/InternalForm/InternalForm.d.ts +2 -0
- package/dist/elements/internal/InternalForm/InternalForm.js +26 -29
- package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +3 -0
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +128 -1
- package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +4 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +93 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +11 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +115 -20
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +0 -4
- package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -1
- package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +2 -0
- package/dist/elements/internal/InternalResourcePickerControl/index.js +2 -0
- package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +4 -1
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +70 -2
- package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.d.ts +8 -0
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +28 -0
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -0
- package/dist/elements/internal/InternalSummaryControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalSummaryControl/index.js +6 -0
- package/dist/elements/internal/InternalSummaryControl/index.js.map +1 -0
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.d.ts +7 -0
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +75 -0
- package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -0
- package/dist/elements/internal/InternalSwitchControl/index.d.ts +4 -0
- package/dist/elements/internal/InternalSwitchControl/index.js +6 -0
- package/dist/elements/internal/InternalSwitchControl/index.js.map +1 -0
- package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js +74 -1
- package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
- package/dist/elements/private/Dialog/Dialog.js +1 -1
- package/dist/elements/private/Dialog/Dialog.js.map +1 -1
- package/dist/elements/public/AddressForm/AddressForm.d.ts +1 -1
- package/dist/elements/public/AddressForm/AddressForm.js +5 -5
- package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.d.ts +14 -0
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +109 -0
- package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/index.d.ts +13 -0
- package/dist/elements/public/AdminSubscriptionForm/index.js +15 -0
- package/dist/elements/public/AdminSubscriptionForm/index.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.d.ts +5 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.js +17 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/InternalAdminSubscriptionFormError.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.d.ts +3 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.js +5 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormError/index.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.d.ts +8 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js +40 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/InternalAdminSubscriptionFormLoadInCartAction.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.d.ts +4 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js +6 -0
- package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLoadInCartAction/index.js.map +1 -0
- package/dist/elements/public/AdminSubscriptionForm/types.d.ts +5 -0
- package/dist/elements/public/AdminSubscriptionForm/types.js +2 -0
- package/dist/elements/public/AdminSubscriptionForm/types.js.map +1 -0
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +4 -1
- package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
- package/dist/elements/public/AttributeCard/AttributeCard.js +3 -4
- package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
- package/dist/elements/public/CartForm/CartForm.d.ts +18 -35
- package/dist/elements/public/CartForm/CartForm.js +265 -501
- package/dist/elements/public/CartForm/CartForm.js.map +1 -1
- package/dist/elements/public/CartForm/index.d.ts +10 -5
- package/dist/elements/public/CartForm/index.js +10 -5
- package/dist/elements/public/CartForm/index.js.map +1 -1
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.d.ts +33 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js +293 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.d.ts +7 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js +9 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.d.ts +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js +58 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/style.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.d.ts +11 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js +2 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/types.js.map +1 -0
- package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.d.ts} +1 -1
- package/dist/elements/public/CartForm/internal/{InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js → InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js} +5 -5
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.d.ts +4 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.d.ts +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js +35 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/InternalCartFormPaymentMethodCard.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.d.ts +4 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.d.ts +5 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js +2 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodCard/types.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.d.ts +13 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js +68 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/InternalCartFormPaymentMethodForm.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.d.ts +6 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js +8 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/index.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.d.ts +5 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js +2 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormPaymentMethodForm/types.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.d.ts +9 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js +91 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/InternalCartFormTotalsControl.js.map +1 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.d.ts +5 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js +7 -0
- package/dist/elements/public/CartForm/internal/InternalCartFormTotalsControl/index.js.map +1 -0
- package/dist/elements/public/CartForm/types.d.ts +11 -1
- package/dist/elements/public/CartForm/types.js.map +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js +1 -1
- package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
- package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
- package/dist/elements/public/FormDialog/FormDialog.js +9 -6
- package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
- package/dist/elements/public/index.d.ts +1 -0
- package/dist/elements/public/index.defined.d.ts +1 -0
- package/dist/elements/public/index.defined.js +1 -0
- package/dist/elements/public/index.defined.js.map +1 -1
- package/dist/elements/public/index.js +1 -0
- package/dist/elements/public/index.js.map +1 -1
- package/dist/mixins/themeable.js +18 -6
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-004fc193.js +0 -1
- package/dist/cdn/shared-08d018f5.js +0 -1
- package/dist/cdn/shared-0da6e42c.js +0 -1
- package/dist/cdn/shared-0e038fda.js +0 -1
- package/dist/cdn/shared-1d8edd03.js +0 -1
- package/dist/cdn/shared-365c8437.js +0 -1
- package/dist/cdn/shared-421708b0.js +0 -1
- package/dist/cdn/shared-57266e2a.js +0 -1
- package/dist/cdn/shared-5cb6aca6.js +0 -1
- package/dist/cdn/shared-6740ee7a.js +0 -1
- package/dist/cdn/shared-7af96c0a.js +0 -1
- package/dist/cdn/shared-824d0804.js +0 -1
- package/dist/cdn/shared-8f0251e9.js +0 -1
- package/dist/cdn/shared-b42c6fe3.js +0 -1
- package/dist/cdn/shared-b6376c8f.js +0 -1
- package/dist/cdn/shared-d82f9e35.js +0 -1
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +0 -1
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +0 -4
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +0 -6
- package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +0 -1
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
},
|
|
29
29
|
"address-form": {
|
|
30
30
|
"header": {
|
|
31
|
+
"title_default_shipping": "Default shipping address",
|
|
32
|
+
"title_default_billing": "Default billing address",
|
|
31
33
|
"title_existing": "Customer address #{{ id }}",
|
|
32
34
|
"title_new": "New customer address",
|
|
33
|
-
"
|
|
34
|
-
"subtitle_default_billing": "Default billing address",
|
|
35
|
-
"subtitle_custom": "Custom address",
|
|
35
|
+
"subtitle": "",
|
|
36
36
|
"copy-id": {
|
|
37
37
|
"failed_to_copy": "Failed to copy",
|
|
38
38
|
"click_to_copy": "Copy ID",
|
|
@@ -130,7 +130,8 @@ export class InternalCalendar extends ThemeableMixin(LitElement) {
|
|
|
130
130
|
return html `
|
|
131
131
|
<label
|
|
132
132
|
class=${classMap({
|
|
133
|
-
'
|
|
133
|
+
'relative flex w-m h-m items-center justify-center rounded-s': true,
|
|
134
|
+
'font-tnum text-l select-none leading-none': true,
|
|
134
135
|
'cursor-pointer focus-within-ring-2 focus-within-ring-primary-50': !disabled,
|
|
135
136
|
'bg-contrast-5 hover-bg-contrast-10': !checked && !disabled,
|
|
136
137
|
'bg-primary text-primary-contrast': checked && !disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalCalendar.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCalendar/InternalCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\nimport { parseDate } from '../../../utils/parse-date';\nimport { serializeDate } from '../../../utils/serialize-date';\n\nexport class InternalCalendar extends ThemeableMixin(LitElement) {\n static get properties(): PropertyDeclarations {\n return {\n checkAvailability: { attribute: false },\n readonly: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n value: { type: String },\n start: { type: String },\n lang: { type: String },\n };\n }\n\n checkAvailability: (date: Date) => boolean = () => true;\n\n readonly = false;\n\n disabled = false;\n\n value = '';\n\n start = '';\n\n lang = '';\n\n render(): TemplateResult {\n const thisMonth = new Date(this.__startAsDate ?? this.__valueAsDate ?? Date.now());\n const prevMonth = new Date(thisMonth);\n const nextMonth = new Date(thisMonth);\n const lang = this.lang || navigator.language;\n\n prevMonth.setMonth(prevMonth.getMonth() - 1);\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n return html`\n <div class=\"text-m text-body font-lumo leading-m\">\n <div class=\"grid p-xs\" style=\"grid-template: auto / max-content auto max-content\">\n <vaadin-button\n data-testid=\"prev\"\n aria-label=${prevMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handlePrevButtonClick}\n >\n <iron-icon icon=\"icons:chevron-left\"></iron-icon>\n </vaadin-button>\n\n <span\n data-testid=\"month\"\n class=${classMap({\n 'text-center self-center font-medium': true,\n 'text-disabled': this.disabled,\n })}\n >\n ${thisMonth.toLocaleDateString(lang, { month: 'long', year: 'numeric' })}\n </span>\n\n <vaadin-button\n data-testid=\"next\"\n aria-label=${nextMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handleNextButtonClick}\n >\n <iron-icon icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n </div>\n\n ${this.__renderMonth(thisMonth.getMonth(), thisMonth.getFullYear())}\n </div>\n `;\n }\n\n private get __valueAsDate(): Date | null {\n return parseDate(this.value);\n }\n\n private set __valueAsDate(value: Date | null) {\n this.value = value ? serializeDate(value) : '';\n }\n\n private get __startAsDate(): Date | null {\n return parseDate(this.start);\n }\n\n private set __startAsDate(value: Date | null) {\n this.start = value ? serializeDate(value) : '';\n }\n\n private __renderMonth(month: number, year: number) {\n const lang = this.lang || navigator.language;\n const date = new Date(year, month, 1, 0, 0, 0, 0);\n const items: TemplateResult[] = [];\n\n for (let i = 0; i < 7; ++i) {\n const weekdayDate = new Date();\n while (weekdayDate.getDay() !== i) weekdayDate.setDate(weekdayDate.getDate() + 1);\n\n items.push(html`\n <span\n class=${classMap({\n 'self-center text-xxs uppercase font-medium tracking-wider': true,\n 'text-secondary': !this.disabled,\n 'text-disabled': this.disabled,\n })}\n >\n ${weekdayDate.toLocaleString(lang, { weekday: 'short' })}\n </span>\n `);\n }\n\n while (date.getMonth() === month) {\n const checked =\n date.getFullYear() === this.__valueAsDate?.getFullYear() &&\n date.getMonth() === this.__valueAsDate?.getMonth() &&\n date.getDate() === this.__valueAsDate?.getDate();\n\n items.push(html`\n <div style=\"grid-column: ${date.getDay() + 1}\" data-testclass=\"day-of-month\">\n ${this.__renderDate(date.getDate(), month, year, checked)}\n </div>\n `);\n\n date.setDate(date.getDate() + 1);\n }\n\n return html`\n <form\n data-testid=\"grid\"\n class=\"grid gap-s p-s text-center\"\n style=\"grid-template: auto / repeat(7, 1fr);\"\n >\n ${items}\n </form>\n `;\n }\n\n private __renderDate(date: number, month: number, year: number, checked = false) {\n const disabled =\n this.disabled || this.readonly || !this.checkAvailability(new Date(year, month, date));\n\n return html`\n <label\n class=${classMap({\n 'font-tnum select-none relative flex h-m items-center justify-center rounded': true,\n 'cursor-pointer focus-within-ring-2 focus-within-ring-primary-50': !disabled,\n 'bg-contrast-5 hover-bg-contrast-10': !checked && !disabled,\n 'bg-primary text-primary-contrast': checked && !disabled,\n 'border border-dashed border-contrast-20 text-disabled': !checked && disabled,\n 'border border-dashed border-primary text-primary': checked && disabled,\n })}\n >\n <input\n name=\"date\"\n type=\"radio\"\n value=${date}\n class=\"sr-only\"\n ?disabled=${this.readonly || this.disabled || disabled}\n @change=${() => {\n this.__valueAsDate = new Date(year, month, date);\n this.dispatchEvent(new CustomEvent('change'));\n }}\n />\n\n ${date}\n </label>\n `;\n }\n\n private __handlePrevButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() - 1));\n }\n\n private __handleNextButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() + 1));\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"InternalCalendar.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCalendar/InternalCalendar.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyDeclarations, TemplateResult, html } from 'lit-element';\n\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { classMap } from '../../../utils/class-map';\nimport { parseDate } from '../../../utils/parse-date';\nimport { serializeDate } from '../../../utils/serialize-date';\n\nexport class InternalCalendar extends ThemeableMixin(LitElement) {\n static get properties(): PropertyDeclarations {\n return {\n checkAvailability: { attribute: false },\n readonly: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n value: { type: String },\n start: { type: String },\n lang: { type: String },\n };\n }\n\n checkAvailability: (date: Date) => boolean = () => true;\n\n readonly = false;\n\n disabled = false;\n\n value = '';\n\n start = '';\n\n lang = '';\n\n render(): TemplateResult {\n const thisMonth = new Date(this.__startAsDate ?? this.__valueAsDate ?? Date.now());\n const prevMonth = new Date(thisMonth);\n const nextMonth = new Date(thisMonth);\n const lang = this.lang || navigator.language;\n\n prevMonth.setMonth(prevMonth.getMonth() - 1);\n nextMonth.setMonth(nextMonth.getMonth() + 1);\n\n return html`\n <div class=\"text-m text-body font-lumo leading-m\">\n <div class=\"grid p-xs\" style=\"grid-template: auto / max-content auto max-content\">\n <vaadin-button\n data-testid=\"prev\"\n aria-label=${prevMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handlePrevButtonClick}\n >\n <iron-icon icon=\"icons:chevron-left\"></iron-icon>\n </vaadin-button>\n\n <span\n data-testid=\"month\"\n class=${classMap({\n 'text-center self-center font-medium': true,\n 'text-disabled': this.disabled,\n })}\n >\n ${thisMonth.toLocaleDateString(lang, { month: 'long', year: 'numeric' })}\n </span>\n\n <vaadin-button\n data-testid=\"next\"\n aria-label=${nextMonth.toLocaleString(lang, { year: 'numeric', month: 'long' })}\n theme=\"icon tertiary\"\n class=\"px-xs\"\n ?disabled=${this.disabled}\n @click=${this.__handleNextButtonClick}\n >\n <iron-icon icon=\"icons:chevron-right\"></iron-icon>\n </vaadin-button>\n </div>\n\n ${this.__renderMonth(thisMonth.getMonth(), thisMonth.getFullYear())}\n </div>\n `;\n }\n\n private get __valueAsDate(): Date | null {\n return parseDate(this.value);\n }\n\n private set __valueAsDate(value: Date | null) {\n this.value = value ? serializeDate(value) : '';\n }\n\n private get __startAsDate(): Date | null {\n return parseDate(this.start);\n }\n\n private set __startAsDate(value: Date | null) {\n this.start = value ? serializeDate(value) : '';\n }\n\n private __renderMonth(month: number, year: number) {\n const lang = this.lang || navigator.language;\n const date = new Date(year, month, 1, 0, 0, 0, 0);\n const items: TemplateResult[] = [];\n\n for (let i = 0; i < 7; ++i) {\n const weekdayDate = new Date();\n while (weekdayDate.getDay() !== i) weekdayDate.setDate(weekdayDate.getDate() + 1);\n\n items.push(html`\n <span\n class=${classMap({\n 'self-center text-xxs uppercase font-medium tracking-wider': true,\n 'text-secondary': !this.disabled,\n 'text-disabled': this.disabled,\n })}\n >\n ${weekdayDate.toLocaleString(lang, { weekday: 'short' })}\n </span>\n `);\n }\n\n while (date.getMonth() === month) {\n const checked =\n date.getFullYear() === this.__valueAsDate?.getFullYear() &&\n date.getMonth() === this.__valueAsDate?.getMonth() &&\n date.getDate() === this.__valueAsDate?.getDate();\n\n items.push(html`\n <div style=\"grid-column: ${date.getDay() + 1}\" data-testclass=\"day-of-month\">\n ${this.__renderDate(date.getDate(), month, year, checked)}\n </div>\n `);\n\n date.setDate(date.getDate() + 1);\n }\n\n return html`\n <form\n data-testid=\"grid\"\n class=\"grid gap-s p-s text-center\"\n style=\"grid-template: auto / repeat(7, 1fr);\"\n >\n ${items}\n </form>\n `;\n }\n\n private __renderDate(date: number, month: number, year: number, checked = false) {\n const disabled =\n this.disabled || this.readonly || !this.checkAvailability(new Date(year, month, date));\n\n return html`\n <label\n class=${classMap({\n 'relative flex w-m h-m items-center justify-center rounded-s': true,\n 'font-tnum text-l select-none leading-none': true,\n 'cursor-pointer focus-within-ring-2 focus-within-ring-primary-50': !disabled,\n 'bg-contrast-5 hover-bg-contrast-10': !checked && !disabled,\n 'bg-primary text-primary-contrast': checked && !disabled,\n 'border border-dashed border-contrast-20 text-disabled': !checked && disabled,\n 'border border-dashed border-primary text-primary': checked && disabled,\n })}\n >\n <input\n name=\"date\"\n type=\"radio\"\n value=${date}\n class=\"sr-only\"\n ?disabled=${this.readonly || this.disabled || disabled}\n @change=${() => {\n this.__valueAsDate = new Date(year, month, date);\n this.dispatchEvent(new CustomEvent('change'));\n }}\n />\n\n ${date}\n </label>\n `;\n }\n\n private __handlePrevButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() - 1));\n }\n\n private __handleNextButtonClick() {\n const currentStart = this.__startAsDate ?? new Date();\n this.__startAsDate = new Date(currentStart.setMonth(currentStart.getMonth() + 1));\n }\n}\n"]}
|
|
@@ -40,13 +40,13 @@ export class InternalCard extends ThemeableMixin(NucleonElement) {
|
|
|
40
40
|
<div
|
|
41
41
|
class=${classMap({
|
|
42
42
|
'transition duration-500 ease-in-out absolute inset-0 flex': true,
|
|
43
|
+
'items-center justify-center': true,
|
|
43
44
|
'opacity-0 pointer-events-none': this.isBodyReady,
|
|
44
45
|
})}
|
|
45
46
|
>
|
|
46
47
|
<foxy-spinner
|
|
47
48
|
layout=${spinnerState === 'busy' ? 'no-label' : 'horizontal'}
|
|
48
49
|
state=${spinnerState}
|
|
49
|
-
class="m-auto"
|
|
50
50
|
infer="spinner"
|
|
51
51
|
>
|
|
52
52
|
</foxy-spinner>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalCard.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCard/InternalCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,cAAc,EAAE,sDAAmD;AAC5E,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,YAAiC,SAAQ,cAAc,CAAC,cAAc,CAAQ;IACzF;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC/B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO,IAAI,CAAA;;oBAEK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;;;;kBAKjB,QAAQ,CAAC;YACf,qCAAqC,EAAE,IAAI;YAC3C,+BAA+B,EAAE,CAAC,IAAI,CAAC,WAAW;SACnD,CAAC;;YAEA,IAAI,CAAC,UAAU,EAAE;;;;kBAIX,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,+BAA+B,EAAE,IAAI,CAAC,WAAW;SAClD,CAAC;;;qBAGS,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;oBACpD,YAAY
|
|
1
|
+
{"version":3,"file":"InternalCard.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalCard/InternalCard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,cAAc,EAAE,sDAAmD;AAC5E,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,OAAO,YAAiC,SAAQ,cAAc,CAAC,cAAc,CAAQ;IACzF;;;OAGG;IACH,UAAU;QACR,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC/B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC;QAEX,OAAO,IAAI,CAAA;;oBAEK,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;;;;;kBAKjB,QAAQ,CAAC;YACf,qCAAqC,EAAE,IAAI;YAC3C,+BAA+B,EAAE,CAAC,IAAI,CAAC,WAAW;SACnD,CAAC;;YAEA,IAAI,CAAC,UAAU,EAAE;;;;kBAIX,QAAQ,CAAC;YACf,2DAA2D,EAAE,IAAI;YACjE,6BAA6B,EAAE,IAAI;YACnC,+BAA+B,EAAE,IAAI,CAAC,WAAW;SAClD,CAAC;;;qBAGS,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;oBACpD,YAAY;;;;;;KAM3B,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACF","sourcesContent":["import type { HALJSONResource as Data } from '../../public/NucleonElement/types';\nimport type { TemplateResult } from 'lit-html';\n\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-html';\n\n/**\n * Internal base element for cards.\n *\n * @since 1.17.0\n * @element foxy-internal-card\n */\nexport class InternalCard<TData extends Data> extends ThemeableMixin(NucleonElement)<TData> {\n /**\n * Invoked together with `.render()` to obtain a template for card contents.\n * When extending `InternalCard`, prefer overriding this method to `.render()`.\n */\n renderBody(): TemplateResult {\n return html``;\n }\n\n render(): TemplateResult {\n const spinnerState = this.in('fail')\n ? 'error'\n : this.in({ idle: 'template' })\n ? 'empty'\n : 'busy';\n\n return html`\n <div\n aria-busy=${this.in('busy')}\n aria-live=\"polite\"\n class=\"relative leading-m text-body text-m font-lumo\"\n >\n <div\n class=${classMap({\n 'transition duration-500 ease-in-out': true,\n 'opacity-0 pointer-events-none': !this.isBodyReady,\n })}\n >\n ${this.renderBody()}\n </div>\n\n <div\n class=${classMap({\n 'transition duration-500 ease-in-out absolute inset-0 flex': true,\n 'items-center justify-center': true,\n 'opacity-0 pointer-events-none': this.isBodyReady,\n })}\n >\n <foxy-spinner\n layout=${spinnerState === 'busy' ? 'no-label' : 'horizontal'}\n state=${spinnerState}\n infer=\"spinner\"\n >\n </foxy-spinner>\n </div>\n </div>\n `;\n }\n\n get isBodyReady(): boolean {\n return !!this.data;\n }\n}\n"]}
|
|
@@ -26,6 +26,7 @@ export declare class InternalControl extends InternalControl_base {
|
|
|
26
26
|
nucleon: NucleonElement<any> | null;
|
|
27
27
|
inferFromElement(key: string, element: HTMLElement): unknown | undefined;
|
|
28
28
|
applyInferredProperties(context: Map<string, unknown>): void;
|
|
29
|
+
renderLightDom(): void;
|
|
29
30
|
updated(changes: Map<keyof this, unknown>): void;
|
|
30
31
|
/**
|
|
31
32
|
* Renders the control itself. In most cases, you will need to implement
|
|
@@ -43,15 +43,18 @@ export class InternalControl extends ConfigurableMixin(TranslatableMixin(Themeab
|
|
|
43
43
|
if (((_b = this.nucleon) === null || _b === void 0 ? void 0 : _b.in('idle')) === false)
|
|
44
44
|
this.disabled = true;
|
|
45
45
|
}
|
|
46
|
+
renderLightDom() {
|
|
47
|
+
if (typeof this.infer !== 'string')
|
|
48
|
+
return;
|
|
49
|
+
const lightDomTemplate = html `
|
|
50
|
+
<slot name="${this.infer}:before" slot="before"></slot>
|
|
51
|
+
<slot name="${this.infer}:after" slot="after"></slot>
|
|
52
|
+
`;
|
|
53
|
+
render(lightDomTemplate, this);
|
|
54
|
+
}
|
|
46
55
|
updated(changes) {
|
|
47
56
|
super.updated(changes);
|
|
48
|
-
|
|
49
|
-
const lightDomTemplate = html `
|
|
50
|
-
<slot name="${this.infer}:before" slot="before"></slot>
|
|
51
|
-
<slot name="${this.infer}:after" slot="after"></slot>
|
|
52
|
-
`;
|
|
53
|
-
render(lightDomTemplate, this);
|
|
54
|
-
}
|
|
57
|
+
this.renderLightDom();
|
|
55
58
|
}
|
|
56
59
|
/**
|
|
57
60
|
* Renders the control itself. In most cases, you will need to implement
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalControl/InternalControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,cAAc,EAAE,sDAAmD;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,iBAAiB,CACpD,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/D;IAFD;;QAcE,wDAAwD;QACxD,YAAO,GAA+B,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"InternalControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalControl/InternalControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,sCAAmC;AAC7D,OAAO,EAAE,cAAc,EAAE,qCAAkC;AAC3D,OAAO,EAAE,cAAc,EAAE,sDAAmD;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,OAAO,eAAgB,SAAQ,iBAAiB,CACpD,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/D;IAFD;;QAcE,wDAAwD;QACxD,YAAO,GAA+B,IAAI,CAAC;IAkD7C,CAAC;IA9DC,MAAM,KAAK,kBAAkB;QAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC9B,CAAC;IACJ,CAAC;IAKD,gBAAgB,CAAC,GAAW,EAAE,OAAoB;QAChD,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,YAAY,cAAc;YAAE,OAAO,OAAO,CAAC;QAC3E,OAAO,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,uBAAuB,CAAC,OAA6B;;QACnD,KAAK,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEvC,IAAI,CAAC,OAAO,SAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAqC,mCAAI,IAAI,CAAC;QACnF,IAAI,OAAA,IAAI,CAAC,OAAO,0CAAE,EAAE,CAAC,MAAM,OAAM,KAAK;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC/D,CAAC;IAED,cAAc;QACZ,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO;QAE3C,MAAM,gBAAgB,GAAG,IAAI,CAAA;oBACb,IAAI,CAAC,KAAK;oBACV,IAAI,CAAC,KAAK;KACzB,CAAC;QAEF,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,OAAiC;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;QACzE,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;KACnD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { html, LitElement } from 'lit-element';\nimport { InferrableMixin } from '../../../mixins/inferrable';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { NucleonElement } from '../../public/NucleonElement/NucleonElement';\nimport { render } from 'lit-html';\n\n/**\n * An internal base class for any control in a Nucleon form. That control can be as simple as a text field bound\n * to a property or as complex as a query builder, and it infers property values from the\n * parent Nucleon/Configurable/Translatable element, saving the need to manually calculate\n * and bind properties in Lit templates. Each control renders before and after slots in the regular DOM + its\n * own layout in the shadow DOM. When hidden via `hiddencontrols` in the parent,\n * uses `display: none` to hide itself.\n *\n * @element foxy-internal-control\n * @since 1.17.0\n */\nexport class InternalControl extends ConfigurableMixin(\n TranslatableMixin(ThemeableMixin(InferrableMixin(LitElement)))\n) {\n static get inferredProperties(): string[] {\n return [...super.inferredProperties, 'nucleon'];\n }\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n nucleon: { attribute: false },\n };\n }\n\n /** NucleonElement instance this control is bound to. */\n nucleon: NucleonElement<any> | null = null;\n\n inferFromElement(key: string, element: HTMLElement): unknown | undefined {\n if (key === 'nucleon' && element instanceof NucleonElement) return element;\n return super.inferFromElement(key, element);\n }\n\n applyInferredProperties(context: Map<string, unknown>): void {\n super.applyInferredProperties(context);\n\n this.nucleon = (context.get('nucleon') as NucleonElement<any> | undefined) ?? null;\n if (this.nucleon?.in('idle') === false) this.disabled = true;\n }\n\n renderLightDom(): void {\n if (typeof this.infer !== 'string') return;\n\n const lightDomTemplate = html`\n <slot name=\"${this.infer}:before\" slot=\"before\"></slot>\n <slot name=\"${this.infer}:after\" slot=\"after\"></slot>\n `;\n\n render(lightDomTemplate, this);\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderLightDom();\n }\n\n /**\n * Renders the control itself. In most cases, you will need to implement\n * this method instead of `.render()` in your class to keep the before and after templates/slots.\n */\n renderControl(): TemplateResult {\n return html``;\n }\n\n /**\n * Renders the control (if visible) and the before/after templates/slots.\n * You should probably implement `.renderControl()` method instead of this one in your class.\n */\n render(): TemplateResult {\n if (this.hidden) return html``;\n\n return html`\n ${this.renderTemplateOrSlot('before', this.nucleon)} ${this.renderControl()}\n ${this.renderTemplateOrSlot('after', this.nucleon)}\n `;\n }\n}\n"]}
|
|
@@ -9,6 +9,9 @@ import { InternalEditableControl } from '../InternalEditableControl/InternalEdit
|
|
|
9
9
|
export declare class InternalDateControl extends InternalEditableControl {
|
|
10
10
|
static get properties(): PropertyDeclarations;
|
|
11
11
|
/** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */
|
|
12
|
-
format: 'unix' | null;
|
|
12
|
+
format: 'unix' | 'iso-long' | null;
|
|
13
|
+
/** Use summary item layout inside `<foxy-internal-summary-control>`. */
|
|
14
|
+
layout: 'summary-item' | 'standalone' | null;
|
|
13
15
|
renderControl(): TemplateResult;
|
|
16
|
+
private get __pickerI18n();
|
|
14
17
|
}
|
|
@@ -3,6 +3,9 @@ import { serializeDate } from "../../../utils/serialize-date.js";
|
|
|
3
3
|
import { parseDate } from "../../../utils/parse-date.js";
|
|
4
4
|
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
5
5
|
import { html } from 'lit-element';
|
|
6
|
+
import { getWeekdayShortNames } from "./getWeekdayShortNames.js";
|
|
7
|
+
import { getWeekdayLongNames } from "./getWeekdayLongNames.js";
|
|
8
|
+
import { getMonthNames } from "./getMonthNames.js";
|
|
6
9
|
/**
|
|
7
10
|
* Internal control displaying a basic date picker box.
|
|
8
11
|
*
|
|
@@ -14,19 +17,25 @@ export class InternalDateControl extends InternalEditableControl {
|
|
|
14
17
|
super(...arguments);
|
|
15
18
|
/** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */
|
|
16
19
|
this.format = null;
|
|
20
|
+
/** Use summary item layout inside `<foxy-internal-summary-control>`. */
|
|
21
|
+
this.layout = null;
|
|
17
22
|
}
|
|
18
23
|
static get properties() {
|
|
19
24
|
return {
|
|
20
25
|
...super.properties,
|
|
21
|
-
format: {
|
|
26
|
+
format: {},
|
|
27
|
+
layout: {},
|
|
22
28
|
};
|
|
23
29
|
}
|
|
24
30
|
renderControl() {
|
|
25
|
-
var _a;
|
|
31
|
+
var _a, _b;
|
|
26
32
|
let value;
|
|
27
33
|
if (this.format === 'unix') {
|
|
28
34
|
value = serializeDate(new Date(((_a = this._value) !== null && _a !== void 0 ? _a : 0) * 1000));
|
|
29
35
|
}
|
|
36
|
+
else if (this.format === 'iso-long') {
|
|
37
|
+
value = serializeDate(new Date(this._value));
|
|
38
|
+
}
|
|
30
39
|
else {
|
|
31
40
|
value = this._value;
|
|
32
41
|
}
|
|
@@ -37,17 +46,22 @@ export class InternalDateControl extends InternalEditableControl {
|
|
|
37
46
|
helper-text=${this.helperText}
|
|
38
47
|
label=${this.label}
|
|
39
48
|
class="w-full"
|
|
49
|
+
theme=${(_b = this.layout) !== null && _b !== void 0 ? _b : 'standalone'}
|
|
40
50
|
?disabled=${this.disabled}
|
|
41
51
|
?readonly=${this.readonly}
|
|
42
52
|
.checkValidity=${this._checkValidity}
|
|
43
53
|
.value=${value}
|
|
54
|
+
.i18n=${this.__pickerI18n}
|
|
44
55
|
@keydown=${(evt) => { var _a; return evt.key === 'Enter' && ((_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.submit()); }}
|
|
45
56
|
@change=${(evt) => {
|
|
46
|
-
var _a, _b;
|
|
57
|
+
var _a, _b, _c, _d;
|
|
47
58
|
const field = evt.currentTarget;
|
|
48
59
|
if (this.format === 'unix') {
|
|
49
60
|
this._value = Math.floor(((_b = (_a = parseDate(field.value)) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : 0) / 1000);
|
|
50
61
|
}
|
|
62
|
+
else if (this.format === 'iso-long') {
|
|
63
|
+
this._value = (_d = (_c = parseDate(field.value)) === null || _c === void 0 ? void 0 : _c.toISOString()) !== null && _d !== void 0 ? _d : null;
|
|
64
|
+
}
|
|
51
65
|
else {
|
|
52
66
|
this._value = field.value;
|
|
53
67
|
}
|
|
@@ -56,5 +70,24 @@ export class InternalDateControl extends InternalEditableControl {
|
|
|
56
70
|
</vaadin-date-picker>
|
|
57
71
|
`;
|
|
58
72
|
}
|
|
73
|
+
get __pickerI18n() {
|
|
74
|
+
return {
|
|
75
|
+
monthNames: getMonthNames(this.lang || 'en'),
|
|
76
|
+
weekdays: getWeekdayLongNames(this.lang || 'en'),
|
|
77
|
+
weekdaysShort: getWeekdayShortNames(this.lang || 'en'),
|
|
78
|
+
firstDayOfWeek: 0,
|
|
79
|
+
week: this.t('week'),
|
|
80
|
+
calendar: this.t('calendar'),
|
|
81
|
+
clear: this.t('clear'),
|
|
82
|
+
today: this.t('today'),
|
|
83
|
+
cancel: this.t('cancel'),
|
|
84
|
+
referenceDate: '',
|
|
85
|
+
parseDate: null,
|
|
86
|
+
formatTitle: (m, y) => m + ' ' + y,
|
|
87
|
+
formatDate: (d) => {
|
|
88
|
+
return this.t('display_value', { value: new Date(d.year, d.month, d.day) });
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
}
|
|
59
92
|
}
|
|
60
93
|
//# sourceMappingURL=InternalDateControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,aAAa,EAAE,yCAAsC;AAC9D,OAAO,EAAE,SAAS,EAAE,qCAAkC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,mBAAoB,SAAQ,uBAAuB;IAAhE;;
|
|
1
|
+
{"version":3,"file":"InternalDateControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/InternalDateControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { DatePickerElement } from '@vaadin/vaadin-date-picker';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { serializeDate } from '../../../utils/serialize-date';\nimport { parseDate } from '../../../utils/parse-date';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nimport { getWeekdayShortNames } from './getWeekdayShortNames';\nimport { getWeekdayLongNames } from './getWeekdayLongNames';\nimport { getMonthNames } from './getMonthNames';\n\n/**\n * Internal control displaying a basic date picker box.\n *\n * @since 1.17.0\n * @element foxy-internal-date-control\n */\nexport class InternalDateControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n format: {},\n layout: {},\n };\n }\n\n /** Date format. If `unix`, expects and outputs a UNIX timestamp (number), otherwise defaults to ISO 8601 date. */\n format: 'unix' | 'iso-long' | null = null;\n\n /** Use summary item layout inside `<foxy-internal-summary-control>`. */\n layout: 'summary-item' | 'standalone' | null = null;\n\n renderControl(): TemplateResult {\n let value: string;\n\n if (this.format === 'unix') {\n value = serializeDate(new Date(((this._value as number) ?? 0) * 1000));\n } else if (this.format === 'iso-long') {\n value = serializeDate(new Date(this._value as string));\n } else {\n value = this._value as string;\n }\n\n return html`\n <vaadin-date-picker\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n theme=${this.layout ?? 'standalone'}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${value}\n .i18n=${this.__pickerI18n}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as DatePickerElement;\n\n if (this.format === 'unix') {\n this._value = Math.floor((parseDate(field.value)?.getTime() ?? 0) / 1000);\n } else if (this.format === 'iso-long') {\n this._value = parseDate(field.value)?.toISOString() ?? null;\n } else {\n this._value = field.value;\n }\n }}\n >\n </vaadin-date-picker>\n `;\n }\n\n private get __pickerI18n() {\n return {\n monthNames: getMonthNames(this.lang || 'en'),\n weekdays: getWeekdayLongNames(this.lang || 'en'),\n weekdaysShort: getWeekdayShortNames(this.lang || 'en'),\n firstDayOfWeek: 0,\n week: this.t('week'),\n calendar: this.t('calendar'),\n clear: this.t('clear'),\n today: this.t('today'),\n cancel: this.t('cancel'),\n referenceDate: '',\n parseDate: null,\n formatTitle: (m: string, y: string) => m + ' ' + y,\n formatDate: (d: { day: number; month: number; year: number }) => {\n return this.t('display_value', { value: new Date(d.year, d.month, d.day) });\n },\n };\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getMonthNames(lang: string): string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMonthNames.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/getMonthNames.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,CAAC,EAAE,EAAE;QAC1D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["export function getMonthNames(lang: string): string[] {\n return new Array(12).fill(new Date()).map((date: Date, i) => {\n date.setMonth(i);\n return date.toLocaleDateString(lang, { month: 'long' });\n });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getWeekdayLongNames(lang: string): string[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function getWeekdayLongNames(lang) {
|
|
2
|
+
return new Array(7).fill(new Date()).map((date, i) => {
|
|
3
|
+
while (date.getDay() !== i)
|
|
4
|
+
date.setDate(date.getDate() + 1);
|
|
5
|
+
return date.toLocaleDateString(lang, { weekday: 'long' });
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=getWeekdayLongNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getWeekdayLongNames.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/getWeekdayLongNames.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,CAAC,EAAE,EAAE;QACzD,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["export function getWeekdayLongNames(lang: string): string[] {\n return new Array(7).fill(new Date()).map((date: Date, i) => {\n while (date.getDay() !== i) date.setDate(date.getDate() + 1);\n return date.toLocaleDateString(lang, { weekday: 'long' });\n });\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getWeekdayShortNames(lang: string): string[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export function getWeekdayShortNames(lang) {
|
|
2
|
+
return new Array(7).fill(new Date()).map((date, i) => {
|
|
3
|
+
while (date.getDay() !== i)
|
|
4
|
+
date.setDate(date.getDate() + 1);
|
|
5
|
+
return date.toLocaleDateString(lang, { weekday: 'short' });
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=getWeekdayShortNames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getWeekdayShortNames.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/getWeekdayShortNames.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAU,EAAE,CAAC,EAAE,EAAE;QACzD,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["export function getWeekdayShortNames(lang: string): string[] {\n return new Array(7).fill(new Date()).map((date: Date, i) => {\n while (date.getDay() !== i) date.setDate(date.getDate() + 1);\n return date.toLocaleDateString(lang, { weekday: 'short' });\n });\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import '@vaadin/vaadin-date-picker';
|
|
2
2
|
import "../InternalEditableControl/index.js";
|
|
3
|
+
import "./vaadinStyles.js";
|
|
3
4
|
import { InternalDateControl as Control } from "./InternalDateControl.js";
|
|
4
5
|
customElements.define('foxy-internal-date-control', Control);
|
|
5
6
|
export { Control as InternalDateControl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,6CAA0C;AAC1C,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,iCAA8B;AAEvE,cAAc,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-date-picker';\nimport '../InternalEditableControl/index';\nimport { InternalDateControl as Control } from './InternalDateControl';\n\ncustomElements.define('foxy-internal-date-control', Control);\n\nexport { Control as InternalDateControl };\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,6CAA0C;AAC1C,2BAAwB;AAExB,OAAO,EAAE,mBAAmB,IAAI,OAAO,EAAE,iCAA8B;AAEvE,cAAc,CAAC,MAAM,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-date-picker';\nimport '../InternalEditableControl/index';\nimport './vaadinStyles';\n\nimport { InternalDateControl as Control } from './InternalDateControl';\n\ncustomElements.define('foxy-internal-date-control', Control);\n\nexport { Control as InternalDateControl };\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';
|
|
2
|
+
import { css } from 'lit-element';
|
|
3
|
+
registerStyles('vaadin-date-picker-text-field', css `:host([theme~='summary-item'])::before{
|
|
4
|
+
display:none;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
:host([theme~='summary-item']) .vaadin-text-field-container{
|
|
8
|
+
display:grid;
|
|
9
|
+
grid-template-columns:auto 1fr;
|
|
10
|
+
grid-template-rows:repeat(3, min-content);
|
|
11
|
+
gap:0 var(--lumo-space-m);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
:host([theme~='summary-item']) [part='label']{
|
|
15
|
+
font:normal var(--lumo-font-size-m) var(--lumo-font-family);
|
|
16
|
+
color:var(--lumo-body-text-color) !important;
|
|
17
|
+
grid-row:1;
|
|
18
|
+
-webkit-text-fill-color:var(--lumo-body-text-color) !important;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
:host([theme~='summary-item']) [part='helper-text']{
|
|
22
|
+
font:normal var(--lumo-font-size-s) var(--lumo-font-family);
|
|
23
|
+
color:var(--lumo-secondary-text-color) !important;
|
|
24
|
+
grid-row:2;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:host([theme~='summary-item']) [part='helper-text']::before{
|
|
28
|
+
display:none;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:host([theme~='summary-item']) [part='error-message']{
|
|
32
|
+
font:normal var(--lumo-font-size-s) var(--lumo-font-family);
|
|
33
|
+
color:var(--lumo-error-text-color);
|
|
34
|
+
grid-row:3;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
:host([theme~='summary-item']) [part='error-message'],
|
|
38
|
+
:host([theme~='summary-item']) [part='helper-text'],
|
|
39
|
+
:host([theme~='summary-item']) [part='label']{
|
|
40
|
+
line-height:var(--lumo-line-height-xs);
|
|
41
|
+
grid-column:1;
|
|
42
|
+
padding:0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
:host([theme~='summary-item']) [part='input-field']{
|
|
46
|
+
grid-column:2;
|
|
47
|
+
grid-row:1;
|
|
48
|
+
padding:0;
|
|
49
|
+
background:transparent;
|
|
50
|
+
align-self:start;
|
|
51
|
+
height:1em;
|
|
52
|
+
--lumo-icon-size-m:1rem;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
:host([theme~='summary-item']) [part='input-field']::after,
|
|
56
|
+
:host([theme~='summary-item'][readonly]) [part='input-field'] slot[name='suffix']{
|
|
57
|
+
display:none;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:host([theme~='summary-item']) [part='value']{
|
|
61
|
+
line-height:var(--lumo-line-height-xs);
|
|
62
|
+
text-align:right;
|
|
63
|
+
min-height:auto;
|
|
64
|
+
padding:0;
|
|
65
|
+
margin-right:var(--lumo-space-xs);
|
|
66
|
+
-webkit-mask-image:none;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:host([theme~='summary-item'][readonly]) [part='value']{
|
|
70
|
+
margin-right:0;
|
|
71
|
+
}
|
|
72
|
+
`);
|
|
73
|
+
//# sourceMappingURL=vaadinStyles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vaadinStyles.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalDateControl/vaadinStyles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,cAAc,CACZ,+BAA+B,EAC/B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEF,CACF,CAAC","sourcesContent":["import { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\nimport { css } from 'lit-element';\n\nregisterStyles(\n 'vaadin-date-picker-text-field',\n css`\n :host([theme~='summary-item'])::before {\n display: none;\n }\n\n :host([theme~='summary-item']) .vaadin-text-field-container {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-template-rows: repeat(3, min-content);\n gap: 0 var(--lumo-space-m);\n }\n\n :host([theme~='summary-item']) [part='label'] {\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n color: var(--lumo-body-text-color) !important;\n grid-row: 1;\n -webkit-text-fill-color: var(--lumo-body-text-color) !important;\n }\n\n :host([theme~='summary-item']) [part='helper-text'] {\n font: normal var(--lumo-font-size-s) var(--lumo-font-family);\n color: var(--lumo-secondary-text-color) !important;\n grid-row: 2;\n }\n\n :host([theme~='summary-item']) [part='helper-text']::before {\n display: none;\n }\n\n :host([theme~='summary-item']) [part='error-message'] {\n font: normal var(--lumo-font-size-s) var(--lumo-font-family);\n color: var(--lumo-error-text-color);\n grid-row: 3;\n }\n\n :host([theme~='summary-item']) [part='error-message'],\n :host([theme~='summary-item']) [part='helper-text'],\n :host([theme~='summary-item']) [part='label'] {\n line-height: var(--lumo-line-height-xs);\n grid-column: 1;\n padding: 0;\n }\n\n :host([theme~='summary-item']) [part='input-field'] {\n grid-column: 2;\n grid-row: 1;\n padding: 0;\n background: transparent;\n align-self: start;\n height: 1em;\n\n --lumo-icon-size-m: 1rem;\n }\n\n :host([theme~='summary-item']) [part='input-field']::after,\n :host([theme~='summary-item'][readonly]) [part='input-field'] slot[name='suffix'] {\n display: none;\n }\n\n :host([theme~='summary-item']) [part='value'] {\n line-height: var(--lumo-line-height-xs);\n text-align: right;\n min-height: auto;\n padding: 0;\n margin-right: var(--lumo-space-xs);\n -webkit-mask-image: none;\n }\n\n :host([theme~='summary-item'][readonly]) [part='value'] {\n margin-right: 0;\n }\n `\n);\n"]}
|
|
@@ -2,6 +2,7 @@ import type { PropertyDeclarations } from 'lit-element';
|
|
|
2
2
|
import type { HALJSONResource } from '../../public/NucleonElement/types';
|
|
3
3
|
import type { TemplateResult } from 'lit-html';
|
|
4
4
|
import type { Status } from './types';
|
|
5
|
+
import { BooleanSelector } from '@foxy.io/sdk/core';
|
|
5
6
|
import { NucleonElement } from '../../public/NucleonElement/NucleonElement';
|
|
6
7
|
declare const Base: typeof NucleonElement & {
|
|
7
8
|
styles: import("lit-element").CSSResultArray;
|
|
@@ -34,6 +35,7 @@ export declare class InternalForm<TData extends HALJSONResource> extends Base<TD
|
|
|
34
35
|
get headerSubtitleOptions(): Record<string, unknown>;
|
|
35
36
|
/** ID that will be written to clipboard when Copy ID button in header is clicked. */
|
|
36
37
|
get headerCopyIdValue(): string | number;
|
|
38
|
+
get hiddenSelector(): BooleanSelector;
|
|
37
39
|
/**
|
|
38
40
|
* Renders optional form header.
|
|
39
41
|
* - Customize which actions are rendered with `.renderHeaderActions()` method.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';
|
|
1
2
|
import { ConfigurableMixin } from "../../../mixins/configurable.js";
|
|
2
3
|
import { ThemeableMixin } from "../../../mixins/themeable.js";
|
|
3
4
|
import { NucleonElement } from "../../public/NucleonElement/NucleonElement.js";
|
|
4
|
-
import { getResourceId } from '@foxy.io/sdk/core';
|
|
5
5
|
import { classMap } from "../../../utils/class-map.js";
|
|
6
6
|
import { html } from 'lit-html';
|
|
7
7
|
const Base = ConfigurableMixin(ThemeableMixin(NucleonElement));
|
|
@@ -58,6 +58,16 @@ export class InternalForm extends Base {
|
|
|
58
58
|
var _a;
|
|
59
59
|
return this.data ? (_a = getResourceId(this.data._links.self.href)) !== null && _a !== void 0 ? _a : '' : '';
|
|
60
60
|
}
|
|
61
|
+
get hiddenSelector() {
|
|
62
|
+
const alwaysMatch = [super.hiddenSelector.toString()];
|
|
63
|
+
if (this.href)
|
|
64
|
+
alwaysMatch.unshift('create');
|
|
65
|
+
if (!this.href)
|
|
66
|
+
alwaysMatch.unshift('delete', 'timestamps', 'submit');
|
|
67
|
+
if (!this.in({ idle: { snapshot: 'dirty' } }))
|
|
68
|
+
alwaysMatch.unshift('undo', 'submit');
|
|
69
|
+
return new BooleanSelector(alwaysMatch.join(' ').trim());
|
|
70
|
+
}
|
|
61
71
|
/**
|
|
62
72
|
* Renders optional form header.
|
|
63
73
|
* - Customize which actions are rendered with `.renderHeaderActions()` method.
|
|
@@ -130,34 +140,21 @@ export class InternalForm extends Base {
|
|
|
130
140
|
* don't forget to add `super.renderBody()` to your template.
|
|
131
141
|
*/
|
|
132
142
|
renderBody() {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
<foxy-internal-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
</div>
|
|
149
|
-
`
|
|
150
|
-
: ''}
|
|
151
|
-
`;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
return html `
|
|
155
|
-
<div class="flex">
|
|
156
|
-
<foxy-internal-submit-control infer="create" theme="primary success" class="ml-auto">
|
|
157
|
-
</foxy-internal-submit-control>
|
|
158
|
-
</div>
|
|
159
|
-
`;
|
|
160
|
-
}
|
|
143
|
+
const nested = ['delete', 'undo', 'submit', 'create'];
|
|
144
|
+
return html `
|
|
145
|
+
<foxy-internal-timestamps-control infer="timestamps"></foxy-internal-timestamps-control>
|
|
146
|
+
|
|
147
|
+
<div class="flex gap-m" ?hidden=${nested.every(v => this.hiddenSelector.matches(v, true))}>
|
|
148
|
+
<foxy-internal-delete-control infer="delete"></foxy-internal-delete-control>
|
|
149
|
+
|
|
150
|
+
<div class="w-full"></div>
|
|
151
|
+
|
|
152
|
+
<foxy-internal-undo-control infer="undo"> </foxy-internal-undo-control>
|
|
153
|
+
<foxy-internal-submit-control infer="submit"> </foxy-internal-submit-control>
|
|
154
|
+
<foxy-internal-submit-control infer="create" theme="primary success">
|
|
155
|
+
</foxy-internal-submit-control>
|
|
156
|
+
</div>
|
|
157
|
+
`;
|
|
161
158
|
}
|
|
162
159
|
/**
|
|
163
160
|
* Renders the entire form. You should probably implement `.renderBody()`
|