@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import { CSSResultArray, LitElement, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport { ParsedValue, Operator, Option, Type } from './types';\n\nimport { Group } from './components/Group';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { parse } from './utils/parse';\nimport { stringify } from './utils/stringify';\nimport { styles } from './styles';\nimport { InferrableMixin } from '../../../mixins/inferrable';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\n\nconst NS = 'query-builder';\nconst Base = ConfigurableMixin(\n ResponsiveMixin(ThemeableMixin(TranslatableMixin(InferrableMixin(LitElement), NS)))\n);\n\n/**\n * UI component for creating Foxy hAPI filters visually. Compatible with\n * Backend API, Customer API or any other API using the same format as described\n * in our [docs](https://api.foxy.io/docs/cheat-sheet).\n *\n * @element foxy-query-builder\n * @since 1.12.0\n */\nclass QueryBuilder extends Base {\n /** QueryBuilder dispatches this event on itself when value changes. */\n static readonly ChangeEvent = class extends CustomEvent<void> {};\n\n /** Operator dictionary for use in autocomplete options. */\n static readonly Operator = Operator;\n\n /** Field type dictionary for use in autocomplete options. */\n static readonly Type = Type;\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n reservedPaths: { type: Array, attribute: 'reserved-paths' },\n disableZoom: { type: Boolean, attribute: 'disable-zoom' },\n disableOr: { type: Boolean, attribute: 'disable-or' },\n operators: { type: Array },\n options: { type: Array },\n value: { type: String },\n };\n }\n\n static get styles(): CSSResultArray {\n return [super.styles, styles];\n }\n\n /** List of reserved paths that should not be visible. */\n reservedPaths: string[] = ['zoom', 'limit', 'offset', 'order', 'fields'];\n\n /** If true, doesn't add `zoom` query parameter for complex paths. */\n disableZoom = false;\n\n /** If true, hides the UI for the \"OR\" operator in queries. */\n disableOr = false;\n\n /** List of operators available in the builder UI. */\n operators: Operator[] = Object.values(Operator);\n\n /** Autocomplete suggestions. */\n options: Option[] | null = null;\n\n /** Current value as hAPI filter string. */\n value: string | null = null;\n\n render(): TemplateResult {\n const reservedPaths = new Set(this.reservedPaths);\n const hiddenValues: (ParsedValue | ParsedValue[])[] = [];\n const visibleValues: (ParsedValue | ParsedValue[])[] = [];\n\n parse(this.value ?? '').forEach(value => {\n const isVisible = Array.isArray(value) || !reservedPaths.has(value.path);\n isVisible ? visibleValues.push(value) : hiddenValues.push(value);\n });\n\n return Group({\n parsedValues: visibleValues,\n disableOr: this.disableOr,\n operators: this.operators ?? [],\n disabled: this.disabled,\n readonly: this.readonly,\n options: this.options ?? [],\n t: this.t.bind(this),\n onChange: newValue => {\n this.value = stringify([...newValue, ...hiddenValues], this.disableZoom);\n this.dispatchEvent(new QueryBuilder.ChangeEvent('change'));\n },\n });\n }\n}\n\nexport { QueryBuilder };\n"]}
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/QueryBuilder.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { Rule, Option } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ConfigurableMixin } from '../../../mixins/configurable';\nimport { html, LitElement } from 'lit-element';\nimport { InferrableMixin } from '../../../mixins/inferrable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { ThemeableMixin } from '../../../mixins/themeable';\nimport { Operator, Type } from './types';\nimport { AdvancedGroup } from './components/AdvancedGroup';\nimport { SimpleGroup } from './components/SimpleGroup';\nimport { stringify } from './utils/stringify';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { styles } from './styles';\nimport { parse } from './utils/parse';\n\nconst NS = 'query-builder';\nconst Base = ConfigurableMixin(\n ResponsiveMixin(ThemeableMixin(TranslatableMixin(InferrableMixin(LitElement), NS)))\n);\n\n/**\n * UI component for creating Foxy hAPI filters visually. Compatible with\n * Backend API, Customer API or any other API using the same format as described\n * in our [docs](https://api.foxy.io/docs/cheat-sheet).\n *\n * @element foxy-query-builder\n * @since 1.12.0\n */\nexport class QueryBuilder extends Base {\n /** QueryBuilder dispatches this event on itself when value changes. */\n static readonly ChangeEvent = class extends CustomEvent<void> {};\n\n /** Operator dictionary for use in autocomplete options. */\n static readonly Operator = Operator;\n\n /** Field type dictionary for use in autocomplete options. */\n static readonly Type = Type;\n\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n reservedPaths: { type: Array, attribute: 'reserved-paths' },\n disableZoom: { type: Boolean, attribute: 'disable-zoom' },\n disableOr: { type: Boolean, attribute: 'disable-or' },\n operators: { type: Array },\n docsHref: { attribute: 'docs-href' },\n options: { type: Array },\n value: {},\n __isAdvancedMode: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [super.styles, styles];\n }\n\n /** Simple Mode will not show controls for these paths unless explicitly specified in options. */\n reservedPaths: string[] = ['zoom', 'limit', 'offset', 'order', 'fields'];\n\n /** If true, doesn't add `zoom` query parameter for complex paths. */\n disableZoom = false;\n\n /** If true, hides the UI for the \"OR\" operator in queries in the Advanced Mode. */\n disableOr = false;\n\n /** List of operators available in the builder UI. */\n operators: Operator[] = Object.values(Operator);\n\n /** When provided, will display a documentation link in the Advanced Mode. */\n docsHref: string | null = null;\n\n /** Filter options in Simple Mode and autocomplete suggestions in Advanced Mode. */\n options: Option[] | null = null;\n\n /** Current value as hAPI filter string. */\n value: string | null = null;\n\n private __isAdvancedMode = false;\n\n render(): TemplateResult {\n const isSimpleModeSupported = this.__isSimpleModeSupported;\n const parsedValue = parse(this.value ?? '');\n const operators = this.operators ?? [];\n const options = this.options ?? [];\n const t = this.t.bind(this);\n\n const onChange = (newParsedValue: (Rule | Rule[])[]) => {\n this.value = stringify(newParsedValue, this.disableZoom);\n this.dispatchEvent(new QueryBuilder.ChangeEvent('change'));\n };\n\n // This will trigger a re-render but is necessary to stay in the advanced mode once the support\n // for simple mode is available again.\n if (!isSimpleModeSupported && !this.__isAdvancedMode) this.__isAdvancedMode = true;\n\n return html`\n <div class=\"space-y-m\">\n <div\n class=\"grid grid-cols-2 gap-xs p-xs bg-contrast-5 rounded\"\n ?hidden=${!this.options?.length}\n >\n <label\n class=${classMap({\n 'p-xs rounded-s text-center font-medium transition-colors': true,\n 'bg-base ring-1 ring-contrast-5': !this.__isAdvancedMode && isSimpleModeSupported,\n 'hover-bg-contrast-5': this.__isAdvancedMode && isSimpleModeSupported,\n 'focus-within-ring-2 focus-within-ring-inset focus-within-ring-primary-50': true,\n 'cursor-pointer': isSimpleModeSupported,\n 'text-disabled': !isSimpleModeSupported,\n })}\n >\n <foxy-i18n infer=\"\" key=\"mode_simple${isSimpleModeSupported ? '' : '_unsupported'}\">\n </foxy-i18n>\n <input\n class=\"sr-only\"\n type=\"radio\"\n name=\"mode\"\n ?disabled=${!isSimpleModeSupported}\n ?checked=${!this.__isAdvancedMode}\n @change=${() => (this.__isAdvancedMode = false)}\n />\n </label>\n\n <label\n class=${classMap({\n 'p-xs rounded-s text-center font-medium cursor-pointer transition-colors': true,\n 'bg-base ring-1 ring-contrast-5': this.__isAdvancedMode,\n 'hover-bg-contrast-5': !this.__isAdvancedMode,\n 'focus-within-ring-2 focus-within-ring-inset focus-within-ring-primary-50': true,\n })}\n >\n <foxy-i18n infer=\"\" key=\"mode_advanced\"></foxy-i18n>\n <input\n class=\"sr-only\"\n type=\"radio\"\n name=\"mode\"\n ?checked=${this.__isAdvancedMode}\n @change=${() => (this.__isAdvancedMode = true)}\n />\n </label>\n </div>\n\n ${this.__isAdvancedMode || !isSimpleModeSupported\n ? html`\n <p class=\"leading-s text-tertiary\" ?hidden=${this.docsHref === null}>\n <foxy-i18n infer=\"\" key=\"advanced_mode_notice\"></foxy-i18n>\n <a\n target=\"_blank\"\n class=\"cursor-pointer rounded-s text-secondary font-medium hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${ifDefined(this.docsHref ?? void 0)}\n rel=\"nofollow noreferrer noopener\"\n >\n <foxy-i18n infer=\"\" key=\"api_reference_link\"></foxy-i18n>\n </a>\n </p>\n\n ${AdvancedGroup({\n disableOr: this.disableOr,\n disabled: this.disabled,\n readonly: this.readonly,\n rules: parsedValue,\n operators,\n onChange,\n options,\n t,\n })}\n `\n : this.__simpleModeOptions?.map(group => {\n return SimpleGroup({\n ...group,\n disabled: this.disabled,\n readonly: this.readonly,\n rules: parsedValue as Rule[],\n onChange,\n t,\n });\n })}\n </div>\n `;\n }\n\n private get __isSimpleModeSupported() {\n if (this.options === null) return false;\n if (this.options.length === 0) return false;\n\n const parsedValue = parse(this.value ?? '');\n if (parsedValue.length === 0) return true;\n\n return parsedValue.every(entry => {\n if (Array.isArray(entry)) return false;\n if (entry.operator === Operator.In) return false;\n if (entry.operator === Operator.IsDefined && entry.value !== 'true') return false;\n return !!(\n this.reservedPaths.includes(entry.path) ||\n this.options?.find(option => option.path === entry.path)\n );\n });\n }\n\n private get __simpleModeOptions() {\n return this.options?.reduce((result, option) => {\n const group = result.find(group => group.name === option.group?.name);\n\n if (group) {\n group.options.push(option);\n } else {\n result.push({ ...option.group, options: [option] });\n }\n\n return result;\n }, [] as { name?: string; layout?: string; options: Option[] }[]);\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Operator, Option, Rule } from '../types';
|
|
2
|
+
import type { TemplateResult } from 'lit-html';
|
|
3
|
+
import type { I18n } from '../../I18n/I18n';
|
|
4
|
+
declare type Params = {
|
|
5
|
+
operators: Operator[];
|
|
6
|
+
disableOr: boolean;
|
|
7
|
+
isNested?: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
readonly: boolean;
|
|
10
|
+
options: Option[];
|
|
11
|
+
rules: (Rule | Rule[])[];
|
|
12
|
+
t: I18n['t'];
|
|
13
|
+
onChange: (newValue: (Rule | Rule[])[]) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare function AdvancedGroup(params: Params): TemplateResult;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { AdvancedRule } from "./AdvancedRule.js";
|
|
2
|
+
import { repeat } from 'lit-html/directives/repeat';
|
|
3
|
+
import { html } from 'lit-html';
|
|
4
|
+
export function AdvancedGroup(params) {
|
|
5
|
+
const hasNestedRules = params.rules.some(v => Array.isArray(v));
|
|
6
|
+
const andDivider = html `<div class=${hasNestedRules ? 'h-xs' : 'mt-s'}></div>`;
|
|
7
|
+
const orDivider = html `
|
|
8
|
+
<div class="flex items-center h-s">
|
|
9
|
+
<div class="w-m text-center leading-none uppercase font-medium text-xs text-contrast-30">
|
|
10
|
+
${params.t('or')}
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
<div class="flex-1 border-t border-contrast-20"></div>
|
|
14
|
+
<div class="w-m ml-s flex-shrink-0"></div>
|
|
15
|
+
<div class="hidden sm-block w-m flex-shrink-0"></div>
|
|
16
|
+
</div>
|
|
17
|
+
`;
|
|
18
|
+
return html `
|
|
19
|
+
<div aria-label=${params.t('query_builder_group')}>
|
|
20
|
+
${repeat([...params.rules, null], (rule, ruleIndex) => String(ruleIndex), (rule, ruleIndex) => {
|
|
21
|
+
const divider = ruleIndex > 0 ? (params.isNested ? orDivider : andDivider) : '';
|
|
22
|
+
if (rule === null) {
|
|
23
|
+
return [
|
|
24
|
+
divider,
|
|
25
|
+
AdvancedRule({
|
|
26
|
+
...params,
|
|
27
|
+
rule: { path: '', operator: null, value: '' },
|
|
28
|
+
isFullSize: !params.isNested && params.rules.length === 0,
|
|
29
|
+
onChange: newValue => params.onChange([...params.rules, newValue]),
|
|
30
|
+
}),
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
if (Array.isArray(rule)) {
|
|
34
|
+
return [
|
|
35
|
+
divider,
|
|
36
|
+
html `
|
|
37
|
+
<div class="bg-contrast-10 rounded-t-l rounded-b-l p-s -m-s">
|
|
38
|
+
${AdvancedGroup({
|
|
39
|
+
...params,
|
|
40
|
+
rules: rule,
|
|
41
|
+
isNested: true,
|
|
42
|
+
onChange: newRule => {
|
|
43
|
+
const newValue = [...params.rules];
|
|
44
|
+
const typedNewRule = newRule;
|
|
45
|
+
newValue[ruleIndex] = newRule.length > 1 ? typedNewRule : typedNewRule[0];
|
|
46
|
+
params.onChange(newValue);
|
|
47
|
+
},
|
|
48
|
+
})}
|
|
49
|
+
</div>
|
|
50
|
+
`,
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
return [
|
|
54
|
+
divider,
|
|
55
|
+
AdvancedRule({
|
|
56
|
+
...params,
|
|
57
|
+
rule: rule,
|
|
58
|
+
onChange: newValue => {
|
|
59
|
+
const newRules = [...params.rules];
|
|
60
|
+
newRules[ruleIndex] = newValue;
|
|
61
|
+
params.onChange(newRules);
|
|
62
|
+
},
|
|
63
|
+
onDelete: () => {
|
|
64
|
+
const newRules = params.rules.filter((_, i) => i !== ruleIndex);
|
|
65
|
+
params.onChange(newRules);
|
|
66
|
+
},
|
|
67
|
+
onConvert: () => {
|
|
68
|
+
const newRules = [...params.rules];
|
|
69
|
+
newRules[ruleIndex] = [rule, { ...rule, operator: null, value: '' }];
|
|
70
|
+
params.onChange(newRules);
|
|
71
|
+
},
|
|
72
|
+
}),
|
|
73
|
+
];
|
|
74
|
+
})}
|
|
75
|
+
</div>
|
|
76
|
+
`;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=AdvancedGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedGroup.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/AdvancedGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Operator, Option, Rule } from '../types';\nimport type { TemplateResult } from 'lit-html';\nimport type { I18n } from '../../I18n/I18n';\n\nimport { AdvancedRule } from './AdvancedRule';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { html } from 'lit-html';\n\ntype Params = {\n operators: Operator[];\n disableOr: boolean;\n isNested?: boolean;\n disabled: boolean;\n readonly: boolean;\n options: Option[];\n rules: (Rule | Rule[])[];\n t: I18n['t'];\n onChange: (newValue: (Rule | Rule[])[]) => void;\n};\n\nexport function AdvancedGroup(params: Params): TemplateResult {\n const hasNestedRules = params.rules.some(v => Array.isArray(v));\n const andDivider = html`<div class=${hasNestedRules ? 'h-xs' : 'mt-s'}></div>`;\n const orDivider = html`\n <div class=\"flex items-center h-s\">\n <div class=\"w-m text-center leading-none uppercase font-medium text-xs text-contrast-30\">\n ${params.t('or')}\n </div>\n\n <div class=\"flex-1 border-t border-contrast-20\"></div>\n <div class=\"w-m ml-s flex-shrink-0\"></div>\n <div class=\"hidden sm-block w-m flex-shrink-0\"></div>\n </div>\n `;\n\n return html`\n <div aria-label=${params.t('query_builder_group')}>\n ${repeat(\n [...params.rules, null],\n (rule, ruleIndex) => String(ruleIndex),\n (rule, ruleIndex) => {\n const divider = ruleIndex > 0 ? (params.isNested ? orDivider : andDivider) : '';\n\n if (rule === null) {\n return [\n divider,\n AdvancedRule({\n ...params,\n rule: { path: '', operator: null, value: '' },\n isFullSize: !params.isNested && params.rules.length === 0,\n onChange: newValue => params.onChange([...params.rules, newValue]),\n }),\n ];\n }\n\n if (Array.isArray(rule)) {\n return [\n divider,\n html`\n <div class=\"bg-contrast-10 rounded-t-l rounded-b-l p-s -m-s\">\n ${AdvancedGroup({\n ...params,\n rules: rule,\n isNested: true,\n onChange: newRule => {\n const newValue = [...params.rules];\n const typedNewRule = newRule as Rule[];\n newValue[ruleIndex] = newRule.length > 1 ? typedNewRule : typedNewRule[0];\n params.onChange(newValue);\n },\n })}\n </div>\n `,\n ];\n }\n\n return [\n divider,\n AdvancedRule({\n ...params,\n rule: rule,\n onChange: newValue => {\n const newRules = [...params.rules];\n newRules[ruleIndex] = newValue;\n params.onChange(newRules);\n },\n onDelete: () => {\n const newRules = params.rules.filter((_, i) => i !== ruleIndex);\n params.onChange(newRules);\n },\n onConvert: () => {\n const newRules = [...params.rules];\n newRules[ruleIndex] = [rule, { ...rule, operator: null, value: '' }];\n params.onChange(newRules);\n },\n }),\n ];\n }\n )}\n </div>\n `;\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
label: string;
|
|
7
|
+
value: string;
|
|
8
|
+
t: I18n['t'];
|
|
9
|
+
onChange: (newValue: string) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare function AdvancedInput(params: Params): TemplateResult;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { classMap } from "../../../../utils/class-map.js";
|
|
2
|
+
import { html } from 'lit-html';
|
|
3
|
+
export function AdvancedInput(params) {
|
|
4
|
+
return html `
|
|
5
|
+
<label class="relative flex items-center cursor-text group text-tertiary">
|
|
6
|
+
<div class="relative flex-1 min-w-0 overflow-hidden">
|
|
7
|
+
<input
|
|
8
|
+
placeholder=${params.t(params.label)}
|
|
9
|
+
class=${classMap({
|
|
10
|
+
'bg-base relative flex h-m px-s font-medium w-full': true,
|
|
11
|
+
'text-body': !params.disabled && !params.readonly,
|
|
12
|
+
'text-disabled': params.disabled,
|
|
13
|
+
'text-secondary': params.readonly,
|
|
14
|
+
'flex max-w-full whitespace-nowrap': true,
|
|
15
|
+
'focus-outline-none': true,
|
|
16
|
+
})}
|
|
17
|
+
.value=${params.value}
|
|
18
|
+
?disabled=${params.disabled || params.readonly}
|
|
19
|
+
@input=${(evt) => {
|
|
20
|
+
const input = evt.currentTarget;
|
|
21
|
+
params.onChange(input.value);
|
|
22
|
+
}}
|
|
23
|
+
/>
|
|
24
|
+
</div>
|
|
25
|
+
|
|
26
|
+
<span
|
|
27
|
+
class=${classMap({
|
|
28
|
+
'font-tnum text-xs font-medium border border-current mr-s px-xs rounded-s': true,
|
|
29
|
+
'inline-block': !!params.value,
|
|
30
|
+
'sr-only': !params.value,
|
|
31
|
+
'text-body': !params.disabled && !params.readonly,
|
|
32
|
+
'text-disabled': params.disabled,
|
|
33
|
+
'text-secondary': params.readonly,
|
|
34
|
+
})}
|
|
35
|
+
>
|
|
36
|
+
${params.t(params.label)}
|
|
37
|
+
</span>
|
|
38
|
+
|
|
39
|
+
${params.disabled || params.readonly
|
|
40
|
+
? ''
|
|
41
|
+
: html `
|
|
42
|
+
<div
|
|
43
|
+
class="absolute inset-0 transition-colors bg-transparent group-hover-bg-contrast-5 pointer-events-none"
|
|
44
|
+
></div>
|
|
45
|
+
`}
|
|
46
|
+
</label>
|
|
47
|
+
`;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=AdvancedInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedInput.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/AdvancedInput.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,uCAAoC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAWhC,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,IAAI,CAAA;;;;wBAIW,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;kBAC5B,QAAQ,CAAC;QACf,mDAAmD,EAAE,IAAI;QACzD,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;QACjD,eAAe,EAAE,MAAM,CAAC,QAAQ;QAChC,gBAAgB,EAAE,MAAM,CAAC,QAAQ;QACjC,mCAAmC,EAAE,IAAI;QACzC,oBAAoB,EAAE,IAAI;KAC3B,CAAC;mBACO,MAAM,CAAC,KAAK;sBACT,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;mBACrC,CAAC,GAAU,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,GAAG,CAAC,aAAiC,CAAC;QACpD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;;;;;gBAKK,QAAQ,CAAC;QACf,0EAA0E,EAAE,IAAI;QAChF,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;QAC9B,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK;QACxB,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ;QACjD,eAAe,EAAE,MAAM,CAAC,QAAQ;QAChC,gBAAgB,EAAE,MAAM,CAAC,QAAQ;KAClC,CAAC;;UAEA,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;;;QAGxB,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,IAAI,CAAA;;;;WAIH;;GAER,CAAC;AACJ,CAAC","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { I18n } from '../../I18n/I18n';\n\nimport { classMap } from '../../../../utils/class-map';\nimport { html } from 'lit-html';\n\ntype Params = {\n disabled: boolean;\n readonly: boolean;\n label: string;\n value: string;\n t: I18n['t'];\n onChange: (newValue: string) => void;\n};\n\nexport function AdvancedInput(params: Params): TemplateResult {\n return html`\n <label class=\"relative flex items-center cursor-text group text-tertiary\">\n <div class=\"relative flex-1 min-w-0 overflow-hidden\">\n <input\n placeholder=${params.t(params.label)}\n class=${classMap({\n 'bg-base relative flex h-m px-s font-medium w-full': true,\n 'text-body': !params.disabled && !params.readonly,\n 'text-disabled': params.disabled,\n 'text-secondary': params.readonly,\n 'flex max-w-full whitespace-nowrap': true, // ugh safari\n 'focus-outline-none': true,\n })}\n .value=${params.value}\n ?disabled=${params.disabled || params.readonly}\n @input=${(evt: Event) => {\n const input = evt.currentTarget as HTMLInputElement;\n params.onChange(input.value);\n }}\n />\n </div>\n\n <span\n class=${classMap({\n 'font-tnum text-xs font-medium border border-current mr-s px-xs rounded-s': true,\n 'inline-block': !!params.value,\n 'sr-only': !params.value,\n 'text-body': !params.disabled && !params.readonly,\n 'text-disabled': params.disabled,\n 'text-secondary': params.readonly,\n })}\n >\n ${params.t(params.label)}\n </span>\n\n ${params.disabled || params.readonly\n ? ''\n : html`\n <div\n class=\"absolute inset-0 transition-colors bg-transparent group-hover-bg-contrast-5 pointer-events-none\"\n ></div>\n `}\n </label>\n `;\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { Rule } from '../types';
|
|
3
|
+
import type { I18n } from '../../I18n/I18n';
|
|
4
|
+
import { Operator } from '../types';
|
|
5
|
+
declare type Params = {
|
|
6
|
+
operators: Operator[];
|
|
7
|
+
readonly: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
rule: Rule;
|
|
10
|
+
t: I18n['t'];
|
|
11
|
+
onChange: (newValue: Rule) => void;
|
|
12
|
+
};
|
|
13
|
+
export declare function AdvancedOperatorToggle(params: Params): TemplateResult;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import * as icons from "../icons/index.js";
|
|
2
|
+
import { classMap } from "../../../../utils/class-map.js";
|
|
3
|
+
import { Operator } from "../types.js";
|
|
4
|
+
import { html } from 'lit-html';
|
|
5
|
+
export function AdvancedOperatorToggle(params) {
|
|
6
|
+
const { rule, operators, disabled, readonly, t, onChange } = params;
|
|
7
|
+
const { operator, value, path, name } = rule;
|
|
8
|
+
const operatorToIcon = {
|
|
9
|
+
[Operator.GreaterThan]: icons.operatorGreaterThan,
|
|
10
|
+
[Operator.GreaterThanOrEqual]: icons.operatorGreaterThanOrEqual,
|
|
11
|
+
[Operator.In]: icons.operatorIn,
|
|
12
|
+
[Operator.IsDefined]: icons.operatorIsDefined,
|
|
13
|
+
[Operator.LessThan]: icons.operatorLessThan,
|
|
14
|
+
[Operator.LessThanOrEqual]: icons.operatorLessThanOrEqual,
|
|
15
|
+
[Operator.Not]: icons.operatorNot,
|
|
16
|
+
};
|
|
17
|
+
const availableOperators = Object.values(Operator).filter(v => operators.includes(v) && (name ? true : v !== Operator.IsDefined));
|
|
18
|
+
const isDisabled = disabled || readonly || !availableOperators.length || !path;
|
|
19
|
+
return html `
|
|
20
|
+
<button
|
|
21
|
+
title=${t(`operator_${operator !== null && operator !== void 0 ? operator : 'equal'}`)}
|
|
22
|
+
class=${classMap({
|
|
23
|
+
'flex items-center justify-center w-m h-m transition-colors': true,
|
|
24
|
+
'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,
|
|
25
|
+
'text-body hover-bg-contrast-5': !isDisabled && availableOperators.length > 1,
|
|
26
|
+
'cursor-default text-tertiary': !isDisabled && availableOperators.length <= 1,
|
|
27
|
+
'text-disabled cursor-default': isDisabled,
|
|
28
|
+
})}
|
|
29
|
+
?disabled=${isDisabled || availableOperators.length <= 1}
|
|
30
|
+
@click=${() => {
|
|
31
|
+
var _a;
|
|
32
|
+
const newOperatorIndex = operator ? availableOperators.indexOf(operator) : -1;
|
|
33
|
+
const newOperator = (_a = availableOperators[newOperatorIndex + 1]) !== null && _a !== void 0 ? _a : null;
|
|
34
|
+
onChange({ ...rule, operator: newOperator, value: value });
|
|
35
|
+
}}
|
|
36
|
+
>
|
|
37
|
+
<div aria-hidden="true">${operator ? operatorToIcon[operator] : icons.operatorEqual}</div>
|
|
38
|
+
</button>
|
|
39
|
+
`;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=AdvancedOperatorToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedOperatorToggle.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/AdvancedOperatorToggle.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,0BAAuB;AAExC,OAAO,EAAE,QAAQ,EAAE,uCAAoC;AACvD,OAAO,EAAE,QAAQ,EAAE,oBAAiB;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAWhC,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACpE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE7C,MAAM,cAAc,GAAsC;QACxD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,mBAAmB;QACjD,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,0BAA0B;QAC/D,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU;QAC/B,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,iBAAiB;QAC7C,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,gBAAgB;QAC3C,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,uBAAuB;QACzD,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,WAAW;KAClC,CAAC;IAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CACvD,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CACvE,CAAC;IAEF,MAAM,UAAU,GAAG,QAAQ,IAAI,QAAQ,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC;IAE/E,OAAO,IAAI,CAAA;;cAEC,CAAC,CAAC,YAAY,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,EAAE,CAAC;cACpC,QAAQ,CAAC;QACf,4DAA4D,EAAE,IAAI;QAClE,wEAAwE,EAAE,IAAI;QAC9E,+BAA+B,EAAE,CAAC,UAAU,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC;QAC7E,8BAA8B,EAAE,CAAC,UAAU,IAAI,kBAAkB,CAAC,MAAM,IAAI,CAAC;QAC7E,8BAA8B,EAAE,UAAU;KAC3C,CAAC;kBACU,UAAU,IAAI,kBAAkB,CAAC,MAAM,IAAI,CAAC;eAC/C,GAAG,EAAE;;QACZ,MAAM,gBAAgB,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,WAAW,SAAG,kBAAkB,CAAC,gBAAgB,GAAG,CAAC,CAAC,mCAAI,IAAI,CAAC;QACrE,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;;gCAEyB,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa;;GAEtF,CAAC;AACJ,CAAC","sourcesContent":["import type { SVGTemplateResult, TemplateResult } from 'lit-html';\nimport type { Rule } from '../types';\nimport type { I18n } from '../../I18n/I18n';\n\nimport * as icons from '../icons/index';\n\nimport { classMap } from '../../../../utils/class-map';\nimport { Operator } from '../types';\nimport { html } from 'lit-html';\n\ntype Params = {\n operators: Operator[];\n readonly: boolean;\n disabled: boolean;\n rule: Rule;\n t: I18n['t'];\n onChange: (newValue: Rule) => void;\n};\n\nexport function AdvancedOperatorToggle(params: Params): TemplateResult {\n const { rule, operators, disabled, readonly, t, onChange } = params;\n const { operator, value, path, name } = rule;\n\n const operatorToIcon: Record<string, SVGTemplateResult> = {\n [Operator.GreaterThan]: icons.operatorGreaterThan,\n [Operator.GreaterThanOrEqual]: icons.operatorGreaterThanOrEqual,\n [Operator.In]: icons.operatorIn,\n [Operator.IsDefined]: icons.operatorIsDefined,\n [Operator.LessThan]: icons.operatorLessThan,\n [Operator.LessThanOrEqual]: icons.operatorLessThanOrEqual,\n [Operator.Not]: icons.operatorNot,\n };\n\n const availableOperators = Object.values(Operator).filter(\n v => operators.includes(v) && (name ? true : v !== Operator.IsDefined)\n );\n\n const isDisabled = disabled || readonly || !availableOperators.length || !path;\n\n return html`\n <button\n title=${t(`operator_${operator ?? 'equal'}`)}\n class=${classMap({\n 'flex items-center justify-center w-m h-m transition-colors': true,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-body hover-bg-contrast-5': !isDisabled && availableOperators.length > 1,\n 'cursor-default text-tertiary': !isDisabled && availableOperators.length <= 1,\n 'text-disabled cursor-default': isDisabled,\n })}\n ?disabled=${isDisabled || availableOperators.length <= 1}\n @click=${() => {\n const newOperatorIndex = operator ? availableOperators.indexOf(operator) : -1;\n const newOperator = availableOperators[newOperatorIndex + 1] ?? null;\n onChange({ ...rule, operator: newOperator, value: value });\n }}\n >\n <div aria-hidden=\"true\">${operator ? operatorToIcon[operator] : icons.operatorEqual}</div>\n </button>\n `;\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TemplateResult } from 'lit-html';
|
|
2
|
+
import type { Operator, Rule } from '../types';
|
|
3
|
+
import type { I18n } from '../../I18n/I18n';
|
|
4
|
+
declare type Params = {
|
|
5
|
+
isFullSize?: boolean;
|
|
6
|
+
isNested?: boolean;
|
|
7
|
+
operators: Operator[];
|
|
8
|
+
disableOr: boolean;
|
|
9
|
+
readonly: boolean;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
rule: Rule;
|
|
12
|
+
t: I18n['t'];
|
|
13
|
+
onConvert?: () => void;
|
|
14
|
+
onDelete?: () => void;
|
|
15
|
+
onChange: (newValue: Rule) => void;
|
|
16
|
+
};
|
|
17
|
+
export declare function AdvancedRule(params: Params): TemplateResult;
|
|
18
|
+
export {};
|
|
@@ -1,39 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import { html } from 'lit-html';
|
|
4
|
-
import { BooleanValue } from "./BooleanValue.js";
|
|
5
|
-
import { IsDefinedValue } from "./IsDefinedValue.js";
|
|
6
|
-
import { ListValue } from "./ListValue.js";
|
|
7
|
-
import { Name } from "./Name.js";
|
|
8
|
-
import { OperatorToggle } from "./OperatorToggle.js";
|
|
9
|
-
import { Path } from "./Path.js";
|
|
10
|
-
import { RangeValue } from "./RangeValue.js";
|
|
11
|
-
import { SingleValue } from "./SingleValue.js";
|
|
1
|
+
import { AdvancedOperatorToggle } from "./AdvancedOperatorToggle.js";
|
|
2
|
+
import { AdvancedInput } from "./AdvancedInput.js";
|
|
12
3
|
import { classMap } from "../../../../utils/class-map.js";
|
|
13
|
-
|
|
4
|
+
import { field } from "../icons/index.js";
|
|
5
|
+
import { html } from 'lit-html';
|
|
6
|
+
export function AdvancedRule(params) {
|
|
14
7
|
var _a, _b;
|
|
15
|
-
const {
|
|
16
|
-
const
|
|
17
|
-
const type = (_b = option === null || option === void 0 ? void 0 : option.type) !== null && _b !== void 0 ? _b : Type.Any;
|
|
18
|
-
const operator = parsedValue.operator;
|
|
19
|
-
const componentParams = {
|
|
20
|
-
parsedValue: parsedValue,
|
|
21
|
-
operators: params.operators,
|
|
22
|
-
disabled,
|
|
23
|
-
readonly,
|
|
24
|
-
options,
|
|
25
|
-
option,
|
|
26
|
-
t,
|
|
27
|
-
onChange,
|
|
28
|
-
};
|
|
29
|
-
const typeToIcon = {
|
|
30
|
-
[Type.Attribute]: icons.typeAttribute,
|
|
31
|
-
[Type.Boolean]: icons.typeBoolean,
|
|
32
|
-
[Type.Number]: icons.typeNumber,
|
|
33
|
-
[Type.String]: icons.typeString,
|
|
34
|
-
[Type.Date]: icons.typeDate,
|
|
35
|
-
[Type.Any]: icons.typeAny,
|
|
36
|
-
};
|
|
8
|
+
const { isFullSize, isNested, disableOr, readonly, disabled, rule } = params;
|
|
9
|
+
const { t, onConvert, onDelete, onChange } = params;
|
|
37
10
|
return html `
|
|
38
11
|
<div class="flex items-center space-x-s" aria-label=${t('query_builder_rule')}>
|
|
39
12
|
<div
|
|
@@ -47,42 +20,60 @@ export function Rule(params) {
|
|
|
47
20
|
>
|
|
48
21
|
<div class="bg-contrast-10">
|
|
49
22
|
<div class="grid gap-1px grid-vertical sm-grid-horizontal">
|
|
50
|
-
<div class="bg-base"
|
|
23
|
+
<div class="bg-base">
|
|
51
24
|
<div
|
|
25
|
+
aria-hidden="true"
|
|
52
26
|
class=${classMap({
|
|
53
|
-
'w-m h-m': true,
|
|
54
27
|
'text-tertiary': !readonly && !disabled,
|
|
55
28
|
'text-disabled': readonly || disabled,
|
|
29
|
+
'w-m h-m': true,
|
|
56
30
|
})}
|
|
57
|
-
aria-hidden="true"
|
|
58
31
|
>
|
|
59
|
-
${
|
|
32
|
+
${field}
|
|
60
33
|
</div>
|
|
61
34
|
</div>
|
|
62
35
|
|
|
63
36
|
<div class="bg-base">
|
|
64
|
-
${
|
|
37
|
+
${rule.path && rule.name
|
|
65
38
|
? html `
|
|
66
39
|
<div class="bg-contrast-10 grid gap-1px grid-cols-1 sm-grid-cols-2">
|
|
67
|
-
<div class="bg-base"
|
|
68
|
-
|
|
40
|
+
<div class="bg-base">
|
|
41
|
+
${AdvancedInput({
|
|
42
|
+
...params,
|
|
43
|
+
value: rule.path,
|
|
44
|
+
label: 'field',
|
|
45
|
+
onChange: newPath => {
|
|
46
|
+
onChange({ operator: null, value: '', path: newPath });
|
|
47
|
+
},
|
|
48
|
+
})}
|
|
49
|
+
</div>
|
|
50
|
+
<div class="bg-base">
|
|
51
|
+
${AdvancedInput({
|
|
52
|
+
...params,
|
|
53
|
+
value: (_a = rule.name) !== null && _a !== void 0 ? _a : '',
|
|
54
|
+
label: 'name',
|
|
55
|
+
onChange: newValue => onChange({ ...rule, name: newValue }),
|
|
56
|
+
})}
|
|
57
|
+
</div>
|
|
69
58
|
</div>
|
|
70
59
|
`
|
|
71
|
-
:
|
|
60
|
+
: AdvancedInput({
|
|
61
|
+
...params,
|
|
62
|
+
value: rule.path,
|
|
63
|
+
label: 'field',
|
|
64
|
+
onChange: newPath => onChange({ operator: null, value: '', path: newPath }),
|
|
65
|
+
})}
|
|
72
66
|
</div>
|
|
73
67
|
|
|
74
|
-
<div class="bg-base">${
|
|
75
|
-
|
|
68
|
+
<div class="bg-base">${AdvancedOperatorToggle(params)}</div>
|
|
76
69
|
<div class="bg-base">
|
|
77
|
-
${
|
|
78
|
-
|
|
79
|
-
:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
? RangeValue(componentParams)
|
|
85
|
-
: SingleValue(componentParams)}
|
|
70
|
+
${AdvancedInput({
|
|
71
|
+
...params,
|
|
72
|
+
disabled: disabled || !rule.path,
|
|
73
|
+
value: (_b = rule.value) !== null && _b !== void 0 ? _b : '',
|
|
74
|
+
label: 'value',
|
|
75
|
+
onChange: newValue => onChange({ ...rule, value: newValue }),
|
|
76
|
+
})}
|
|
86
77
|
</div>
|
|
87
78
|
</div>
|
|
88
79
|
</div>
|
|
@@ -103,9 +94,9 @@ export function Rule(params) {
|
|
|
103
94
|
'text-secondary hover-bg-contrast-5 hover-text-error': !disabled,
|
|
104
95
|
'cursor-default text-disabled': disabled,
|
|
105
96
|
'focus-outline-none focus-ring-2 ring-primary-50': true,
|
|
106
|
-
'opacity-0 pointer-events-none': !
|
|
97
|
+
'opacity-0 pointer-events-none': !rule.path,
|
|
107
98
|
})}
|
|
108
|
-
?disabled=${disabled || readonly || !
|
|
99
|
+
?disabled=${disabled || readonly || !rule.path}
|
|
109
100
|
@click=${onDelete}
|
|
110
101
|
>
|
|
111
102
|
<iron-icon
|
|
@@ -123,10 +114,10 @@ export function Rule(params) {
|
|
|
123
114
|
'text-success hover-bg-contrast-5': !disabled,
|
|
124
115
|
'cursor-default text-disabled': disabled,
|
|
125
116
|
'focus-outline-none focus-ring-2 ring-primary-50': true,
|
|
126
|
-
'opacity-0 pointer-events-none': !
|
|
117
|
+
'opacity-0 pointer-events-none': !rule.path || !!isNested || disableOr,
|
|
127
118
|
})}
|
|
128
|
-
?disabled=${disabled || readonly || !
|
|
129
|
-
?hidden=${
|
|
119
|
+
?disabled=${disabled || readonly || !rule.path || !!isNested || disableOr}
|
|
120
|
+
?hidden=${disableOr}
|
|
130
121
|
@click=${onConvert}
|
|
131
122
|
>
|
|
132
123
|
<iron-icon
|
|
@@ -140,4 +131,4 @@ export function Rule(params) {
|
|
|
140
131
|
</div>
|
|
141
132
|
`;
|
|
142
133
|
}
|
|
143
|
-
//# sourceMappingURL=
|
|
134
|
+
//# sourceMappingURL=AdvancedRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdvancedRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/AdvancedRule.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Operator, Rule } from '../types';\nimport type { I18n } from '../../I18n/I18n';\n\nimport { AdvancedOperatorToggle } from './AdvancedOperatorToggle';\nimport { AdvancedInput } from './AdvancedInput';\nimport { classMap } from '../../../../utils/class-map';\nimport { field } from '../icons/index';\nimport { html } from 'lit-html';\n\ntype Params = {\n isFullSize?: boolean;\n isNested?: boolean;\n operators: Operator[];\n disableOr: boolean;\n readonly: boolean;\n disabled: boolean;\n rule: Rule;\n t: I18n['t'];\n onConvert?: () => void;\n onDelete?: () => void;\n onChange: (newValue: Rule) => void;\n};\n\nexport function AdvancedRule(params: Params): TemplateResult {\n const { isFullSize, isNested, disableOr, readonly, disabled, rule } = params;\n const { t, onConvert, onDelete, onChange } = params;\n\n return html`\n <div class=\"flex items-center space-x-s\" aria-label=${t('query_builder_rule')}>\n <div\n class=${classMap({\n 'flex-1 bg-base rounded overflow-hidden border': true,\n 'border-contrast-10': !isNested && !readonly,\n 'border-contrast-50': !!isNested || readonly,\n 'border-dashed': readonly,\n 'border-solid': !readonly,\n })}\n >\n <div class=\"bg-contrast-10\">\n <div class=\"grid gap-1px grid-vertical sm-grid-horizontal\">\n <div class=\"bg-base\">\n <div\n aria-hidden=\"true\"\n class=${classMap({\n 'text-tertiary': !readonly && !disabled,\n 'text-disabled': readonly || disabled,\n 'w-m h-m': true,\n })}\n >\n ${field}\n </div>\n </div>\n\n <div class=\"bg-base\">\n ${rule.path && rule.name\n ? html`\n <div class=\"bg-contrast-10 grid gap-1px grid-cols-1 sm-grid-cols-2\">\n <div class=\"bg-base\">\n ${AdvancedInput({\n ...params,\n value: rule.path,\n label: 'field',\n onChange: newPath => {\n onChange({ operator: null, value: '', path: newPath });\n },\n })}\n </div>\n <div class=\"bg-base\">\n ${AdvancedInput({\n ...params,\n value: rule.name ?? '',\n label: 'name',\n onChange: newValue => onChange({ ...rule, name: newValue }),\n })}\n </div>\n </div>\n `\n : AdvancedInput({\n ...params,\n value: rule.path,\n label: 'field',\n onChange: newPath => onChange({ operator: null, value: '', path: newPath }),\n })}\n </div>\n\n <div class=\"bg-base\">${AdvancedOperatorToggle(params)}</div>\n <div class=\"bg-base\">\n ${AdvancedInput({\n ...params,\n disabled: disabled || !rule.path,\n value: rule.value ?? '',\n label: 'value',\n onChange: newValue => onChange({ ...rule, value: newValue }),\n })}\n </div>\n </div>\n </div>\n </div>\n\n <div\n class=${classMap({\n '-mr-s self-start flex-col sm-flex-row flex-shrink-0 items-center': true,\n 'border-t border-b border-transparent divide-y divide-transparent': true,\n 'hidden': !!isFullSize || readonly,\n 'flex': !isFullSize,\n })}\n >\n <button\n aria-label=${t('delete')}\n class=${classMap({\n 'box-content flex w-m h-m rounded-full transition-colors': true,\n 'text-secondary hover-bg-contrast-5 hover-text-error': !disabled,\n 'cursor-default text-disabled': disabled,\n 'focus-outline-none focus-ring-2 ring-primary-50': true,\n 'opacity-0 pointer-events-none': !rule.path,\n })}\n ?disabled=${disabled || readonly || !rule.path}\n @click=${onDelete}\n >\n <iron-icon\n aria-hidden=\"true\"\n class=\"m-auto icon-inline text-xl\"\n icon=\"icons:remove-circle-outline\"\n >\n </iron-icon>\n </button>\n\n <button\n aria-label=${t('add_or_clause')}\n class=${classMap({\n 'box-content flex w-m h-m rounded-full transition-colors': true,\n 'text-success hover-bg-contrast-5': !disabled,\n 'cursor-default text-disabled': disabled,\n 'focus-outline-none focus-ring-2 ring-primary-50': true,\n 'opacity-0 pointer-events-none': !rule.path || !!isNested || disableOr,\n })}\n ?disabled=${disabled || readonly || !rule.path || !!isNested || disableOr}\n ?hidden=${disableOr}\n @click=${onConvert}\n >\n <iron-icon\n aria-hidden=\"true\"\n class=\"m-auto icon-inline text-xl\"\n icon=\"icons:add-circle-outline\"\n >\n </iron-icon>\n </button>\n </div>\n </div>\n `;\n}\n"]}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { SimpleSelect } from "./SimpleSelect.js";
|
|
2
|
+
import { SimpleInput } from "./SimpleInput.js";
|
|
3
|
+
import { Operator } from "../types.js";
|
|
4
|
+
import { classMap } from "../../../../utils/class-map.js";
|
|
5
|
+
import { html } from 'lit-html';
|
|
6
|
+
export const SimpleAttributeRule = params => {
|
|
7
|
+
var _a;
|
|
8
|
+
const { operator, value, name } = (_a = params.rule) !== null && _a !== void 0 ? _a : {};
|
|
9
|
+
const { disabled, readonly, t } = params;
|
|
10
|
+
const not = Operator.Not;
|
|
11
|
+
const labelClass = classMap({ 'text-disabled': disabled, 'text-contrast-80': readonly });
|
|
12
|
+
const displayedOperator = operator === null ? 'equal' : operator === not ? not : null;
|
|
13
|
+
return html `
|
|
14
|
+
<foxy-i18n class=${labelClass} infer="" key="name"></foxy-i18n>
|
|
15
|
+
|
|
16
|
+
${SimpleInput({
|
|
17
|
+
layout: 'auto-grow',
|
|
18
|
+
value: name || '',
|
|
19
|
+
label: 'name',
|
|
20
|
+
type: 'text',
|
|
21
|
+
disabled,
|
|
22
|
+
readonly,
|
|
23
|
+
t,
|
|
24
|
+
onChange: newValue => {
|
|
25
|
+
if (!newValue)
|
|
26
|
+
return params.onChange(null);
|
|
27
|
+
if (value) {
|
|
28
|
+
params.onChange({ name: newValue });
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
params.onChange({ name: newValue, operator: Operator.IsDefined, value: 'true' });
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
})}
|
|
35
|
+
|
|
36
|
+
<foxy-i18n class=${labelClass} infer="" key="value"></foxy-i18n>
|
|
37
|
+
|
|
38
|
+
${SimpleSelect({
|
|
39
|
+
current: {
|
|
40
|
+
label: displayedOperator ? `operator_${displayedOperator}` : 'value_any',
|
|
41
|
+
value: displayedOperator !== null && displayedOperator !== void 0 ? displayedOperator : 'any',
|
|
42
|
+
},
|
|
43
|
+
options: [
|
|
44
|
+
{ label: 'value_any', value: 'any' },
|
|
45
|
+
{ label: 'operator_equal', value: 'equal' },
|
|
46
|
+
{ label: 'operator_not', value: not },
|
|
47
|
+
],
|
|
48
|
+
disabled,
|
|
49
|
+
readonly,
|
|
50
|
+
t,
|
|
51
|
+
onChange: newValue => {
|
|
52
|
+
if (newValue === 'any') {
|
|
53
|
+
params.onChange(name ? { operator: Operator.IsDefined, value: 'true' } : null);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return params.onChange({
|
|
57
|
+
operator: newValue === 'equal' ? null : newValue,
|
|
58
|
+
value: operator === Operator.IsDefined ? '' : value !== null && value !== void 0 ? value : '',
|
|
59
|
+
name: name !== null && name !== void 0 ? name : '',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
})}
|
|
64
|
+
${value === undefined || operator === Operator.IsDefined
|
|
65
|
+
? ''
|
|
66
|
+
: SimpleInput({
|
|
67
|
+
layout: 'auto-grow',
|
|
68
|
+
label: 'value',
|
|
69
|
+
value: value || '',
|
|
70
|
+
type: 'text',
|
|
71
|
+
disabled,
|
|
72
|
+
readonly,
|
|
73
|
+
t,
|
|
74
|
+
onChange: newValue => params.onChange({ value: newValue }),
|
|
75
|
+
})}
|
|
76
|
+
`;
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=SimpleAttributeRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleAttributeRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleAttributeRule.ts"],"names":[],"mappings":"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","sourcesContent":["import type { SimpleRuleComponent } from '../types';\n\nimport { SimpleSelect } from './SimpleSelect';\nimport { SimpleInput } from './SimpleInput';\nimport { Operator } from '../types';\nimport { classMap } from '../../../../utils/class-map';\nimport { html } from 'lit-html';\n\nexport const SimpleAttributeRule: SimpleRuleComponent = params => {\n const { operator, value, name } = params.rule ?? {};\n const { disabled, readonly, t } = params;\n\n const not = Operator.Not;\n const labelClass = classMap({ 'text-disabled': disabled, 'text-contrast-80': readonly });\n const displayedOperator = operator === null ? 'equal' : operator === not ? not : null;\n\n return html`\n <foxy-i18n class=${labelClass} infer=\"\" key=\"name\"></foxy-i18n>\n\n ${SimpleInput({\n layout: 'auto-grow',\n value: name || '',\n label: 'name',\n type: 'text',\n disabled,\n readonly,\n t,\n onChange: newValue => {\n if (!newValue) return params.onChange(null);\n if (value) {\n params.onChange({ name: newValue });\n } else {\n params.onChange({ name: newValue, operator: Operator.IsDefined, value: 'true' });\n }\n },\n })}\n\n <foxy-i18n class=${labelClass} infer=\"\" key=\"value\"></foxy-i18n>\n\n ${SimpleSelect({\n current: {\n label: displayedOperator ? `operator_${displayedOperator}` : 'value_any',\n value: displayedOperator ?? 'any',\n },\n options: [\n { label: 'value_any', value: 'any' },\n { label: 'operator_equal', value: 'equal' },\n { label: 'operator_not', value: not },\n ],\n disabled,\n readonly,\n t,\n onChange: newValue => {\n if (newValue === 'any') {\n params.onChange(name ? { operator: Operator.IsDefined, value: 'true' } : null);\n } else {\n return params.onChange({\n operator: newValue === 'equal' ? null : (newValue as Operator),\n value: operator === Operator.IsDefined ? '' : value ?? '',\n name: name ?? '',\n });\n }\n },\n })}\n ${value === undefined || operator === Operator.IsDefined\n ? ''\n : SimpleInput({\n layout: 'auto-grow',\n label: 'value',\n value: value || '',\n type: 'text',\n disabled,\n readonly,\n t,\n onChange: newValue => params.onChange({ value: newValue }),\n })}\n `;\n};\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SimpleSelect } from "./SimpleSelect.js";
|
|
2
|
+
export const SimpleBooleanRule = params => {
|
|
3
|
+
var _a;
|
|
4
|
+
const options = [
|
|
5
|
+
{ label: 'value_any', value: 'any' },
|
|
6
|
+
{ label: `${params.option.label}_true`, value: 'true' },
|
|
7
|
+
{ label: `${params.option.label}_false`, value: 'false' },
|
|
8
|
+
];
|
|
9
|
+
return SimpleSelect({
|
|
10
|
+
...params,
|
|
11
|
+
onChange: newValue => params.onChange(newValue === 'any' ? null : { value: newValue }),
|
|
12
|
+
current: (_a = options.find(o => { var _a; return o.value === ((_a = params.rule) === null || _a === void 0 ? void 0 : _a.value); })) !== null && _a !== void 0 ? _a : options[0],
|
|
13
|
+
options,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=SimpleBooleanRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleBooleanRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleBooleanRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAwB,MAAM,CAAC,EAAE;;IAC7D,MAAM,OAAO,GAAG;QACd,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;QACpC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;QACvD,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;KAC1D,CAAC;IAEF,OAAO,YAAY,CAAC;QAClB,GAAG,MAAM;QACT,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACtF,OAAO,QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,CAAC,CAAC,KAAK,YAAK,MAAM,CAAC,IAAI,0CAAE,KAAK,CAAA,CAAA,EAAA,CAAC,mCAAI,OAAO,CAAC,CAAC,CAAC;QACxE,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import type { SimpleRuleComponent } from '../types';\n\nimport { SimpleSelect } from './SimpleSelect';\n\nexport const SimpleBooleanRule: SimpleRuleComponent = params => {\n const options = [\n { label: 'value_any', value: 'any' },\n { label: `${params.option.label}_true`, value: 'true' },\n { label: `${params.option.label}_false`, value: 'false' },\n ];\n\n return SimpleSelect({\n ...params,\n onChange: newValue => params.onChange(newValue === 'any' ? null : { value: newValue }),\n current: options.find(o => o.value === params.rule?.value) ?? options[0],\n options,\n });\n};\n"]}
|