@foxy.io/elements 1.43.0-beta.2 → 1.43.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/foxy-access-recovery-form.js +1 -1
- package/dist/cdn/foxy-address-card.js +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 -1
- package/dist/cdn/foxy-api-browser.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
- package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
- package/dist/cdn/foxy-applied-tax-card.js +1 -1
- package/dist/cdn/foxy-attribute-card.js +1 -1
- package/dist/cdn/foxy-attribute-form.js +1 -1
- package/dist/cdn/foxy-billing-address-card.js +1 -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 +2 -2
- 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 +13 -13
- package/dist/cdn/foxy-customer.js +5 -5
- 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 +2 -2
- 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-experimental-add-to-cart-builder.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 +3 -3
- package/dist/cdn/foxy-i18n.js +1 -1
- package/dist/cdn/foxy-integration-card.js +1 -1
- package/dist/cdn/foxy-integration-form.js +1 -1
- package/dist/cdn/foxy-item-card.js +1 -1
- package/dist/cdn/foxy-item-category-card.js +1 -1
- package/dist/cdn/foxy-item-category-form.js +1 -1
- package/dist/cdn/foxy-item-form.js +1 -1
- package/dist/cdn/foxy-item-option-card.js +1 -1
- package/dist/cdn/foxy-item-option-form.js +1 -1
- package/dist/cdn/foxy-items-form.js +1 -1
- package/dist/cdn/foxy-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 +6 -6
- 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-user-invitation-card.js +1 -1
- package/dist/cdn/foxy-user-invitation-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-41208627.js → shared-02acac7f.js} +1 -1
- package/dist/cdn/{shared-ad60e8d1.js → shared-03b67a3d.js} +2 -2
- package/dist/cdn/{shared-cc4b3b42.js → shared-049295b7.js} +1 -1
- package/dist/cdn/{shared-2828fcbf.js → shared-0584a904.js} +1 -1
- package/dist/cdn/{shared-9342ca50.js → shared-0993c2f5.js} +1 -1
- package/dist/cdn/{shared-2aa23b5f.js → shared-0ea750af.js} +1 -1
- package/dist/cdn/shared-109cfbba.js +1 -0
- package/dist/cdn/{shared-dd303282.js → shared-10c8f21c.js} +1 -1
- package/dist/cdn/{shared-eb963ba3.js → shared-12973e93.js} +1 -1
- package/dist/cdn/{shared-9c010e0a.js → shared-12bab9de.js} +1 -1
- package/dist/cdn/shared-13ba9f3a.js +15 -0
- package/dist/cdn/{shared-fed829c2.js → shared-19b43f73.js} +1 -1
- package/dist/cdn/{shared-264e8301.js → shared-1af6aa1d.js} +1 -1
- package/dist/cdn/{shared-94716ec1.js → shared-1b627cc5.js} +1 -1
- package/dist/cdn/{shared-0d0585dc.js → shared-1c252319.js} +1 -1
- package/dist/cdn/shared-1da47f50.js +1 -0
- package/dist/cdn/shared-2061be9a.js +1 -0
- package/dist/cdn/{shared-6033e09d.js → shared-206d3153.js} +1 -1
- package/dist/cdn/{shared-70e6f32c.js → shared-21a445d9.js} +1 -1
- package/dist/cdn/{shared-9171c265.js → shared-2557c0c4.js} +1 -1
- package/dist/cdn/{shared-bedc5e82.js → shared-264bea6b.js} +1 -1
- package/dist/cdn/{shared-5f8c01f8.js → shared-2c00e6b1.js} +1 -1
- package/dist/cdn/{shared-1cd02e50.js → shared-2db6b377.js} +1 -1
- package/dist/cdn/{shared-9b9d5ff1.js → shared-2ebcaabc.js} +1 -1
- package/dist/cdn/{shared-4b393539.js → shared-2f17b0fa.js} +1 -1
- package/dist/cdn/shared-2f1ced90.js +1 -0
- package/dist/cdn/{shared-ffd5932d.js → shared-3558bfae.js} +1 -1
- package/dist/cdn/{shared-5e4a03d1.js → shared-37869bac.js} +1 -1
- package/dist/cdn/{shared-99a8889a.js → shared-3b4148ad.js} +1 -1
- package/dist/cdn/{shared-2cb397e4.js → shared-3e0b2588.js} +1 -1
- package/dist/cdn/{shared-567ba8ae.js → shared-3e3c5095.js} +1 -1
- package/dist/cdn/{shared-656a46f7.js → shared-3ffa26c1.js} +2 -2
- package/dist/cdn/{shared-0224f0b8.js → shared-457789d7.js} +1 -1
- package/dist/cdn/{shared-e88763ec.js → shared-5700fbfd.js} +1 -1
- package/dist/cdn/shared-5905fca4.js +1 -0
- package/dist/cdn/{shared-cae7a43b.js → shared-5aacbf1f.js} +1 -1
- package/dist/cdn/{shared-6962f117.js → shared-6540a584.js} +1 -1
- package/dist/cdn/shared-65b2760f.js +1 -0
- package/dist/cdn/{shared-a507d54f.js → shared-68d1075b.js} +4 -4
- package/dist/cdn/{shared-89d4000a.js → shared-6a65acb4.js} +1 -1
- package/dist/cdn/{shared-d7d949bc.js → shared-6ebe5ef5.js} +1 -1
- package/dist/cdn/{shared-a6c75cc0.js → shared-6eebe353.js} +2 -2
- package/dist/cdn/{shared-9dc36194.js → shared-74a5f2a4.js} +1 -1
- package/dist/cdn/{shared-e2d3c014.js → shared-76c608e2.js} +1 -1
- package/dist/cdn/shared-7b5bdf0e.js +1 -0
- package/dist/cdn/{shared-673d668a.js → shared-7dc40542.js} +1 -1
- package/dist/cdn/shared-7fec42f2.js +15 -0
- package/dist/cdn/{shared-dc4d2996.js → shared-80dafe85.js} +1 -1
- package/dist/cdn/{shared-44b46fef.js → shared-8259d01b.js} +1 -1
- package/dist/cdn/shared-88a59a2e.js +1 -0
- package/dist/cdn/{shared-4dd24dda.js → shared-8b0d25e5.js} +1 -1
- package/dist/cdn/{shared-c502de27.js → shared-8dd6f543.js} +1 -1
- package/dist/cdn/{shared-8a0bd046.js → shared-9006bac2.js} +1 -1
- package/dist/cdn/{shared-d68c6616.js → shared-90a8d5cf.js} +1 -1
- package/dist/cdn/{shared-4cafa2e7.js → shared-9363a954.js} +1 -1
- package/dist/cdn/{shared-c832f3a1.js → shared-944fab16.js} +1 -1
- package/dist/cdn/shared-998c0ace.js +1 -0
- package/dist/cdn/{shared-6b3fed56.js → shared-a3234358.js} +1 -1
- package/dist/cdn/{shared-bb6d7b97.js → shared-a715e3e5.js} +1 -1
- package/dist/cdn/{shared-74d599dc.js → shared-aab4ed2b.js} +1 -1
- package/dist/cdn/{shared-a4216b50.js → shared-ab0bbad5.js} +1 -1
- package/dist/cdn/{shared-8ea2bbcc.js → shared-aedaf182.js} +1 -1
- package/dist/cdn/{shared-274dec57.js → shared-b2bd7666.js} +1 -1
- package/dist/cdn/{shared-b1435a0a.js → shared-bdbdf963.js} +1 -1
- package/dist/cdn/shared-be30b940.js +1 -0
- package/dist/cdn/{shared-e6a1eef8.js → shared-be7af87f.js} +1 -1
- package/dist/cdn/{shared-5afb584d.js → shared-c782b9fa.js} +1 -1
- package/dist/cdn/{shared-7fd51889.js → shared-cd0ae051.js} +3 -3
- package/dist/cdn/{shared-8f009bbb.js → shared-cd3cfea5.js} +1 -1
- package/dist/cdn/{shared-7594e563.js → shared-d6a0954b.js} +1 -1
- package/dist/cdn/shared-da95bb48.js +1 -0
- package/dist/cdn/{shared-87b93771.js → shared-dd7e85be.js} +1 -1
- package/dist/cdn/{shared-aa6dab90.js → shared-ddda911c.js} +2 -2
- package/dist/cdn/shared-e1e4d8f5.js +1 -0
- package/dist/cdn/{shared-2f8e53c0.js → shared-e52d2fdd.js} +1 -1
- package/dist/cdn/{shared-66201dc5.js → shared-ee689ddc.js} +1 -1
- package/dist/cdn/{shared-678beccf.js → shared-f497cd69.js} +3 -3
- package/dist/cdn/shared-f4be6924.js +40 -0
- package/dist/cdn/shared-f8e1143e.js +1 -0
- package/dist/cdn/translations/cart-form/en.json +42 -41
- package/dist/cdn/translations/coupon-form/en.json +38 -26
- package/dist/cdn/translations/customer/en.json +14 -17
- package/dist/cdn/translations/filter-attribute-form/en.json +19 -14
- package/dist/cdn/translations/gift-card-code-form/en.json +14 -16
- package/dist/cdn/translations/gift-card-form/en.json +33 -32
- package/dist/cdn/translations/payment-method-card/en.json +14 -17
- package/dist/cdn/translations/query-builder/en.json +15 -13
- package/dist/cdn/translations/update-payment-method-form/en.json +14 -17
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js +1 -1
- package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js.map +1 -1
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +9 -10
- package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +1 -1
- package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -1
- package/dist/elements/public/CouponForm/CouponForm.js +4 -4
- package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.d.ts +2 -2
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js +71 -25
- package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js.map +1 -1
- package/dist/elements/public/FilterAttributeForm/index.d.ts +2 -2
- package/dist/elements/public/FilterAttributeForm/index.js +2 -2
- package/dist/elements/public/FilterAttributeForm/index.js.map +1 -1
- package/dist/elements/public/GiftCardForm/GiftCardForm.js +5 -5
- package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
- package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +14 -7
- package/dist/elements/public/QueryBuilder/QueryBuilder.js +150 -33
- package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/elements/public/QueryBuilder/components/AdvancedGroup.d.ts +16 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedGroup.js +78 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedGroup.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedInput.d.ts +12 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedInput.js +49 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedInput.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.d.ts +14 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.js +41 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/AdvancedRule.d.ts +18 -0
- package/dist/elements/public/QueryBuilder/components/{Rule.js → AdvancedRule.js} +50 -59
- package/dist/elements/public/QueryBuilder/components/AdvancedRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.js +78 -0
- package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.js +16 -0
- package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js +111 -0
- package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleGroup.d.ts +14 -0
- package/dist/elements/public/QueryBuilder/components/SimpleGroup.js +111 -0
- package/dist/elements/public/QueryBuilder/components/SimpleGroup.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleInput.d.ts +15 -0
- package/dist/elements/public/QueryBuilder/components/SimpleInput.js +43 -0
- package/dist/elements/public/QueryBuilder/components/SimpleInput.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleListRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleListRule.js +45 -0
- package/dist/elements/public/QueryBuilder/components/SimpleListRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js +100 -0
- package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleSelect.d.ts +24 -0
- package/dist/elements/public/QueryBuilder/components/SimpleSelect.js +45 -0
- package/dist/elements/public/QueryBuilder/components/SimpleSelect.js.map +1 -0
- package/dist/elements/public/QueryBuilder/components/SimpleStringRule.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/components/SimpleStringRule.js +46 -0
- package/dist/elements/public/QueryBuilder/components/SimpleStringRule.js.map +1 -0
- package/dist/elements/public/QueryBuilder/icons/field.d.ts +1 -0
- package/dist/elements/public/QueryBuilder/icons/{typeAny.js → field.js} +2 -2
- package/dist/elements/public/QueryBuilder/icons/field.js.map +1 -0
- package/dist/elements/public/QueryBuilder/icons/index.d.ts +1 -6
- package/dist/elements/public/QueryBuilder/icons/index.js +1 -6
- package/dist/elements/public/QueryBuilder/icons/index.js.map +1 -1
- package/dist/elements/public/QueryBuilder/index.d.ts +2 -0
- package/dist/elements/public/QueryBuilder/index.js +2 -0
- package/dist/elements/public/QueryBuilder/index.js.map +1 -1
- package/dist/elements/public/QueryBuilder/styles.js +23 -0
- package/dist/elements/public/QueryBuilder/styles.js.map +1 -1
- package/dist/elements/public/QueryBuilder/types.d.ts +24 -6
- package/dist/elements/public/QueryBuilder/types.js.map +1 -1
- package/dist/elements/public/QueryBuilder/utils/parse.d.ts +2 -2
- package/dist/elements/public/QueryBuilder/utils/parse.js.map +1 -1
- package/dist/elements/public/QueryBuilder/utils/stringify.d.ts +2 -2
- package/dist/elements/public/QueryBuilder/utils/stringify.js.map +1 -1
- package/dist/mixins/themeable.js +17 -12
- package/dist/mixins/themeable.js.map +1 -1
- package/package.json +1 -1
- package/dist/cdn/shared-0aedd809.js +0 -1
- package/dist/cdn/shared-210abb90.js +0 -64
- package/dist/cdn/shared-2f5cc0e2.js +0 -1
- package/dist/cdn/shared-343d1fd7.js +0 -1
- package/dist/cdn/shared-4a38cb3e.js +0 -1
- package/dist/cdn/shared-4c764a91.js +0 -1
- package/dist/cdn/shared-5592ec6e.js +0 -1
- package/dist/cdn/shared-5ef40e86.js +0 -1
- package/dist/cdn/shared-79d0699c.js +0 -1
- package/dist/cdn/shared-894c69f8.js +0 -1
- package/dist/cdn/shared-97e2abfb.js +0 -1
- package/dist/cdn/shared-c31c50e2.js +0 -1
- package/dist/cdn/shared-cb58dfcd.js +0 -15
- package/dist/cdn/shared-d0363ae9.js +0 -1
- package/dist/cdn/shared-ef4ad461.js +0 -1
- package/dist/cdn/shared-f7bfb29e.js +0 -15
- package/dist/cdn/shared-f83207fb.js +0 -1
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.d.ts +0 -5
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.js +0 -34
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.js.map +0 -1
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.d.ts +0 -5
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.js +0 -7
- package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/BooleanValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/BooleanValue.js +0 -21
- package/dist/elements/public/QueryBuilder/components/BooleanValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Group.d.ts +0 -15
- package/dist/elements/public/QueryBuilder/components/Group.js +0 -95
- package/dist/elements/public/QueryBuilder/components/Group.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Input.d.ts +0 -19
- package/dist/elements/public/QueryBuilder/components/Input.js +0 -109
- package/dist/elements/public/QueryBuilder/components/Input.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/IsDefinedValue.d.ts +0 -11
- package/dist/elements/public/QueryBuilder/components/IsDefinedValue.js +0 -16
- package/dist/elements/public/QueryBuilder/components/IsDefinedValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/ListValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/ListValue.js +0 -48
- package/dist/elements/public/QueryBuilder/components/ListValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Name.d.ts +0 -11
- package/dist/elements/public/QueryBuilder/components/Name.js +0 -14
- package/dist/elements/public/QueryBuilder/components/Name.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.d.ts +0 -13
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.js +0 -63
- package/dist/elements/public/QueryBuilder/components/OperatorToggle.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Path.d.ts +0 -13
- package/dist/elements/public/QueryBuilder/components/Path.js +0 -16
- package/dist/elements/public/QueryBuilder/components/Path.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/RangeValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/RangeValue.js +0 -49
- package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Rule.d.ts +0 -18
- package/dist/elements/public/QueryBuilder/components/Rule.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/Select.d.ts +0 -16
- package/dist/elements/public/QueryBuilder/components/Select.js +0 -86
- package/dist/elements/public/QueryBuilder/components/Select.js.map +0 -1
- package/dist/elements/public/QueryBuilder/components/SingleValue.d.ts +0 -12
- package/dist/elements/public/QueryBuilder/components/SingleValue.js +0 -21
- package/dist/elements/public/QueryBuilder/components/SingleValue.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAny.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAny.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAttribute.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeAttribute.js +0 -8
- package/dist/elements/public/QueryBuilder/icons/typeAttribute.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeBoolean.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeBoolean.js +0 -10
- package/dist/elements/public/QueryBuilder/icons/typeBoolean.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeDate.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeDate.js +0 -7
- package/dist/elements/public/QueryBuilder/icons/typeDate.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeNumber.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeNumber.js +0 -7
- package/dist/elements/public/QueryBuilder/icons/typeNumber.js.map +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeString.d.ts +0 -1
- package/dist/elements/public/QueryBuilder/icons/typeString.js +0 -7
- package/dist/elements/public/QueryBuilder/icons/typeString.js.map +0 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { serializeDate } from "../../../../utils/serialize-date.js";
|
|
2
|
+
import { SimpleSelect } from "./SimpleSelect.js";
|
|
3
|
+
import { SimpleInput } from "./SimpleInput.js";
|
|
4
|
+
import { parseDate } from "../../../../utils/parse-date.js";
|
|
5
|
+
import { Operator } from "../types.js";
|
|
6
|
+
import { html } from 'lit-html';
|
|
7
|
+
export const SimpleDateRule = params => {
|
|
8
|
+
var _a;
|
|
9
|
+
const { operator, value } = (_a = params.rule) !== null && _a !== void 0 ? _a : {};
|
|
10
|
+
const { min, label } = params.option;
|
|
11
|
+
const { disabled, readonly, t, onChange } = params;
|
|
12
|
+
const isRange = value === null || value === void 0 ? void 0 : value.includes('..');
|
|
13
|
+
const nullOperator = isRange ? 'range' : 'equal';
|
|
14
|
+
const resolvedOperator = operator !== null && operator !== void 0 ? operator : nullOperator;
|
|
15
|
+
const currentLabel = operator === void 0
|
|
16
|
+
? 'value_any'
|
|
17
|
+
: resolvedOperator === 'range'
|
|
18
|
+
? 'range'
|
|
19
|
+
: `operator_${resolvedOperator}`;
|
|
20
|
+
return html `
|
|
21
|
+
${SimpleSelect({
|
|
22
|
+
disabled,
|
|
23
|
+
readonly,
|
|
24
|
+
t,
|
|
25
|
+
current: { label: currentLabel, value: operator === void 0 ? 'any' : resolvedOperator },
|
|
26
|
+
options: [
|
|
27
|
+
{ label: 'value_any', value: 'any' },
|
|
28
|
+
{ label: 'operator_equal', value: 'equal' },
|
|
29
|
+
{ label: 'operator_not', value: Operator.Not },
|
|
30
|
+
{ label: 'operator_lessthanorequal', value: Operator.LessThanOrEqual },
|
|
31
|
+
{ label: 'operator_lessthan', value: Operator.LessThan },
|
|
32
|
+
{ label: 'operator_greaterthanorequal', value: Operator.GreaterThanOrEqual },
|
|
33
|
+
{ label: 'operator_greaterthan', value: Operator.GreaterThan },
|
|
34
|
+
{ label: 'range', value: 'range' },
|
|
35
|
+
],
|
|
36
|
+
onChange: newSelection => {
|
|
37
|
+
if (newSelection === 'any')
|
|
38
|
+
return onChange(null);
|
|
39
|
+
if (newSelection === 'range') {
|
|
40
|
+
const fromDate = new Date(value !== null && value !== void 0 ? value : new Date().toISOString());
|
|
41
|
+
const toDate = new Date(fromDate);
|
|
42
|
+
fromDate.setMonth(fromDate.getMonth() - 1);
|
|
43
|
+
fromDate.setHours(0, 0, 0, 0);
|
|
44
|
+
toDate.setHours(23, 59, 59, 999);
|
|
45
|
+
const from = fromDate.toISOString();
|
|
46
|
+
const to = toDate.toISOString();
|
|
47
|
+
return onChange({ operator: null, value: `${from}..${to}` });
|
|
48
|
+
}
|
|
49
|
+
return onChange({
|
|
50
|
+
operator: newSelection === 'equal' ? null : newSelection,
|
|
51
|
+
value: value !== null && value !== void 0 ? value : new Date().toISOString(),
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
})}
|
|
55
|
+
${value === undefined
|
|
56
|
+
? ''
|
|
57
|
+
: isRange
|
|
58
|
+
? html `
|
|
59
|
+
${SimpleInput({
|
|
60
|
+
disabled,
|
|
61
|
+
readonly,
|
|
62
|
+
layout: 'fixed',
|
|
63
|
+
label: 'range_from',
|
|
64
|
+
value: serializeDate(new Date(value.split('..')[0])),
|
|
65
|
+
type: 'date',
|
|
66
|
+
min,
|
|
67
|
+
t,
|
|
68
|
+
onChange: newValue => {
|
|
69
|
+
var _a, _b;
|
|
70
|
+
const fromDate = (_a = parseDate(newValue)) !== null && _a !== void 0 ? _a : new Date();
|
|
71
|
+
const toDate = new Date((_b = value.split('..')[1]) !== null && _b !== void 0 ? _b : Date.now());
|
|
72
|
+
fromDate.setHours(0, 0, 0, 0);
|
|
73
|
+
toDate.setHours(23, 59, 59, 999);
|
|
74
|
+
onChange({ value: `${fromDate.toISOString()}..${toDate.toISOString()}` });
|
|
75
|
+
},
|
|
76
|
+
})}
|
|
77
|
+
${SimpleInput({
|
|
78
|
+
disabled,
|
|
79
|
+
readonly,
|
|
80
|
+
layout: 'fixed',
|
|
81
|
+
label: 'range_to',
|
|
82
|
+
value: serializeDate(new Date(value.split('..')[1])),
|
|
83
|
+
type: 'date',
|
|
84
|
+
min,
|
|
85
|
+
t,
|
|
86
|
+
onChange: newValue => {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
const fromDate = new Date((_a = value.split('..')[0]) !== null && _a !== void 0 ? _a : Date.now());
|
|
89
|
+
const toDate = (_b = parseDate(newValue)) !== null && _b !== void 0 ? _b : new Date();
|
|
90
|
+
fromDate.setHours(0, 0, 0, 0);
|
|
91
|
+
toDate.setHours(23, 59, 59, 999);
|
|
92
|
+
onChange({ value: `${fromDate.toISOString()}..${toDate.toISOString()}` });
|
|
93
|
+
},
|
|
94
|
+
})}
|
|
95
|
+
`
|
|
96
|
+
: SimpleInput({
|
|
97
|
+
disabled,
|
|
98
|
+
readonly,
|
|
99
|
+
label,
|
|
100
|
+
value: serializeDate(new Date(value !== null && value !== void 0 ? value : Date.now())),
|
|
101
|
+
type: 'date',
|
|
102
|
+
min,
|
|
103
|
+
t,
|
|
104
|
+
onChange: newValue => {
|
|
105
|
+
var _a;
|
|
106
|
+
onChange({ value: ((_a = parseDate(newValue)) !== null && _a !== void 0 ? _a : new Date()).toISOString() });
|
|
107
|
+
},
|
|
108
|
+
})}
|
|
109
|
+
`;
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=SimpleDateRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleDateRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleDateRule.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SimpleRuleComponent } from '../types';\n\nimport { serializeDate } from '../../../../utils/serialize-date';\nimport { SimpleSelect } from './SimpleSelect';\nimport { SimpleInput } from './SimpleInput';\nimport { parseDate } from '../../../../utils/parse-date';\nimport { Operator } from '../types';\nimport { html } from 'lit-html';\n\nexport const SimpleDateRule: SimpleRuleComponent = params => {\n const { operator, value } = params.rule ?? {};\n const { min, label } = params.option;\n const { disabled, readonly, t, onChange } = params;\n\n const isRange = value?.includes('..');\n const nullOperator = isRange ? 'range' : 'equal';\n const resolvedOperator = operator ?? nullOperator;\n const currentLabel =\n operator === void 0\n ? 'value_any'\n : resolvedOperator === 'range'\n ? 'range'\n : `operator_${resolvedOperator}`;\n\n return html`\n ${SimpleSelect({\n disabled,\n readonly,\n t,\n current: { label: currentLabel, value: operator === void 0 ? 'any' : resolvedOperator },\n options: [\n { label: 'value_any', value: 'any' },\n { label: 'operator_equal', value: 'equal' },\n { label: 'operator_not', value: Operator.Not },\n { label: 'operator_lessthanorequal', value: Operator.LessThanOrEqual },\n { label: 'operator_lessthan', value: Operator.LessThan },\n { label: 'operator_greaterthanorequal', value: Operator.GreaterThanOrEqual },\n { label: 'operator_greaterthan', value: Operator.GreaterThan },\n { label: 'range', value: 'range' },\n ],\n onChange: newSelection => {\n if (newSelection === 'any') return onChange(null);\n\n if (newSelection === 'range') {\n const fromDate = new Date(value ?? new Date().toISOString());\n const toDate = new Date(fromDate);\n\n fromDate.setMonth(fromDate.getMonth() - 1);\n fromDate.setHours(0, 0, 0, 0);\n toDate.setHours(23, 59, 59, 999);\n\n const from = fromDate.toISOString();\n const to = toDate.toISOString();\n\n return onChange({ operator: null, value: `${from}..${to}` });\n }\n\n return onChange({\n operator: newSelection === 'equal' ? null : (newSelection as Operator),\n value: value ?? new Date().toISOString(),\n });\n },\n })}\n ${value === undefined\n ? ''\n : isRange\n ? html`\n ${SimpleInput({\n disabled,\n readonly,\n layout: 'fixed',\n label: 'range_from',\n value: serializeDate(new Date(value.split('..')[0])),\n type: 'date',\n min,\n t,\n onChange: newValue => {\n const fromDate = parseDate(newValue) ?? new Date();\n const toDate = new Date(value.split('..')[1] ?? Date.now());\n\n fromDate.setHours(0, 0, 0, 0);\n toDate.setHours(23, 59, 59, 999);\n\n onChange({ value: `${fromDate.toISOString()}..${toDate.toISOString()}` });\n },\n })}\n ${SimpleInput({\n disabled,\n readonly,\n layout: 'fixed',\n label: 'range_to',\n value: serializeDate(new Date(value.split('..')[1])),\n type: 'date',\n min,\n t,\n onChange: newValue => {\n const fromDate = new Date(value.split('..')[0] ?? Date.now());\n const toDate = parseDate(newValue) ?? new Date();\n\n fromDate.setHours(0, 0, 0, 0);\n toDate.setHours(23, 59, 59, 999);\n\n onChange({ value: `${fromDate.toISOString()}..${toDate.toISOString()}` });\n },\n })}\n `\n : SimpleInput({\n disabled,\n readonly,\n label,\n value: serializeDate(new Date(value ?? Date.now())),\n type: 'date',\n min,\n t,\n onChange: newValue => {\n onChange({ value: (parseDate(newValue) ?? new Date()).toISOString() });\n },\n })}\n `;\n};\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { Option, Rule } from '../types';
|
|
3
|
+
declare type Params = {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
readonly: boolean;
|
|
6
|
+
options: Option[];
|
|
7
|
+
layout?: string;
|
|
8
|
+
rules: Rule[];
|
|
9
|
+
name?: string;
|
|
10
|
+
t: (key: string) => string;
|
|
11
|
+
onChange: (newParsedValue: Rule[]) => void;
|
|
12
|
+
};
|
|
13
|
+
export declare function SimpleGroup(params: Params): TemplateResult;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { SimpleAttributeRule } from "./SimpleAttributeRule.js";
|
|
2
|
+
import { SimpleBooleanRule } from "./SimpleBooleanRule.js";
|
|
3
|
+
import { SimpleNumberRule } from "./SimpleNumberRule.js";
|
|
4
|
+
import { SimpleStringRule } from "./SimpleStringRule.js";
|
|
5
|
+
import { SimpleDateRule } from "./SimpleDateRule.js";
|
|
6
|
+
import { SimpleListRule } from "./SimpleListRule.js";
|
|
7
|
+
import { SimpleSelect } from "./SimpleSelect.js";
|
|
8
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
9
|
+
import { classMap } from "../../../../utils/class-map.js";
|
|
10
|
+
import { html } from 'lit-html';
|
|
11
|
+
import { Type } from "../types.js";
|
|
12
|
+
export function SimpleGroup(params) {
|
|
13
|
+
var _a;
|
|
14
|
+
const { options, layout, rules, name, disabled, readonly, t, onChange } = params;
|
|
15
|
+
const editedOptions = options.filter(v => rules.find(vv => vv.path === v.path));
|
|
16
|
+
const orderRule = rules.find(v => v.path === 'order');
|
|
17
|
+
const parsedOrderRule = (_a = orderRule === null || orderRule === void 0 ? void 0 : orderRule.value) === null || _a === void 0 ? void 0 : _a.split(',').map(v => {
|
|
18
|
+
const [path, order = 'asc'] = decodeURIComponent(v).split(' ');
|
|
19
|
+
return { path: path.trim(), order: order.trim() };
|
|
20
|
+
});
|
|
21
|
+
return html `
|
|
22
|
+
<foxy-internal-summary-control
|
|
23
|
+
aria-label=${params.t('query_builder_group')}
|
|
24
|
+
helper-text=""
|
|
25
|
+
layout=${ifDefined(layout)}
|
|
26
|
+
label=${layout && name ? t(name) : ''}
|
|
27
|
+
count=${ifDefined(editedOptions.length || void 0)}
|
|
28
|
+
infer=""
|
|
29
|
+
>
|
|
30
|
+
${options.map(option => {
|
|
31
|
+
var _a;
|
|
32
|
+
const { type, label, list, path } = option;
|
|
33
|
+
const controlsRenderers = {
|
|
34
|
+
[Type.Attribute]: SimpleAttributeRule,
|
|
35
|
+
[Type.Boolean]: SimpleBooleanRule,
|
|
36
|
+
[Type.String]: SimpleStringRule,
|
|
37
|
+
[Type.Number]: SimpleNumberRule,
|
|
38
|
+
[Type.Date]: SimpleDateRule,
|
|
39
|
+
[Type.Any]: SimpleStringRule,
|
|
40
|
+
};
|
|
41
|
+
const Control = list ? SimpleListRule : controlsRenderers[type];
|
|
42
|
+
const order = (_a = parsedOrderRule === null || parsedOrderRule === void 0 ? void 0 : parsedOrderRule.find(v => v.path === path)) === null || _a === void 0 ? void 0 : _a.order;
|
|
43
|
+
const rule = rules.find(rule => rule.path === path);
|
|
44
|
+
const isDirty = !!rule || !!order;
|
|
45
|
+
return html `
|
|
46
|
+
<div
|
|
47
|
+
aria-label=${t('query_builder_rule')}
|
|
48
|
+
class=${classMap({
|
|
49
|
+
'flex flex-wrap items-center justify-end gap-s': true,
|
|
50
|
+
'bg-primary-10 text-primary': isDirty,
|
|
51
|
+
})}
|
|
52
|
+
>
|
|
53
|
+
<foxy-i18n infer="" key=${label}></foxy-i18n>
|
|
54
|
+
<span class="transform scale-150 mr-auto ${isDirty ? '' : 'opacity-0'}">•</span>
|
|
55
|
+
${Control({
|
|
56
|
+
disabled,
|
|
57
|
+
readonly,
|
|
58
|
+
option,
|
|
59
|
+
rule,
|
|
60
|
+
t,
|
|
61
|
+
onChange: newParsedValue => {
|
|
62
|
+
if (newParsedValue && rule) {
|
|
63
|
+
Object.assign(rule, newParsedValue);
|
|
64
|
+
return onChange(rules);
|
|
65
|
+
}
|
|
66
|
+
else if (newParsedValue) {
|
|
67
|
+
const defaults = { path: path, value: '', operator: null };
|
|
68
|
+
return onChange([...rules, { ...defaults, ...newParsedValue }]);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return onChange(rules.filter(v => v.path !== path));
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
})}
|
|
75
|
+
${type === Type.Date || type === Type.Number
|
|
76
|
+
? SimpleSelect({
|
|
77
|
+
disabled,
|
|
78
|
+
readonly,
|
|
79
|
+
t,
|
|
80
|
+
current: {
|
|
81
|
+
label: `order_${order !== null && order !== void 0 ? order : 'none'}${order ? `_${type}` : ''}`,
|
|
82
|
+
value: order !== null && order !== void 0 ? order : 'none',
|
|
83
|
+
},
|
|
84
|
+
options: [
|
|
85
|
+
{ label: 'order_none', value: 'none' },
|
|
86
|
+
{ label: `order_asc_${type}`, value: 'asc' },
|
|
87
|
+
{ label: `order_desc_${type}`, value: 'desc' },
|
|
88
|
+
],
|
|
89
|
+
onChange: newSelection => {
|
|
90
|
+
const newParsedOrderRule = (parsedOrderRule !== null && parsedOrderRule !== void 0 ? parsedOrderRule : [])
|
|
91
|
+
.filter(v => v.path !== path)
|
|
92
|
+
.concat([{ path, order: newSelection }]);
|
|
93
|
+
const newOrderValue = newParsedOrderRule
|
|
94
|
+
.filter(v => v.order !== 'none')
|
|
95
|
+
.map(v => `${v.path} ${v.order}`)
|
|
96
|
+
.join();
|
|
97
|
+
const newRules = rules.filter(v => v.path !== 'order');
|
|
98
|
+
if (newOrderValue) {
|
|
99
|
+
newRules.push({ path: 'order', value: newOrderValue, operator: null });
|
|
100
|
+
}
|
|
101
|
+
onChange(newRules);
|
|
102
|
+
},
|
|
103
|
+
})
|
|
104
|
+
: ''}
|
|
105
|
+
</div>
|
|
106
|
+
`;
|
|
107
|
+
})}
|
|
108
|
+
</foxy-internal-summary-control>
|
|
109
|
+
`;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=SimpleGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleGroup.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Option, Rule } from '../types';\n\nimport { SimpleAttributeRule } from './SimpleAttributeRule';\nimport { SimpleBooleanRule } from './SimpleBooleanRule';\nimport { SimpleNumberRule } from './SimpleNumberRule';\nimport { SimpleStringRule } from './SimpleStringRule';\nimport { SimpleDateRule } from './SimpleDateRule';\nimport { SimpleListRule } from './SimpleListRule';\nimport { SimpleSelect } from './SimpleSelect';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../../utils/class-map';\nimport { html } from 'lit-html';\nimport { Type } from '../types';\n\ntype Params = {\n disabled: boolean;\n readonly: boolean;\n options: Option[];\n layout?: string;\n rules: Rule[];\n name?: string;\n t: (key: string) => string;\n onChange: (newParsedValue: Rule[]) => void;\n};\n\nexport function SimpleGroup(params: Params): TemplateResult {\n const { options, layout, rules, name, disabled, readonly, t, onChange } = params;\n\n const editedOptions = options.filter(v => rules.find(vv => vv.path === v.path));\n const orderRule = rules.find(v => v.path === 'order');\n const parsedOrderRule = orderRule?.value?.split(',').map(v => {\n const [path, order = 'asc'] = decodeURIComponent(v).split(' ');\n return { path: path.trim(), order: order.trim() };\n });\n\n return html`\n <foxy-internal-summary-control\n aria-label=${params.t('query_builder_group')}\n helper-text=\"\"\n layout=${ifDefined(layout)}\n label=${layout && name ? t(name) : ''}\n count=${ifDefined(editedOptions.length || void 0)}\n infer=\"\"\n >\n ${options.map(option => {\n const { type, label, list, path } = option;\n\n const controlsRenderers = {\n [Type.Attribute]: SimpleAttributeRule,\n [Type.Boolean]: SimpleBooleanRule,\n [Type.String]: SimpleStringRule,\n [Type.Number]: SimpleNumberRule,\n [Type.Date]: SimpleDateRule,\n [Type.Any]: SimpleStringRule,\n } as const;\n\n const Control = list ? SimpleListRule : controlsRenderers[type];\n const order = parsedOrderRule?.find(v => v.path === path)?.order;\n const rule = rules.find(rule => rule.path === path);\n const isDirty = !!rule || !!order;\n\n return html`\n <div\n aria-label=${t('query_builder_rule')}\n class=${classMap({\n 'flex flex-wrap items-center justify-end gap-s': true,\n 'bg-primary-10 text-primary': isDirty,\n })}\n >\n <foxy-i18n infer=\"\" key=${label}></foxy-i18n>\n <span class=\"transform scale-150 mr-auto ${isDirty ? '' : 'opacity-0'}\">•</span>\n ${Control({\n disabled,\n readonly,\n option,\n rule,\n t,\n onChange: newParsedValue => {\n if (newParsedValue && rule) {\n Object.assign(rule, newParsedValue);\n return onChange(rules);\n } else if (newParsedValue) {\n const defaults = { path: path, value: '', operator: null };\n return onChange([...rules, { ...defaults, ...newParsedValue }]);\n } else {\n return onChange(rules.filter(v => v.path !== path));\n }\n },\n })}\n ${type === Type.Date || type === Type.Number\n ? SimpleSelect({\n disabled,\n readonly,\n t,\n current: {\n label: `order_${order ?? 'none'}${order ? `_${type}` : ''}`,\n value: order ?? 'none',\n },\n options: [\n { label: 'order_none', value: 'none' },\n { label: `order_asc_${type}`, value: 'asc' },\n { label: `order_desc_${type}`, value: 'desc' },\n ],\n onChange: newSelection => {\n const newParsedOrderRule = (parsedOrderRule ?? [])\n .filter(v => v.path !== path)\n .concat([{ path, order: newSelection }]);\n\n const newOrderValue = newParsedOrderRule\n .filter(v => v.order !== 'none')\n .map(v => `${v.path} ${v.order}`)\n .join();\n\n const newRules = rules.filter(v => v.path !== 'order');\n if (newOrderValue) {\n newRules.push({ path: 'order', value: newOrderValue, operator: null });\n }\n\n onChange(newRules);\n },\n })\n : ''}\n </div>\n `;\n })}\n </foxy-internal-summary-control>\n `;\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { I18n } from '../../I18n/I18n';
|
|
3
|
+
declare type Params = {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
readonly: boolean;
|
|
6
|
+
layout?: 'auto-grow' | 'fixed';
|
|
7
|
+
value: string;
|
|
8
|
+
label: string;
|
|
9
|
+
type?: string;
|
|
10
|
+
min?: string | number;
|
|
11
|
+
t: I18n['t'];
|
|
12
|
+
onChange: (newValue: string) => void;
|
|
13
|
+
};
|
|
14
|
+
export declare function SimpleInput(params: Params): TemplateResult;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ifDefined } from 'lit-html/directives/if-defined';
|
|
2
|
+
import { classMap } from "../../../../utils/class-map.js";
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
export function SimpleInput(params) {
|
|
5
|
+
const { disabled, readonly, layout, label, value, type, min, t, onChange } = params;
|
|
6
|
+
return html `
|
|
7
|
+
<label class="flex-shrink-0 flex items-center gap-s relative">
|
|
8
|
+
<foxy-i18n infer="" class=${classMap({ 'sr-only': layout !== 'fixed' })} key=${label}>
|
|
9
|
+
</foxy-i18n>
|
|
10
|
+
|
|
11
|
+
<span
|
|
12
|
+
class=${classMap({
|
|
13
|
+
'relative block whitespace-pre text-m': true,
|
|
14
|
+
'px-s py-xs -my-xs font-medium opacity-0': !readonly,
|
|
15
|
+
'text-contrast-80': readonly,
|
|
16
|
+
})}
|
|
17
|
+
?hidden=${layout !== 'auto-grow' && !readonly}
|
|
18
|
+
>${value || html `<foxy-i18n infer="" key="value_empty"></foxy-i18n>`}</span
|
|
19
|
+
>
|
|
20
|
+
|
|
21
|
+
${readonly
|
|
22
|
+
? ''
|
|
23
|
+
: html `
|
|
24
|
+
<input
|
|
25
|
+
placeholder=${t('value_empty')}
|
|
26
|
+
class=${classMap({
|
|
27
|
+
'appearance-none transition-all text-body text-m font-medium rounded-s': true,
|
|
28
|
+
'bg-base px-s py-xs -my-xs': true,
|
|
29
|
+
'opacity-50': disabled,
|
|
30
|
+
'absolute inset-0': layout === 'auto-grow',
|
|
31
|
+
'focus-outline-none focus-ring-2 focus-ring-primary-50': true,
|
|
32
|
+
})}
|
|
33
|
+
?disabled=${disabled}
|
|
34
|
+
type=${ifDefined(type)}
|
|
35
|
+
min=${ifDefined(min)}
|
|
36
|
+
.value=${value}
|
|
37
|
+
@input=${(evt) => onChange(evt.target.value)}
|
|
38
|
+
/>
|
|
39
|
+
`}
|
|
40
|
+
</label>
|
|
41
|
+
`;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=SimpleInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleInput.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleInput.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,uCAAoC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAchC,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEpF,OAAO,IAAI,CAAA;;kCAEqB,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC,QAAQ,KAAK;;;;gBAI1E,QAAQ,CAAC;QACf,sCAAsC,EAAE,IAAI;QAC5C,yCAAyC,EAAE,CAAC,QAAQ;QACpD,kBAAkB,EAAE,QAAQ;KAC7B,CAAC;kBACQ,MAAM,KAAK,WAAW,IAAI,CAAC,QAAQ;WAC1C,KAAK,IAAI,IAAI,CAAA,oDAAoD;;;QAGpE,QAAQ;QACR,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAI,CAAA;;4BAEc,CAAC,CAAC,aAAa,CAAC;sBACtB,QAAQ,CAAC;YACf,uEAAuE,EAAE,IAAI;YAC7E,2BAA2B,EAAE,IAAI;YACjC,YAAY,EAAE,QAAQ;YACtB,kBAAkB,EAAE,MAAM,KAAK,WAAW;YAC1C,uDAAuD,EAAE,IAAI;SAC9D,CAAC;0BACU,QAAQ;qBACb,SAAS,CAAC,IAAI,CAAC;oBAChB,SAAS,CAAC,GAAG,CAAC;uBACX,KAAK;uBACL,CAAC,GAAU,EAAE,EAAE,CAAC,QAAQ,CAAE,GAAG,CAAC,MAA2B,CAAC,KAAK,CAAC;;WAE5E;;GAER,CAAC;AACJ,CAAC","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { I18n } from '../../I18n/I18n';\n\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../../utils/class-map';\nimport { html } from 'lit-html';\n\ntype Params = {\n disabled: boolean;\n readonly: boolean;\n layout?: 'auto-grow' | 'fixed';\n value: string;\n label: string;\n type?: string;\n min?: string | number;\n t: I18n['t'];\n onChange: (newValue: string) => void;\n};\n\nexport function SimpleInput(params: Params): TemplateResult {\n const { disabled, readonly, layout, label, value, type, min, t, onChange } = params;\n\n return html`\n <label class=\"flex-shrink-0 flex items-center gap-s relative\">\n <foxy-i18n infer=\"\" class=${classMap({ 'sr-only': layout !== 'fixed' })} key=${label}>\n </foxy-i18n>\n\n <span\n class=${classMap({\n 'relative block whitespace-pre text-m': true,\n 'px-s py-xs -my-xs font-medium opacity-0': !readonly,\n 'text-contrast-80': readonly,\n })}\n ?hidden=${layout !== 'auto-grow' && !readonly}\n >${value || html`<foxy-i18n infer=\"\" key=\"value_empty\"></foxy-i18n>`}</span\n >\n\n ${readonly\n ? ''\n : html`\n <input\n placeholder=${t('value_empty')}\n class=${classMap({\n 'appearance-none transition-all text-body text-m font-medium rounded-s': true,\n 'bg-base px-s py-xs -my-xs': true,\n 'opacity-50': disabled,\n 'absolute inset-0': layout === 'auto-grow',\n 'focus-outline-none focus-ring-2 focus-ring-primary-50': true,\n })}\n ?disabled=${disabled}\n type=${ifDefined(type)}\n min=${ifDefined(min)}\n .value=${value}\n @input=${(evt: Event) => onChange((evt.target as HTMLInputElement).value)}\n />\n `}\n </label>\n `;\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Operator } from "../types.js";
|
|
2
|
+
import { SimpleSelect } from "./SimpleSelect.js";
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
export const SimpleListRule = params => {
|
|
5
|
+
const { disabled, readonly, option, rule, t, onChange } = params;
|
|
6
|
+
const { list } = option;
|
|
7
|
+
const currentOption = list === null || list === void 0 ? void 0 : list.find(v => v.value === (rule === null || rule === void 0 ? void 0 : rule.value));
|
|
8
|
+
const operator = rule === null || rule === void 0 ? void 0 : rule.operator;
|
|
9
|
+
return html `
|
|
10
|
+
${SimpleSelect({
|
|
11
|
+
disabled,
|
|
12
|
+
readonly,
|
|
13
|
+
current: {
|
|
14
|
+
label: operator === void 0 ? 'value_any' : `operator_${operator !== null && operator !== void 0 ? operator : 'equal'}`,
|
|
15
|
+
value: operator === void 0 ? 'any' : operator !== null && operator !== void 0 ? operator : 'equal',
|
|
16
|
+
},
|
|
17
|
+
options: [
|
|
18
|
+
{ label: 'value_any', value: 'any' },
|
|
19
|
+
{ label: 'operator_equal', value: 'equal' },
|
|
20
|
+
{ label: 'operator_not', value: Operator.Not },
|
|
21
|
+
],
|
|
22
|
+
t,
|
|
23
|
+
onChange: newValue => {
|
|
24
|
+
var _a, _b, _c;
|
|
25
|
+
if (newValue === 'any')
|
|
26
|
+
return onChange(null);
|
|
27
|
+
return onChange({
|
|
28
|
+
operator: newValue === 'equal' ? null : newValue,
|
|
29
|
+
value: (_c = (_a = rule === null || rule === void 0 ? void 0 : rule.value) !== null && _a !== void 0 ? _a : (_b = list === null || list === void 0 ? void 0 : list[0]) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : '',
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
})}
|
|
33
|
+
${(rule === null || rule === void 0 ? void 0 : rule.value) === undefined
|
|
34
|
+
? ''
|
|
35
|
+
: SimpleSelect({
|
|
36
|
+
disabled,
|
|
37
|
+
readonly,
|
|
38
|
+
current: currentOption !== null && currentOption !== void 0 ? currentOption : { label: 'value_any', value: '' },
|
|
39
|
+
options: list !== null && list !== void 0 ? list : [],
|
|
40
|
+
t,
|
|
41
|
+
onChange: newValue => onChange({ value: newValue }),
|
|
42
|
+
})}
|
|
43
|
+
`;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=SimpleListRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleListRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleListRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,oBAAiB;AACzD,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAwB,MAAM,CAAC,EAAE;IAC1D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAExB,MAAM,aAAa,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAA,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC;IAEhC,OAAO,IAAI,CAAA;MACP,YAAY,CAAC;QACb,QAAQ;QACR,QAAQ;QACR,OAAO,EAAE;YACP,KAAK,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,EAAE;YAC5E,KAAK,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO;SACzD;QACD,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;YACpC,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE;YAC3C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE;SAC/C;QACD,CAAC;QACD,QAAQ,EAAE,QAAQ,CAAC,EAAE;;YACnB,IAAI,QAAQ,KAAK,KAAK;gBAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC;gBACd,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,QAAqB;gBAC9D,KAAK,cAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,yCAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,2CAAG,KAAK,mCAAI,EAAE;aAC7C,CAAC,CAAC;QACL,CAAC;KACF,CAAC;MACA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,SAAS;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC;YACX,QAAQ;YACR,QAAQ;YACR,OAAO,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;YAC3D,OAAO,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE;YACnB,CAAC;YACD,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;SACpD,CAAC;GACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { SimpleRuleComponent, Operator } from '../types';\nimport { SimpleSelect } from './SimpleSelect';\nimport { html } from 'lit-html';\n\nexport const SimpleListRule: SimpleRuleComponent = params => {\n const { disabled, readonly, option, rule, t, onChange } = params;\n const { list } = option;\n\n const currentOption = list?.find(v => v.value === rule?.value);\n const operator = rule?.operator;\n\n return html`\n ${SimpleSelect({\n disabled,\n readonly,\n current: {\n label: operator === void 0 ? 'value_any' : `operator_${operator ?? 'equal'}`,\n value: operator === void 0 ? 'any' : operator ?? 'equal',\n },\n options: [\n { label: 'value_any', value: 'any' },\n { label: 'operator_equal', value: 'equal' },\n { label: 'operator_not', value: Operator.Not },\n ],\n t,\n onChange: newValue => {\n if (newValue === 'any') return onChange(null);\n return onChange({\n operator: newValue === 'equal' ? null : (newValue as Operator),\n value: rule?.value ?? list?.[0]?.value ?? '',\n });\n },\n })}\n ${rule?.value === undefined\n ? ''\n : SimpleSelect({\n disabled,\n readonly,\n current: currentOption ?? { label: 'value_any', value: '' },\n options: list ?? [],\n t,\n onChange: newValue => onChange({ value: newValue }),\n })}\n `;\n};\n"]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Operator } from "../types.js";
|
|
2
|
+
import { SimpleSelect } from "./SimpleSelect.js";
|
|
3
|
+
import { SimpleInput } from "./SimpleInput.js";
|
|
4
|
+
import { html } from 'lit-html';
|
|
5
|
+
export const SimpleNumberRule = params => {
|
|
6
|
+
const { disabled, readonly, option, rule, t, onChange } = params;
|
|
7
|
+
const { min, label } = option;
|
|
8
|
+
const operator = rule === null || rule === void 0 ? void 0 : rule.operator;
|
|
9
|
+
const isRange = rule === null || rule === void 0 ? void 0 : rule.value.includes('..');
|
|
10
|
+
const nullOperator = isRange ? 'range' : 'equal';
|
|
11
|
+
const resolvedOperator = operator !== null && operator !== void 0 ? operator : nullOperator;
|
|
12
|
+
const currentLabel = operator === void 0
|
|
13
|
+
? 'value_any'
|
|
14
|
+
: resolvedOperator === 'range'
|
|
15
|
+
? 'range'
|
|
16
|
+
: `operator_${resolvedOperator}`;
|
|
17
|
+
return html `
|
|
18
|
+
${SimpleSelect({
|
|
19
|
+
disabled,
|
|
20
|
+
readonly,
|
|
21
|
+
current: { label: currentLabel, value: operator === void 0 ? 'any' : resolvedOperator },
|
|
22
|
+
options: [
|
|
23
|
+
{ label: 'value_any', value: 'any' },
|
|
24
|
+
{ label: 'operator_equal', value: 'equal' },
|
|
25
|
+
{ label: 'operator_not', value: Operator.Not },
|
|
26
|
+
{ label: 'operator_lessthanorequal', value: Operator.LessThanOrEqual },
|
|
27
|
+
{ label: 'operator_lessthan', value: Operator.LessThan },
|
|
28
|
+
{ label: 'operator_greaterthanorequal', value: Operator.GreaterThanOrEqual },
|
|
29
|
+
{ label: 'operator_greaterthan', value: Operator.GreaterThan },
|
|
30
|
+
{ label: 'range', value: 'range' },
|
|
31
|
+
],
|
|
32
|
+
t,
|
|
33
|
+
onChange: newValue => {
|
|
34
|
+
var _a, _b, _c, _d;
|
|
35
|
+
if (newValue === 'any')
|
|
36
|
+
return onChange(null);
|
|
37
|
+
if (newValue === 'range') {
|
|
38
|
+
let parsedFrom = parseFloat((_a = rule === null || rule === void 0 ? void 0 : rule.value) !== null && _a !== void 0 ? _a : '');
|
|
39
|
+
if (isNaN(parsedFrom))
|
|
40
|
+
parsedFrom = 0;
|
|
41
|
+
return onChange({ operator: null, value: `${parsedFrom}..${parsedFrom + 10}` });
|
|
42
|
+
}
|
|
43
|
+
return onChange({
|
|
44
|
+
operator: newValue === 'equal' ? null : newValue,
|
|
45
|
+
value: (_d = (_b = rule === null || rule === void 0 ? void 0 : rule.value) !== null && _b !== void 0 ? _b : (_c = option.min) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : '0',
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
})}
|
|
49
|
+
${(rule === null || rule === void 0 ? void 0 : rule.value) === undefined
|
|
50
|
+
? ''
|
|
51
|
+
: isRange
|
|
52
|
+
? html `
|
|
53
|
+
<foxy-i18n infer="" key="range_from"></foxy-i18n>
|
|
54
|
+
|
|
55
|
+
${SimpleInput({
|
|
56
|
+
disabled,
|
|
57
|
+
readonly,
|
|
58
|
+
layout: 'auto-grow',
|
|
59
|
+
label: 'range_from',
|
|
60
|
+
value: rule === null || rule === void 0 ? void 0 : rule.value.split('..')[0],
|
|
61
|
+
type: 'number',
|
|
62
|
+
min,
|
|
63
|
+
t,
|
|
64
|
+
onChange: newValue => {
|
|
65
|
+
const to = rule === null || rule === void 0 ? void 0 : rule.value.split('..')[1];
|
|
66
|
+
onChange({ value: `${newValue || '0'}..${to}` });
|
|
67
|
+
},
|
|
68
|
+
})}
|
|
69
|
+
|
|
70
|
+
<foxy-i18n infer="" key="range_to"></foxy-i18n>
|
|
71
|
+
|
|
72
|
+
${SimpleInput({
|
|
73
|
+
disabled,
|
|
74
|
+
readonly,
|
|
75
|
+
layout: 'auto-grow',
|
|
76
|
+
label: 'range_to',
|
|
77
|
+
value: rule === null || rule === void 0 ? void 0 : rule.value.split('..')[1],
|
|
78
|
+
type: 'number',
|
|
79
|
+
min,
|
|
80
|
+
t,
|
|
81
|
+
onChange: newValue => {
|
|
82
|
+
const from = rule === null || rule === void 0 ? void 0 : rule.value.split('..')[0];
|
|
83
|
+
onChange({ value: `${from}..${newValue || '0'}` });
|
|
84
|
+
},
|
|
85
|
+
})}
|
|
86
|
+
`
|
|
87
|
+
: SimpleInput({
|
|
88
|
+
disabled,
|
|
89
|
+
readonly,
|
|
90
|
+
layout: 'auto-grow',
|
|
91
|
+
label: label,
|
|
92
|
+
value: (rule === null || rule === void 0 ? void 0 : rule.value) || '',
|
|
93
|
+
type: 'number',
|
|
94
|
+
min,
|
|
95
|
+
t,
|
|
96
|
+
onChange: newValue => onChange({ value: newValue }),
|
|
97
|
+
})}
|
|
98
|
+
`;
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=SimpleNumberRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleNumberRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleNumberRule.ts"],"names":[],"mappings":"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","sourcesContent":["import { SimpleRuleComponent, Operator } from '../types';\nimport { SimpleSelect } from './SimpleSelect';\nimport { SimpleInput } from './SimpleInput';\nimport { html } from 'lit-html';\n\nexport const SimpleNumberRule: SimpleRuleComponent = params => {\n const { disabled, readonly, option, rule, t, onChange } = params;\n const { min, label } = option;\n\n const operator = rule?.operator;\n const isRange = rule?.value.includes('..');\n const nullOperator = isRange ? 'range' : 'equal';\n const resolvedOperator = operator ?? nullOperator;\n const currentLabel =\n operator === void 0\n ? 'value_any'\n : resolvedOperator === 'range'\n ? 'range'\n : `operator_${resolvedOperator}`;\n\n return html`\n ${SimpleSelect({\n disabled,\n readonly,\n current: { label: currentLabel, value: operator === void 0 ? 'any' : resolvedOperator },\n options: [\n { label: 'value_any', value: 'any' },\n { label: 'operator_equal', value: 'equal' },\n { label: 'operator_not', value: Operator.Not },\n { label: 'operator_lessthanorequal', value: Operator.LessThanOrEqual },\n { label: 'operator_lessthan', value: Operator.LessThan },\n { label: 'operator_greaterthanorequal', value: Operator.GreaterThanOrEqual },\n { label: 'operator_greaterthan', value: Operator.GreaterThan },\n { label: 'range', value: 'range' },\n ],\n t,\n onChange: newValue => {\n if (newValue === 'any') return onChange(null);\n\n if (newValue === 'range') {\n let parsedFrom = parseFloat(rule?.value ?? '');\n if (isNaN(parsedFrom)) parsedFrom = 0;\n return onChange({ operator: null, value: `${parsedFrom}..${parsedFrom + 10}` });\n }\n\n return onChange({\n operator: newValue === 'equal' ? null : (newValue as Operator),\n value: rule?.value ?? option.min?.toString() ?? '0',\n });\n },\n })}\n ${rule?.value === undefined\n ? ''\n : isRange\n ? html`\n <foxy-i18n infer=\"\" key=\"range_from\"></foxy-i18n>\n\n ${SimpleInput({\n disabled,\n readonly,\n layout: 'auto-grow',\n label: 'range_from',\n value: rule?.value.split('..')[0],\n type: 'number',\n min,\n t,\n onChange: newValue => {\n const to = rule?.value.split('..')[1];\n onChange({ value: `${newValue || '0'}..${to}` });\n },\n })}\n\n <foxy-i18n infer=\"\" key=\"range_to\"></foxy-i18n>\n\n ${SimpleInput({\n disabled,\n readonly,\n layout: 'auto-grow',\n label: 'range_to',\n value: rule?.value.split('..')[1],\n type: 'number',\n min,\n t,\n onChange: newValue => {\n const from = rule?.value.split('..')[0];\n onChange({ value: `${from}..${newValue || '0'}` });\n },\n })}\n `\n : SimpleInput({\n disabled,\n readonly,\n layout: 'auto-grow',\n label: label,\n value: rule?.value || '',\n type: 'number',\n min,\n t,\n onChange: newValue => onChange({ value: newValue }),\n })}\n `;\n};\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { I18n } from '../../I18n/I18n';
|
|
3
|
+
declare type Params = {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
readonly: boolean;
|
|
6
|
+
current: {
|
|
7
|
+
value: string;
|
|
8
|
+
} & ({
|
|
9
|
+
label: string;
|
|
10
|
+
} | {
|
|
11
|
+
rawLabel: string;
|
|
12
|
+
});
|
|
13
|
+
options: ({
|
|
14
|
+
value: string;
|
|
15
|
+
} & ({
|
|
16
|
+
label: string;
|
|
17
|
+
} | {
|
|
18
|
+
rawLabel: string;
|
|
19
|
+
}))[];
|
|
20
|
+
t: I18n['t'];
|
|
21
|
+
onChange: (newValue: string) => void;
|
|
22
|
+
};
|
|
23
|
+
export declare function SimpleSelect(params: Params): TemplateResult;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { html, svg } from 'lit-html';
|
|
2
|
+
import { classMap } from "../../../../utils/class-map.js";
|
|
3
|
+
export function SimpleSelect(params) {
|
|
4
|
+
const { t, disabled, readonly, current, options, onChange } = params;
|
|
5
|
+
return html `
|
|
6
|
+
<div
|
|
7
|
+
class=${classMap({
|
|
8
|
+
'relative flex items-center gap-xs leading-m px-xs -m-xs rounded-s transition-colors': true,
|
|
9
|
+
'focus-within-ring-2 focus-within-ring-primary-50': true,
|
|
10
|
+
'text-contrast': !disabled && !readonly,
|
|
11
|
+
'hover-text-contrast-80': !disabled && !readonly,
|
|
12
|
+
'text-disabled': disabled,
|
|
13
|
+
'text-contrast-80': readonly,
|
|
14
|
+
'font-medium': !readonly,
|
|
15
|
+
})}
|
|
16
|
+
>
|
|
17
|
+
${'label' in current
|
|
18
|
+
? html `<foxy-i18n infer="" key=${current.label}></foxy-i18n>`
|
|
19
|
+
: html `<span>${current.rawLabel}</span>`}
|
|
20
|
+
${readonly
|
|
21
|
+
? ''
|
|
22
|
+
: html `
|
|
23
|
+
${svg `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" class="flex-shrink-0" style="width: 1em; height: 1em; transform: scale(1.25)"><path fill-rule="evenodd" d="M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z" clip-rule="evenodd" /></svg>`}
|
|
24
|
+
<select
|
|
25
|
+
class=${classMap({
|
|
26
|
+
'absolute inset-0 opacity-0 focus-outline-none': true,
|
|
27
|
+
'cursor-pointer': !disabled,
|
|
28
|
+
'cursor-default': disabled,
|
|
29
|
+
})}
|
|
30
|
+
?disabled=${disabled}
|
|
31
|
+
@change=${(evt) => onChange(evt.target.value)}
|
|
32
|
+
>
|
|
33
|
+
${options.map(option => {
|
|
34
|
+
return html `
|
|
35
|
+
<option value=${option.value} ?selected=${option.value === current.value}>
|
|
36
|
+
${'label' in option ? t(option.label) : option.rawLabel}
|
|
37
|
+
</option>
|
|
38
|
+
`;
|
|
39
|
+
})}
|
|
40
|
+
</select>
|
|
41
|
+
`}
|
|
42
|
+
</div>
|
|
43
|
+
`;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=SimpleSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleSelect.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleSelect.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,uCAAoC;AAWvD,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAErE,OAAO,IAAI,CAAA;;cAEC,QAAQ,CAAC;QACf,qFAAqF,EAAE,IAAI;QAC3F,kDAAkD,EAAE,IAAI;QACxD,eAAe,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ;QACvC,wBAAwB,EAAE,CAAC,QAAQ,IAAI,CAAC,QAAQ;QAChD,eAAe,EAAE,QAAQ;QACzB,kBAAkB,EAAE,QAAQ;QAC5B,aAAa,EAAE,CAAC,QAAQ;KACzB,CAAC;;QAEA,OAAO,IAAI,OAAO;QAClB,CAAC,CAAC,IAAI,CAAA,2BAA2B,OAAO,CAAC,KAAK,eAAe;QAC7D,CAAC,CAAC,IAAI,CAAA,SAAS,OAAO,CAAC,QAAQ,SAAS;QACxC,QAAQ;QACR,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAI,CAAA;cACA,GAAG,CAAA,scAAsc;;sBAEjc,QAAQ,CAAC;YACf,+CAA+C,EAAE,IAAI;YACrD,gBAAgB,EAAE,CAAC,QAAQ;YAC3B,gBAAgB,EAAE,QAAQ;SAC3B,CAAC;0BACU,QAAQ;wBACV,CAAC,GAAU,EAAE,EAAE,CAAC,QAAQ,CAAE,GAAG,CAAC,MAA4B,CAAC,KAAK,CAAC;;gBAEzE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACrB,OAAO,IAAI,CAAA;kCACO,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;sBACpE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;;iBAE1D,CAAC;QACJ,CAAC,CAAC;;WAEL;;GAER,CAAC;AACJ,CAAC","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { I18n } from '../../I18n/I18n';\n\nimport { html, svg } from 'lit-html';\nimport { classMap } from '../../../../utils/class-map';\n\ntype Params = {\n disabled: boolean;\n readonly: boolean;\n current: { value: string } & ({ label: string } | { rawLabel: string });\n options: ({ value: string } & ({ label: string } | { rawLabel: string }))[];\n t: I18n['t'];\n onChange: (newValue: string) => void;\n};\n\nexport function SimpleSelect(params: Params): TemplateResult {\n const { t, disabled, readonly, current, options, onChange } = params;\n\n return html`\n <div\n class=${classMap({\n 'relative flex items-center gap-xs leading-m px-xs -m-xs rounded-s transition-colors': true,\n 'focus-within-ring-2 focus-within-ring-primary-50': true,\n 'text-contrast': !disabled && !readonly,\n 'hover-text-contrast-80': !disabled && !readonly,\n 'text-disabled': disabled,\n 'text-contrast-80': readonly,\n 'font-medium': !readonly,\n })}\n >\n ${'label' in current\n ? html`<foxy-i18n infer=\"\" key=${current.label}></foxy-i18n>`\n : html`<span>${current.rawLabel}</span>`}\n ${readonly\n ? ''\n : html`\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" class=\"flex-shrink-0\" style=\"width: 1em; height: 1em; transform: scale(1.25)\"><path fill-rule=\"evenodd\" d=\"M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z\" clip-rule=\"evenodd\" /></svg>`}\n <select\n class=${classMap({\n 'absolute inset-0 opacity-0 focus-outline-none': true,\n 'cursor-pointer': !disabled,\n 'cursor-default': disabled,\n })}\n ?disabled=${disabled}\n @change=${(evt: Event) => onChange((evt.target as HTMLSelectElement).value)}\n >\n ${options.map(option => {\n return html`\n <option value=${option.value} ?selected=${option.value === current.value}>\n ${'label' in option ? t(option.label) : option.rawLabel}\n </option>\n `;\n })}\n </select>\n `}\n </div>\n `;\n}\n"]}
|