@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
@@ -84,17 +84,12 @@
84
84
  "date_created": "Creation date",
85
85
  "date_modified": "Last update date"
86
86
  },
87
+ "advanced_mode_notice": "Advanced filtering allows you to create complex queries using the full power of our API. Please consult our documentation to learn what fields and operators are available:",
88
+ "api_reference_link": "Foxy hAPI",
87
89
  "add_or_clause": "Add OR clause",
88
90
  "add_value": "Add value",
89
- "code": "Code",
90
- "date": "{{value, date}}",
91
- "date_created": "Created on",
92
- "date_modified": "Last updated on",
93
91
  "delete": "Delete",
94
92
  "field": "Field",
95
- "hidden": "Hidden",
96
- "is_defined_false": "Not defined",
97
- "is_defined_true": "Defined",
98
93
  "name": "Name",
99
94
  "operator_equal": "Equal",
100
95
  "operator_greaterthan": "Greater than",
@@ -109,15 +104,18 @@
109
104
  "query_builder_rule": "Filter",
110
105
  "range_from": "From",
111
106
  "range_to": "To",
112
- "type": "Type",
113
- "type_any": "Field of unknown type",
114
- "type_attribute": "Key-value resource",
115
- "type_date": "Date field",
116
- "type_here": "Type here...",
117
- "type_number": "Numeric field",
118
- "type_string": "Text field",
119
- "used_codes": "Codes used",
120
- "value": "Value"
107
+ "range": "In range",
108
+ "mode_simple": "Simple",
109
+ "mode_simple_unsupported": "Simple (unavailable)",
110
+ "mode_advanced": "Advanced",
111
+ "value": "Value",
112
+ "value_any": "Any",
113
+ "value_empty": "Empty",
114
+ "order_none": "No order",
115
+ "order_asc_date": "Past to future",
116
+ "order_desc_date": "Future to past",
117
+ "order_asc_number": "Small to large",
118
+ "order_desc_number": "Large to small"
121
119
  }
122
120
  }
123
121
  },
@@ -451,17 +451,12 @@
451
451
  "date_created": "Creation date",
452
452
  "date_modified": "Last update date"
453
453
  },
454
+ "advanced_mode_notice": "Advanced filtering allows you to create complex queries using the full power of our API. Please consult our documentation to learn what fields and operators are available:",
455
+ "api_reference_link": "Foxy hAPI",
454
456
  "add_or_clause": "Add OR clause",
455
457
  "add_value": "Add value",
456
- "code": "Code",
457
- "date": "{{value, date}}",
458
- "date_created": "Created on",
459
- "date_modified": "Last updated on",
460
458
  "delete": "Delete",
461
459
  "field": "Field",
462
- "hidden": "Hidden",
463
- "is_defined_false": "Not defined",
464
- "is_defined_true": "Defined",
465
460
  "name": "Name",
466
461
  "operator_equal": "Equal",
467
462
  "operator_greaterthan": "Greater than",
@@ -476,15 +471,18 @@
476
471
  "query_builder_rule": "Filter",
477
472
  "range_from": "From",
478
473
  "range_to": "To",
479
- "type": "Type",
480
- "type_any": "Field of unknown type",
481
- "type_attribute": "Key-value resource",
482
- "type_date": "Date field",
483
- "type_here": "Type here...",
484
- "type_number": "Numeric field",
485
- "type_string": "Text field",
486
- "used_codes": "Codes used",
487
- "value": "Value"
474
+ "range": "In range",
475
+ "mode_simple": "Simple",
476
+ "mode_simple_unsupported": "Simple (unavailable)",
477
+ "mode_advanced": "Advanced",
478
+ "value": "Value",
479
+ "value_any": "Any",
480
+ "value_empty": "Empty",
481
+ "order_none": "No order",
482
+ "order_asc_date": "Past to future",
483
+ "order_desc_date": "Future to past",
484
+ "order_asc_number": "Small to large",
485
+ "order_desc_number": "Large to small"
488
486
  }
489
487
  }
490
488
  },
@@ -599,17 +597,12 @@
599
597
  "per_page": "Items per page:"
600
598
  },
601
599
  "query-builder": {
600
+ "advanced_mode_notice": "Advanced filtering allows you to create complex queries using the full power of our API. Please consult our documentation to learn what fields and operators are available:",
601
+ "api_reference_link": "Foxy hAPI",
602
602
  "add_or_clause": "Add OR clause",
603
603
  "add_value": "Add value",
604
- "code": "Code",
605
- "date": "{{value, date}}",
606
- "date_created": "Created on",
607
- "date_modified": "Last updated on",
608
604
  "delete": "Delete",
609
605
  "field": "Field",
610
- "hidden": "Hidden",
611
- "is_defined_false": "Not defined",
612
- "is_defined_true": "Defined",
613
606
  "name": "Name",
614
607
  "operator_equal": "Equal",
615
608
  "operator_greaterthan": "Greater than",
@@ -624,15 +617,23 @@
624
617
  "query_builder_rule": "Filter",
625
618
  "range_from": "From",
626
619
  "range_to": "To",
627
- "type": "Type",
628
- "type_any": "Field of unknown type",
629
- "type_attribute": "Key-value resource",
630
- "type_date": "Date field",
631
- "type_here": "Type here...",
632
- "type_number": "Numeric field",
633
- "type_string": "Text field",
634
- "used_codes": "Codes used",
635
- "value": "Value"
620
+ "range": "In range",
621
+ "mode_simple": "Simple",
622
+ "mode_simple_unsupported": "Simple (unavailable)",
623
+ "mode_advanced": "Advanced",
624
+ "value": "Value",
625
+ "value_any": "Any",
626
+ "value_empty": "Empty",
627
+ "order_none": "No order",
628
+ "order_asc_date": "Past to future",
629
+ "order_desc_date": "Future to past",
630
+ "order_asc_number": "Small to large",
631
+ "order_desc_number": "Large to small",
632
+ "option_code": "Code",
633
+ "option_current_balance": "Current balance",
634
+ "option_end_date": "End date",
635
+ "option_date_created": "Created on",
636
+ "option_date_modified": "Last updated on"
636
637
  }
637
638
  },
638
639
  "product-code-restrictions": {
@@ -49,18 +49,12 @@
49
49
  }
50
50
  },
51
51
  "query-builder": {
52
- "filters": {},
52
+ "advanced_mode_notice": "Advanced filtering allows you to create complex queries using the full power of our API. Please consult our documentation to learn what fields and operators are available:",
53
+ "api_reference_link": "Foxy hAPI",
53
54
  "add_or_clause": "Add OR clause",
54
55
  "add_value": "Add value",
55
- "code": "Code",
56
- "date": "{{value, date}}",
57
- "date_created": "Created on",
58
- "date_modified": "Last updated on",
59
56
  "delete": "Delete",
60
57
  "field": "Field",
61
- "hidden": "Hidden",
62
- "is_defined_false": "Not defined",
63
- "is_defined_true": "Defined",
64
58
  "name": "Name",
65
59
  "operator_equal": "Equal",
66
60
  "operator_greaterthan": "Greater than",
@@ -75,15 +69,18 @@
75
69
  "query_builder_rule": "Filter",
76
70
  "range_from": "From",
77
71
  "range_to": "To",
78
- "type": "Type",
79
- "type_any": "Field of unknown type",
80
- "type_attribute": "Key-value resource",
81
- "type_date": "Date field",
82
- "type_here": "Type here...",
83
- "type_number": "Numeric field",
84
- "type_string": "Text field",
85
- "used_codes": "Codes used",
86
- "value": "Value"
72
+ "range": "In range",
73
+ "mode_simple": "Simple",
74
+ "mode_simple_unsupported": "Simple (unavailable)",
75
+ "mode_advanced": "Advanced",
76
+ "value": "Value",
77
+ "value_any": "Any",
78
+ "value_empty": "Empty",
79
+ "order_none": "No order",
80
+ "order_asc_date": "Past to future",
81
+ "order_desc_date": "Future to past",
82
+ "order_asc_number": "Small to large",
83
+ "order_desc_number": "Large to small"
87
84
  }
88
85
  }
89
86
  },
@@ -1,12 +1,10 @@
1
1
  {
2
+ "advanced_mode_notice": "Advanced filtering allows you to create complex queries using the full power of our API. Please consult our documentation to learn what fields and operators are available:",
3
+ "api_reference_link": "Foxy hAPI",
2
4
  "add_or_clause": "Add OR clause",
3
5
  "add_value": "Add value",
4
- "date": "{{value, date}}",
5
6
  "delete": "Delete",
6
7
  "field": "Field",
7
- "hidden": "Hidden",
8
- "is_defined_false": "Not defined",
9
- "is_defined_true": "Defined",
10
8
  "name": "Name",
11
9
  "operator_equal": "Equal",
12
10
  "operator_greaterthan": "Greater than",
@@ -21,12 +19,16 @@
21
19
  "query_builder_rule": "Filter",
22
20
  "range_from": "From",
23
21
  "range_to": "To",
24
- "type": "Type",
25
- "type_any": "Field of unknown type",
26
- "type_attribute": "Key-value resource",
27
- "type_date": "Date field",
28
- "type_here": "Type here...",
29
- "type_number": "Numeric field",
30
- "type_string": "Text field",
31
- "value": "Value"
32
- }
22
+ "range": "In range",
23
+ "mode_simple": "Simple",
24
+ "mode_simple_unsupported": "Simple (unavailable)",
25
+ "mode_advanced": "Advanced",
26
+ "value": "Value",
27
+ "value_any": "Any",
28
+ "value_empty": "Empty",
29
+ "order_none": "No order",
30
+ "order_asc_date": "Past to future",
31
+ "order_desc_date": "Future to past",
32
+ "order_asc_number": "Small to large",
33
+ "order_desc_number": "Large to small"
34
+ }
@@ -40,18 +40,12 @@
40
40
  }
41
41
  },
42
42
  "query-builder": {
43
- "filters": {},
43
+ "advanced_mode_notice": "Advanced filtering allows you to create complex queries using the full power of our API. Please consult our documentation to learn what fields and operators are available:",
44
+ "api_reference_link": "Foxy hAPI",
44
45
  "add_or_clause": "Add OR clause",
45
46
  "add_value": "Add value",
46
- "code": "Code",
47
- "date": "{{value, date}}",
48
- "date_created": "Created on",
49
- "date_modified": "Last updated on",
50
47
  "delete": "Delete",
51
48
  "field": "Field",
52
- "hidden": "Hidden",
53
- "is_defined_false": "Not defined",
54
- "is_defined_true": "Defined",
55
49
  "name": "Name",
56
50
  "operator_equal": "Equal",
57
51
  "operator_greaterthan": "Greater than",
@@ -66,15 +60,18 @@
66
60
  "query_builder_rule": "Filter",
67
61
  "range_from": "From",
68
62
  "range_to": "To",
69
- "type": "Type",
70
- "type_any": "Field of unknown type",
71
- "type_attribute": "Key-value resource",
72
- "type_date": "Date field",
73
- "type_here": "Type here...",
74
- "type_number": "Numeric field",
75
- "type_string": "Text field",
76
- "used_codes": "Codes used",
77
- "value": "Value"
63
+ "range": "In range",
64
+ "mode_simple": "Simple",
65
+ "mode_simple_unsupported": "Simple (unavailable)",
66
+ "mode_advanced": "Advanced",
67
+ "value": "Value",
68
+ "value_any": "Any",
69
+ "value_empty": "Empty",
70
+ "order_none": "No order",
71
+ "order_asc_date": "Past to future",
72
+ "order_desc_date": "Future to past",
73
+ "order_asc_number": "Small to large",
74
+ "order_desc_number": "Large to small"
78
75
  }
79
76
  }
80
77
  },
@@ -13,7 +13,7 @@ export class InternalAsyncListControlFilterOverlay extends PositionMixin(Overlay
13
13
  const m = model;
14
14
  const result = html `
15
15
  <div
16
- style="display: grid; gap: var(--lumo-space-m); padding: var(--lumo-space-s); width: 22rem"
16
+ style="display: grid; gap: var(--lumo-space-m); padding: var(--lumo-space-s); min-width: 22rem; max-width: 35rem"
17
17
  >
18
18
  <foxy-query-builder
19
19
  lang=${m.lang}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalAsyncListControlFilterOverlay.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOxC,MAAM,aAAa,GAAG,cAE2C,CAAC;AAElE,MAAM,OAAO,qCAAsC,SAAQ,aAAa,CAAC,cAAc,CAAC;IAAxF;;QAKE,aAAQ,GAAG,CAAC,IAAiB,EAAE,CAAU,EAAE,KAAc,EAAQ,EAAE;;YACjE,MAAM,OAAO,SAAG,IAAI,CAAC,iBAAiB,mCAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,CAAC,GAAG,KAAuE,CAAC;YAElF,MAAM,MAAM,GAAG,IAAI,CAAA;;;;;iBAKN,CAAC,CAAC,IAAI;eACR,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,EAAE;qBACxB,CAAC,CAAC,OAAO;mBACX,CAAC,CAAC,KAAK;;;;;;;;qBAQL,GAAG,EAAE;;gBACZ,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAiB,CAAC;gBACjF,MAAM,MAAM,SAAG,YAAY,CAAC,KAAK,mCAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;;8BAEiB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE;;;;;;qBAM1B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;;8BAE1C,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE;;;;KAI1C,CAAC;YAEF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC;IAhDC,MAAM,KAAK,EAAE;QACX,OAAO,iDAAiD,CAAC;IAC3D,CAAC;CA8CF","sourcesContent":["import type { Constructor } from 'lit-element';\nimport type { Option } from '../../public/QueryBuilder/types';\n\nimport { _PositionMixin } from '@vaadin/vaadin-overlay/src/vaadin-overlay-position-mixin';\nimport { OverlayElement } from '@vaadin/vaadin-overlay/src/vaadin-overlay';\nimport { html, render } from 'lit-html';\nimport { QueryBuilder } from '../../public';\n\ndeclare class PositionMixinHost {\n positionTarget: HTMLElement | null;\n}\n\nconst PositionMixin = _PositionMixin as (\n superClass: Constructor<OverlayElement>\n) => Constructor<OverlayElement> & Constructor<PositionMixinHost>;\n\nexport class InternalAsyncListControlFilterOverlay extends PositionMixin(OverlayElement) {\n static get is(): string {\n return 'foxy-internal-async-list-control-filter-overlay';\n }\n\n renderer = (root: HTMLElement, _: unknown, model: unknown): void => {\n const litRoot = root.firstElementChild ?? document.createElement('div');\n if (!root.firstElementChild) root.appendChild(litRoot);\n\n const m = model as { options: Option[]; value: string; lang: string; ns: string };\n\n const result = html`\n <div\n style=\"display: grid; gap: var(--lumo-space-m); padding: var(--lumo-space-s); width: 22rem\"\n >\n <foxy-query-builder\n lang=${m.lang}\n ns=${`${m.ns} query-builder`.trim()}\n .options=${m.options}\n .value=${m.value}\n >\n </foxy-query-builder>\n\n <div style=\"display: flex; justify-content: space-between\">\n <vaadin-button\n theme=\"primary\"\n style=\"margin: 0\"\n @click=${() => {\n const queryBuilder = litRoot.querySelector('foxy-query-builder') as QueryBuilder;\n const detail = queryBuilder.value ?? '';\n this.dispatchEvent(new CustomEvent('search', { detail }));\n }}\n >\n <foxy-i18n lang=${m.lang} ns=${m.ns} key=\"search\"></foxy-i18n>\n </vaadin-button>\n\n <vaadin-button\n theme=\"secondary contrast\"\n style=\"margin: 0\"\n @click=${() => this.dispatchEvent(new CustomEvent('search'))}\n >\n <foxy-i18n lang=${m.lang} ns=${m.ns} key=\"clear\"></foxy-i18n>\n </vaadin-button>\n </div>\n </div>\n `;\n\n render(result, litRoot);\n };\n}\n"]}
1
+ {"version":3,"file":"InternalAsyncListControlFilterOverlay.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOxC,MAAM,aAAa,GAAG,cAE2C,CAAC;AAElE,MAAM,OAAO,qCAAsC,SAAQ,aAAa,CAAC,cAAc,CAAC;IAAxF;;QAKE,aAAQ,GAAG,CAAC,IAAiB,EAAE,CAAU,EAAE,KAAc,EAAQ,EAAE;;YACjE,MAAM,OAAO,SAAG,IAAI,CAAC,iBAAiB,mCAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAEvD,MAAM,CAAC,GAAG,KAAuE,CAAC;YAElF,MAAM,MAAM,GAAG,IAAI,CAAA;;;;;iBAKN,CAAC,CAAC,IAAI;eACR,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,IAAI,EAAE;qBACxB,CAAC,CAAC,OAAO;mBACX,CAAC,CAAC,KAAK;;;;;;;;qBAQL,GAAG,EAAE;;gBACZ,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAiB,CAAC;gBACjF,MAAM,MAAM,SAAG,YAAY,CAAC,KAAK,mCAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;;8BAEiB,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE;;;;;;qBAM1B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;;8BAE1C,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE;;;;KAI1C,CAAC;YAEF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC;IACJ,CAAC;IAhDC,MAAM,KAAK,EAAE;QACX,OAAO,iDAAiD,CAAC;IAC3D,CAAC;CA8CF","sourcesContent":["import type { Constructor } from 'lit-element';\nimport type { Option } from '../../public/QueryBuilder/types';\n\nimport { _PositionMixin } from '@vaadin/vaadin-overlay/src/vaadin-overlay-position-mixin';\nimport { OverlayElement } from '@vaadin/vaadin-overlay/src/vaadin-overlay';\nimport { html, render } from 'lit-html';\nimport { QueryBuilder } from '../../public';\n\ndeclare class PositionMixinHost {\n positionTarget: HTMLElement | null;\n}\n\nconst PositionMixin = _PositionMixin as (\n superClass: Constructor<OverlayElement>\n) => Constructor<OverlayElement> & Constructor<PositionMixinHost>;\n\nexport class InternalAsyncListControlFilterOverlay extends PositionMixin(OverlayElement) {\n static get is(): string {\n return 'foxy-internal-async-list-control-filter-overlay';\n }\n\n renderer = (root: HTMLElement, _: unknown, model: unknown): void => {\n const litRoot = root.firstElementChild ?? document.createElement('div');\n if (!root.firstElementChild) root.appendChild(litRoot);\n\n const m = model as { options: Option[]; value: string; lang: string; ns: string };\n\n const result = html`\n <div\n style=\"display: grid; gap: var(--lumo-space-m); padding: var(--lumo-space-s); min-width: 22rem; max-width: 35rem\"\n >\n <foxy-query-builder\n lang=${m.lang}\n ns=${`${m.ns} query-builder`.trim()}\n .options=${m.options}\n .value=${m.value}\n >\n </foxy-query-builder>\n\n <div style=\"display: flex; justify-content: space-between\">\n <vaadin-button\n theme=\"primary\"\n style=\"margin: 0\"\n @click=${() => {\n const queryBuilder = litRoot.querySelector('foxy-query-builder') as QueryBuilder;\n const detail = queryBuilder.value ?? '';\n this.dispatchEvent(new CustomEvent('search', { detail }));\n }}\n >\n <foxy-i18n lang=${m.lang} ns=${m.ns} key=\"search\"></foxy-i18n>\n </vaadin-button>\n\n <vaadin-button\n theme=\"secondary contrast\"\n style=\"margin: 0\"\n @click=${() => this.dispatchEvent(new CustomEvent('search'))}\n >\n <foxy-i18n lang=${m.lang} ns=${m.ns} key=\"clear\"></foxy-i18n>\n </vaadin-button>\n </div>\n </div>\n `;\n\n render(result, litRoot);\n };\n}\n"]}
@@ -126,16 +126,15 @@ input{
126
126
  />
127
127
 
128
128
  ${this.suffix ? html `<div class="font-medium text-secondary">${this.suffix}</div>` : ''}
129
-
130
- <div style="max-width: 32rem">
131
- <p class="text-xs text-secondary">${this.helperText}</p>
132
- <p
133
- class="text-xs text-error"
134
- ?hidden=${!this.__isErrorVisible || this.disabled || this.readonly}
135
- >
136
- ${this._errorMessage}
137
- </p>
138
- </div>
129
+ </div>
130
+ <div style="max-width: 32rem">
131
+ <p class="text-xs text-secondary">${this.helperText}</p>
132
+ <p
133
+ class="text-xs text-error"
134
+ ?hidden=${!this.__isErrorVisible || this.disabled || this.readonly}
135
+ >
136
+ ${this._errorMessage}
137
+ </p>
139
138
  </div>
140
139
  </div>
141
140
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalNumberControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalNumberControl/InternalNumberControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NumberFieldElement } from '@vaadin/vaadin-text-field/vaadin-number-field';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\n\n/**\n * Internal control displaying a basic number box.\n *\n * @since 1.17.0\n * @element foxy-internal-number-control\n */\nexport class InternalNumberControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n layout: {},\n prefix: {},\n suffix: {},\n step: { type: Number },\n min: { type: Number },\n max: { type: Number },\n __isErrorVisible: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\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 ];\n }\n\n layout: 'summary-item' | 'standalone' | null = null;\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n step: number | null = null;\n\n min: number | null = null;\n\n max: number | null = null;\n\n private __isErrorVisible = false;\n\n reportValidity(): void {\n this.__isErrorVisible = true;\n super.reportValidity();\n }\n\n renderControl(): TemplateResult {\n if (this.layout === 'summary-item') return this.__renderSummaryItemLayout();\n\n return html`\n <vaadin-number-field\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n step=${ifDefined(this.step ?? undefined)}\n min=${ifDefined(this.min ?? undefined)}\n max=${ifDefined(this.max ?? undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${this._value}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as NumberFieldElement;\n this._value = parseFloat(field.value);\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-number-field>\n `;\n }\n\n private __renderSummaryItemLayout() {\n return html`\n <div class=\"leading-xs\">\n <div class=\"flex items-center gap-xs\">\n <label class=\"text-m text-body flex-1 whitespace-nowrap\" for=\"input\">${this.label}</label>\n\n ${this.prefix ? html`<div>${this.prefix}</div>` : ''}\n\n <input\n placeholder=${this.placeholder}\n style=\"min-width: 10ch\"\n class=${classMap({\n 'w-full appearance-none text-right bg-transparent transition-colors': true,\n 'text-m rounded-s focus-outline-none': true,\n 'text-secondary': this.readonly,\n 'text-disabled': this.disabled,\n 'font-medium': !this.readonly,\n })}\n type=\"number\"\n step=${ifDefined(this.step ?? void 0)}\n min=${ifDefined(this.min ?? void 0)}\n max=${ifDefined(this.max ?? void 0)}\n id=\"input\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @blur=${() => (this.__isErrorVisible = true)}\n @input=${(evt: Event) => {\n evt.stopPropagation();\n const newValue = parseFloat((evt.target as HTMLInputElement).value);\n if (!isNaN(newValue)) this._value = newValue;\n }}\n />\n\n ${this.suffix ? html`<div class=\"font-medium text-secondary\">${this.suffix}</div>` : ''}\n\n <div style=\"max-width: 32rem\">\n <p class=\"text-xs text-secondary\">${this.helperText}</p>\n <p\n class=\"text-xs text-error\"\n ?hidden=${!this.__isErrorVisible || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </p>\n </div>\n </div>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalNumberControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalNumberControl/InternalNumberControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NumberFieldElement } from '@vaadin/vaadin-text-field/vaadin-number-field';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\n\n/**\n * Internal control displaying a basic number box.\n *\n * @since 1.17.0\n * @element foxy-internal-number-control\n */\nexport class InternalNumberControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n layout: {},\n prefix: {},\n suffix: {},\n step: { type: Number },\n min: { type: Number },\n max: { type: Number },\n __isErrorVisible: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\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 ];\n }\n\n layout: 'summary-item' | 'standalone' | null = null;\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n step: number | null = null;\n\n min: number | null = null;\n\n max: number | null = null;\n\n private __isErrorVisible = false;\n\n reportValidity(): void {\n this.__isErrorVisible = true;\n super.reportValidity();\n }\n\n renderControl(): TemplateResult {\n if (this.layout === 'summary-item') return this.__renderSummaryItemLayout();\n\n return html`\n <vaadin-number-field\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n step=${ifDefined(this.step ?? undefined)}\n min=${ifDefined(this.min ?? undefined)}\n max=${ifDefined(this.max ?? undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${this._value}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as NumberFieldElement;\n this._value = parseFloat(field.value);\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-number-field>\n `;\n }\n\n private __renderSummaryItemLayout() {\n return html`\n <div class=\"leading-xs\">\n <div class=\"flex items-center gap-xs\">\n <label class=\"text-m text-body flex-1 whitespace-nowrap\" for=\"input\">${this.label}</label>\n\n ${this.prefix ? html`<div>${this.prefix}</div>` : ''}\n\n <input\n placeholder=${this.placeholder}\n style=\"min-width: 10ch\"\n class=${classMap({\n 'w-full appearance-none text-right bg-transparent transition-colors': true,\n 'text-m rounded-s focus-outline-none': true,\n 'text-secondary': this.readonly,\n 'text-disabled': this.disabled,\n 'font-medium': !this.readonly,\n })}\n type=\"number\"\n step=${ifDefined(this.step ?? void 0)}\n min=${ifDefined(this.min ?? void 0)}\n max=${ifDefined(this.max ?? void 0)}\n id=\"input\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @blur=${() => (this.__isErrorVisible = true)}\n @input=${(evt: Event) => {\n evt.stopPropagation();\n const newValue = parseFloat((evt.target as HTMLInputElement).value);\n if (!isNaN(newValue)) this._value = newValue;\n }}\n />\n\n ${this.suffix ? html`<div class=\"font-medium text-secondary\">${this.suffix}</div>` : ''}\n </div>\n <div style=\"max-width: 32rem\">\n <p class=\"text-xs text-secondary\">${this.helperText}</p>\n <p\n class=\"text-xs text-error\"\n ?hidden=${!this.__isErrorVisible || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </p>\n </div>\n </div>\n `;\n }\n}\n"]}
@@ -16,7 +16,7 @@ export class InternalSummaryControl extends InternalEditableControl {
16
16
  unsafeHelperText: { type: Boolean, attribute: 'unsafe-helper-text' },
17
17
  layout: {},
18
18
  count: { type: Number },
19
- open: { type: Boolean },
19
+ open: { type: Boolean, reflect: true },
20
20
  };
21
21
  }
22
22
  static get styles() {
@@ -1 +1 @@
1
- {"version":3,"file":"InternalSummaryControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSummaryControl/InternalSummaryControl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB;IAAnE;;QAkDE,qBAAgB,GAAG,KAAK,CAAC;QAEzB,WAAM,GAAiC,IAAI,CAAC;QAE5C,UAAK,GAAkB,IAAI,CAAC;QAE5B,SAAI,GAAG,KAAK,CAAC;IA2Df,CAAC;IAlHC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACpE,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,GAAG,KAAK,CAAC,MAAM;YACf,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCF;SACF,CAAC;IACJ,CAAC;IAUD,cAAc;QACZ,OAAO;IACT,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAA;;;kBAGC,IAAI,CAAC,IAAI;oBACP,CAAC,GAAU,EAAE,EAAE;gBACvB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAmC,CAAC;gBACxD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnF,CAAC;;;;;;wBAMa,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU;;2EAEoB,CAAC,IAAI,CAAC,KAAK;;oBAElE,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;oBAMrE,GAAG,CAAA,uTAAuT;;;sEAGxQ,CAAC,IAAI,CAAC,UAAU;kBACpE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;;;;;;;;OAQhF,CAAC;SACH;QAED,OAAO,IAAI,CAAA;4CAC6B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU;0DACjB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;+DACpB,CAAC,IAAI,CAAC,UAAU;YACnE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;;;;;;KAM5E,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { CSSResultArray, PropertyDeclarations } from 'lit-element';\nimport { svg, TemplateResult } from 'lit-html';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html';\nimport { html, css } from 'lit-element';\n\nexport class InternalSummaryControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n unsafeHelperText: { type: Boolean, attribute: 'unsafe-helper-text' },\n layout: {},\n count: { type: Number },\n open: { type: Boolean },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n ::slotted(*) {\n min-width: 100%;\n }\n\n :host(:not([layout='section'])) slot::slotted(*) {\n background-color: var(--lumo-contrast-5pct);\n padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px);\n }\n\n details summary > div {\n border-radius: var(--lumo-border-radius);\n }\n\n details[open] summary > div {\n border-radius: var(--lumo-border-radius) var(--lumo-border-radius) 0 0;\n }\n\n .with-unsafe a {\n text-decoration: underline;\n transition: color 0.1s ease-in-out;\n }\n\n .with-unsafe a:hover {\n color: var(--lumo-primary-text-color);\n }\n\n .with-unsafe a:focus {\n outline: none;\n box-shadow: 0 0 0 2px var(--lumo-primary-color-50pct);\n border-radius: var(--lumo-border-radius-s);\n }\n `,\n ];\n }\n\n unsafeHelperText = false;\n\n layout: null | 'section' | 'details' = null;\n\n count: number | null = null;\n\n open = false;\n\n renderLightDom(): void {\n return;\n }\n\n renderControl(): TemplateResult {\n if (this.layout === 'details') {\n return html`\n <details\n class=\"rounded overflow-hidden\"\n ?open=${this.open}\n @toggle=${(evt: Event) => {\n const details = evt.currentTarget as HTMLDetailsElement;\n this.open = details.open;\n if (!evt.composed && !evt.bubbles) this.dispatchEvent(new CustomEvent('toggle'));\n }}\n >\n <summary class=\"select-none cursor-pointer focus-outline-none group\">\n <div\n class=\"leading-xs bg-contrast-5 group-focus-ring-2 group-focus-ring-inset group-focus-ring-primary-50\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n ?hidden=${!this.label && !this.helperText}\n >\n <p class=\"flex items-center justify-between gap-s\" ?hidden=${!this.label}>\n <span>\n ${this.label}${typeof this.count === 'number' ? ` (${this.count})` : ''}\n </span>\n <span\n class=\"flex items-center justify-center transition-colors text-tertiary group-hover-text-body\"\n style=\"transform: scale(1.35)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1.2em; height: 1.2em\"><path fill-rule=\"evenodd\" d=\"M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z\" clip-rule=\"evenodd\" /></svg>`}\n </span>\n </p>\n <p class=\"text-xs text-secondary with-unsafe\" ?hidden=${!this.helperText}>\n ${this.unsafeHelperText ? unsafeHTML(this.helperText) : this.helperText}\n </p>\n </div>\n </summary>\n <div class=\"overflow-hidden grid\" style=\"gap: 1px\">\n <slot></slot>\n </div>\n </details>\n `;\n }\n\n return html`\n <div class=\"leading-s mb-s\" ?hidden=${!this.label && !this.helperText}>\n <p class=\"font-medium text-body text-l\" ?hidden=${!this.label}>${this.label}</p>\n <p class=\"text-s text-secondary with-unsafe\" ?hidden=${!this.helperText}>\n ${this.unsafeHelperText ? unsafeHTML(this.helperText) : this.helperText}\n </p>\n </div>\n <div class=\"rounded overflow-hidden grid\" style=\"gap: 1px\">\n <slot></slot>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalSummaryControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSummaryControl/InternalSummaryControl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB;IAAnE;;QAkDE,qBAAgB,GAAG,KAAK,CAAC;QAEzB,WAAM,GAAiC,IAAI,CAAC;QAE5C,UAAK,GAAkB,IAAI,CAAC;QAE5B,SAAI,GAAG,KAAK,CAAC;IA2Df,CAAC;IAlHC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACpE,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO;YACL,GAAG,KAAK,CAAC,MAAM;YACf,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCF;SACF,CAAC;IACJ,CAAC;IAUD,cAAc;QACZ,OAAO;IACT,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAA;;;kBAGC,IAAI,CAAC,IAAI;oBACP,CAAC,GAAU,EAAE,EAAE;gBACvB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAmC,CAAC;gBACxD,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO;oBAAE,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnF,CAAC;;;;;;wBAMa,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU;;2EAEoB,CAAC,IAAI,CAAC,KAAK;;oBAElE,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE;;;;;;oBAMrE,GAAG,CAAA,uTAAuT;;;sEAGxQ,CAAC,IAAI,CAAC,UAAU;kBACpE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;;;;;;;;OAQhF,CAAC;SACH;QAED,OAAO,IAAI,CAAA;4CAC6B,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU;0DACjB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;+DACpB,CAAC,IAAI,CAAC,UAAU;YACnE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;;;;;;KAM5E,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { CSSResultArray, PropertyDeclarations } from 'lit-element';\nimport { svg, TemplateResult } from 'lit-html';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html';\nimport { html, css } from 'lit-element';\n\nexport class InternalSummaryControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n unsafeHelperText: { type: Boolean, attribute: 'unsafe-helper-text' },\n layout: {},\n count: { type: Number },\n open: { type: Boolean, reflect: true },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n ::slotted(*) {\n min-width: 100%;\n }\n\n :host(:not([layout='section'])) slot::slotted(*) {\n background-color: var(--lumo-contrast-5pct);\n padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px);\n }\n\n details summary > div {\n border-radius: var(--lumo-border-radius);\n }\n\n details[open] summary > div {\n border-radius: var(--lumo-border-radius) var(--lumo-border-radius) 0 0;\n }\n\n .with-unsafe a {\n text-decoration: underline;\n transition: color 0.1s ease-in-out;\n }\n\n .with-unsafe a:hover {\n color: var(--lumo-primary-text-color);\n }\n\n .with-unsafe a:focus {\n outline: none;\n box-shadow: 0 0 0 2px var(--lumo-primary-color-50pct);\n border-radius: var(--lumo-border-radius-s);\n }\n `,\n ];\n }\n\n unsafeHelperText = false;\n\n layout: null | 'section' | 'details' = null;\n\n count: number | null = null;\n\n open = false;\n\n renderLightDom(): void {\n return;\n }\n\n renderControl(): TemplateResult {\n if (this.layout === 'details') {\n return html`\n <details\n class=\"rounded overflow-hidden\"\n ?open=${this.open}\n @toggle=${(evt: Event) => {\n const details = evt.currentTarget as HTMLDetailsElement;\n this.open = details.open;\n if (!evt.composed && !evt.bubbles) this.dispatchEvent(new CustomEvent('toggle'));\n }}\n >\n <summary class=\"select-none cursor-pointer focus-outline-none group\">\n <div\n class=\"leading-xs bg-contrast-5 group-focus-ring-2 group-focus-ring-inset group-focus-ring-primary-50\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n ?hidden=${!this.label && !this.helperText}\n >\n <p class=\"flex items-center justify-between gap-s\" ?hidden=${!this.label}>\n <span>\n ${this.label}${typeof this.count === 'number' ? ` (${this.count})` : ''}\n </span>\n <span\n class=\"flex items-center justify-center transition-colors text-tertiary group-hover-text-body\"\n style=\"transform: scale(1.35)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1.2em; height: 1.2em\"><path fill-rule=\"evenodd\" d=\"M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z\" clip-rule=\"evenodd\" /></svg>`}\n </span>\n </p>\n <p class=\"text-xs text-secondary with-unsafe\" ?hidden=${!this.helperText}>\n ${this.unsafeHelperText ? unsafeHTML(this.helperText) : this.helperText}\n </p>\n </div>\n </summary>\n <div class=\"overflow-hidden grid\" style=\"gap: 1px\">\n <slot></slot>\n </div>\n </details>\n `;\n }\n\n return html`\n <div class=\"leading-s mb-s\" ?hidden=${!this.label && !this.helperText}>\n <p class=\"font-medium text-body text-l\" ?hidden=${!this.label}>${this.label}</p>\n <p class=\"text-s text-secondary with-unsafe\" ?hidden=${!this.helperText}>\n ${this.unsafeHelperText ? unsafeHTML(this.helperText) : this.helperText}\n </p>\n </div>\n <div class=\"rounded overflow-hidden grid\" style=\"gap: 1px\">\n <slot></slot>\n </div>\n `;\n }\n}\n"]}
@@ -101,10 +101,10 @@ export class CouponForm extends Base {
101
101
  };
102
102
  this.__storeLoaderId = 'storeLoader';
103
103
  this.__codesFilters = [
104
- { label: 'code', path: 'code', type: Type.String },
105
- { label: 'used_codes', path: 'number_of_uses_to_date', type: Type.Number },
106
- { label: 'date_created', path: 'date_created', type: Type.Date },
107
- { label: 'date_modified', path: 'date_modified', type: Type.Date },
104
+ { label: 'option_code', path: 'code', type: Type.String },
105
+ { label: 'option_number_of_uses_to_date', path: 'number_of_uses_to_date', type: Type.Number },
106
+ { label: 'option_date_created', path: 'date_created', type: Type.Date },
107
+ { label: 'option_date_modified', path: 'date_modified', type: Type.Date },
108
108
  ];
109
109
  this.__couponCodesActions = [
110
110
  {
@@ -1 +1 @@
1
- {"version":3,"file":"CouponForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CouponForm/CouponForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { Data, TransactionPageHrefGetter } from './types';\nimport type { Option, ParsedValue } from '../QueryBuilder/types';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { SwipeAction } from '../../internal/InternalAsyncListControl/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { Type, Operator } from '../QueryBuilder/types';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\nimport { parse } from '../QueryBuilder/utils/parse';\nimport { stringify } from '../QueryBuilder/utils/stringify';\n\nconst NS = 'coupon-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating or editing coupons (`fx:coupon`).\n *\n * @element foxy-coupon-form\n * @since 1.15.0\n */\nexport class CouponForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getTransactionPageHref: { attribute: false },\n __couponCodesActions: { type: Array },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 50 || 'name:v8n_too_long',\n ({ inclusive_tax_rate: v }) => !v || v >= 0 || 'inclusive-tax-rate:v8n_too_small',\n ({ inclusive_tax_rate: v }) => !v || v <= 1 || 'inclusive-tax-rate:v8n_too_big',\n ({ number_of_uses_allowed: v }) => !v || v >= 0 || 'number-of-uses-allowed:v8n_too_small',\n ({ coupon_discount_details: v }) => !!v || 'rules:v8n_required',\n ({ coupon_discount_details: v }) => !v || v.length <= 200 || 'rules:v8n_too_long',\n ({ item_option_restrictions: v }) => {\n return !v || JSON.stringify(v).length <= 6000 || 'item-option-restrictions:v8n_too_long';\n },\n ({ product_code_restrictions: v }) => {\n return !v || v.length <= 5000 || 'product-code-restrictions:v8n_too_long';\n },\n ({ customer_attribute_restrictions: v }) => {\n return !v || v.length <= 2000 || 'customer-attribute-restrictions:v8n_too_long';\n },\n ({ number_of_uses_allowed_per_code: v }) => {\n return !v || v >= 0 || 'number-of-uses-allowed-per-code:v8n_too_small';\n },\n ({ customer_subscription_restrictions: v }) => {\n return !v || v.length <= 200 || 'customer-subscription-restrictions:v8n_too_long';\n },\n ({ number_of_uses_allowed_per_customer: v }) => {\n return !v || v >= 0 || 'number-of-uses-allowed-per-customer:v8n_too_small';\n },\n ];\n }\n\n getTransactionPageHref: TransactionPageHrefGetter | null = null;\n\n private readonly __customerAttributeRestrictionsOperators: Operator[] = [\n Operator.Not,\n Operator.In,\n ];\n\n private readonly __customerAttributeRestrictionsGetValue = () => {\n const simplifiedValue = parse(this.form.customer_attribute_restrictions ?? '')\n .filter(value => Array.isArray(value) || typeof value.name === 'string')\n .map(value => {\n if (Array.isArray(value)) {\n return value\n .filter(({ name }) => typeof name === 'string')\n .map(({ name, operator, value }) => {\n const output: ParsedValue = { path: name as string, operator, value };\n return output;\n });\n }\n\n const output: ParsedValue = {\n operator: value.operator,\n value: value.value,\n path: value.name as string,\n };\n\n return output;\n });\n\n return stringify(simplifiedValue, true);\n };\n\n private readonly __customerAttributeRestrictionsSetValue = (newValue: string) => {\n const augmentedValue = parse(newValue).map(value => {\n if (Array.isArray(value)) {\n return value.map(({ path, operator, value }) => {\n const output: ParsedValue = { name: path, path: 'attributes', operator, value };\n return output;\n });\n } else {\n const output: ParsedValue = {\n operator: value.operator,\n value: value.value,\n path: 'attributes',\n name: value.path,\n };\n\n return output;\n }\n });\n\n this.edit({ customer_attribute_restrictions: stringify(augmentedValue, true) });\n };\n\n private readonly __customerSubscriptionRestrictionsGetValue = () => {\n const items = this.form.customer_subscription_restrictions\n ?.split(',')\n .map(value => value.trim())\n .filter((value, index, values) => !!value && values.indexOf(value) === index)\n .map(value => ({ value }));\n\n return items ?? [];\n };\n\n private readonly __customerSubscriptionRestrictionsSetValue = (newValue: Item[]) => {\n this.edit({\n customer_subscription_restrictions: newValue\n .map(({ value }) => value.trim())\n .filter((value, index, values) => !!value && values.indexOf(value) === index)\n .join(),\n });\n\n this.edit({\n customer_auto_apply:\n !!this.form.customer_subscription_restrictions ||\n !!this.form.customer_attribute_restrictions,\n });\n };\n\n private readonly __productCodeRestrictionsGetValue = () => {\n return this.form.product_code_restrictions\n ?.split(',')\n .filter(v => !!v.trim())\n .map(value => ({\n value,\n label: value.startsWith('-')\n ? this.t(`product-code-restrictions.label_block`, { value: value.substring(1) })\n : this.t(`product-code-restrictions.label_allow`, { value }),\n }));\n };\n\n private readonly __productCodeRestrictionsSetValue = (newValue: Item[]) => {\n this.edit({\n product_code_restrictions: newValue\n .map(({ value, unit }) => (unit === 'block' ? `-${value}` : value))\n .filter((v, i, a) => !!v && a.indexOf(v) === i)\n .join(','),\n });\n };\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __codesFilters: Option[] = [\n { label: 'code', path: 'code', type: Type.String },\n { label: 'used_codes', path: 'number_of_uses_to_date', type: Type.Number },\n { label: 'date_created', path: 'date_created', type: Type.Date },\n { label: 'date_modified', path: 'date_modified', type: Type.Date },\n ];\n\n private __couponCodesActions: SwipeAction<Resource<Rels.CouponCode>>[] = [\n {\n theme: 'contrast',\n state: 'idle',\n text: 'copy_button_text',\n onClick: async data => {\n this.__couponCodesActions[0].state = 'busy';\n this.__couponCodesActions = [...this.__couponCodesActions];\n\n try {\n await navigator.clipboard.writeText(data.code);\n this.__couponCodesActions[0].state = 'end';\n } catch {\n this.__couponCodesActions[0].state = 'error';\n } finally {\n this.__couponCodesActions = [...this.__couponCodesActions];\n setTimeout(() => {\n this.__couponCodesActions[0].state = 'idle';\n this.__couponCodesActions = [...this.__couponCodesActions];\n }, 1000);\n }\n },\n },\n ];\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (this.data) {\n alwaysMatch.push('coupon-codes-stub', 'category-restrictions-stub', 'attributes-stub');\n } else {\n alwaysMatch.push('coupon-codes', 'category-restrictions', 'attributes');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { ...super.headerSubtitleOptions, id: this.headerCopyIdValue };\n }\n\n renderHeaderActions(data: Data): TemplateResult {\n return html`\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:generate_codes'].href}\n infer=\"generate\"\n form=\"foxy-generate-codes-form\"\n .related=${[data._links['fx:coupon_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:coupon_codes'].href}\n infer=\"import\"\n form=\"foxy-coupon-codes-form\"\n .related=${[data._links['fx:coupon_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n ${super.renderHeaderActions(data)}\n `;\n }\n\n renderBody(): TemplateResult {\n let codesUrl: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:coupon_codes'].href ?? '');\n url.searchParams.set('order', 'date_created desc');\n\n codesUrl = url.toString();\n } catch {\n codesUrl = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-coupon-form-rules-control infer=\"rules\">\n </foxy-internal-coupon-form-rules-control>\n\n <foxy-internal-summary-control infer=\"coupon-codes-stub\">\n <p class=\"text-disabled\"><foxy-i18n infer=\"\" key=\"text\"></foxy-i18n></p>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=${codesUrl}\n limit=\"5\"\n infer=\"coupon-codes\"\n item=\"foxy-coupon-code-card\"\n form=\"foxy-coupon-code-form\"\n alert\n .formProps=${{ '.getTransactionPageHref': this.getTransactionPageHref }}\n .actions=${this.__couponCodesActions}\n .filters=${this.__codesFilters}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-editable-list-control\n infer=\"product-code-restrictions\"\n .getValue=${this.__productCodeRestrictionsGetValue}\n .setValue=${this.__productCodeRestrictionsSetValue}\n .units=${[\n { label: this.t('product-code-restrictions.unit_allow'), value: 'allow' },\n { label: this.t('product-code-restrictions.unit_block'), value: 'block' },\n ]}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-array-map-control infer=\"item-option-restrictions\">\n </foxy-internal-array-map-control>\n\n <foxy-internal-query-builder-control\n infer=\"customer-attribute-restrictions\"\n disable-zoom\n disable-or\n .operators=${this.__customerAttributeRestrictionsOperators}\n .getValue=${this.__customerAttributeRestrictionsGetValue}\n .setValue=${this.__customerAttributeRestrictionsSetValue}\n >\n </foxy-internal-query-builder-control>\n\n <foxy-internal-editable-list-control\n infer=\"customer-subscription-restrictions\"\n .getValue=${this.__customerSubscriptionRestrictionsGetValue}\n .setValue=${this.__customerSubscriptionRestrictionsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-summary-control infer=\"auto-apply\">\n <foxy-internal-switch-control infer=\"customer-auto-apply\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"category-restrictions-stub\">\n <p class=\"text-disabled\"><foxy-i18n infer=\"\" key=\"text\"></foxy-i18n></p>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"item_category_uri\"\n foreign-key-for-id=\"item_category_id\"\n own-key-for-uri=\"coupon_uri\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n embed-key=\"fx:coupon_item_categories\"\n options-href=${ifDefined(this.__storeLoader?.data?._links['fx:item_categories'].href)}\n links-href=${ifDefined(this.data?._links['fx:coupon_item_categories'].href)}\n infer=\"category-restrictions\"\n limit=\"5\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n\n <foxy-internal-summary-control infer=\"uses\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"number-of-uses-allowed\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"number-of-uses-allowed-per-customer\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"number-of-uses-allowed-per-code\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"timeframe\">\n <foxy-internal-date-control layout=\"summary-item\" infer=\"start-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"taxes\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"inclusive-tax-rate\"\n min=\"0\"\n max=\"1\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"options\">\n <foxy-internal-switch-control infer=\"multiple-codes-allowed\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"combinable\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"exclude-category-discounts\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"exclude-line-item-discounts\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"is-taxable\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"shared-codes-allowed\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"attributes-stub\">\n <p class=\"text-disabled\"><foxy-i18n infer=\"\" key=\"text\"></foxy-i18n></p>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n limit=\"5\"\n infer=\"attributes\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
1
+ {"version":3,"file":"CouponForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CouponForm/CouponForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult, PropertyDeclarations } from 'lit-element';\nimport type { Data, TransactionPageHrefGetter } from './types';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Option, Rule } from '../QueryBuilder/types';\nimport type { SwipeAction } from '../../internal/InternalAsyncListControl/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Item } from '../../internal/InternalEditableListControl/types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { Type, Operator } from '../QueryBuilder/types';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\nimport { parse } from '../QueryBuilder/utils/parse';\nimport { stringify } from '../QueryBuilder/utils/stringify';\n\nconst NS = 'coupon-form';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Form element for creating or editing coupons (`fx:coupon`).\n *\n * @element foxy-coupon-form\n * @since 1.15.0\n */\nexport class CouponForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getTransactionPageHref: { attribute: false },\n __couponCodesActions: { type: Array },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => !v || v.length <= 50 || 'name:v8n_too_long',\n ({ inclusive_tax_rate: v }) => !v || v >= 0 || 'inclusive-tax-rate:v8n_too_small',\n ({ inclusive_tax_rate: v }) => !v || v <= 1 || 'inclusive-tax-rate:v8n_too_big',\n ({ number_of_uses_allowed: v }) => !v || v >= 0 || 'number-of-uses-allowed:v8n_too_small',\n ({ coupon_discount_details: v }) => !!v || 'rules:v8n_required',\n ({ coupon_discount_details: v }) => !v || v.length <= 200 || 'rules:v8n_too_long',\n ({ item_option_restrictions: v }) => {\n return !v || JSON.stringify(v).length <= 6000 || 'item-option-restrictions:v8n_too_long';\n },\n ({ product_code_restrictions: v }) => {\n return !v || v.length <= 5000 || 'product-code-restrictions:v8n_too_long';\n },\n ({ customer_attribute_restrictions: v }) => {\n return !v || v.length <= 2000 || 'customer-attribute-restrictions:v8n_too_long';\n },\n ({ number_of_uses_allowed_per_code: v }) => {\n return !v || v >= 0 || 'number-of-uses-allowed-per-code:v8n_too_small';\n },\n ({ customer_subscription_restrictions: v }) => {\n return !v || v.length <= 200 || 'customer-subscription-restrictions:v8n_too_long';\n },\n ({ number_of_uses_allowed_per_customer: v }) => {\n return !v || v >= 0 || 'number-of-uses-allowed-per-customer:v8n_too_small';\n },\n ];\n }\n\n getTransactionPageHref: TransactionPageHrefGetter | null = null;\n\n private readonly __customerAttributeRestrictionsOperators: Operator[] = [\n Operator.Not,\n Operator.In,\n ];\n\n private readonly __customerAttributeRestrictionsGetValue = () => {\n const simplifiedValue = parse(this.form.customer_attribute_restrictions ?? '')\n .filter(value => Array.isArray(value) || typeof value.name === 'string')\n .map(value => {\n if (Array.isArray(value)) {\n return value\n .filter(({ name }) => typeof name === 'string')\n .map(({ name, operator, value }) => {\n const output: Rule = { path: name as string, operator, value };\n return output;\n });\n }\n\n const output: Rule = {\n operator: value.operator,\n value: value.value,\n path: value.name as string,\n };\n\n return output;\n });\n\n return stringify(simplifiedValue, true);\n };\n\n private readonly __customerAttributeRestrictionsSetValue = (newValue: string) => {\n const augmentedValue = parse(newValue).map(value => {\n if (Array.isArray(value)) {\n return value.map(({ path, operator, value }) => {\n const output: Rule = { name: path, path: 'attributes', operator, value };\n return output;\n });\n } else {\n const output: Rule = {\n operator: value.operator,\n value: value.value,\n path: 'attributes',\n name: value.path,\n };\n\n return output;\n }\n });\n\n this.edit({ customer_attribute_restrictions: stringify(augmentedValue, true) });\n };\n\n private readonly __customerSubscriptionRestrictionsGetValue = () => {\n const items = this.form.customer_subscription_restrictions\n ?.split(',')\n .map(value => value.trim())\n .filter((value, index, values) => !!value && values.indexOf(value) === index)\n .map(value => ({ value }));\n\n return items ?? [];\n };\n\n private readonly __customerSubscriptionRestrictionsSetValue = (newValue: Item[]) => {\n this.edit({\n customer_subscription_restrictions: newValue\n .map(({ value }) => value.trim())\n .filter((value, index, values) => !!value && values.indexOf(value) === index)\n .join(),\n });\n\n this.edit({\n customer_auto_apply:\n !!this.form.customer_subscription_restrictions ||\n !!this.form.customer_attribute_restrictions,\n });\n };\n\n private readonly __productCodeRestrictionsGetValue = () => {\n return this.form.product_code_restrictions\n ?.split(',')\n .filter(v => !!v.trim())\n .map(value => ({\n value,\n label: value.startsWith('-')\n ? this.t(`product-code-restrictions.label_block`, { value: value.substring(1) })\n : this.t(`product-code-restrictions.label_allow`, { value }),\n }));\n };\n\n private readonly __productCodeRestrictionsSetValue = (newValue: Item[]) => {\n this.edit({\n product_code_restrictions: newValue\n .map(({ value, unit }) => (unit === 'block' ? `-${value}` : value))\n .filter((v, i, a) => !!v && a.indexOf(v) === i)\n .join(','),\n });\n };\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __codesFilters: Option[] = [\n { label: 'option_code', path: 'code', type: Type.String },\n { label: 'option_number_of_uses_to_date', path: 'number_of_uses_to_date', type: Type.Number },\n { label: 'option_date_created', path: 'date_created', type: Type.Date },\n { label: 'option_date_modified', path: 'date_modified', type: Type.Date },\n ];\n\n private __couponCodesActions: SwipeAction<Resource<Rels.CouponCode>>[] = [\n {\n theme: 'contrast',\n state: 'idle',\n text: 'copy_button_text',\n onClick: async data => {\n this.__couponCodesActions[0].state = 'busy';\n this.__couponCodesActions = [...this.__couponCodesActions];\n\n try {\n await navigator.clipboard.writeText(data.code);\n this.__couponCodesActions[0].state = 'end';\n } catch {\n this.__couponCodesActions[0].state = 'error';\n } finally {\n this.__couponCodesActions = [...this.__couponCodesActions];\n setTimeout(() => {\n this.__couponCodesActions[0].state = 'idle';\n this.__couponCodesActions = [...this.__couponCodesActions];\n }, 1000);\n }\n },\n },\n ];\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [super.hiddenSelector.toString()];\n\n if (this.data) {\n alwaysMatch.push('coupon-codes-stub', 'category-restrictions-stub', 'attributes-stub');\n } else {\n alwaysMatch.push('coupon-codes', 'category-restrictions', 'attributes');\n }\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { ...super.headerSubtitleOptions, id: this.headerCopyIdValue };\n }\n\n renderHeaderActions(data: Data): TemplateResult {\n return html`\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:generate_codes'].href}\n infer=\"generate\"\n form=\"foxy-generate-codes-form\"\n .related=${[data._links['fx:coupon_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n <foxy-internal-bulk-add-action-control\n parent=${data._links['fx:coupon_codes'].href}\n infer=\"import\"\n form=\"foxy-coupon-codes-form\"\n .related=${[data._links['fx:coupon_codes'].href]}\n >\n </foxy-internal-bulk-add-action-control>\n\n ${super.renderHeaderActions(data)}\n `;\n }\n\n renderBody(): TemplateResult {\n let codesUrl: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:coupon_codes'].href ?? '');\n url.searchParams.set('order', 'date_created desc');\n\n codesUrl = url.toString();\n } catch {\n codesUrl = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"name\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-coupon-form-rules-control infer=\"rules\">\n </foxy-internal-coupon-form-rules-control>\n\n <foxy-internal-summary-control infer=\"coupon-codes-stub\">\n <p class=\"text-disabled\"><foxy-i18n infer=\"\" key=\"text\"></foxy-i18n></p>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=${codesUrl}\n limit=\"5\"\n infer=\"coupon-codes\"\n item=\"foxy-coupon-code-card\"\n form=\"foxy-coupon-code-form\"\n alert\n .formProps=${{ '.getTransactionPageHref': this.getTransactionPageHref }}\n .actions=${this.__couponCodesActions}\n .filters=${this.__codesFilters}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-editable-list-control\n infer=\"product-code-restrictions\"\n .getValue=${this.__productCodeRestrictionsGetValue}\n .setValue=${this.__productCodeRestrictionsSetValue}\n .units=${[\n { label: this.t('product-code-restrictions.unit_allow'), value: 'allow' },\n { label: this.t('product-code-restrictions.unit_block'), value: 'block' },\n ]}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-array-map-control infer=\"item-option-restrictions\">\n </foxy-internal-array-map-control>\n\n <foxy-internal-query-builder-control\n infer=\"customer-attribute-restrictions\"\n disable-zoom\n disable-or\n .operators=${this.__customerAttributeRestrictionsOperators}\n .getValue=${this.__customerAttributeRestrictionsGetValue}\n .setValue=${this.__customerAttributeRestrictionsSetValue}\n >\n </foxy-internal-query-builder-control>\n\n <foxy-internal-editable-list-control\n infer=\"customer-subscription-restrictions\"\n .getValue=${this.__customerSubscriptionRestrictionsGetValue}\n .setValue=${this.__customerSubscriptionRestrictionsSetValue}\n >\n </foxy-internal-editable-list-control>\n\n <foxy-internal-summary-control infer=\"auto-apply\">\n <foxy-internal-switch-control infer=\"customer-auto-apply\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"category-restrictions-stub\">\n <p class=\"text-disabled\"><foxy-i18n infer=\"\" key=\"text\"></foxy-i18n></p>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-resource-link-list-control\n foreign-key-for-uri=\"item_category_uri\"\n foreign-key-for-id=\"item_category_id\"\n own-key-for-uri=\"coupon_uri\"\n own-uri=${ifDefined(this.data?._links.self.href)}\n embed-key=\"fx:coupon_item_categories\"\n options-href=${ifDefined(this.__storeLoader?.data?._links['fx:item_categories'].href)}\n links-href=${ifDefined(this.data?._links['fx:coupon_item_categories'].href)}\n infer=\"category-restrictions\"\n limit=\"5\"\n item=\"foxy-item-category-card\"\n >\n </foxy-internal-async-resource-link-list-control>\n\n <foxy-internal-summary-control infer=\"uses\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"number-of-uses-allowed\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"number-of-uses-allowed-per-customer\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"number-of-uses-allowed-per-code\"\n step=\"1\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"timeframe\">\n <foxy-internal-date-control layout=\"summary-item\" infer=\"start-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"taxes\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n infer=\"inclusive-tax-rate\"\n min=\"0\"\n max=\"1\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"options\">\n <foxy-internal-switch-control infer=\"multiple-codes-allowed\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"combinable\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"exclude-category-discounts\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"exclude-line-item-discounts\">\n </foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"is-taxable\"></foxy-internal-switch-control>\n <foxy-internal-switch-control infer=\"shared-codes-allowed\"></foxy-internal-switch-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"attributes-stub\">\n <p class=\"text-disabled\"><foxy-i18n infer=\"\" key=\"text\"></foxy-i18n></p>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n limit=\"5\"\n infer=\"attributes\"\n item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n\n <foxy-nucleon\n infer=\"\"\n class=\"hidden\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>(`#${this.__storeLoaderId}`);\n }\n}\n"]}
@@ -6,6 +6,16 @@ import { TemplateResult } from 'lit-html';
6
6
  import { Translatable } from '../../../mixins/translatable';
7
7
  import { DonationChangeEvent } from './DonationChangeEvent';
8
8
  import { DonationSubmitEvent } from './DonationSubmitEvent';
9
+ declare global {
10
+ interface Window {
11
+ FC?: {
12
+ settings: {
13
+ session_name: string;
14
+ session_id: string;
15
+ };
16
+ };
17
+ }
18
+ }
9
19
  interface DonationEventsMap {
10
20
  change: typeof DonationChangeEvent;
11
21
  submit: typeof DonationSubmitEvent;
@@ -383,6 +383,8 @@ export class Donation extends Translatable {
383
383
  data.set('empty', this.empty);
384
384
  if (this.anonymous)
385
385
  data.set('Anonymous', 'true');
386
+ if (window.FC)
387
+ data.set(window.FC.settings.session_name, window.FC.settings.session_id);
386
388
  data.set('quantity', '1');
387
389
  return data;
388
390
  }