@foxy.io/elements 1.27.0-beta.5 → 1.27.0-beta.7

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 (362) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  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-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-billing-address-card.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-client-card.js +1 -1
  16. package/dist/cdn/foxy-client-form.js +1 -1
  17. package/dist/cdn/foxy-collection-page.js +1 -1
  18. package/dist/cdn/foxy-collection-pages.js +1 -1
  19. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  20. package/dist/cdn/foxy-coupon-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-code-card.js +1 -0
  22. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  23. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  25. package/dist/cdn/foxy-coupon-form.js +1 -1
  26. package/dist/cdn/foxy-custom-field-card.js +1 -1
  27. package/dist/cdn/foxy-custom-field-form.js +1 -1
  28. package/dist/cdn/foxy-customer-api.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +2 -2
  34. package/dist/cdn/foxy-customer.js +3 -3
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +2 -2
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -0
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +2 -2
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +1 -1
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-nucleon-element.js +1 -1
  69. package/dist/cdn/foxy-pagination.js +1 -1
  70. package/dist/cdn/foxy-passkey-card.js +1 -1
  71. package/dist/cdn/foxy-passkey-form.js +1 -1
  72. package/dist/cdn/foxy-payment-card.js +1 -1
  73. package/dist/cdn/foxy-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  80. package/dist/cdn/foxy-payments-api.js +1 -1
  81. package/dist/cdn/foxy-query-builder.js +64 -1
  82. package/dist/cdn/foxy-report-form.js +1 -1
  83. package/dist/cdn/foxy-reports-table.js +1 -1
  84. package/dist/cdn/foxy-shipment-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  86. package/dist/cdn/foxy-sign-in-form.js +1 -1
  87. package/dist/cdn/foxy-spinner.js +2 -2
  88. package/dist/cdn/foxy-store-card.js +1 -1
  89. package/dist/cdn/foxy-store-form.js +1 -1
  90. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  91. package/dist/cdn/foxy-subscription-card.js +1 -1
  92. package/dist/cdn/foxy-subscription-form.js +1 -1
  93. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  94. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  95. package/dist/cdn/foxy-table.js +1 -1
  96. package/dist/cdn/foxy-tax-card.js +1 -1
  97. package/dist/cdn/foxy-tax-form.js +1 -1
  98. package/dist/cdn/foxy-template-config-form.js +1 -1
  99. package/dist/cdn/foxy-template-form.js +1 -1
  100. package/dist/cdn/foxy-template-set-card.js +1 -1
  101. package/dist/cdn/foxy-template-set-form.js +1 -1
  102. package/dist/cdn/foxy-transaction-card.js +1 -1
  103. package/dist/cdn/foxy-transaction.js +1 -1
  104. package/dist/cdn/foxy-transactions-table.js +1 -1
  105. package/dist/cdn/foxy-user-card.js +1 -1
  106. package/dist/cdn/foxy-user-form.js +1 -1
  107. package/dist/cdn/foxy-users-table.js +1 -1
  108. package/dist/cdn/foxy-webhook-card.js +1 -1
  109. package/dist/cdn/foxy-webhook-form.js +1 -1
  110. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  111. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  112. package/dist/cdn/{shared-59a5edee.js → shared-018d5724.js} +9 -9
  113. package/dist/cdn/{shared-92cdd504.js → shared-03673673.js} +1 -1
  114. package/dist/cdn/{shared-20c4310b.js → shared-07e7d118.js} +1 -1
  115. package/dist/cdn/{shared-46454866.js → shared-0a8161e5.js} +4 -4
  116. package/dist/cdn/{shared-48b76c74.js → shared-0a9d860d.js} +1 -1
  117. package/dist/cdn/{shared-f03dacf5.js → shared-0f59fd6a.js} +1 -1
  118. package/dist/cdn/{shared-a73e7be4.js → shared-122cccac.js} +1 -1
  119. package/dist/cdn/{shared-03ccfd62.js → shared-186e41cf.js} +1 -1
  120. package/dist/cdn/shared-18918efe.js +1 -0
  121. package/dist/cdn/shared-18bfe97c.js +1 -0
  122. package/dist/cdn/{shared-e4e0dc11.js → shared-1e7639e6.js} +1 -1
  123. package/dist/cdn/shared-2314add3.js +12 -0
  124. package/dist/cdn/{shared-931db653.js → shared-25198d9a.js} +1 -1
  125. package/dist/cdn/{shared-6a998243.js → shared-285f8cee.js} +21 -27
  126. package/dist/cdn/shared-28be347b.js +10 -0
  127. package/dist/cdn/{shared-6af480b8.js → shared-2b5a3c80.js} +1 -1
  128. package/dist/cdn/{shared-4fd17baf.js → shared-3cabd589.js} +1 -1
  129. package/dist/cdn/{shared-7ff496f6.js → shared-412c19c2.js} +1 -1
  130. package/dist/cdn/shared-467e5b06.js +1 -0
  131. package/dist/cdn/shared-482b2b86.js +1 -0
  132. package/dist/cdn/{shared-e52280d9.js → shared-4affec66.js} +1 -1
  133. package/dist/cdn/{shared-4877ed05.js → shared-4c611015.js} +2 -2
  134. package/dist/cdn/{shared-f2a8fb36.js → shared-4c7a8fcc.js} +1 -1
  135. package/dist/cdn/shared-540063aa.js +88 -0
  136. package/dist/cdn/{shared-18d109f5.js → shared-55630cac.js} +1 -1
  137. package/dist/cdn/{shared-b81aa01c.js → shared-584df8a8.js} +1 -1
  138. package/dist/cdn/shared-5875cb66.js +1 -0
  139. package/dist/cdn/{shared-9db9528b.js → shared-58951f74.js} +15 -15
  140. package/dist/cdn/{shared-fcaf15e5.js → shared-5debeb1b.js} +1 -1
  141. package/dist/cdn/{shared-6e977271.js → shared-612ea9ed.js} +1 -1
  142. package/dist/cdn/{shared-d4322854.js → shared-62e9c883.js} +1 -1
  143. package/dist/cdn/shared-6586ffd5.js +1 -0
  144. package/dist/cdn/{shared-205721a3.js → shared-684cd55a.js} +1 -1
  145. package/dist/cdn/{shared-7e201abd.js → shared-6b68b3b6.js} +1 -1
  146. package/dist/cdn/{shared-6be0a096.js → shared-6cd4e618.js} +1 -1
  147. package/dist/cdn/{shared-4329ffa1.js → shared-739f24fe.js} +1 -1
  148. package/dist/cdn/{shared-bf132324.js → shared-75d13e1b.js} +1 -1
  149. package/dist/cdn/{shared-89b42eef.js → shared-77258081.js} +1 -1
  150. package/dist/cdn/{shared-250e652f.js → shared-79d35787.js} +1 -1
  151. package/dist/cdn/{shared-724e9a20.js → shared-7b2bd917.js} +1 -1
  152. package/dist/cdn/{shared-97793410.js → shared-7f60c1c1.js} +1 -1
  153. package/dist/cdn/{shared-56addb06.js → shared-7ff78b4a.js} +1 -1
  154. package/dist/cdn/{shared-dccfe5e7.js → shared-8258443c.js} +1 -1
  155. package/dist/cdn/{shared-8a04bea3.js → shared-851a7db5.js} +1 -1
  156. package/dist/cdn/shared-8874ec69.js +1 -0
  157. package/dist/cdn/shared-8a247f48.js +1 -0
  158. package/dist/cdn/{shared-8778d784.js → shared-8b521111.js} +1 -1
  159. package/dist/cdn/shared-90877857.js +1 -0
  160. package/dist/cdn/shared-90cbed56.js +32 -0
  161. package/dist/cdn/{shared-039de1fd.js → shared-91c88f14.js} +1 -1
  162. package/dist/cdn/{shared-0e5ea9cf.js → shared-99e354b1.js} +1 -1
  163. package/dist/cdn/{shared-51ac503d.js → shared-9cfef94a.js} +1 -1
  164. package/dist/cdn/{shared-845f8bf1.js → shared-a24b2aa7.js} +1 -1
  165. package/dist/cdn/{shared-a0cbfb2f.js → shared-ad11b006.js} +1 -1
  166. package/dist/cdn/{shared-f7a5b12a.js → shared-b2fd98e6.js} +1 -1
  167. package/dist/cdn/{shared-11014aad.js → shared-b3db7611.js} +1 -1
  168. package/dist/cdn/{shared-872151f5.js → shared-b900e1b5.js} +1 -1
  169. package/dist/cdn/{shared-3cbcd9cb.js → shared-b9ea6d85.js} +1 -1
  170. package/dist/cdn/{shared-1122a125.js → shared-bb1d162b.js} +1 -1
  171. package/dist/cdn/{shared-6ef4ce19.js → shared-bd919e3b.js} +1 -1
  172. package/dist/cdn/{shared-d15c3e2d.js → shared-be0fca15.js} +1 -1
  173. package/dist/cdn/{shared-8dd03329.js → shared-cdf873d4.js} +1 -1
  174. package/dist/cdn/{shared-82435697.js → shared-d10d6cba.js} +1 -1
  175. package/dist/cdn/shared-d222bd1e.js +6 -0
  176. package/dist/cdn/{shared-1b0992cc.js → shared-d56a3799.js} +5 -5
  177. package/dist/cdn/{shared-8cd0f36d.js → shared-d72e87ee.js} +1 -1
  178. package/dist/cdn/{shared-1d257548.js → shared-da2e66a4.js} +1 -1
  179. package/dist/cdn/{shared-bc95d87e.js → shared-ea5fa631.js} +1 -1
  180. package/dist/cdn/{shared-abf72e2f.js → shared-ee13d85c.js} +3 -3
  181. package/dist/cdn/shared-f0fcd613.js +1 -0
  182. package/dist/cdn/{shared-2c70f0b6.js → shared-f4bb452b.js} +1 -1
  183. package/dist/cdn/{shared-3277bbf5.js → shared-f7c60ee0.js} +1 -1
  184. package/dist/cdn/{shared-5c542149.js → shared-fc5ace3b.js} +1 -1
  185. package/dist/cdn/shared-fe45779e.js +1 -0
  186. package/dist/cdn/translations/coupon-code-card/en.json +11 -0
  187. package/dist/cdn/translations/coupon-form/en.json +522 -297
  188. package/dist/cdn/translations/gift-card-code-card/en.json +10 -0
  189. package/dist/cdn/translations/gift-card-code-form/en.json +86 -0
  190. package/dist/cdn/translations/gift-card-form/en.json +638 -397
  191. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +10 -0
  192. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +95 -8
  193. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  194. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.d.ts +11 -0
  195. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js +57 -0
  196. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js.map +1 -0
  197. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +1 -0
  198. package/dist/elements/internal/InternalAsyncListControl/index.js +3 -0
  199. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -1
  200. package/dist/elements/internal/InternalAsyncListControl/types.d.ts +8 -0
  201. package/dist/elements/internal/InternalAsyncListControl/types.js +2 -0
  202. package/dist/elements/internal/InternalAsyncListControl/types.js.map +1 -0
  203. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.d.ts +23 -0
  204. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js +224 -0
  205. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js.map +1 -0
  206. package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.d.ts +8 -0
  207. package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js +10 -0
  208. package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js.map +1 -0
  209. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.d.ts +10 -0
  210. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js +49 -0
  211. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js.map +1 -0
  212. package/dist/elements/internal/InternalBulkAddActionControl/index.d.ts +6 -0
  213. package/dist/elements/internal/InternalBulkAddActionControl/index.js +8 -0
  214. package/dist/elements/internal/InternalBulkAddActionControl/index.js.map +1 -0
  215. package/dist/elements/internal/InternalForm/InternalForm.d.ts +10 -0
  216. package/dist/elements/internal/InternalForm/InternalForm.js +44 -0
  217. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  218. package/dist/elements/internal/InternalForm/index.d.ts +2 -0
  219. package/dist/elements/internal/InternalForm/index.js +2 -0
  220. package/dist/elements/internal/InternalForm/index.js.map +1 -1
  221. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +1 -0
  222. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +3 -0
  223. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  224. package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.d.ts +10 -0
  225. package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.js +51 -0
  226. package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.js.map +1 -0
  227. package/dist/elements/internal/InternalQueryBuilderControl/index.d.ts +4 -0
  228. package/dist/elements/internal/InternalQueryBuilderControl/index.js +6 -0
  229. package/dist/elements/internal/InternalQueryBuilderControl/index.js.map +1 -0
  230. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +16 -0
  231. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +167 -0
  232. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -0
  233. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.d.ts +14 -0
  234. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +40 -0
  235. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -0
  236. package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +6 -0
  237. package/dist/elements/internal/InternalResourcePickerControl/index.js +10 -0
  238. package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -0
  239. package/dist/elements/public/CartForm/CartForm.js +81 -81
  240. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  241. package/dist/elements/public/CouponCodeCard/CouponCodeCard.d.ts +16 -0
  242. package/dist/elements/public/CouponCodeCard/CouponCodeCard.js +41 -0
  243. package/dist/elements/public/CouponCodeCard/CouponCodeCard.js.map +1 -0
  244. package/dist/elements/public/CouponCodeCard/index.d.ts +4 -0
  245. package/dist/elements/public/CouponCodeCard/index.js +6 -0
  246. package/dist/elements/public/CouponCodeCard/index.js.map +1 -0
  247. package/dist/elements/public/CouponCodeCard/types.d.ts +3 -0
  248. package/dist/elements/public/CouponCodeCard/types.js +2 -0
  249. package/dist/elements/public/CouponCodeCard/types.js.map +1 -0
  250. package/dist/elements/public/CouponForm/CouponForm.d.ts +65 -41
  251. package/dist/elements/public/CouponForm/CouponForm.js +322 -1035
  252. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  253. package/dist/elements/public/CouponForm/index.d.ts +15 -16
  254. package/dist/elements/public/CouponForm/index.js +15 -16
  255. package/dist/elements/public/CouponForm/index.js.map +1 -1
  256. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.d.ts +7 -0
  257. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.js +141 -0
  258. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.js.map +1 -0
  259. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.d.ts +6 -0
  260. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.js +8 -0
  261. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.js.map +1 -0
  262. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +7 -9
  263. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -1
  264. package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.d.ts +1 -0
  265. package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.js +9 -0
  266. package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.js.map +1 -0
  267. package/dist/elements/public/DownloadableForm/DownloadableForm.js +9 -9
  268. package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
  269. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.d.ts +21 -0
  270. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js +78 -0
  271. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js.map +1 -0
  272. package/dist/elements/public/GiftCardCodeCard/index.d.ts +5 -0
  273. package/dist/elements/public/GiftCardCodeCard/index.js +7 -0
  274. package/dist/elements/public/GiftCardCodeCard/index.js.map +1 -0
  275. package/dist/elements/public/GiftCardCodeCard/types.d.ts +3 -0
  276. package/dist/elements/public/GiftCardCodeCard/types.js +2 -0
  277. package/dist/elements/public/GiftCardCodeCard/types.js.map +1 -0
  278. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +12 -0
  279. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +69 -4
  280. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  281. package/dist/elements/public/GiftCardCodeForm/index.d.ts +2 -0
  282. package/dist/elements/public/GiftCardCodeForm/index.js +2 -0
  283. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  284. package/dist/elements/public/GiftCardCodeForm/types.d.ts +5 -1
  285. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
  286. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +22 -28
  287. package/dist/elements/public/GiftCardForm/GiftCardForm.js +183 -633
  288. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  289. package/dist/elements/public/GiftCardForm/index.d.ts +13 -12
  290. package/dist/elements/public/GiftCardForm/index.js +13 -12
  291. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  292. package/dist/elements/public/GiftCardForm/types.d.ts +2 -27
  293. package/dist/elements/public/GiftCardForm/types.js.map +1 -1
  294. package/dist/elements/public/I18n/format/discount.js +9 -2
  295. package/dist/elements/public/I18n/format/discount.js.map +1 -1
  296. package/dist/elements/public/I18n/format/ordinal.js +6 -2
  297. package/dist/elements/public/I18n/format/ordinal.js.map +1 -1
  298. package/dist/elements/public/IntegrationForm/IntegrationForm.js +8 -6
  299. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
  300. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +27 -27
  301. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
  302. package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +4 -0
  303. package/dist/elements/public/QueryBuilder/QueryBuilder.js +10 -2
  304. package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
  305. package/dist/elements/public/QueryBuilder/components/Group.d.ts +3 -1
  306. package/dist/elements/public/QueryBuilder/components/Group.js +8 -1
  307. package/dist/elements/public/QueryBuilder/components/Group.js.map +1 -1
  308. package/dist/elements/public/QueryBuilder/components/OperatorToggle.d.ts +2 -1
  309. package/dist/elements/public/QueryBuilder/components/OperatorToggle.js +5 -4
  310. package/dist/elements/public/QueryBuilder/components/OperatorToggle.js.map +1 -1
  311. package/dist/elements/public/QueryBuilder/components/Rule.d.ts +3 -1
  312. package/dist/elements/public/QueryBuilder/components/Rule.js +2 -1
  313. package/dist/elements/public/QueryBuilder/components/Rule.js.map +1 -1
  314. package/dist/elements/public/StoreForm/StoreForm.js +7 -8
  315. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  316. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +28 -28
  317. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  318. package/dist/elements/public/index.d.ts +2 -0
  319. package/dist/elements/public/index.defined.d.ts +2 -0
  320. package/dist/elements/public/index.defined.js +2 -0
  321. package/dist/elements/public/index.defined.js.map +1 -1
  322. package/dist/elements/public/index.js +2 -0
  323. package/dist/elements/public/index.js.map +1 -1
  324. package/dist/mixins/inferrable.js +8 -3
  325. package/dist/mixins/inferrable.js.map +1 -1
  326. package/package.json +2 -2
  327. package/dist/cdn/shared-0f49d9c3.js +0 -1
  328. package/dist/cdn/shared-20f65e73.js +0 -1
  329. package/dist/cdn/shared-27c7514d.js +0 -1
  330. package/dist/cdn/shared-4fb9d21f.js +0 -1
  331. package/dist/cdn/shared-6350f7d9.js +0 -1
  332. package/dist/cdn/shared-669decee.js +0 -1
  333. package/dist/cdn/shared-afefe2ac.js +0 -113
  334. package/dist/cdn/shared-b33fd700.js +0 -1
  335. package/dist/cdn/shared-b51b9df7.js +0 -64
  336. package/dist/cdn/shared-b914895b.js +0 -1
  337. package/dist/cdn/shared-bfeff3bb.js +0 -1
  338. package/dist/cdn/shared-cce18690.js +0 -1
  339. package/dist/cdn/shared-d04dd602.js +0 -20
  340. package/dist/cdn/shared-df58b901.js +0 -1
  341. package/dist/cdn/shared-e07b24ca.js +0 -1
  342. package/dist/elements/private/EditableList/EditableList.d.ts +0 -23
  343. package/dist/elements/private/EditableList/EditableList.js +0 -127
  344. package/dist/elements/private/EditableList/EditableList.js.map +0 -1
  345. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.d.ts +0 -20
  346. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js +0 -99
  347. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js.map +0 -1
  348. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.d.ts +0 -18
  349. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js +0 -50
  350. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js.map +0 -1
  351. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.d.ts +0 -18
  352. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js +0 -53
  353. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js.map +0 -1
  354. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.d.ts +0 -20
  355. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js +0 -99
  356. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js.map +0 -1
  357. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.d.ts +0 -18
  358. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js +0 -50
  359. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js.map +0 -1
  360. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.d.ts +0 -18
  361. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js +0 -53
  362. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
2
  import type { CollectionPage } from '../../public/index';
3
3
  import type { FormDialog } from '../../index';
4
+ import type { Option } from '../../public/QueryBuilder/types';
5
+ import type { Action } from './types';
4
6
  import { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';
5
7
  export declare class InternalAsyncListControl extends InternalEditableControl {
6
8
  static get properties(): PropertyDeclarations;
@@ -12,12 +14,18 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
12
14
  createPageHref: string | null;
13
15
  /** Same as the `related` property of `NucleonElement`. */
14
16
  related: string[];
17
+ /** Swipe actions. */
18
+ actions: Action<import("../../public/NucleonElement/types").HALJSONResource>[];
19
+ /** Query parameters to apply to the `first` URL. */
20
+ filters: Option[];
15
21
  /** Limit query parameter to apply to the `first` URL. */
16
22
  limit: number;
17
23
  /** URI of the first page of the hAPI collection to display. */
18
24
  first: string | null;
19
25
  /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */
20
26
  form: FormDialog['form'];
27
+ /** Props to pass through to the form rendered by `FormDialog`. */
28
+ formProps: Record<string, unknown>;
21
29
  /** Same as the `item` property of `CollectionPage`. */
22
30
  item: CollectionPage<any>['item'];
23
31
  /** Props to pass through to the `CollectionPage` rendering items. */
@@ -34,7 +42,9 @@ export declare class InternalAsyncListControl extends InternalEditableControl {
34
42
  getPageHref: ((itemHref: string, item: unknown) => string | null) | null;
35
43
  private __deletionConfimationCallback;
36
44
  private __cachedCardRenderer;
45
+ private __isFilterVisible;
37
46
  private __itemRenderer;
47
+ private __filter;
38
48
  renderControl(): TemplateResult;
39
49
  private get __dialog();
40
50
  private get __cardRenderer();
@@ -13,12 +13,18 @@ export class InternalAsyncListControl extends InternalEditableControl {
13
13
  this.createPageHref = null;
14
14
  /** Same as the `related` property of `NucleonElement`. */
15
15
  this.related = [];
16
+ /** Swipe actions. */
17
+ this.actions = [];
18
+ /** Query parameters to apply to the `first` URL. */
19
+ this.filters = [];
16
20
  /** Limit query parameter to apply to the `first` URL. */
17
21
  this.limit = 20;
18
22
  /** URI of the first page of the hAPI collection to display. */
19
23
  this.first = null;
20
24
  /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */
21
25
  this.form = null;
26
+ /** Props to pass through to the form rendered by `FormDialog`. */
27
+ this.formProps = {};
22
28
  /** Same as the `item` property of `CollectionPage`. */
23
29
  this.item = null;
24
30
  /** Props to pass through to the `CollectionPage` rendering items. */
@@ -35,6 +41,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
35
41
  this.getPageHref = null;
36
42
  this.__deletionConfimationCallback = null;
37
43
  this.__cachedCardRenderer = null;
44
+ this.__isFilterVisible = false;
38
45
  this.__itemRenderer = ctx => {
39
46
  var _a;
40
47
  if (!ctx.data)
@@ -63,11 +70,19 @@ export class InternalAsyncListControl extends InternalEditableControl {
63
70
  }
64
71
  else {
65
72
  const handleClick = (evt) => {
66
- const button = evt.currentTarget;
67
- const dialog = this.__dialog;
68
- dialog.header = 'header_update';
69
- dialog.href = ctx.href;
70
- dialog.show(button);
73
+ const clickEvent = new CustomEvent('itemclick', {
74
+ cancelable: true,
75
+ composed: true,
76
+ bubbles: true,
77
+ detail: ctx.href,
78
+ });
79
+ if (this.dispatchEvent(clickEvent)) {
80
+ const button = evt.currentTarget;
81
+ const dialog = this.__dialog;
82
+ dialog.header = 'header_update';
83
+ dialog.href = ctx.href;
84
+ dialog.show(button);
85
+ }
71
86
  };
72
87
  clickableItem = html `
73
88
  <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>
@@ -78,17 +93,48 @@ export class InternalAsyncListControl extends InternalEditableControl {
78
93
  return html `
79
94
  <foxy-swipe-actions class="block">
80
95
  ${clickableItem}
96
+ ${this.actions.map(action => {
97
+ return html `
98
+ <vaadin-button
99
+ data-testclass="action"
100
+ theme=${action.theme}
101
+ class="h-full rounded-none relative"
102
+ slot="action"
103
+ ?disabled=${this.disabled}
104
+ @click=${() => action.onClick(ctx.data)}
105
+ >
106
+ <foxy-i18n
107
+ class=${classMap({
108
+ 'transition-opacity': true,
109
+ 'opacity-0': action.state !== 'idle',
110
+ })}
111
+ infer=""
112
+ key=${action.text}
113
+ >
114
+ </foxy-i18n>
115
+ <div
116
+ class=${classMap({
117
+ 'absolute inset-0 flex items-center justify-center transition-opacity': true,
118
+ 'opacity-0': action.state === 'idle',
119
+ })}
120
+ >
121
+ <foxy-spinner layout="no-label" infer="spinner" state=${action.state}>
122
+ </foxy-spinner>
123
+ </div>
124
+ </vaadin-button>
125
+ `;
126
+ })}
81
127
 
82
128
  <vaadin-button
83
129
  theme="primary error"
84
- class="h-full"
130
+ class="h-full rounded-none"
85
131
  slot="action"
86
132
  @click=${(evt) => {
87
133
  const button = evt.currentTarget;
88
134
  const confirm = this.renderRoot.querySelector('#confirm');
89
135
  confirm.show(button);
90
136
  this.__deletionConfimationCallback = () => {
91
- const cardButton = button.previousElementSibling;
137
+ const cardButton = button.parentElement.firstElementChild;
92
138
  const card = cardButton.querySelector('[href]');
93
139
  card === null || card === void 0 ? void 0 : card.delete();
94
140
  this.__deletionConfimationCallback = null;
@@ -100,6 +146,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
100
146
  </foxy-swipe-actions>
101
147
  `;
102
148
  };
149
+ this.__filter = '';
103
150
  }
104
151
  static get properties() {
105
152
  return {
@@ -114,10 +161,15 @@ export class InternalAsyncListControl extends InternalEditableControl {
114
161
  first: {},
115
162
  limit: { type: Number },
116
163
  form: {},
164
+ formProps: { type: Object, attribute: 'form-props' },
117
165
  item: {},
118
166
  itemProps: { type: Object, attribute: 'item-props' },
119
167
  wide: { type: Boolean },
120
168
  alert: { type: Boolean },
169
+ actions: { type: Array },
170
+ filters: { type: Array },
171
+ __filter: { attribute: false },
172
+ __isFilterVisible: { attribute: false },
121
173
  };
122
174
  }
123
175
  renderControl() {
@@ -125,7 +177,9 @@ export class InternalAsyncListControl extends InternalEditableControl {
125
177
  let first;
126
178
  try {
127
179
  const url = new URL((_a = this.first) !== null && _a !== void 0 ? _a : '');
180
+ const filter = new URLSearchParams(this.__filter);
128
181
  url.searchParams.set('limit', String(this.limit));
182
+ filter.forEach((value, key) => url.searchParams.set(key, value));
129
183
  first = url.toString();
130
184
  }
131
185
  catch (_c) {
@@ -143,6 +197,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
143
197
  ?keep-open-on-post=${this.keepDialogOpenOnPost}
144
198
  ?keep-open-on-delete=${this.keepDialogOpenOnDelete}
145
199
  .related=${this.related}
200
+ .props=${this.formProps}
146
201
  .form=${this.form}
147
202
  >
148
203
  </foxy-form-dialog>
@@ -167,10 +222,42 @@ export class InternalAsyncListControl extends InternalEditableControl {
167
222
  >
168
223
  </foxy-internal-confirm-dialog>
169
224
  `}
170
- <div class="flex items-center justify-between mb-xs text-s font-medium">
225
+ <div class="flex gap-m items-center justify-between mb-xs text-s font-medium">
171
226
  <span class="text-secondary">
172
227
  ${this.label && this.label !== 'label' ? this.label : ''}
173
228
  </span>
229
+
230
+ ${this.filters.length > 0
231
+ ? html `
232
+ <foxy-internal-async-list-control-filter-overlay
233
+ .noVerticalOverlap=${true}
234
+ .positionTarget=${this.renderRoot.querySelector('#filters')}
235
+ .model=${{
236
+ options: this.filters,
237
+ value: this.__filter,
238
+ lang: this.lang,
239
+ ns: this.ns,
240
+ }}
241
+ ?opened=${this.__isFilterVisible}
242
+ @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}
243
+ @search=${(evt) => {
244
+ var _a;
245
+ this.__filter = (_a = evt.detail) !== null && _a !== void 0 ? _a : '';
246
+ }}
247
+ >
248
+ </foxy-internal-async-list-control-filter-overlay>
249
+
250
+ <vaadin-button
251
+ theme="tertiary-inline contrast"
252
+ class="ml-auto"
253
+ id="filters"
254
+ ?disabled=${this.disabled}
255
+ @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}
256
+ >
257
+ <foxy-i18n infer="pagination" key="search_button_text"></foxy-i18n>
258
+ </vaadin-button>
259
+ `
260
+ : ''}
174
261
  ${(!this.form && !this.createPageHref) || this.readonly || this.hideCreateButton
175
262
  ? ''
176
263
  : this.createPageHref && !this.disabled
@@ -1 +1 @@
1
- {"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,oCAAiC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,MAAM,OAAO,wBAAyB,SAAQ,uBAAuB;IAArE;;QAqBE,oGAAoG;QACpG,2BAAsB,GAAG,KAAK,CAAC;QAE/B,kGAAkG;QAClG,yBAAoB,GAAG,KAAK,CAAC;QAE7B,iEAAiE;QACjE,mBAAc,GAAkB,IAAI,CAAC;QAErC,0DAA0D;QAC1D,YAAO,GAAG,EAAc,CAAC;QAEzB,yDAAyD;QACzD,UAAK,GAAG,EAAE,CAAC;QAEX,+DAA+D;QAC/D,UAAK,GAAkB,IAAI,CAAC;QAE5B,6FAA6F;QAC7F,SAAI,GAAuB,IAAI,CAAC;QAEhC,uDAAuD;QACvD,SAAI,GAAgC,IAAI,CAAC;QAEzC,qEAAqE;QACrE,cAAS,GAA4B,EAAE,CAAC;QAExC,mDAAmD;QACnD,SAAI,GAAG,KAAK,CAAC;QAEb,oDAAoD;QACpD,UAAK,GAAG,KAAK,CAAC;QAEd,yCAAyC;QACzC,qBAAgB,GAAG,KAAK,CAAC;QAEzB,mCAAmC;QACnC,qBAAgB,GAAG,KAAK,CAAC;QAEzB,8CAA8C;QAC9C,gBAAW,GAAgE,IAAI,CAAC;QAExE,kCAA6B,GAAwB,IAAI,CAAC;QAE1D,yBAAoB,GAGjB,IAAI,CAAC;QAER,mBAAc,GAAiB,GAAG,CAAC,EAAE;;YAC3C,IAAI,CAAC,GAAG,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE/C,MAAM,IAAI,SAAG,IAAI,CAAC,WAAW,+CAAhB,IAAI,EAAe,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAE5E,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,aAA6B,CAAC;YAElC,MAAM,YAAY,GAAG,QAAQ,CAAC;gBAC5B,WAAW,EAAE,CAAC,GAAG,CAAC,QAAQ;gBAC1B,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI;gBACtB,wEAAwE,EAAE,IAAI;gBAC9E,0CAA0C,EAAE,IAAI;gBAChD,qBAAqB,EAAE,CAAC,UAAU;aACnC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,UAAU,EAAE;oBACd,aAAa,GAAG,IAAI,CAAA,cAAc,YAAY,IAAI,IAAI,QAAQ,CAAC;iBAChE;qBAAM;oBACL,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClD,aAAa,GAAG,IAAI,CAAA,YAAY,YAAY,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC;iBACzE;aACF;iBAAM;gBACL,MAAM,WAAW,GAAG,CAAC,GAAU,EAAE,EAAE;oBACjC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAkC,CAAC;oBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAE7B,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;oBAChC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC,CAAC;gBAEF,aAAa,GAAG,IAAI,CAAA;4BACE,UAAU,UAAU,YAAY,WAAW,WAAW,IAAI,IAAI;OACnF,CAAC;aACH;YAED,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,aAAa,CAAC;YAEjE,OAAO,IAAI,CAAA;;UAEL,aAAa;;;;;;mBAMJ,CAAC,GAAgB,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,aAA4B,CAAC;gBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAA0B,CAAC;gBAEnF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAErB,IAAI,CAAC,6BAA6B,GAAG,GAAG,EAAE;oBACxC,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAuB,CAAC;oBAClD,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAsB,QAAQ,CAAC,CAAC;oBAErE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,GAAG;oBACf,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC;gBAC5C,CAAC,CAAC;YACJ,CAAC;;;;;KAKN,CAAC;QACJ,CAAC,CAAC;IA8JJ,CAAC;IAxSC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE;YAClF,oBAAoB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE;YAC9E,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACpE,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE;YACpE,cAAc,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE;YACjD,WAAW,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YACjC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE;YACpD,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SACzB,CAAC;IACJ,CAAC;IA0HD,aAAa;;QACX,IAAI,KAAyB,CAAC;QAE9B,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB;QAAC,WAAM;YACN,KAAK,GAAG,SAAS,CAAC;SACnB;QAED,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,CAAA;;uBAES,SAAS,OAAC,IAAI,CAAC,KAAK,mCAAI,KAAK,CAAC,CAAC;;;sBAGhC,IAAI,CAAC,IAAI;uBACR,IAAI,CAAC,KAAK;mCACE,IAAI,CAAC,oBAAoB;qCACvB,IAAI,CAAC,sBAAsB;yBACvC,IAAI,CAAC,OAAO;sBACf,IAAI,CAAC,IAAW;;;WAG3B;YACH,CAAC,CAAC,EAAE;QACJ,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ;YACtC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAA;;;;;;;;;sBASQ,CAAC,GAAoB,EAAE,EAAE;;gBAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS;oBAAE,MAAA,IAAI,CAAC,6BAA6B,+CAAlC,IAAI,EAAmC;YACpE,CAAC;;;WAGJ;;;YAGC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;;UAExD,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB;YAC9E,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ;gBACvC,CAAC,CAAC,IAAI,CAAA;;;uBAGO,IAAI,CAAC,cAAc;;;;;;;;;aAS7B;gBACH,CAAC,CAAC,IAAI,CAAA;;;4BAGY,IAAI,CAAC,QAAQ;yBAChB,CAAC,GAAU,EAAE,EAAE;oBACtB,GAAG,CAAC,cAAc,EAAE,CAAC;oBACrB,GAAG,CAAC,eAAe,EAAE,CAAC;oBAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAkC,CAAC;oBAEtD,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;oBAChC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;;;;aAIJ;;;+BAGkB,SAAS,CAAC,KAAK,CAAC;;kBAE7B,QAAQ,CAAC;YACf,0DAA0D,EAAE,IAAI;YAChE,oCAAoC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW;YACrE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW;SACnD,CAAC;;qBAES,IAAI,CAAC,OAAO;mBACd,IAAI,CAAC,SAAS;kBACf,IAAI,CAAC,cAAqB;;;;;;gBAM5B,QAAQ,CAAC;YACf,iCAAiC,EAAE,IAAI;YACvC,sCAAsC,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ;YACxE,eAAe,EAAE,IAAI,CAAC,QAAQ;SAC/B,CAAC;kBACQ,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,aAAa;;UAE7D,IAAI,CAAC,UAAU;;;;;kBAKP,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;;UAE7D,IAAI,CAAC,aAAa;;KAEvB,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAe,CAAC;IAC9D,CAAC;IAED,IAAY,cAAc;;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,OAAA,IAAI,CAAC,oBAAoB,0CAAE,IAAI,MAAK,IAAI,EAAE;YAC5C,IAAI,CAAC,oBAAoB,GAAG;gBAC1B,IAAI,EAAE,IAAI;gBACV,MAAM,EACJ,OAAO,IAAI,KAAK,QAAQ;oBACtB,CAAC,CAAE,IAAI,QAAQ,CACX,KAAK,EACL;qBACK,IAAI;;;;;;;;sBAQH,IAAI,KAAK,CACC;oBACpB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAA;;oBAEL,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,GAAG,CAAC;;eAEhB;aACR,CAAC;SACH;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;IAC1C,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public/index';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: {},\n limit: { type: Number },\n form: {},\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n alert: { type: Boolean },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string, item: unknown) => string | null) | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!ctx.data) return this.__cardRenderer(ctx);\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) return this.__cardRenderer(ctx);\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t': !ctx.previous,\n 'rounded-b': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block transition-colors': true,\n 'hover-bg-contrast-5': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href, ctx.data);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if (this.hideDeleteButton || this.readonly) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector('#confirm') as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.previousElementSibling!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n </foxy-swipe-actions>\n `;\n };\n\n renderControl(): TemplateResult {\n let first: string | undefined;\n\n try {\n const url = new URL(this.first ?? '');\n url.searchParams.set('limit', String(this.limit));\n first = url.toString();\n } catch {\n first = undefined;\n }\n\n return html`\n ${this.form\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n <div class=\"flex items-center justify-between mb-xs text-s font-medium\">\n <span class=\"text-secondary\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n ${(!this.form && !this.createPageHref) || this.readonly || this.hideCreateButton\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </div>\n\n <foxy-pagination first=${ifDefined(first)} infer=\"pagination\">\n <foxy-collection-page\n class=${classMap({\n 'block divide-y divide-contrast-5 rounded overflow-hidden': true,\n 'ring-1 ring-inset ring-contrast-10': !this.form && !this.getPageHref,\n 'bg-contrast-5': !!this.form || !!this.getPageHref,\n })}\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer as any}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <div\n class=${classMap({\n 'transition-colors mt-xs text-xs': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\n related=\\${JSON.stringify(ctx.related)}\n parent=\\${ctx.parent}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"\"\n href=\\${ctx.href}\n ...=\\${ctx.spread(ctx.props)}\n >\n </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { CollectionPage, NucleonElement } from '../../public/index';\nimport type { InternalConfirmDialog } from '../InternalConfirmDialog';\nimport type { DialogHideEvent } from '../../private/Dialog/DialogHideEvent';\nimport type { ItemRenderer } from '../../public/CollectionPage/types';\nimport type { FormDialog } from '../../index';\nimport type { Option } from '../../public/QueryBuilder/types';\nimport type { Action } from './types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { classMap } from '../../../utils/class-map';\nimport { html } from 'lit-element';\n\nexport class InternalAsyncListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n keepDialogOpenOnDelete: { type: Boolean, attribute: 'keep-dialog-open-on-delete' },\n keepDialogOpenOnPost: { type: Boolean, attribute: 'keep-dialog-open-on-post' },\n hideDeleteButton: { type: Boolean, attribute: 'hide-delete-button' },\n hideCreateButton: { type: Boolean, attribute: 'hide-create-button' },\n createPageHref: { attribute: 'create-page-href' },\n getPageHref: { attribute: false },\n related: { type: Array },\n first: {},\n limit: { type: Number },\n form: {},\n formProps: { type: Object, attribute: 'form-props' },\n item: {},\n itemProps: { type: Object, attribute: 'item-props' },\n wide: { type: Boolean },\n alert: { type: Boolean },\n actions: { type: Array },\n filters: { type: Array },\n __filter: { attribute: false },\n __isFilterVisible: { attribute: false },\n };\n }\n\n /** If true, FormDialog won't automatically close after the associated form deletes the resource. */\n keepDialogOpenOnDelete = false;\n\n /** If true, FormDialog won't automatically close after the associated form creates a resource. */\n keepDialogOpenOnPost = false;\n\n /** If provided, renders Create button as a link to this page. */\n createPageHref: string | null = null;\n\n /** Same as the `related` property of `NucleonElement`. */\n related = [] as string[];\n\n /** Swipe actions. */\n actions = [] as Action[];\n\n /** Query parameters to apply to the `first` URL. */\n filters = [] as Option[];\n\n /** Limit query parameter to apply to the `first` URL. */\n limit = 20;\n\n /** URI of the first page of the hAPI collection to display. */\n first: string | null = null;\n\n /** Same as the `form` property of `FormDialog`. If set, will open a dialog on item click. */\n form: FormDialog['form'] = null;\n\n /** Props to pass through to the form rendered by `FormDialog`. */\n formProps: Record<string, unknown> = {};\n\n /** Same as the `item` property of `CollectionPage`. */\n item: CollectionPage<any>['item'] = null;\n\n /** Props to pass through to the `CollectionPage` rendering items. */\n itemProps: Record<string, unknown> = {};\n\n /** Same as the `wide` property of `FormDialog`. */\n wide = false;\n\n /** Same as the `alert` property of `FormDialog`. */\n alert = false;\n\n /** Hides Delete Swipe Action if true. */\n hideDeleteButton = false;\n\n /** Hides Create button if true. */\n hideCreateButton = false;\n\n /** If set, renders list items as <a> tags. */\n getPageHref: ((itemHref: string, item: unknown) => string | null) | null = null;\n\n private __deletionConfimationCallback: (() => void) | null = null;\n\n private __cachedCardRenderer: {\n item: InternalAsyncListControl['item'];\n render: ItemRenderer;\n } | null = null;\n\n private __isFilterVisible = false;\n\n private __itemRenderer: ItemRenderer = ctx => {\n if (!ctx.data) return this.__cardRenderer(ctx);\n\n const href = this.getPageHref?.(ctx.href, ctx.data);\n if (typeof href !== 'string' && !this.form) return this.__cardRenderer(ctx);\n\n const isDisabled = this.disabledSelector.matches('card', true);\n const card = this.__cardRenderer(ctx);\n let clickableItem: TemplateResult;\n\n const wrapperClass = classMap({\n 'rounded-t': !ctx.previous,\n 'rounded-b': !ctx.next,\n 'focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50': true,\n 'text-left w-full block transition-colors': true,\n 'hover-bg-contrast-5': !isDisabled,\n });\n\n if (this.getPageHref) {\n if (isDisabled) {\n clickableItem = html`<div class=${wrapperClass}>${card}</div>`;\n } else {\n const href = this.getPageHref(ctx.href, ctx.data);\n clickableItem = html`<a class=${wrapperClass} href=${href}>${card}</a>`;\n }\n } else {\n const handleClick = (evt: Event) => {\n const clickEvent = new CustomEvent<string>('itemclick', {\n cancelable: true,\n composed: true,\n bubbles: true,\n detail: ctx.href,\n });\n\n if (this.dispatchEvent(clickEvent)) {\n const button = evt.currentTarget as HTMLButtonElement;\n const dialog = this.__dialog;\n\n dialog.header = 'header_update';\n dialog.href = ctx.href;\n dialog.show(button);\n }\n };\n\n clickableItem = html`\n <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>\n `;\n }\n\n if (this.hideDeleteButton || this.readonly) return clickableItem;\n\n return html`\n <foxy-swipe-actions class=\"block\">\n ${clickableItem}\n ${this.actions.map(action => {\n return html`\n <vaadin-button\n data-testclass=\"action\"\n theme=${action.theme}\n class=\"h-full rounded-none relative\"\n slot=\"action\"\n ?disabled=${this.disabled}\n @click=${() => action.onClick(ctx.data!)}\n >\n <foxy-i18n\n class=${classMap({\n 'transition-opacity': true,\n 'opacity-0': action.state !== 'idle',\n })}\n infer=\"\"\n key=${action.text}\n >\n </foxy-i18n>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': action.state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" infer=\"spinner\" state=${action.state}>\n </foxy-spinner>\n </div>\n </vaadin-button>\n `;\n })}\n\n <vaadin-button\n theme=\"primary error\"\n class=\"h-full rounded-none\"\n slot=\"action\"\n @click=${(evt: CustomEvent) => {\n const button = evt.currentTarget as HTMLElement;\n const confirm = this.renderRoot.querySelector('#confirm') as InternalConfirmDialog;\n\n confirm.show(button);\n\n this.__deletionConfimationCallback = () => {\n const cardButton = button.parentElement!.firstElementChild!;\n const card = cardButton.querySelector<NucleonElement<any>>('[href]');\n\n card?.delete();\n this.__deletionConfimationCallback = null;\n };\n }}\n >\n <foxy-i18n infer=\"\" key=\"delete_button_text\"></foxy-i18n>\n </vaadin-button>\n </foxy-swipe-actions>\n `;\n };\n\n private __filter = '';\n\n renderControl(): TemplateResult {\n let first: string | undefined;\n\n try {\n const url = new URL(this.first ?? '');\n const filter = new URLSearchParams(this.__filter);\n\n url.searchParams.set('limit', String(this.limit));\n filter.forEach((value, key) => url.searchParams.set(key, value));\n first = url.toString();\n } catch {\n first = undefined;\n }\n\n return html`\n ${this.form\n ? html`\n <foxy-form-dialog\n parent=${ifDefined(this.first ?? void 0)}\n infer=\"dialog\"\n id=\"form\"\n ?wide=${this.wide}\n ?alert=${this.alert}\n ?keep-open-on-post=${this.keepDialogOpenOnPost}\n ?keep-open-on-delete=${this.keepDialogOpenOnDelete}\n .related=${this.related}\n .props=${this.formProps}\n .form=${this.form as any}\n >\n </foxy-form-dialog>\n `\n : ''}\n ${this.hideDeleteButton || this.readonly\n ? ''\n : html`\n <foxy-internal-confirm-dialog\n message=\"delete_message\"\n confirm=\"delete_confirm\"\n cancel=\"delete_cancel\"\n header=\"delete_header\"\n theme=\"error\"\n infer=\"\"\n id=\"confirm\"\n @hide=${(evt: DialogHideEvent) => {\n if (!evt.detail.cancelled) this.__deletionConfimationCallback?.();\n }}\n >\n </foxy-internal-confirm-dialog>\n `}\n <div class=\"flex gap-m items-center justify-between mb-xs text-s font-medium\">\n <span class=\"text-secondary\">\n ${this.label && this.label !== 'label' ? this.label : ''}\n </span>\n\n ${this.filters.length > 0\n ? html`\n <foxy-internal-async-list-control-filter-overlay\n .noVerticalOverlap=${true}\n .positionTarget=${this.renderRoot.querySelector('#filters')}\n .model=${{\n options: this.filters,\n value: this.__filter,\n lang: this.lang,\n ns: this.ns,\n }}\n ?opened=${this.__isFilterVisible}\n @vaadin-overlay-close=${() => (this.__isFilterVisible = false)}\n @search=${(evt: CustomEvent<string | undefined>) => {\n this.__filter = evt.detail ?? '';\n }}\n >\n </foxy-internal-async-list-control-filter-overlay>\n\n <vaadin-button\n theme=\"tertiary-inline contrast\"\n class=\"ml-auto\"\n id=\"filters\"\n ?disabled=${this.disabled}\n @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}\n >\n <foxy-i18n infer=\"pagination\" key=\"search_button_text\"></foxy-i18n>\n </vaadin-button>\n `\n : ''}\n ${(!this.form && !this.createPageHref) || this.readonly || this.hideCreateButton\n ? ''\n : this.createPageHref && !this.disabled\n ? html`\n <a\n class=\"rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.createPageHref}\n >\n <foxy-i18n\n class=\"transition-opacity group-hover-opacity-80\"\n infer=\"\"\n key=\"create_button_text\"\n >\n </foxy-i18n>\n </a>\n `\n : html`\n <vaadin-button\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n evt.preventDefault();\n evt.stopPropagation();\n\n const dialog = this.__dialog;\n const button = evt.currentTarget as HTMLButtonElement;\n\n dialog.header = 'header_create';\n dialog.href = '';\n dialog.show(button);\n }}\n >\n <foxy-i18n infer=\"pagination\" key=\"create_button_text\"></foxy-i18n>\n </vaadin-button>\n `}\n </div>\n\n <foxy-pagination first=${ifDefined(first)} infer=\"pagination\">\n <foxy-collection-page\n class=${classMap({\n 'block divide-y divide-contrast-5 rounded overflow-hidden': true,\n 'ring-1 ring-inset ring-contrast-10': !this.form && !this.getPageHref,\n 'bg-contrast-5': !!this.form || !!this.getPageHref,\n })}\n infer=\"card\"\n .related=${this.related}\n .props=${this.itemProps}\n .item=${this.__itemRenderer as any}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <div\n class=${classMap({\n 'transition-colors mt-xs text-xs': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n ?hidden=${!this.helperText || this.helperText === 'helper_text'}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n `;\n }\n\n private get __dialog() {\n return this.renderRoot.querySelector('#form') as FormDialog;\n }\n\n private get __cardRenderer() {\n const item = this.item;\n\n if (this.__cachedCardRenderer?.item !== item) {\n this.__cachedCardRenderer = {\n item: item,\n render:\n typeof item === 'string'\n ? (new Function(\n 'ctx',\n `return ctx.html\\`\n <${item}\n related=\\${JSON.stringify(ctx.related)}\n parent=\\${ctx.parent}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n infer=\"\"\n href=\\${ctx.href}\n ...=\\${ctx.spread(ctx.props)}\n >\n </${item}>\\``\n ) as ItemRenderer)\n : ctx => html`\n <div style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\">\n ${item?.(ctx)}\n </div>\n `,\n };\n }\n\n return this.__cachedCardRenderer.render;\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ import type { Constructor } from 'lit-element';
2
+ import { OverlayElement } from '@vaadin/vaadin-overlay/src/vaadin-overlay';
3
+ declare class PositionMixinHost {
4
+ positionTarget: HTMLElement | null;
5
+ }
6
+ declare const InternalAsyncListControlFilterOverlay_base: Constructor<OverlayElement> & Constructor<PositionMixinHost>;
7
+ export declare class InternalAsyncListControlFilterOverlay extends InternalAsyncListControlFilterOverlay_base {
8
+ static get is(): string;
9
+ renderer: (root: HTMLElement, _: unknown, model: unknown) => void;
10
+ }
11
+ export {};
@@ -0,0 +1,57 @@
1
+ import { _PositionMixin } from '@vaadin/vaadin-overlay/src/vaadin-overlay-position-mixin';
2
+ import { OverlayElement } from '@vaadin/vaadin-overlay/src/vaadin-overlay';
3
+ import { html, render } from 'lit-html';
4
+ const PositionMixin = _PositionMixin;
5
+ export class InternalAsyncListControlFilterOverlay extends PositionMixin(OverlayElement) {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.renderer = (root, _, model) => {
9
+ var _a;
10
+ const litRoot = (_a = root.firstElementChild) !== null && _a !== void 0 ? _a : document.createElement('div');
11
+ if (!root.firstElementChild)
12
+ root.appendChild(litRoot);
13
+ const m = model;
14
+ const result = html `
15
+ <div
16
+ style="display: grid; gap: var(--lumo-space-m); padding: var(--lumo-space-s); width: 22rem"
17
+ >
18
+ <foxy-query-builder
19
+ lang=${m.lang}
20
+ ns=${`${m.ns} query-builder`.trim()}
21
+ .options=${m.options}
22
+ .value=${m.value}
23
+ >
24
+ </foxy-query-builder>
25
+
26
+ <div style="display: flex; justify-content: space-between">
27
+ <vaadin-button
28
+ theme="primary"
29
+ style="margin: 0"
30
+ @click=${() => {
31
+ var _a;
32
+ const queryBuilder = litRoot.querySelector('foxy-query-builder');
33
+ const detail = (_a = queryBuilder.value) !== null && _a !== void 0 ? _a : '';
34
+ this.dispatchEvent(new CustomEvent('search', { detail }));
35
+ }}
36
+ >
37
+ <foxy-i18n lang=${m.lang} ns=${m.ns} key="search"></foxy-i18n>
38
+ </vaadin-button>
39
+
40
+ <vaadin-button
41
+ theme="secondary contrast"
42
+ style="margin: 0"
43
+ @click=${() => this.dispatchEvent(new CustomEvent('search'))}
44
+ >
45
+ <foxy-i18n lang=${m.lang} ns=${m.ns} key="clear"></foxy-i18n>
46
+ </vaadin-button>
47
+ </div>
48
+ </div>
49
+ `;
50
+ render(result, litRoot);
51
+ };
52
+ }
53
+ static get is() {
54
+ return 'foxy-internal-async-list-control-filter-overlay';
55
+ }
56
+ }
57
+ //# sourceMappingURL=InternalAsyncListControlFilterOverlay.js.map
@@ -0,0 +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,3 +1,4 @@
1
+ import '@vaadin/vaadin-overlay';
1
2
  import '@vaadin/vaadin-button';
2
3
  import '../../public/CollectionPage/index';
3
4
  import '../../public/SwipeActions/index';
@@ -1,3 +1,4 @@
1
+ import '@vaadin/vaadin-overlay';
1
2
  import '@vaadin/vaadin-button';
2
3
  import "../../public/CollectionPage/index.js";
3
4
  import "../../public/SwipeActions/index.js";
@@ -6,7 +7,9 @@ import "../../public/Pagination/index.js";
6
7
  import "../../public/I18n/index.js";
7
8
  import "../InternalEditableControl/index.js";
8
9
  import "../InternalConfirmDialog/index.js";
10
+ import { InternalAsyncListControlFilterOverlay as Overlay } from "./InternalAsyncListControlFilterOverlay.js";
9
11
  import { InternalAsyncListControl as Control } from "./InternalAsyncListControl.js";
10
12
  customElements.define('foxy-internal-async-list-control', Control);
13
+ customElements.define(Overlay.is, Overlay);
11
14
  export { Control as InternalAsyncListControl };
12
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,8CAA2C;AAC3C,4CAAyC;AACzC,0CAAuC;AACvC,0CAAuC;AACvC,oCAAiC;AAEjC,6CAA0C;AAC1C,2CAAwC;AAExC,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AAEjF,cAAc,CAAC,MAAM,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../../public/CollectionPage/index';\nimport '../../public/SwipeActions/index';\nimport '../../public/FormDialog/index';\nimport '../../public/Pagination/index';\nimport '../../public/I18n/index';\n\nimport '../InternalEditableControl/index';\nimport '../InternalConfirmDialog/index';\n\nimport { InternalAsyncListControl as Control } from './InternalAsyncListControl';\n\ncustomElements.define('foxy-internal-async-list-control', Control);\n\nexport { Control as InternalAsyncListControl };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAE/B,8CAA2C;AAC3C,4CAAyC;AACzC,0CAAuC;AACvC,0CAAuC;AACvC,oCAAiC;AAEjC,6CAA0C;AAC1C,2CAAwC;AAExC,OAAO,EAAE,qCAAqC,IAAI,OAAO,EAAE,mDAAgD;AAC3G,OAAO,EAAE,wBAAwB,IAAI,OAAO,EAAE,sCAAmC;AAEjF,cAAc,CAAC,MAAM,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC;AACnE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAE3C,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-overlay';\nimport '@vaadin/vaadin-button';\n\nimport '../../public/CollectionPage/index';\nimport '../../public/SwipeActions/index';\nimport '../../public/FormDialog/index';\nimport '../../public/Pagination/index';\nimport '../../public/I18n/index';\n\nimport '../InternalEditableControl/index';\nimport '../InternalConfirmDialog/index';\n\nimport { InternalAsyncListControlFilterOverlay as Overlay } from './InternalAsyncListControlFilterOverlay';\nimport { InternalAsyncListControl as Control } from './InternalAsyncListControl';\n\ncustomElements.define('foxy-internal-async-list-control', Control);\ncustomElements.define(Overlay.is, Overlay);\n\nexport { Control as InternalAsyncListControl };\n"]}
@@ -0,0 +1,8 @@
1
+ import type { HALJSONResource } from '../../public/NucleonElement/types';
2
+ import type { SpinnerState } from '../../public/Spinner/Spinner';
3
+ export declare type Action<TData = HALJSONResource> = {
4
+ theme: string;
5
+ state: 'idle' | SpinnerState;
6
+ text: string;
7
+ onClick: (data: TData) => unknown;
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { HALJSONResource } from '../../public/NucleonElement/types';\nimport type { SpinnerState } from '../../public/Spinner/Spinner';\n\nexport type Action<TData = HALJSONResource> = {\n theme: string;\n state: 'idle' | SpinnerState;\n text: string;\n onClick: (data: TData) => unknown;\n};\n"]}
@@ -0,0 +1,23 @@
1
+ import type { CSSResultArray, PropertyDeclarations } from 'lit-element';
2
+ import type { TemplateResult } from 'lit-html';
3
+ import { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';
4
+ export declare class InternalAsyncResourceLinkListControl extends InternalEditableControl {
5
+ static get properties(): PropertyDeclarations;
6
+ static get styles(): CSSResultArray;
7
+ foreignKeyForUri: string | null;
8
+ foreignKeyForId: string | null;
9
+ ownKeyForUri: string | null;
10
+ optionsHref: string | null;
11
+ linksHref: string | null;
12
+ embedKey: string | null;
13
+ ownUri: string | null;
14
+ limit: number;
15
+ item: string | null;
16
+ private readonly __getItemRenderer;
17
+ private readonly __renderItem;
18
+ private __isFetching;
19
+ renderControl(): TemplateResult;
20
+ updated(changes: Map<keyof this, unknown>): void;
21
+ private __insertLink;
22
+ private __deleteLink;
23
+ }