@foxy.io/elements 1.43.0-beta.1 → 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.
Files changed (366) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +5 -5
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +2 -2
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-api.js +1 -1
  30. package/dist/cdn/foxy-customer-card.js +1 -1
  31. package/dist/cdn/foxy-customer-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  33. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  34. package/dist/cdn/foxy-customer-portal.js +13 -13
  35. package/dist/cdn/foxy-customer.js +5 -5
  36. package/dist/cdn/foxy-customers-table.js +1 -1
  37. package/dist/cdn/foxy-discount-builder.js +1 -1
  38. package/dist/cdn/foxy-discount-card.js +1 -1
  39. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  40. package/dist/cdn/foxy-donation.js +1 -1
  41. package/dist/cdn/foxy-downloadable-card.js +1 -1
  42. package/dist/cdn/foxy-downloadable-form.js +2 -2
  43. package/dist/cdn/foxy-email-template-card.js +1 -1
  44. package/dist/cdn/foxy-email-template-form.js +1 -1
  45. package/dist/cdn/foxy-error-entry-card.js +1 -1
  46. package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
  47. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  48. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  49. package/dist/cdn/foxy-form-dialog.js +1 -1
  50. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  51. package/dist/cdn/foxy-gift-card-card.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  55. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  56. package/dist/cdn/foxy-gift-card-form.js +1 -1
  57. package/dist/cdn/foxy-i18n-editor.js +3 -3
  58. package/dist/cdn/foxy-i18n.js +1 -1
  59. package/dist/cdn/foxy-integration-card.js +1 -1
  60. package/dist/cdn/foxy-integration-form.js +1 -1
  61. package/dist/cdn/foxy-item-card.js +1 -1
  62. package/dist/cdn/foxy-item-category-card.js +1 -1
  63. package/dist/cdn/foxy-item-category-form.js +1 -1
  64. package/dist/cdn/foxy-item-form.js +1 -1
  65. package/dist/cdn/foxy-item-option-card.js +1 -1
  66. package/dist/cdn/foxy-item-option-form.js +1 -1
  67. package/dist/cdn/foxy-items-form.js +1 -1
  68. package/dist/cdn/foxy-native-integration-card.js +1 -1
  69. package/dist/cdn/foxy-native-integration-form.js +1 -1
  70. package/dist/cdn/foxy-nucleon-element.js +1 -1
  71. package/dist/cdn/foxy-pagination.js +1 -1
  72. package/dist/cdn/foxy-passkey-card.js +1 -1
  73. package/dist/cdn/foxy-passkey-form.js +1 -1
  74. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  75. package/dist/cdn/foxy-payment-card.js +1 -1
  76. package/dist/cdn/foxy-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  78. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  81. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  82. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  83. package/dist/cdn/foxy-payments-api.js +1 -1
  84. package/dist/cdn/foxy-query-builder.js +1 -1
  85. package/dist/cdn/foxy-report-form.js +2 -2
  86. package/dist/cdn/foxy-reports-table.js +6 -6
  87. package/dist/cdn/foxy-shipment-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  90. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  91. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  92. package/dist/cdn/foxy-sign-in-form.js +1 -1
  93. package/dist/cdn/foxy-spinner.js +2 -2
  94. package/dist/cdn/foxy-store-card.js +1 -1
  95. package/dist/cdn/foxy-store-form.js +1 -1
  96. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  97. package/dist/cdn/foxy-subscription-card.js +1 -1
  98. package/dist/cdn/foxy-subscription-form.js +1 -1
  99. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  100. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  101. package/dist/cdn/foxy-table.js +1 -1
  102. package/dist/cdn/foxy-tax-card.js +1 -1
  103. package/dist/cdn/foxy-tax-form.js +1 -1
  104. package/dist/cdn/foxy-template-config-form.js +1 -1
  105. package/dist/cdn/foxy-template-form.js +1 -1
  106. package/dist/cdn/foxy-template-set-card.js +1 -1
  107. package/dist/cdn/foxy-template-set-form.js +1 -1
  108. package/dist/cdn/foxy-transaction-card.js +1 -1
  109. package/dist/cdn/foxy-transaction.js +1 -1
  110. package/dist/cdn/foxy-transactions-table.js +7 -7
  111. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  112. package/dist/cdn/foxy-user-card.js +1 -1
  113. package/dist/cdn/foxy-user-form.js +1 -1
  114. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  115. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  116. package/dist/cdn/foxy-users-table.js +1 -1
  117. package/dist/cdn/foxy-webhook-card.js +1 -1
  118. package/dist/cdn/foxy-webhook-form.js +1 -1
  119. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  120. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  121. package/dist/cdn/{shared-41208627.js → shared-02acac7f.js} +1 -1
  122. package/dist/cdn/{shared-ad60e8d1.js → shared-03b67a3d.js} +2 -2
  123. package/dist/cdn/{shared-cc4b3b42.js → shared-049295b7.js} +1 -1
  124. package/dist/cdn/{shared-2828fcbf.js → shared-0584a904.js} +1 -1
  125. package/dist/cdn/{shared-9342ca50.js → shared-0993c2f5.js} +1 -1
  126. package/dist/cdn/{shared-2aa23b5f.js → shared-0ea750af.js} +1 -1
  127. package/dist/cdn/shared-109cfbba.js +1 -0
  128. package/dist/cdn/{shared-dd303282.js → shared-10c8f21c.js} +1 -1
  129. package/dist/cdn/{shared-eb963ba3.js → shared-12973e93.js} +1 -1
  130. package/dist/cdn/{shared-9c010e0a.js → shared-12bab9de.js} +1 -1
  131. package/dist/cdn/shared-13ba9f3a.js +15 -0
  132. package/dist/cdn/{shared-fed829c2.js → shared-19b43f73.js} +1 -1
  133. package/dist/cdn/{shared-264e8301.js → shared-1af6aa1d.js} +1 -1
  134. package/dist/cdn/{shared-94716ec1.js → shared-1b627cc5.js} +1 -1
  135. package/dist/cdn/{shared-0d0585dc.js → shared-1c252319.js} +1 -1
  136. package/dist/cdn/shared-1da47f50.js +1 -0
  137. package/dist/cdn/shared-2061be9a.js +1 -0
  138. package/dist/cdn/{shared-6033e09d.js → shared-206d3153.js} +1 -1
  139. package/dist/cdn/{shared-70e6f32c.js → shared-21a445d9.js} +1 -1
  140. package/dist/cdn/{shared-9171c265.js → shared-2557c0c4.js} +1 -1
  141. package/dist/cdn/{shared-bedc5e82.js → shared-264bea6b.js} +1 -1
  142. package/dist/cdn/{shared-5f8c01f8.js → shared-2c00e6b1.js} +1 -1
  143. package/dist/cdn/{shared-1cd02e50.js → shared-2db6b377.js} +1 -1
  144. package/dist/cdn/{shared-9b9d5ff1.js → shared-2ebcaabc.js} +1 -1
  145. package/dist/cdn/{shared-4b393539.js → shared-2f17b0fa.js} +1 -1
  146. package/dist/cdn/shared-2f1ced90.js +1 -0
  147. package/dist/cdn/{shared-ffd5932d.js → shared-3558bfae.js} +1 -1
  148. package/dist/cdn/{shared-5e4a03d1.js → shared-37869bac.js} +1 -1
  149. package/dist/cdn/{shared-99a8889a.js → shared-3b4148ad.js} +1 -1
  150. package/dist/cdn/{shared-2cb397e4.js → shared-3e0b2588.js} +1 -1
  151. package/dist/cdn/{shared-567ba8ae.js → shared-3e3c5095.js} +1 -1
  152. package/dist/cdn/{shared-656a46f7.js → shared-3ffa26c1.js} +2 -2
  153. package/dist/cdn/{shared-0224f0b8.js → shared-457789d7.js} +1 -1
  154. package/dist/cdn/{shared-e88763ec.js → shared-5700fbfd.js} +1 -1
  155. package/dist/cdn/shared-5905fca4.js +1 -0
  156. package/dist/cdn/{shared-cae7a43b.js → shared-5aacbf1f.js} +1 -1
  157. package/dist/cdn/{shared-6962f117.js → shared-6540a584.js} +1 -1
  158. package/dist/cdn/shared-65b2760f.js +1 -0
  159. package/dist/cdn/{shared-a507d54f.js → shared-68d1075b.js} +4 -4
  160. package/dist/cdn/{shared-89d4000a.js → shared-6a65acb4.js} +1 -1
  161. package/dist/cdn/{shared-d7d949bc.js → shared-6ebe5ef5.js} +1 -1
  162. package/dist/cdn/{shared-a6c75cc0.js → shared-6eebe353.js} +2 -2
  163. package/dist/cdn/{shared-9dc36194.js → shared-74a5f2a4.js} +1 -1
  164. package/dist/cdn/{shared-e2d3c014.js → shared-76c608e2.js} +1 -1
  165. package/dist/cdn/shared-7b5bdf0e.js +1 -0
  166. package/dist/cdn/{shared-673d668a.js → shared-7dc40542.js} +1 -1
  167. package/dist/cdn/shared-7fec42f2.js +15 -0
  168. package/dist/cdn/{shared-dc4d2996.js → shared-80dafe85.js} +1 -1
  169. package/dist/cdn/{shared-44b46fef.js → shared-8259d01b.js} +1 -1
  170. package/dist/cdn/shared-88a59a2e.js +1 -0
  171. package/dist/cdn/{shared-4dd24dda.js → shared-8b0d25e5.js} +1 -1
  172. package/dist/cdn/{shared-c502de27.js → shared-8dd6f543.js} +1 -1
  173. package/dist/cdn/{shared-8a0bd046.js → shared-9006bac2.js} +1 -1
  174. package/dist/cdn/{shared-d68c6616.js → shared-90a8d5cf.js} +1 -1
  175. package/dist/cdn/{shared-4cafa2e7.js → shared-9363a954.js} +1 -1
  176. package/dist/cdn/{shared-c832f3a1.js → shared-944fab16.js} +1 -1
  177. package/dist/cdn/shared-998c0ace.js +1 -0
  178. package/dist/cdn/{shared-6b3fed56.js → shared-a3234358.js} +1 -1
  179. package/dist/cdn/{shared-bb6d7b97.js → shared-a715e3e5.js} +1 -1
  180. package/dist/cdn/{shared-74d599dc.js → shared-aab4ed2b.js} +1 -1
  181. package/dist/cdn/{shared-a4216b50.js → shared-ab0bbad5.js} +1 -1
  182. package/dist/cdn/{shared-8ea2bbcc.js → shared-aedaf182.js} +1 -1
  183. package/dist/cdn/{shared-274dec57.js → shared-b2bd7666.js} +1 -1
  184. package/dist/cdn/{shared-b1435a0a.js → shared-bdbdf963.js} +1 -1
  185. package/dist/cdn/shared-be30b940.js +1 -0
  186. package/dist/cdn/{shared-e6a1eef8.js → shared-be7af87f.js} +1 -1
  187. package/dist/cdn/{shared-5afb584d.js → shared-c782b9fa.js} +1 -1
  188. package/dist/cdn/{shared-7fd51889.js → shared-cd0ae051.js} +3 -3
  189. package/dist/cdn/{shared-8f009bbb.js → shared-cd3cfea5.js} +1 -1
  190. package/dist/cdn/{shared-7594e563.js → shared-d6a0954b.js} +1 -1
  191. package/dist/cdn/shared-da95bb48.js +1 -0
  192. package/dist/cdn/{shared-87b93771.js → shared-dd7e85be.js} +1 -1
  193. package/dist/cdn/{shared-aa6dab90.js → shared-ddda911c.js} +2 -2
  194. package/dist/cdn/shared-e1e4d8f5.js +1 -0
  195. package/dist/cdn/{shared-2f8e53c0.js → shared-e52d2fdd.js} +1 -1
  196. package/dist/cdn/{shared-66201dc5.js → shared-ee689ddc.js} +1 -1
  197. package/dist/cdn/{shared-678beccf.js → shared-f497cd69.js} +3 -3
  198. package/dist/cdn/shared-f4be6924.js +40 -0
  199. package/dist/cdn/shared-f8e1143e.js +1 -0
  200. package/dist/cdn/translations/cart-form/en.json +42 -41
  201. package/dist/cdn/translations/coupon-form/en.json +38 -26
  202. package/dist/cdn/translations/customer/en.json +14 -17
  203. package/dist/cdn/translations/filter-attribute-form/en.json +19 -14
  204. package/dist/cdn/translations/gift-card-code-form/en.json +14 -16
  205. package/dist/cdn/translations/gift-card-form/en.json +33 -32
  206. package/dist/cdn/translations/payment-method-card/en.json +14 -17
  207. package/dist/cdn/translations/query-builder/en.json +15 -13
  208. package/dist/cdn/translations/update-payment-method-form/en.json +14 -17
  209. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js +1 -1
  210. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js.map +1 -1
  211. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +9 -10
  212. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  213. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +1 -1
  214. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -1
  215. package/dist/elements/public/CouponForm/CouponForm.js +4 -4
  216. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  217. package/dist/elements/public/Donation/Donation.d.ts +10 -0
  218. package/dist/elements/public/Donation/Donation.js +2 -0
  219. package/dist/elements/public/Donation/Donation.js.map +1 -1
  220. package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.d.ts +2 -2
  221. package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js +71 -25
  222. package/dist/elements/public/FilterAttributeForm/FilterAttributeForm.js.map +1 -1
  223. package/dist/elements/public/FilterAttributeForm/index.d.ts +2 -2
  224. package/dist/elements/public/FilterAttributeForm/index.js +2 -2
  225. package/dist/elements/public/FilterAttributeForm/index.js.map +1 -1
  226. package/dist/elements/public/GiftCardForm/GiftCardForm.js +5 -5
  227. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  228. package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +15 -6
  229. package/dist/elements/public/QueryBuilder/QueryBuilder.js +152 -32
  230. package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
  231. package/dist/elements/public/QueryBuilder/components/AdvancedGroup.d.ts +16 -0
  232. package/dist/elements/public/QueryBuilder/components/AdvancedGroup.js +78 -0
  233. package/dist/elements/public/QueryBuilder/components/AdvancedGroup.js.map +1 -0
  234. package/dist/elements/public/QueryBuilder/components/AdvancedInput.d.ts +12 -0
  235. package/dist/elements/public/QueryBuilder/components/AdvancedInput.js +49 -0
  236. package/dist/elements/public/QueryBuilder/components/AdvancedInput.js.map +1 -0
  237. package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.d.ts +14 -0
  238. package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.js +41 -0
  239. package/dist/elements/public/QueryBuilder/components/AdvancedOperatorToggle.js.map +1 -0
  240. package/dist/elements/public/QueryBuilder/components/AdvancedRule.d.ts +18 -0
  241. package/dist/elements/public/QueryBuilder/components/{Rule.js → AdvancedRule.js} +50 -59
  242. package/dist/elements/public/QueryBuilder/components/AdvancedRule.js.map +1 -0
  243. package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.d.ts +2 -0
  244. package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.js +78 -0
  245. package/dist/elements/public/QueryBuilder/components/SimpleAttributeRule.js.map +1 -0
  246. package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.d.ts +2 -0
  247. package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.js +16 -0
  248. package/dist/elements/public/QueryBuilder/components/SimpleBooleanRule.js.map +1 -0
  249. package/dist/elements/public/QueryBuilder/components/SimpleDateRule.d.ts +2 -0
  250. package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js +111 -0
  251. package/dist/elements/public/QueryBuilder/components/SimpleDateRule.js.map +1 -0
  252. package/dist/elements/public/QueryBuilder/components/SimpleGroup.d.ts +14 -0
  253. package/dist/elements/public/QueryBuilder/components/SimpleGroup.js +111 -0
  254. package/dist/elements/public/QueryBuilder/components/SimpleGroup.js.map +1 -0
  255. package/dist/elements/public/QueryBuilder/components/SimpleInput.d.ts +15 -0
  256. package/dist/elements/public/QueryBuilder/components/SimpleInput.js +43 -0
  257. package/dist/elements/public/QueryBuilder/components/SimpleInput.js.map +1 -0
  258. package/dist/elements/public/QueryBuilder/components/SimpleListRule.d.ts +2 -0
  259. package/dist/elements/public/QueryBuilder/components/SimpleListRule.js +45 -0
  260. package/dist/elements/public/QueryBuilder/components/SimpleListRule.js.map +1 -0
  261. package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.d.ts +2 -0
  262. package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js +100 -0
  263. package/dist/elements/public/QueryBuilder/components/SimpleNumberRule.js.map +1 -0
  264. package/dist/elements/public/QueryBuilder/components/SimpleSelect.d.ts +24 -0
  265. package/dist/elements/public/QueryBuilder/components/SimpleSelect.js +45 -0
  266. package/dist/elements/public/QueryBuilder/components/SimpleSelect.js.map +1 -0
  267. package/dist/elements/public/QueryBuilder/components/SimpleStringRule.d.ts +2 -0
  268. package/dist/elements/public/QueryBuilder/components/SimpleStringRule.js +46 -0
  269. package/dist/elements/public/QueryBuilder/components/SimpleStringRule.js.map +1 -0
  270. package/dist/elements/public/QueryBuilder/icons/field.d.ts +1 -0
  271. package/dist/elements/public/QueryBuilder/icons/{typeAny.js → field.js} +2 -2
  272. package/dist/elements/public/QueryBuilder/icons/field.js.map +1 -0
  273. package/dist/elements/public/QueryBuilder/icons/index.d.ts +1 -6
  274. package/dist/elements/public/QueryBuilder/icons/index.js +1 -6
  275. package/dist/elements/public/QueryBuilder/icons/index.js.map +1 -1
  276. package/dist/elements/public/QueryBuilder/index.d.ts +2 -0
  277. package/dist/elements/public/QueryBuilder/index.js +2 -0
  278. package/dist/elements/public/QueryBuilder/index.js.map +1 -1
  279. package/dist/elements/public/QueryBuilder/styles.js +23 -0
  280. package/dist/elements/public/QueryBuilder/styles.js.map +1 -1
  281. package/dist/elements/public/QueryBuilder/types.d.ts +24 -6
  282. package/dist/elements/public/QueryBuilder/types.js.map +1 -1
  283. package/dist/elements/public/QueryBuilder/utils/parse.d.ts +2 -2
  284. package/dist/elements/public/QueryBuilder/utils/parse.js.map +1 -1
  285. package/dist/elements/public/QueryBuilder/utils/stringify.d.ts +2 -2
  286. package/dist/elements/public/QueryBuilder/utils/stringify.js.map +1 -1
  287. package/dist/elements/public/TaxForm/TaxForm.js +5 -4
  288. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  289. package/dist/mixins/themeable.js +17 -12
  290. package/dist/mixins/themeable.js.map +1 -1
  291. package/package.json +1 -1
  292. package/dist/cdn/shared-0aedd809.js +0 -1
  293. package/dist/cdn/shared-2f5cc0e2.js +0 -1
  294. package/dist/cdn/shared-343d1fd7.js +0 -1
  295. package/dist/cdn/shared-4a38cb3e.js +0 -1
  296. package/dist/cdn/shared-4c764a91.js +0 -1
  297. package/dist/cdn/shared-5592ec6e.js +0 -1
  298. package/dist/cdn/shared-5ef40e86.js +0 -1
  299. package/dist/cdn/shared-79d0699c.js +0 -1
  300. package/dist/cdn/shared-894c69f8.js +0 -1
  301. package/dist/cdn/shared-97e2abfb.js +0 -1
  302. package/dist/cdn/shared-b6f53f3b.js +0 -64
  303. package/dist/cdn/shared-c31c50e2.js +0 -1
  304. package/dist/cdn/shared-cb58dfcd.js +0 -15
  305. package/dist/cdn/shared-d0363ae9.js +0 -1
  306. package/dist/cdn/shared-ef4ad461.js +0 -1
  307. package/dist/cdn/shared-f7bfb29e.js +0 -15
  308. package/dist/cdn/shared-f83207fb.js +0 -1
  309. package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.d.ts +0 -5
  310. package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.js +0 -34
  311. package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/InternalFilterAttributeFormActionControl.js.map +0 -1
  312. package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.d.ts +0 -5
  313. package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.js +0 -7
  314. package/dist/elements/public/FilterAttributeForm/internal/InternalFilterAttributeFormActionControl/index.js.map +0 -1
  315. package/dist/elements/public/QueryBuilder/components/BooleanValue.d.ts +0 -12
  316. package/dist/elements/public/QueryBuilder/components/BooleanValue.js +0 -21
  317. package/dist/elements/public/QueryBuilder/components/BooleanValue.js.map +0 -1
  318. package/dist/elements/public/QueryBuilder/components/Group.d.ts +0 -15
  319. package/dist/elements/public/QueryBuilder/components/Group.js +0 -95
  320. package/dist/elements/public/QueryBuilder/components/Group.js.map +0 -1
  321. package/dist/elements/public/QueryBuilder/components/Input.d.ts +0 -18
  322. package/dist/elements/public/QueryBuilder/components/Input.js +0 -98
  323. package/dist/elements/public/QueryBuilder/components/Input.js.map +0 -1
  324. package/dist/elements/public/QueryBuilder/components/IsDefinedValue.d.ts +0 -11
  325. package/dist/elements/public/QueryBuilder/components/IsDefinedValue.js +0 -16
  326. package/dist/elements/public/QueryBuilder/components/IsDefinedValue.js.map +0 -1
  327. package/dist/elements/public/QueryBuilder/components/ListValue.d.ts +0 -12
  328. package/dist/elements/public/QueryBuilder/components/ListValue.js +0 -48
  329. package/dist/elements/public/QueryBuilder/components/ListValue.js.map +0 -1
  330. package/dist/elements/public/QueryBuilder/components/Name.d.ts +0 -11
  331. package/dist/elements/public/QueryBuilder/components/Name.js +0 -14
  332. package/dist/elements/public/QueryBuilder/components/Name.js.map +0 -1
  333. package/dist/elements/public/QueryBuilder/components/OperatorToggle.d.ts +0 -13
  334. package/dist/elements/public/QueryBuilder/components/OperatorToggle.js +0 -63
  335. package/dist/elements/public/QueryBuilder/components/OperatorToggle.js.map +0 -1
  336. package/dist/elements/public/QueryBuilder/components/Path.d.ts +0 -13
  337. package/dist/elements/public/QueryBuilder/components/Path.js +0 -16
  338. package/dist/elements/public/QueryBuilder/components/Path.js.map +0 -1
  339. package/dist/elements/public/QueryBuilder/components/RangeValue.d.ts +0 -12
  340. package/dist/elements/public/QueryBuilder/components/RangeValue.js +0 -47
  341. package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +0 -1
  342. package/dist/elements/public/QueryBuilder/components/Rule.d.ts +0 -18
  343. package/dist/elements/public/QueryBuilder/components/Rule.js.map +0 -1
  344. package/dist/elements/public/QueryBuilder/components/Select.d.ts +0 -16
  345. package/dist/elements/public/QueryBuilder/components/Select.js +0 -86
  346. package/dist/elements/public/QueryBuilder/components/Select.js.map +0 -1
  347. package/dist/elements/public/QueryBuilder/components/SingleValue.d.ts +0 -12
  348. package/dist/elements/public/QueryBuilder/components/SingleValue.js +0 -21
  349. package/dist/elements/public/QueryBuilder/components/SingleValue.js.map +0 -1
  350. package/dist/elements/public/QueryBuilder/icons/typeAny.d.ts +0 -1
  351. package/dist/elements/public/QueryBuilder/icons/typeAny.js.map +0 -1
  352. package/dist/elements/public/QueryBuilder/icons/typeAttribute.d.ts +0 -1
  353. package/dist/elements/public/QueryBuilder/icons/typeAttribute.js +0 -8
  354. package/dist/elements/public/QueryBuilder/icons/typeAttribute.js.map +0 -1
  355. package/dist/elements/public/QueryBuilder/icons/typeBoolean.d.ts +0 -1
  356. package/dist/elements/public/QueryBuilder/icons/typeBoolean.js +0 -10
  357. package/dist/elements/public/QueryBuilder/icons/typeBoolean.js.map +0 -1
  358. package/dist/elements/public/QueryBuilder/icons/typeDate.d.ts +0 -1
  359. package/dist/elements/public/QueryBuilder/icons/typeDate.js +0 -7
  360. package/dist/elements/public/QueryBuilder/icons/typeDate.js.map +0 -1
  361. package/dist/elements/public/QueryBuilder/icons/typeNumber.d.ts +0 -1
  362. package/dist/elements/public/QueryBuilder/icons/typeNumber.js +0 -7
  363. package/dist/elements/public/QueryBuilder/icons/typeNumber.js.map +0 -1
  364. package/dist/elements/public/QueryBuilder/icons/typeString.d.ts +0 -1
  365. package/dist/elements/public/QueryBuilder/icons/typeString.js +0 -7
  366. package/dist/elements/public/QueryBuilder/icons/typeString.js.map +0 -1
@@ -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,2 @@
1
+ import { SimpleRuleComponent } from '../types';
2
+ export declare const SimpleListRule: SimpleRuleComponent;
@@ -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,2 @@
1
+ import { SimpleRuleComponent } from '../types';
2
+ export declare const SimpleNumberRule: SimpleRuleComponent;
@@ -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"]}
@@ -0,0 +1,2 @@
1
+ import type { SimpleRuleComponent } from '../types';
2
+ export declare const SimpleStringRule: SimpleRuleComponent;
@@ -0,0 +1,46 @@
1
+ import { SimpleSelect } from "./SimpleSelect.js";
2
+ import { SimpleInput } from "./SimpleInput.js";
3
+ import { Operator } from "../types.js";
4
+ import { html } from 'lit-html';
5
+ export const SimpleStringRule = params => {
6
+ const { disabled, readonly, option, rule, t, onChange } = params;
7
+ const { operator } = rule !== null && rule !== void 0 ? rule : {};
8
+ const { label } = option;
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;
25
+ if (newValue === 'any')
26
+ return onChange(null);
27
+ return onChange({
28
+ operator: newValue === 'equal' ? null : newValue,
29
+ value: (_a = rule === null || rule === void 0 ? void 0 : rule.value) !== null && _a !== void 0 ? _a : '',
30
+ });
31
+ },
32
+ })}
33
+ ${(rule === null || rule === void 0 ? void 0 : rule.value) === undefined
34
+ ? ''
35
+ : SimpleInput({
36
+ disabled,
37
+ readonly,
38
+ layout: 'auto-grow',
39
+ label: label,
40
+ value: (rule === null || rule === void 0 ? void 0 : rule.value) || '',
41
+ t,
42
+ onChange: newValue => onChange({ value: newValue }),
43
+ })}
44
+ `;
45
+ };
46
+ //# sourceMappingURL=SimpleStringRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleStringRule.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/components/SimpleStringRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAC9C,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAC5C,OAAO,EAAE,QAAQ,EAAE,oBAAiB;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,CAAC,MAAM,gBAAgB,GAAwB,MAAM,CAAC,EAAE;IAC5D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAEzB,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,QAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,EAAE;aACzB,CAAC,CAAC;QACL,CAAC;KACF,CAAC;MACA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,SAAS;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,WAAW,CAAC;YACV,QAAQ;YACR,QAAQ;YACR,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE;YACxB,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 type { SimpleRuleComponent } from '../types';\n\nimport { SimpleSelect } from './SimpleSelect';\nimport { SimpleInput } from './SimpleInput';\nimport { Operator } from '../types';\nimport { html } from 'lit-html';\n\nexport const SimpleStringRule: SimpleRuleComponent = params => {\n const { disabled, readonly, option, rule, t, onChange } = params;\n const { operator } = rule ?? {};\n const { label } = option;\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 ?? '',\n });\n },\n })}\n ${rule?.value === undefined\n ? ''\n : SimpleInput({\n disabled,\n readonly,\n layout: 'auto-grow',\n label: label,\n value: rule?.value || '',\n t,\n onChange: newValue => onChange({ value: newValue }),\n })}\n `;\n};\n"]}
@@ -0,0 +1 @@
1
+ export declare const field: import("lit-html").SVGTemplateResult;
@@ -1,8 +1,8 @@
1
1
  import { svg } from 'lit-html';
2
- export const typeAny = svg `
2
+ export const field = svg `
3
3
  <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
4
4
  <path fill-rule="evenodd" clip-rule="evenodd" d="M18 8C12.48 8 8 12.48 8 18C8 23.52 12.48 28 18 28C23.52 28 28 23.52 28 18C28 12.48 23.52 8 18 8ZM18 26C13.59 26 10 22.41 10 18C10 13.59 13.59 10 18 10C22.41 10 26 13.59 26 18C26 22.41 22.41 26 18 26Z" class="fill-current"/>
5
5
  <path fill-rule="evenodd" clip-rule="evenodd" d="M19.49 17.38C19.92 16.16 19.66 14.74 18.68 13.76C17.57 12.65 15.89 12.46 14.58 13.17L16.93 15.52L15.52 16.93L13.17 14.58C12.46 15.9 12.65 17.57 13.76 18.68C14.74 19.66 16.16 19.92 17.38 19.49L20.79 22.9C20.99 23.1 21.3 23.1 21.5 22.9L22.9 21.5C23.1 21.3 23.1 20.99 22.9 20.79L19.49 17.38Z" class="fill-current"/>
6
6
  </svg>
7
7
  `;
8
- //# sourceMappingURL=typeAny.js.map
8
+ //# sourceMappingURL=field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/icons/field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAA;;;;;CAKvB,CAAC","sourcesContent":["import { svg } from 'lit-html';\n\nexport const field = svg`\n <svg class=\"w-full h-full\" viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M18 8C12.48 8 8 12.48 8 18C8 23.52 12.48 28 18 28C23.52 28 28 23.52 28 18C28 12.48 23.52 8 18 8ZM18 26C13.59 26 10 22.41 10 18C10 13.59 13.59 10 18 10C22.41 10 26 13.59 26 18C26 22.41 22.41 26 18 26Z\" class=\"fill-current\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M19.49 17.38C19.92 16.16 19.66 14.74 18.68 13.76C17.57 12.65 15.89 12.46 14.58 13.17L16.93 15.52L15.52 16.93L13.17 14.58C12.46 15.9 12.65 17.57 13.76 18.68C14.74 19.66 16.16 19.92 17.38 19.49L20.79 22.9C20.99 23.1 21.3 23.1 21.5 22.9L22.9 21.5C23.1 21.3 23.1 20.99 22.9 20.79L19.49 17.38Z\" class=\"fill-current\"/>\n </svg>\n`;\n"]}
@@ -6,9 +6,4 @@ export * from './operatorIsDefined';
6
6
  export * from './operatorLessThan';
7
7
  export * from './operatorLessThanOrEqual';
8
8
  export * from './operatorNot';
9
- export * from './typeAny';
10
- export * from './typeAttribute';
11
- export * from './typeBoolean';
12
- export * from './typeDate';
13
- export * from './typeNumber';
14
- export * from './typeString';
9
+ export * from './field';
@@ -6,10 +6,5 @@ export * from "./operatorIsDefined.js";
6
6
  export * from "./operatorLessThan.js";
7
7
  export * from "./operatorLessThanOrEqual.js";
8
8
  export * from "./operatorNot.js";
9
- export * from "./typeAny.js";
10
- export * from "./typeAttribute.js";
11
- export * from "./typeBoolean.js";
12
- export * from "./typeDate.js";
13
- export * from "./typeNumber.js";
14
- export * from "./typeString.js";
9
+ export * from "./field.js";
15
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/icons/index.ts"],"names":[],"mappings":"AAAA,mCAAgC;AAChC,yCAAsC;AACtC,gDAA6C;AAC7C,gCAA6B;AAC7B,uCAAoC;AACpC,sCAAmC;AACnC,6CAA0C;AAC1C,iCAA8B;AAC9B,6BAA0B;AAC1B,mCAAgC;AAChC,iCAA8B;AAC9B,8BAA2B;AAC3B,gCAA6B;AAC7B,gCAA6B","sourcesContent":["export * from './operatorEqual';\nexport * from './operatorGreaterThan';\nexport * from './operatorGreaterThanOrEqual';\nexport * from './operatorIn';\nexport * from './operatorIsDefined';\nexport * from './operatorLessThan';\nexport * from './operatorLessThanOrEqual';\nexport * from './operatorNot';\nexport * from './typeAny';\nexport * from './typeAttribute';\nexport * from './typeBoolean';\nexport * from './typeDate';\nexport * from './typeNumber';\nexport * from './typeString';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/icons/index.ts"],"names":[],"mappings":"AAAA,mCAAgC;AAChC,yCAAsC;AACtC,gDAA6C;AAC7C,gCAA6B;AAC7B,uCAAoC;AACpC,sCAAmC;AACnC,6CAA0C;AAC1C,iCAA8B;AAC9B,2BAAwB","sourcesContent":["export * from './operatorEqual';\nexport * from './operatorGreaterThan';\nexport * from './operatorGreaterThanOrEqual';\nexport * from './operatorIn';\nexport * from './operatorIsDefined';\nexport * from './operatorLessThan';\nexport * from './operatorLessThanOrEqual';\nexport * from './operatorNot';\nexport * from './field';\n"]}
@@ -1,4 +1,6 @@
1
1
  import '@polymer/iron-icons';
2
2
  import '@polymer/iron-icon';
3
+ import '../../internal/InternalSummaryControl/index';
4
+ import '../I18n/index';
3
5
  import { QueryBuilder } from './QueryBuilder';
4
6
  export { QueryBuilder };
@@ -1,5 +1,7 @@
1
1
  import '@polymer/iron-icons';
2
2
  import '@polymer/iron-icon';
3
+ import "../../internal/InternalSummaryControl/index.js";
4
+ import "../I18n/index.js";
3
5
  import { QueryBuilder } from "./QueryBuilder.js";
4
6
  customElements.define('foxy-query-builder', QueryBuilder);
5
7
  export { QueryBuilder };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAE9C,cAAc,CAAC,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import '@polymer/iron-icons';\nimport '@polymer/iron-icon';\n\nimport { QueryBuilder } from './QueryBuilder';\n\ncustomElements.define('foxy-query-builder', QueryBuilder);\n\nexport { QueryBuilder };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/index.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,CAAC;AAC7B,OAAO,oBAAoB,CAAC;AAE5B,wDAAqD;AACrD,0BAAuB;AAEvB,OAAO,EAAE,YAAY,EAAE,0BAAuB;AAE9C,cAAc,CAAC,MAAM,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import '@polymer/iron-icons';\nimport '@polymer/iron-icon';\n\nimport '../../internal/InternalSummaryControl/index';\nimport '../I18n/index';\n\nimport { QueryBuilder } from './QueryBuilder';\n\ncustomElements.define('foxy-query-builder', QueryBuilder);\n\nexport { QueryBuilder };\n"]}
@@ -10,5 +10,28 @@ export const styles = css `.gap-1px{
10
10
  :host([sm]) .sm-grid-horizontal{
11
11
  grid-template:auto / var(--lumo-size-m) 1fr var(--lumo-size-m) 1fr;
12
12
  }
13
+
14
+ input::-webkit-contacts-auto-fill-button{
15
+ visibility:hidden;
16
+ display:none !important;
17
+ pointer-events:none;
18
+ position:absolute;
19
+ right:0;
20
+ }
21
+
22
+ input::-webkit-outer-spin-button,
23
+ input::-webkit-inner-spin-button{
24
+ -webkit-appearance:none;
25
+ margin:0;
26
+ }
27
+
28
+ input{
29
+ -moz-appearance:textfield;
30
+ }
31
+
32
+ foxy-internal-summary-control[layout='details'][count]:not([open]){
33
+ --lumo-contrast-5pct:var(--lumo-primary-color-10pct);
34
+ color:var(--lumo-primary-text-color);
35
+ }
13
36
  `;
14
37
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG;;;;;;;;;;;CAYxB,CAAC","sourcesContent":["import { css } from 'lit-element';\n\nexport const styles = css`\n .gap-1px {\n gap: 1px;\n }\n\n .grid-vertical {\n grid-template: auto / var(--lumo-size-m) 1fr;\n }\n\n :host([sm]) .sm-grid-horizontal {\n grid-template: auto / var(--lumo-size-m) 1fr var(--lumo-size-m) 1fr;\n }\n`;\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCxB,CAAC","sourcesContent":["import { css } from 'lit-element';\n\nexport const styles = css`\n .gap-1px {\n gap: 1px;\n }\n\n .grid-vertical {\n grid-template: auto / var(--lumo-size-m) 1fr;\n }\n\n :host([sm]) .sm-grid-horizontal {\n grid-template: auto / var(--lumo-size-m) 1fr var(--lumo-size-m) 1fr;\n }\n\n input::-webkit-contacts-auto-fill-button {\n visibility: hidden;\n display: none !important;\n pointer-events: none;\n position: absolute;\n right: 0;\n }\n\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n input {\n -moz-appearance: textfield;\n }\n\n foxy-internal-summary-control[layout='details'][count]:not([open]) {\n --lumo-contrast-5pct: var(--lumo-primary-color-10pct);\n color: var(--lumo-primary-text-color);\n }\n`;\n"]}
@@ -1,3 +1,5 @@
1
+ import type { TemplateResult } from 'lit-html';
2
+ import type { I18n } from '../I18n/I18n';
1
3
  export declare enum Type {
2
4
  Attribute = "attribute",
3
5
  Boolean = "boolean",
@@ -16,17 +18,33 @@ export declare enum Operator {
16
18
  In = "in"
17
19
  }
18
20
  export declare type Option = {
21
+ group?: {
22
+ name: string;
23
+ layout?: string;
24
+ };
19
25
  label: string;
20
- list?: {
21
- label: string;
26
+ list?: ({
22
27
  value: string;
23
- }[];
28
+ } & ({
29
+ label: string;
30
+ } | {
31
+ rawLabel: string;
32
+ }))[];
24
33
  path: string;
25
34
  type: Type;
35
+ min?: number | string;
26
36
  };
27
- export declare type ParsedValue = {
37
+ export declare type Rule = {
38
+ operator: Operator | null;
39
+ value: string;
28
40
  name?: string;
29
41
  path: string;
30
- value: string;
31
- operator: Operator | null;
32
42
  };
43
+ export declare type SimpleRuleComponent = (params: {
44
+ disabled: boolean;
45
+ readonly: boolean;
46
+ option: Option;
47
+ rule: Rule | undefined;
48
+ t: I18n['t'];
49
+ onChange: (newValue: Partial<Omit<Rule, 'path'>> | null) => void;
50
+ }) => TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,IAOX;AAPD,WAAY,IAAI;IACd,+BAAuB,CAAA;IACvB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;IACb,mBAAW,CAAA;AACb,CAAC,EAPW,IAAI,KAAJ,IAAI,QAOf;AAED,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,qDAAyC,CAAA;IACzC,uCAA2B,CAAA;IAC3B,mCAAuB,CAAA;IACvB,uBAAW,CAAA;IACX,qBAAS,CAAA;AACX,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB","sourcesContent":["export enum Type {\n Attribute = 'attribute',\n Boolean = 'boolean',\n String = 'string',\n Number = 'number',\n Date = 'date',\n Any = 'any',\n}\n\nexport enum Operator {\n LessThanOrEqual = 'lessthanorequal',\n LessThan = 'lessthan',\n GreaterThanOrEqual = 'greaterthanorequal',\n GreaterThan = 'greaterthan',\n IsDefined = 'isdefined',\n Not = 'not',\n In = 'in',\n}\n\nexport type Option = {\n label: string;\n list?: { label: string; value: string }[];\n path: string;\n type: Type;\n};\n\nexport type ParsedValue = {\n name?: string;\n path: string;\n value: string;\n operator: Operator | null;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/QueryBuilder/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,IAOX;AAPD,WAAY,IAAI;IACd,+BAAuB,CAAA;IACvB,2BAAmB,CAAA;IACnB,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,qBAAa,CAAA;IACb,mBAAW,CAAA;AACb,CAAC,EAPW,IAAI,KAAJ,IAAI,QAOf;AAED,MAAM,CAAN,IAAY,QAQX;AARD,WAAY,QAAQ;IAClB,+CAAmC,CAAA;IACnC,iCAAqB,CAAA;IACrB,qDAAyC,CAAA;IACzC,uCAA2B,CAAA;IAC3B,mCAAuB,CAAA;IACvB,uBAAW,CAAA;IACX,qBAAS,CAAA;AACX,CAAC,EARW,QAAQ,KAAR,QAAQ,QAQnB","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { I18n } from '../I18n/I18n';\n\nexport enum Type {\n Attribute = 'attribute',\n Boolean = 'boolean',\n String = 'string',\n Number = 'number',\n Date = 'date',\n Any = 'any',\n}\n\nexport enum Operator {\n LessThanOrEqual = 'lessthanorequal',\n LessThan = 'lessthan',\n GreaterThanOrEqual = 'greaterthanorequal',\n GreaterThan = 'greaterthan',\n IsDefined = 'isdefined',\n Not = 'not',\n In = 'in',\n}\n\nexport type Option = {\n group?: { name: string; layout?: string };\n label: string;\n list?: ({ value: string } & ({ label: string } | { rawLabel: string }))[];\n path: string;\n type: Type;\n min?: number | string;\n};\n\nexport type Rule = {\n operator: Operator | null;\n value: string;\n name?: string;\n path: string;\n};\n\nexport type SimpleRuleComponent = (params: {\n disabled: boolean;\n readonly: boolean;\n option: Option;\n rule: Rule | undefined;\n t: I18n['t'];\n onChange: (newValue: Partial<Omit<Rule, 'path'>> | null) => void;\n}) => TemplateResult;\n"]}
@@ -1,3 +1,3 @@
1
- import { ParsedValue } from '../types';
2
- declare function parse(search: string): (ParsedValue | ParsedValue[])[];
1
+ import { Rule } from '../types';
2
+ declare function parse(search: string): (Rule | Rule[])[];
3
3
  export { parse };
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/utils/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAe,oBAAiB;AAEjD,SAAS,UAAU,CAAC,MAAc;;IAChC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAe,CAAC;IACxD,MAAM,QAAQ,SAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,mCAAI,IAAI,CAAC;IAEvF,IAAI,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnF,IAAI,IAAI,GAAuB,SAAS,CAAC;IAEzC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;QAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACvE;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,OAAO,MAAM;SACV,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,GAAG,EAAC;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC","sourcesContent":["import { Operator, ParsedValue } from '../types';\n\nfunction parseGroup(search: string): ParsedValue {\n const separatorIndex = search.indexOf('=');\n const fullPath = decodeURIComponent(search.substring(0, separatorIndex));\n const value = decodeURIComponent(search.substring(separatorIndex + 1));\n\n const operators = Object.values(Operator) as Operator[];\n const operator = operators.find(operator => fullPath.endsWith(`:${operator}`)) ?? null;\n\n let path = fullPath.substring(0, operator ? fullPath.lastIndexOf(':') : undefined);\n let name: string | undefined = undefined;\n\n const nameStart = fullPath.lastIndexOf('[');\n\n if (path.endsWith(']') && nameStart !== -1) {\n name = path.substring(nameStart + 1, path.length - 1);\n path = path.substring(0, nameStart);\n if (path.endsWith(':name')) path = path.substring(0, path.length - 5);\n }\n\n return { name, path, value, operator };\n}\n\nfunction parse(search: string): (ParsedValue | ParsedValue[])[] {\n return search\n .split('&')\n .filter(v => !!v)\n .map(entry => {\n const [name, value] = entry.split('=').map(decodeURIComponent);\n if (!value?.includes('|')) return parseGroup(entry);\n return `${encodeURIComponent(name)}=${value}`.split('|').map(v => parseGroup(v));\n });\n}\n\nexport { parse };\n"]}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/utils/parse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAQ,oBAAiB;AAE1C,SAAS,UAAU,CAAC,MAAc;;IAChC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACzE,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAe,CAAC;IACxD,MAAM,QAAQ,SAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,mCAAI,IAAI,CAAC;IAEvF,IAAI,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnF,IAAI,IAAI,GAAuB,SAAS,CAAC;IAEzC,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;QAC1C,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACvE;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,OAAO,MAAM;SACV,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAChB,GAAG,CAAC,KAAK,CAAC,EAAE;QACX,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,GAAG,EAAC;YAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACP,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,CAAC","sourcesContent":["import { Operator, Rule } from '../types';\n\nfunction parseGroup(search: string): Rule {\n const separatorIndex = search.indexOf('=');\n const fullPath = decodeURIComponent(search.substring(0, separatorIndex));\n const value = decodeURIComponent(search.substring(separatorIndex + 1));\n\n const operators = Object.values(Operator) as Operator[];\n const operator = operators.find(operator => fullPath.endsWith(`:${operator}`)) ?? null;\n\n let path = fullPath.substring(0, operator ? fullPath.lastIndexOf(':') : undefined);\n let name: string | undefined = undefined;\n\n const nameStart = fullPath.lastIndexOf('[');\n\n if (path.endsWith(']') && nameStart !== -1) {\n name = path.substring(nameStart + 1, path.length - 1);\n path = path.substring(0, nameStart);\n if (path.endsWith(':name')) path = path.substring(0, path.length - 5);\n }\n\n return { name, path, value, operator };\n}\n\nfunction parse(search: string): (Rule | Rule[])[] {\n return search\n .split('&')\n .filter(v => !!v)\n .map(entry => {\n const [name, value] = entry.split('=').map(decodeURIComponent);\n if (!value?.includes('|')) return parseGroup(entry);\n return `${encodeURIComponent(name)}=${value}`.split('|').map(v => parseGroup(v));\n });\n}\n\nexport { parse };\n"]}
@@ -1,3 +1,3 @@
1
- import { ParsedValue } from '../types';
2
- declare function stringify(newValue: (ParsedValue | ParsedValue[])[], disableZoom?: boolean): string;
1
+ import type { Rule } from '../types';
2
+ declare function stringify(newValue: (Rule | Rule[])[], disableZoom?: boolean): string;
3
3
  export { stringify };
@@ -1 +1 @@
1
- {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/utils/stringify.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParsedValue } from '../types';\n\nfunction stringifyGroup(parsedValue: ParsedValue): string {\n let result = parsedValue.path;\n if (parsedValue.name) result += `:name[${parsedValue.name}]`;\n if (parsedValue.operator) result += `:${parsedValue.operator}`;\n result = `${encodeURIComponent(result)}=${encodeURIComponent(parsedValue.value)}`;\n return result === '=' ? '' : result;\n}\n\nfunction stringify(newValue: (ParsedValue | ParsedValue[])[], disableZoom = false): string {\n const toQuery = (rules: string[], rule: ParsedValue | ParsedValue[]) => {\n if (Array.isArray(rule)) {\n let key = rule[0].path;\n if (rule[0].name) key += `:name[${rule[0].name}]`;\n if (rule[0].operator) key += `:${rule[0].operator}`;\n\n const alternatives = [\n rule[0].value,\n ...rule.slice(1).map(or => decodeURIComponent(stringifyGroup(or))),\n ];\n\n rules.push(`${encodeURIComponent(key)}=${encodeURIComponent(alternatives.join('|'))}`);\n } else if (rule.path !== 'zoom') {\n rules.push(stringifyGroup(rule));\n }\n\n return rules;\n };\n\n const query = newValue.reduce(toQuery, [] as string[]);\n\n if (!disableZoom) {\n const zoom = getZoomedRels(newValue).join(',');\n if (zoom) query.push(`zoom=${encodeURIComponent(zoom)}`);\n }\n\n return query.join('&');\n}\n\nfunction getZoomedRels(value: (ParsedValue | ParsedValue[])[]): string[] {\n return value\n .map(rule => {\n if (Array.isArray(rule)) return getZoomedRels(rule);\n if (rule.name) return [rule.path];\n\n const pathMembers = rule.path.split(':');\n return pathMembers.slice(0, pathMembers.length - 1);\n })\n .flat()\n .sort((rel1, rel2) => rel2.length - rel1.length)\n .filter((rel, index, rels) => {\n return rels.every((_rel, _index) => {\n return (_index >= index || _rel !== rel) && !_rel.startsWith(`${rel}:`);\n });\n });\n}\n\nexport { stringify };\n"]}
1
+ {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../../../../src/elements/public/QueryBuilder/utils/stringify.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Rule } from '../types';\n\nfunction stringifyGroup(parsedValue: Rule): string {\n let result = parsedValue.path;\n if (parsedValue.name) result += `:name[${parsedValue.name}]`;\n if (parsedValue.operator) result += `:${parsedValue.operator}`;\n result = `${encodeURIComponent(result)}=${encodeURIComponent(parsedValue.value)}`;\n return result === '=' ? '' : result;\n}\n\nfunction stringify(newValue: (Rule | Rule[])[], disableZoom = false): string {\n const toQuery = (rules: string[], rule: Rule | Rule[]) => {\n if (Array.isArray(rule)) {\n let key = rule[0].path;\n if (rule[0].name) key += `:name[${rule[0].name}]`;\n if (rule[0].operator) key += `:${rule[0].operator}`;\n\n const alternatives = [\n rule[0].value,\n ...rule.slice(1).map(or => decodeURIComponent(stringifyGroup(or))),\n ];\n\n rules.push(`${encodeURIComponent(key)}=${encodeURIComponent(alternatives.join('|'))}`);\n } else if (rule.path !== 'zoom') {\n rules.push(stringifyGroup(rule));\n }\n\n return rules;\n };\n\n const query = newValue.reduce(toQuery, [] as string[]);\n\n if (!disableZoom) {\n const zoom = getZoomedRels(newValue).join(',');\n if (zoom) query.push(`zoom=${encodeURIComponent(zoom)}`);\n }\n\n return query.join('&');\n}\n\nfunction getZoomedRels(value: (Rule | Rule[])[]): string[] {\n return value\n .map(rule => {\n if (Array.isArray(rule)) return getZoomedRels(rule);\n if (rule.name) return [rule.path];\n\n const pathMembers = rule.path.split(':');\n return pathMembers.slice(0, pathMembers.length - 1);\n })\n .flat()\n .sort((rel1, rel2) => rel2.length - rel1.length)\n .filter((rel, index, rels) => {\n return rels.every((_rel, _index) => {\n return (_index >= index || _rel !== rel) && !_rel.startsWith(`${rel}:`);\n });\n });\n}\n\nexport { stringify };\n"]}