@foxy.io/elements 1.27.0-beta.6 → 1.27.0-beta.8

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 (355) 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-api-browser.js +2 -2
  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 -1
  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 +13 -13
  34. package/dist/cdn/foxy-customer.js +6 -6
  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 +7 -7
  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-embed-element.js +1 -0
  73. package/dist/cdn/foxy-payment-card.js +1 -1
  74. package/dist/cdn/foxy-payment-method-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  81. package/dist/cdn/foxy-payments-api.js +1 -1
  82. package/dist/cdn/foxy-query-builder.js +64 -1
  83. package/dist/cdn/foxy-report-form.js +2 -2
  84. package/dist/cdn/foxy-reports-table.js +3 -3
  85. package/dist/cdn/foxy-shipment-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  87. package/dist/cdn/foxy-sign-in-form.js +1 -1
  88. package/dist/cdn/foxy-spinner.js +1 -1
  89. package/dist/cdn/foxy-store-card.js +1 -1
  90. package/dist/cdn/foxy-store-form.js +1 -1
  91. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  92. package/dist/cdn/foxy-subscription-card.js +1 -1
  93. package/dist/cdn/foxy-subscription-form.js +1 -1
  94. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  95. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  96. package/dist/cdn/foxy-table.js +1 -1
  97. package/dist/cdn/foxy-tax-card.js +1 -1
  98. package/dist/cdn/foxy-tax-form.js +1 -1
  99. package/dist/cdn/foxy-template-config-form.js +1 -1
  100. package/dist/cdn/foxy-template-form.js +1 -1
  101. package/dist/cdn/foxy-template-set-card.js +1 -1
  102. package/dist/cdn/foxy-template-set-form.js +1 -1
  103. package/dist/cdn/foxy-transaction-card.js +1 -1
  104. package/dist/cdn/foxy-transaction.js +1 -1
  105. package/dist/cdn/foxy-transactions-table.js +1 -1
  106. package/dist/cdn/foxy-update-payment-method-form.js +1 -0
  107. package/dist/cdn/foxy-user-card.js +1 -1
  108. package/dist/cdn/foxy-user-form.js +1 -1
  109. package/dist/cdn/foxy-users-table.js +1 -1
  110. package/dist/cdn/foxy-webhook-card.js +1 -1
  111. package/dist/cdn/foxy-webhook-form.js +1 -1
  112. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  113. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  114. package/dist/cdn/{shared-205721a3.js → shared-0062cab1.js} +1 -1
  115. package/dist/cdn/{shared-c5f57aa8.js → shared-036b25a3.js} +1 -1
  116. package/dist/cdn/shared-04d8a434.js +1 -0
  117. package/dist/cdn/{shared-065dbdf6.js → shared-0aa511d0.js} +1 -1
  118. package/dist/cdn/shared-102dfbe0.js +1 -0
  119. package/dist/cdn/shared-12e531b8.js +1 -0
  120. package/dist/cdn/{shared-f7a5b12a.js → shared-15fe01fe.js} +1 -1
  121. package/dist/cdn/{shared-cc723108.js → shared-1ab8b12e.js} +1 -1
  122. package/dist/cdn/{shared-f2a8fb36.js → shared-1d12db26.js} +1 -1
  123. package/dist/cdn/{shared-0e5ea9cf.js → shared-25fc0ceb.js} +1 -1
  124. package/dist/cdn/shared-272e7269.js +1 -0
  125. package/dist/cdn/{shared-8def6325.js → shared-2808f43a.js} +1 -1
  126. package/dist/cdn/{shared-61f67b16.js → shared-292585a0.js} +1 -1
  127. package/dist/cdn/shared-2e2d45c4.js +1 -0
  128. package/dist/cdn/{shared-48b76c74.js → shared-2f2b5a28.js} +1 -1
  129. package/dist/cdn/{shared-bfa30d93.js → shared-30143820.js} +1 -1
  130. package/dist/cdn/{shared-4329ffa1.js → shared-328e5fdc.js} +1 -1
  131. package/dist/cdn/{shared-80eb1fee.js → shared-337f2fe9.js} +1 -1
  132. package/dist/cdn/{shared-039de1fd.js → shared-34f4330c.js} +1 -1
  133. package/dist/cdn/shared-37391934.js +1 -0
  134. package/dist/cdn/shared-39fc8fed.js +1 -0
  135. package/dist/cdn/{shared-11014aad.js → shared-3c58ddf1.js} +1 -1
  136. package/dist/cdn/{shared-589e5d06.js → shared-40cbbbae.js} +1 -1
  137. package/dist/cdn/{shared-da7a0bfb.js → shared-4128d453.js} +1 -1
  138. package/dist/cdn/{shared-850e2ae1.js → shared-41e9ef02.js} +2 -2
  139. package/dist/cdn/{shared-f03dacf5.js → shared-432d66f4.js} +1 -1
  140. package/dist/cdn/{shared-6e977271.js → shared-4885670b.js} +1 -1
  141. package/dist/cdn/{shared-5c542149.js → shared-550608b8.js} +1 -1
  142. package/dist/cdn/shared-5758adbc.js +1 -0
  143. package/dist/cdn/{shared-bb08b5ce.js → shared-5a18985c.js} +2 -2
  144. package/dist/cdn/{shared-dccfe5e7.js → shared-5e9395ec.js} +1 -1
  145. package/dist/cdn/{shared-845f8bf1.js → shared-62f3fc5a.js} +1 -1
  146. package/dist/cdn/{shared-fd041b18.js → shared-66a515e3.js} +1 -1
  147. package/dist/cdn/shared-66d2a0d7.js +1 -0
  148. package/dist/cdn/{shared-b81aa01c.js → shared-68aebcc4.js} +1 -1
  149. package/dist/cdn/{shared-1d6beb48.js → shared-6dfb57b1.js} +1 -1
  150. package/dist/cdn/{shared-85979316.js → shared-739a8fe4.js} +1 -1
  151. package/dist/cdn/{shared-e966f1ef.js → shared-7535b32d.js} +1 -1
  152. package/dist/cdn/{shared-931db653.js → shared-7c819ebc.js} +1 -1
  153. package/dist/cdn/{shared-9a5da74d.js → shared-84215d13.js} +1 -1
  154. package/dist/cdn/{shared-b30f9b10.js → shared-8452c492.js} +1 -1
  155. package/dist/cdn/{shared-5f09205d.js → shared-8540c2c7.js} +1 -1
  156. package/dist/cdn/shared-8874ec69.js +1 -0
  157. package/dist/cdn/{shared-208e37af.js → shared-8c5b4c81.js} +1 -1
  158. package/dist/cdn/{shared-5dbb9630.js → shared-8d7e2e2c.js} +1 -1
  159. package/dist/cdn/{shared-ca15d510.js → shared-8e59a71e.js} +1 -1
  160. package/dist/cdn/shared-8e75c372.js +1 -0
  161. package/dist/cdn/shared-90ddf541.js +1 -0
  162. package/dist/cdn/{shared-e35297c9.js → shared-91009494.js} +1 -1
  163. package/dist/cdn/shared-9f5c636a.js +1 -0
  164. package/dist/cdn/{shared-fda63db8.js → shared-a30fcaf6.js} +4 -4
  165. package/dist/cdn/shared-a33be18f.js +6 -0
  166. package/dist/cdn/{shared-7e201abd.js → shared-a911ab73.js} +1 -1
  167. package/dist/cdn/{shared-fe7b3ed2.js → shared-b1c7300a.js} +1 -1
  168. package/dist/cdn/{shared-bc95d87e.js → shared-b2ce84fa.js} +1 -1
  169. package/dist/cdn/{shared-1a9e80fa.js → shared-b55f1de3.js} +1 -1
  170. package/dist/cdn/{shared-8cd0f36d.js → shared-b6c1aa47.js} +1 -1
  171. package/dist/cdn/{shared-fb8c09b8.js → shared-b73fd633.js} +1 -1
  172. package/dist/cdn/{shared-a0cbfb2f.js → shared-b99daf13.js} +1 -1
  173. package/dist/cdn/{shared-1d257548.js → shared-bac00622.js} +1 -1
  174. package/dist/cdn/{shared-6af480b8.js → shared-bd99107c.js} +1 -1
  175. package/dist/cdn/{shared-2c70f0b6.js → shared-c0b1a51d.js} +1 -1
  176. package/dist/cdn/shared-c5106605.js +1 -0
  177. package/dist/cdn/{shared-0e8dceb8.js → shared-cb732375.js} +1 -1
  178. package/dist/cdn/shared-cd96ff03.js +1 -0
  179. package/dist/cdn/{shared-93812e51.js → shared-da2a367a.js} +1 -1
  180. package/dist/cdn/{shared-a73e7be4.js → shared-e075ca81.js} +1 -1
  181. package/dist/cdn/{shared-d04c2e0c.js → shared-e10b5dca.js} +1 -1
  182. package/dist/cdn/{shared-cab2aa63.js → shared-e2cbc382.js} +1 -1
  183. package/dist/cdn/{shared-bba8ae80.js → shared-e4403332.js} +1 -1
  184. package/dist/cdn/{shared-befe135a.js → shared-e5f6ca48.js} +1 -1
  185. package/dist/cdn/{shared-56addb06.js → shared-e989e47e.js} +2 -2
  186. package/dist/cdn/{shared-683145e5.js → shared-ecb7a183.js} +1 -1
  187. package/dist/cdn/{shared-e48fbf50.js → shared-f090c63a.js} +1 -1
  188. package/dist/cdn/{shared-4877ed05.js → shared-f14856e0.js} +1 -1
  189. package/dist/cdn/{shared-abf72e2f.js → shared-f2721fae.js} +1 -1
  190. package/dist/cdn/{shared-d4322854.js → shared-f548d023.js} +1 -1
  191. package/dist/cdn/{shared-724e9a20.js → shared-fd95cd52.js} +1 -1
  192. package/dist/cdn/translations/customer/en.json +149 -2
  193. package/dist/cdn/translations/customer-portal/README.md +4 -0
  194. package/dist/cdn/translations/customer-portal/de.json +1063 -113
  195. package/dist/cdn/translations/customer-portal/en.json +151 -5
  196. package/dist/cdn/translations/customer-portal/es.json +1072 -123
  197. package/dist/cdn/translations/customer-portal/fr.json +1084 -134
  198. package/dist/cdn/translations/customer-portal/nl.json +1085 -135
  199. package/dist/cdn/translations/customer-portal/pl.json +1092 -142
  200. package/dist/cdn/translations/customer-portal/sv.json +1173 -0
  201. package/dist/cdn/translations/customer-portal/zh-hk.json +1110 -160
  202. package/dist/cdn/translations/gift-card-code-card/en.json +10 -0
  203. package/dist/cdn/translations/gift-card-code-form/en.json +86 -0
  204. package/dist/cdn/translations/gift-card-form/en.json +638 -397
  205. package/dist/cdn/translations/payment-card-embed/en.json +48 -0
  206. package/dist/cdn/translations/payment-method-card/en.json +149 -2
  207. package/dist/cdn/translations/payments-api-payment-method-form/en.json +2 -2
  208. package/dist/cdn/translations/update-payment-method-form/en.json +140 -0
  209. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +15 -7
  210. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  211. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.d.ts +10 -0
  212. package/dist/elements/{public/CouponForm/internal/InternalCouponFormBulkAddControl/InternalCouponFormBulkAddControl.js → internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js} +9 -9
  213. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js.map +1 -0
  214. package/dist/elements/internal/InternalBulkAddActionControl/index.d.ts +6 -0
  215. package/dist/elements/internal/InternalBulkAddActionControl/index.js +8 -0
  216. package/dist/elements/internal/InternalBulkAddActionControl/index.js.map +1 -0
  217. package/dist/elements/internal/InternalForm/InternalForm.js +2 -0
  218. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  219. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +16 -0
  220. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +167 -0
  221. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -0
  222. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.d.ts +14 -0
  223. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +40 -0
  224. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -0
  225. package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +6 -0
  226. package/dist/elements/internal/InternalResourcePickerControl/index.js +10 -0
  227. package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -0
  228. package/dist/elements/public/CouponForm/CouponForm.js +6 -4
  229. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  230. package/dist/elements/public/CouponForm/index.d.ts +1 -1
  231. package/dist/elements/public/CouponForm/index.js +1 -1
  232. package/dist/elements/public/CouponForm/index.js.map +1 -1
  233. package/dist/elements/public/CouponForm/types.d.ts +1 -10
  234. package/dist/elements/public/CouponForm/types.js.map +1 -1
  235. package/dist/elements/public/Customer/Customer.d.ts +5 -0
  236. package/dist/elements/public/Customer/Customer.js +13 -6
  237. package/dist/elements/public/Customer/Customer.js.map +1 -1
  238. package/dist/elements/public/Customer/index.d.ts +1 -0
  239. package/dist/elements/public/Customer/index.js +1 -0
  240. package/dist/elements/public/Customer/index.js.map +1 -1
  241. package/dist/elements/public/CustomerPortal/CustomerPortal.d.ts +14 -0
  242. package/dist/elements/public/CustomerPortal/CustomerPortal.js +23 -6
  243. package/dist/elements/public/CustomerPortal/CustomerPortal.js.map +1 -1
  244. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.d.ts +1 -0
  245. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +7 -2
  246. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  247. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +0 -6
  248. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -1
  249. package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
  250. package/dist/elements/public/FormDialog/FormDialog.d.ts +2 -0
  251. package/dist/elements/public/FormDialog/FormDialog.js +8 -4
  252. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  253. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.d.ts +21 -0
  254. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js +78 -0
  255. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js.map +1 -0
  256. package/dist/elements/public/GiftCardCodeCard/index.d.ts +5 -0
  257. package/dist/elements/public/GiftCardCodeCard/index.js +7 -0
  258. package/dist/elements/public/GiftCardCodeCard/index.js.map +1 -0
  259. package/dist/elements/public/GiftCardCodeCard/types.d.ts +3 -0
  260. package/dist/elements/public/GiftCardCodeCard/types.js +2 -0
  261. package/dist/elements/public/GiftCardCodeCard/types.js.map +1 -0
  262. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +12 -0
  263. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +69 -4
  264. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  265. package/dist/elements/public/GiftCardCodeForm/index.d.ts +2 -0
  266. package/dist/elements/public/GiftCardCodeForm/index.js +2 -0
  267. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  268. package/dist/elements/public/GiftCardCodeForm/types.d.ts +5 -1
  269. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
  270. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +22 -28
  271. package/dist/elements/public/GiftCardForm/GiftCardForm.js +183 -633
  272. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  273. package/dist/elements/public/GiftCardForm/index.d.ts +13 -12
  274. package/dist/elements/public/GiftCardForm/index.js +13 -12
  275. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  276. package/dist/elements/public/GiftCardForm/types.d.ts +2 -27
  277. package/dist/elements/public/GiftCardForm/types.js.map +1 -1
  278. package/dist/elements/public/NucleonElement/NucleonElement.js +7 -1
  279. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  280. package/dist/elements/public/NucleonElement/UpdateEvent.d.ts +3 -1
  281. package/dist/elements/public/NucleonElement/UpdateEvent.js +2 -0
  282. package/dist/elements/public/NucleonElement/UpdateEvent.js.map +1 -1
  283. package/dist/elements/public/PaymentCardEmbedElement/PaymentCardEmbedElement.d.ts +47 -0
  284. package/dist/elements/public/PaymentCardEmbedElement/PaymentCardEmbedElement.js +198 -0
  285. package/dist/elements/public/PaymentCardEmbedElement/PaymentCardEmbedElement.js.map +1 -0
  286. package/dist/elements/public/PaymentCardEmbedElement/index.d.ts +4 -0
  287. package/dist/elements/public/PaymentCardEmbedElement/index.js +6 -0
  288. package/dist/elements/public/PaymentCardEmbedElement/index.js.map +1 -0
  289. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +14 -4
  290. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +79 -10
  291. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  292. package/dist/elements/public/PaymentMethodCard/index.d.ts +2 -0
  293. package/dist/elements/public/PaymentMethodCard/index.js +2 -0
  294. package/dist/elements/public/PaymentMethodCard/index.js.map +1 -1
  295. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +66 -56
  296. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  297. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +1 -0
  298. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
  299. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  300. package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.d.ts +37 -0
  301. package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js +142 -0
  302. package/dist/elements/public/UpdatePaymentMethodForm/UpdatePaymentMethodForm.js.map +1 -0
  303. package/dist/elements/public/UpdatePaymentMethodForm/index.d.ts +8 -0
  304. package/dist/elements/public/UpdatePaymentMethodForm/index.js +10 -0
  305. package/dist/elements/public/UpdatePaymentMethodForm/index.js.map +1 -0
  306. package/dist/elements/public/{CouponForm/internal/InternalCouponFormBulkAddControl/InternalCouponFormBulkAddControl.d.ts → UpdatePaymentMethodForm/internal/InternalUpdatePaymentMethodFormCcTokenControl/InternalUpdatePaymentMethodFormCcTokenControl.d.ts} +3 -3
  307. package/dist/elements/public/UpdatePaymentMethodForm/internal/InternalUpdatePaymentMethodFormCcTokenControl/InternalUpdatePaymentMethodFormCcTokenControl.js +46 -0
  308. package/dist/elements/public/UpdatePaymentMethodForm/internal/InternalUpdatePaymentMethodFormCcTokenControl/InternalUpdatePaymentMethodFormCcTokenControl.js.map +1 -0
  309. package/dist/elements/public/UpdatePaymentMethodForm/internal/InternalUpdatePaymentMethodFormCcTokenControl/index.d.ts +6 -0
  310. package/dist/elements/public/UpdatePaymentMethodForm/internal/InternalUpdatePaymentMethodFormCcTokenControl/index.js +8 -0
  311. package/dist/elements/public/UpdatePaymentMethodForm/internal/InternalUpdatePaymentMethodFormCcTokenControl/index.js.map +1 -0
  312. package/dist/elements/public/UpdatePaymentMethodForm/types.d.ts +13 -0
  313. package/dist/elements/public/UpdatePaymentMethodForm/types.js +2 -0
  314. package/dist/elements/public/UpdatePaymentMethodForm/types.js.map +1 -0
  315. package/dist/elements/public/index.d.ts +3 -0
  316. package/dist/elements/public/index.defined.d.ts +3 -0
  317. package/dist/elements/public/index.defined.js +3 -0
  318. package/dist/elements/public/index.defined.js.map +1 -1
  319. package/dist/elements/public/index.js +3 -0
  320. package/dist/elements/public/index.js.map +1 -1
  321. package/dist/mixins/themeable.js +45 -0
  322. package/dist/mixins/themeable.js.map +1 -1
  323. package/dist/mixins/translatable.js +89 -79
  324. package/dist/mixins/translatable.js.map +1 -1
  325. package/package.json +2 -2
  326. package/dist/cdn/shared-03ccfd62.js +0 -1
  327. package/dist/cdn/shared-07d5e225.js +0 -1
  328. package/dist/cdn/shared-250e652f.js +0 -1
  329. package/dist/cdn/shared-29f2468c.js +0 -6
  330. package/dist/cdn/shared-3ab0306f.js +0 -1
  331. package/dist/cdn/shared-400240f8.js +0 -1
  332. package/dist/cdn/shared-5e35c5a5.js +0 -1
  333. package/dist/cdn/shared-6c4affb9.js +0 -1
  334. package/dist/cdn/shared-77fd8dae.js +0 -1
  335. package/dist/cdn/shared-8a04bea3.js +0 -1
  336. package/dist/cdn/shared-bfeff3bb.js +0 -1
  337. package/dist/cdn/shared-e07b24ca.js +0 -1
  338. package/dist/cdn/shared-e84be1c2.js +0 -64
  339. package/dist/cdn/translations/customer-portal/se.json +0 -223
  340. package/dist/elements/private/EditableList/EditableList.d.ts +0 -23
  341. package/dist/elements/private/EditableList/EditableList.js +0 -127
  342. package/dist/elements/private/EditableList/EditableList.js.map +0 -1
  343. package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/InternalCouponFormBulkAddControl.js.map +0 -1
  344. package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/index.d.ts +0 -6
  345. package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/index.js +0 -8
  346. package/dist/elements/public/CouponForm/internal/InternalCouponFormBulkAddControl/index.js.map +0 -1
  347. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.d.ts +0 -20
  348. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js +0 -99
  349. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js.map +0 -1
  350. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.d.ts +0 -18
  351. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js +0 -50
  352. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js.map +0 -1
  353. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.d.ts +0 -18
  354. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js +0 -53
  355. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js.map +0 -1
@@ -0,0 +1,48 @@
1
+ {
2
+ "stripe": {
3
+ "label": "Card details",
4
+ "status": {
5
+ "idle": "Your card details are securely processed by Stripe. Visit https://stripe.com to learn more.",
6
+ "busy": "Encrypting your card details...",
7
+ "fail": "This service is currently unavailable. Please try again later.",
8
+ "unsupported": "We don't support this card type. Please try another card."
9
+ }
10
+ },
11
+ "square": {
12
+ "label": "Card details",
13
+ "status": {
14
+ "idle": "Your card details are securely processed by Square. Visit https://squareup.com to learn more.",
15
+ "busy": "Encrypting your card details...",
16
+ "fail": "This service is currently unavailable. Please try again later.",
17
+ "unsupported": "We don't support this card type. Please try another card."
18
+ }
19
+ },
20
+ "default": {
21
+ "cc-number": {
22
+ "label": "Card number",
23
+ "placeholder": "1234 1234 1234 1234",
24
+ "v8n_required": "Enter a card number.",
25
+ "v8n_invalid": "Check your card number – it doesn't seem to be valid.",
26
+ "v8n_unsupported": "We don't support this card type."
27
+ },
28
+ "cc-exp": {
29
+ "label": "Expires on",
30
+ "placeholder": "MM/YYYY",
31
+ "v8n_required": "Enter an expiry date.",
32
+ "v8n_invalid": "Enter a date as MM/YYYY.",
33
+ "v8n_expired": "Your card has expired."
34
+ },
35
+ "cc-csc": {
36
+ "label": "CSC",
37
+ "placeholder": "XXX",
38
+ "v8n_required": "Enter a security code.",
39
+ "v8n_invalid": "Enter a 3-4 digits code."
40
+ },
41
+ "status": {
42
+ "idle": "Your card details are securely processed by Foxy.io. Visit https://foxy.io to learn more.",
43
+ "busy": "Encrypting your card details...",
44
+ "fail": "This service is currently unavailable. Please try again later.",
45
+ "misconfigured": "This form is not configured correctly. If you are seeing this message as a customer, please report this issue to the store support team."
46
+ }
47
+ }
48
+ }
@@ -1,13 +1,160 @@
1
1
  {
2
2
  "cancel": "Cancel",
3
3
  "delete": "Delete",
4
- "delete_prompt": "This resource will be permanently removed. Are you sure?",
4
+ "add": "Add payment method",
5
+ "update": "Update payment method",
6
+ "delete_prompt": "This payment method will be permanently deleted from your account. Would you like to continue?",
5
7
  "expires": "Expires",
6
8
  "last_4_digits": "Last 4 digits",
7
9
  "unknown": "Unknown",
10
+ "dialog": {
11
+ "close": "Close",
12
+ "dialog_header_add": "Add payment method",
13
+ "dialog_header_update": "Update payment method",
14
+ "update-payment-method-form": {
15
+ "status": {
16
+ "cc_token_success": "Card details saved successfully.",
17
+ "close": "Close"
18
+ },
19
+ "error": {
20
+ "cc_token_invalid": "Unfortunately, we couldn't save your card details. Please try again later or use a different card."
21
+ },
22
+ "template-set": {
23
+ "label": "Template set",
24
+ "dialog": {
25
+ "cancel": "Cancel",
26
+ "close": "Close",
27
+ "header": "Choose a template set",
28
+ "selection": {
29
+ "label": "",
30
+ "helper_text": "",
31
+ "search": "Search",
32
+ "clear": "Clear",
33
+ "pagination": {
34
+ "search_button_text": "Search",
35
+ "first": "First",
36
+ "last": "Last",
37
+ "next": "Next",
38
+ "pagination": "{{from}}-{{to}} out of {{total}}",
39
+ "previous": "Previous",
40
+ "card": {
41
+ "spinner": {
42
+ "loading_busy": "Loading",
43
+ "loading_empty": "No template sets found",
44
+ "loading_error": "Unknown error"
45
+ }
46
+ }
47
+ },
48
+ "query-builder": {
49
+ "filters": {},
50
+ "add_or_clause": "Add OR clause",
51
+ "add_value": "Add value",
52
+ "code": "Code",
53
+ "date": "{{value, date}}",
54
+ "date_created": "Created on",
55
+ "date_modified": "Last updated on",
56
+ "delete": "Delete",
57
+ "field": "Field",
58
+ "hidden": "Hidden",
59
+ "is_defined_false": "Not defined",
60
+ "is_defined_true": "Defined",
61
+ "name": "Name",
62
+ "operator_equal": "Equal",
63
+ "operator_greaterthan": "Greater than",
64
+ "operator_greaterthanorequal": "Greater than or equal",
65
+ "operator_in": "One of",
66
+ "operator_isdefined": "Is defined",
67
+ "operator_lessthan": "Less than",
68
+ "operator_lessthanorequal": "Less than or equal",
69
+ "operator_not": "Not equal",
70
+ "or": "Or",
71
+ "query_builder_group": "Group of filters",
72
+ "query_builder_rule": "Filter",
73
+ "range_from": "From",
74
+ "range_to": "To",
75
+ "type": "Type",
76
+ "type_any": "Field of unknown type",
77
+ "type_attribute": "Key-value resource",
78
+ "type_date": "Date field",
79
+ "type_here": "Type here...",
80
+ "type_number": "Numeric field",
81
+ "type_string": "Text field",
82
+ "used_codes": "Codes used",
83
+ "value": "Value"
84
+ }
85
+ }
86
+ },
87
+ "card": {
88
+ "spinner": {
89
+ "loading_busy": "Loading",
90
+ "loading_empty": "Click to select",
91
+ "loading_error": "Unknown error"
92
+ }
93
+ },
94
+ "helper_text": "Template set determines which payment gateway and tokenization service will be used to capture card details."
95
+ },
96
+ "cc-token": {
97
+ "tokenize": "Save card",
98
+ "payment-card-embed": {
99
+ "stripe": {
100
+ "label": "Card details",
101
+ "status": {
102
+ "idle": "Your card details are securely processed by Stripe. Visit https://stripe.com to learn more.",
103
+ "busy": "Encrypting your card details...",
104
+ "fail": "This service is currently unavailable. Please try again later.",
105
+ "unsupported": "We don't support this card type. Please try another card."
106
+ }
107
+ },
108
+ "square": {
109
+ "label": "Card details",
110
+ "status": {
111
+ "idle": "Your card details are securely processed by Square. Visit https://squareup.com to learn more.",
112
+ "busy": "Encrypting your card details...",
113
+ "fail": "This service is currently unavailable. Please try again later.",
114
+ "unsupported": "We don't support this card type. Please try another card."
115
+ }
116
+ },
117
+ "default": {
118
+ "cc-number": {
119
+ "label": "Card number",
120
+ "placeholder": "1234 1234 1234 1234",
121
+ "v8n_required": "Enter a card number.",
122
+ "v8n_invalid": "Check your card number – it doesn't seem to be valid.",
123
+ "v8n_unsupported": "We don't support this card type."
124
+ },
125
+ "cc-exp": {
126
+ "label": "Expires on",
127
+ "placeholder": "MM/YYYY",
128
+ "v8n_required": "Enter an expiry date.",
129
+ "v8n_invalid": "Enter a date as MM/YYYY.",
130
+ "v8n_expired": "Your card has expired."
131
+ },
132
+ "cc-csc": {
133
+ "label": "CSC",
134
+ "placeholder": "XXX",
135
+ "v8n_required": "Enter a security code.",
136
+ "v8n_invalid": "Enter a 3-4 digits code."
137
+ },
138
+ "status": {
139
+ "idle": "Your card details are securely processed by Foxy.io. Visit https://foxy.io to learn more.",
140
+ "busy": "Encrypting your card details...",
141
+ "fail": "This service is currently unavailable. Please try again later.",
142
+ "misconfigured": "This form is not configured correctly. If you are seeing this message as a customer, please report this issue to the store support team."
143
+ }
144
+ }
145
+ }
146
+ },
147
+ "spinner": {
148
+ "refresh": "Refresh",
149
+ "loading_busy": "Loading",
150
+ "loading_error": "Unknown error",
151
+ "loading_empty": "This form works only with existing payment methods"
152
+ }
153
+ }
154
+ },
8
155
  "spinner": {
9
156
  "loading_busy": "Loading",
10
- "loading_empty": "No data",
157
+ "loading_empty": "No payment method",
11
158
  "loading_error": "Unknown error"
12
159
  }
13
160
  }
@@ -1,6 +1,6 @@
1
1
  {
2
- "select_method_title": "Select a payment method to get started",
3
- "select_another_button_label": "Back to payment methods",
2
+ "select_method_title": "Select a payment method",
3
+ "select_another_button_label": "Select another",
4
4
  "default_additional_field_placeholder": "None",
5
5
  "conflict_message": "Remove {{ name }} to use this method",
6
6
  "tab_live": "Live setup",
@@ -0,0 +1,140 @@
1
+ {
2
+ "status": {
3
+ "cc_token_success": "Card details saved successfully.",
4
+ "close": "Close"
5
+ },
6
+ "error": {
7
+ "cc_token_invalid": "Unfortunately, we couldn't save your card details. Please try again later or use a different card."
8
+ },
9
+ "template-set": {
10
+ "label": "Template set",
11
+ "dialog": {
12
+ "cancel": "Cancel",
13
+ "close": "Close",
14
+ "header": "Choose a template set",
15
+ "selection": {
16
+ "label": "",
17
+ "helper_text": "",
18
+ "search": "Search",
19
+ "clear": "Clear",
20
+ "pagination": {
21
+ "search_button_text": "Search",
22
+ "first": "First",
23
+ "last": "Last",
24
+ "next": "Next",
25
+ "pagination": "{{from}}-{{to}} out of {{total}}",
26
+ "previous": "Previous",
27
+ "card": {
28
+ "spinner": {
29
+ "loading_busy": "Loading",
30
+ "loading_empty": "No template sets found",
31
+ "loading_error": "Unknown error"
32
+ }
33
+ }
34
+ },
35
+ "query-builder": {
36
+ "filters": {},
37
+ "add_or_clause": "Add OR clause",
38
+ "add_value": "Add value",
39
+ "code": "Code",
40
+ "date": "{{value, date}}",
41
+ "date_created": "Created on",
42
+ "date_modified": "Last updated on",
43
+ "delete": "Delete",
44
+ "field": "Field",
45
+ "hidden": "Hidden",
46
+ "is_defined_false": "Not defined",
47
+ "is_defined_true": "Defined",
48
+ "name": "Name",
49
+ "operator_equal": "Equal",
50
+ "operator_greaterthan": "Greater than",
51
+ "operator_greaterthanorequal": "Greater than or equal",
52
+ "operator_in": "One of",
53
+ "operator_isdefined": "Is defined",
54
+ "operator_lessthan": "Less than",
55
+ "operator_lessthanorequal": "Less than or equal",
56
+ "operator_not": "Not equal",
57
+ "or": "Or",
58
+ "query_builder_group": "Group of filters",
59
+ "query_builder_rule": "Filter",
60
+ "range_from": "From",
61
+ "range_to": "To",
62
+ "type": "Type",
63
+ "type_any": "Field of unknown type",
64
+ "type_attribute": "Key-value resource",
65
+ "type_date": "Date field",
66
+ "type_here": "Type here...",
67
+ "type_number": "Numeric field",
68
+ "type_string": "Text field",
69
+ "used_codes": "Codes used",
70
+ "value": "Value"
71
+ }
72
+ }
73
+ },
74
+ "card": {
75
+ "spinner": {
76
+ "loading_busy": "Loading",
77
+ "loading_empty": "Click to select",
78
+ "loading_error": "Unknown error"
79
+ }
80
+ },
81
+ "helper_text": "Template set determines which payment gateway and tokenization service will be used to capture card details."
82
+ },
83
+ "cc-token": {
84
+ "tokenize": "Save card",
85
+ "payment-card-embed": {
86
+ "stripe": {
87
+ "label": "Card details",
88
+ "status": {
89
+ "idle": "Your card details are securely processed by Stripe. Visit https://stripe.com to learn more.",
90
+ "busy": "Encrypting your card details...",
91
+ "fail": "This service is currently unavailable. Please try again later.",
92
+ "unsupported": "We don't support this card type. Please try a different card."
93
+ }
94
+ },
95
+ "square": {
96
+ "label": "Card details",
97
+ "status": {
98
+ "idle": "Your card details are securely processed by Square. Visit https://squareup.com to learn more.",
99
+ "busy": "Encrypting your card details...",
100
+ "fail": "This service is currently unavailable. Please try again later.",
101
+ "unsupported": "We don't support this card type. Please try a different card."
102
+ }
103
+ },
104
+ "default": {
105
+ "cc-number": {
106
+ "label": "Card number",
107
+ "placeholder": "1234 1234 1234 1234",
108
+ "v8n_required": "Enter a card number.",
109
+ "v8n_invalid": "Check your card number – it doesn't seem to be valid.",
110
+ "v8n_unsupported": "We don't support this card type."
111
+ },
112
+ "cc-exp": {
113
+ "label": "Expires on",
114
+ "placeholder": "MM/YYYY",
115
+ "v8n_required": "Enter an expiry date.",
116
+ "v8n_invalid": "Enter a date as MM/YYYY.",
117
+ "v8n_expired": "Your card has expired."
118
+ },
119
+ "cc-csc": {
120
+ "label": "CSC",
121
+ "placeholder": "XXX",
122
+ "v8n_required": "Enter a security code.",
123
+ "v8n_invalid": "Enter a 3-4 digits code."
124
+ },
125
+ "status": {
126
+ "idle": "Your card details are securely processed by Foxy.io. Visit https://foxy.io to learn more.",
127
+ "busy": "Encrypting your card details...",
128
+ "fail": "This service is currently unavailable. Please try again later.",
129
+ "misconfigured": "This form is not configured correctly. If you are seeing this message as a customer, please report this issue to the store support team."
130
+ }
131
+ }
132
+ }
133
+ },
134
+ "spinner": {
135
+ "refresh": "Refresh",
136
+ "loading_busy": "Loading",
137
+ "loading_error": "Unknown error",
138
+ "loading_empty": "This form works only with existing payment methods"
139
+ }
140
+ }
@@ -70,11 +70,19 @@ export class InternalAsyncListControl extends InternalEditableControl {
70
70
  }
71
71
  else {
72
72
  const handleClick = (evt) => {
73
- const button = evt.currentTarget;
74
- const dialog = this.__dialog;
75
- dialog.header = 'header_update';
76
- dialog.href = ctx.href;
77
- 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
+ }
78
86
  };
79
87
  clickableItem = html `
80
88
  <button ?disabled=${isDisabled} class=${wrapperClass} @click=${handleClick}>${card}</button>
@@ -214,7 +222,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
214
222
  >
215
223
  </foxy-internal-confirm-dialog>
216
224
  `}
217
- <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">
218
226
  <span class="text-secondary">
219
227
  ${this.label && this.label !== 'label' ? this.label : ''}
220
228
  </span>
@@ -241,7 +249,7 @@ export class InternalAsyncListControl extends InternalEditableControl {
241
249
 
242
250
  <vaadin-button
243
251
  theme="tertiary-inline contrast"
244
- class="ml-auto mr-m"
252
+ class="ml-auto"
245
253
  id="filters"
246
254
  ?disabled=${this.disabled}
247
255
  @click=${() => (this.__isFilterVisible = !this.__isFilterVisible)}
@@ -1 +1 @@
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 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 ${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 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 mr-m\"\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"]}
1
+ {"version":3,"file":"InternalAsyncListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalAsyncListControl/InternalAsyncListControl.ts"],"names":[],"mappings":"AASA,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;;QA0BE,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,qBAAqB;QACrB,YAAO,GAAG,EAAc,CAAC;QAEzB,oDAAoD;QACpD,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,kEAAkE;QAClE,cAAS,GAA4B,EAAE,CAAC;QAExC,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,sBAAiB,GAAG,KAAK,CAAC;QAE1B,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,UAAU,GAAG,IAAI,WAAW,CAAS,WAAW,EAAE;wBACtD,UAAU,EAAE,IAAI;wBAChB,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,IAAI;wBACb,MAAM,EAAE,GAAG,CAAC,IAAI;qBACjB,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;wBAClC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAkC,CAAC;wBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;wBAE7B,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC;wBAChC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;wBACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACrB;gBACH,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;UACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC1B,OAAO,IAAI,CAAA;;;sBAGC,MAAM,CAAC,KAAK;;;0BAGR,IAAI,CAAC,QAAQ;uBAChB,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,CAAC;;;wBAG9B,QAAQ,CAAC;oBACf,oBAAoB,EAAE,IAAI;oBAC1B,WAAW,EAAE,MAAM,CAAC,KAAK,KAAK,MAAM;iBACrC,CAAC;;sBAEI,MAAM,CAAC,IAAI;;;;wBAIT,QAAQ,CAAC;oBACf,sEAAsE,EAAE,IAAI;oBAC5E,WAAW,EAAE,MAAM,CAAC,KAAK,KAAK,MAAM;iBACrC,CAAC;;wEAEsD,MAAM,CAAC,KAAK;;;;WAIzE,CAAC;YACJ,CAAC,CAAC;;;;;;mBAMS,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,aAAc,CAAC,iBAAkB,CAAC;oBAC5D,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;QAEM,aAAQ,GAAG,EAAE,CAAC;IAiMxB,CAAC;IArYC,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,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE;YACpD,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;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;YAC9B,iBAAiB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACxC,CAAC;IACJ,CAAC;IA+KD,aAAa;;QACX,IAAI,KAAyB,CAAC;QAE9B,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YACjE,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;uBACd,IAAI,CAAC,SAAS;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;;;UAGxD,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,IAAI,CAAA;;qCAEqB,IAAI;kCACP,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC;yBAClD;gBACP,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,QAAQ;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ;0BACS,IAAI,CAAC,iBAAiB;wCACR,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;0BACpD,CAAC,GAAoC,EAAE,EAAE;;gBACjD,IAAI,CAAC,QAAQ,SAAG,GAAG,CAAC,MAAM,mCAAI,EAAE,CAAC;YACnC,CAAC;;;;;;;;4BAQW,IAAI,CAAC,QAAQ;yBAChB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;;;;aAIpE;YACH,CAAC,CAAC,EAAE;UACJ,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';\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,10 @@
1
+ import type { PropertyDeclarations } from 'lit-element';
2
+ import type { TemplateResult } from 'lit-html';
3
+ import { InternalControl } from '../InternalControl/InternalControl';
4
+ export declare class InternalBulkAddActionControl extends InternalControl {
5
+ static get properties(): PropertyDeclarations;
6
+ related: string[];
7
+ parent: string | null;
8
+ form: string | null;
9
+ renderControl(): TemplateResult;
10
+ }
@@ -1,31 +1,31 @@
1
- import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
1
+ import { InternalControl } from "../InternalControl/InternalControl.js";
2
2
  import { ifDefined } from 'lit-html/directives/if-defined';
3
3
  import { html } from 'lit-html';
4
- export class InternalCouponFormBulkAddControl extends InternalControl {
4
+ export class InternalBulkAddActionControl extends InternalControl {
5
5
  constructor() {
6
6
  super(...arguments);
7
+ this.related = [];
7
8
  this.parent = null;
8
9
  this.form = null;
9
10
  }
10
11
  static get properties() {
11
12
  return {
12
13
  ...super.properties,
14
+ related: { type: Array },
13
15
  parent: {},
14
16
  form: {},
15
17
  };
16
18
  }
17
19
  renderControl() {
18
- var _a, _b, _c;
19
- const nucleon = this.nucleon;
20
- const codesHref = (_a = nucleon === null || nucleon === void 0 ? void 0 : nucleon.data) === null || _a === void 0 ? void 0 : _a._links['fx:coupon_codes'].href;
20
+ var _a, _b;
21
21
  return html `
22
22
  <foxy-form-dialog
23
23
  header="header"
24
- parent=${ifDefined((_b = this.parent) !== null && _b !== void 0 ? _b : undefined)}
24
+ parent=${ifDefined((_a = this.parent) !== null && _a !== void 0 ? _a : undefined)}
25
25
  infer="dialog"
26
- form=${ifDefined((_c = this.form) !== null && _c !== void 0 ? _c : undefined)}
26
+ form=${ifDefined((_b = this.form) !== null && _b !== void 0 ? _b : undefined)}
27
27
  alert
28
- .related=${codesHref ? [codesHref] : []}
28
+ .related=${this.related}
29
29
  >
30
30
  </foxy-form-dialog>
31
31
 
@@ -46,4 +46,4 @@ export class InternalCouponFormBulkAddControl extends InternalControl {
46
46
  `;
47
47
  }
48
48
  }
49
- //# sourceMappingURL=InternalCouponFormBulkAddControl.js.map
49
+ //# sourceMappingURL=InternalBulkAddActionControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalBulkAddActionControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,8CAA2C;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,4BAA6B,SAAQ,eAAe;IAAjE;;QAUE,YAAO,GAAa,EAAE,CAAC;QAEvB,WAAM,GAAkB,IAAI,CAAC;QAE7B,SAAI,GAAkB,IAAI,CAAC;IA+B7B,CAAC;IA5CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;YACxB,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAQD,aAAa;;QACX,OAAO,IAAI,CAAA;;;iBAGE,SAAS,OAAC,IAAI,CAAC,MAAM,mCAAI,SAAS,CAAC;;eAErC,SAAS,OAAC,IAAI,CAAC,IAAI,mCAAI,SAAS,CAAC;;mBAE7B,IAAI,CAAC,OAAO;;;;;;oBAMX,IAAI,CAAC,QAAQ;iBAChB,CAAC,GAAU,EAAE,EAAE;YACtB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAsB,CAAC;YACtF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAqB,CAAC;YAEzC,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrB;QACH,CAAC;;;;KAIJ,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { FormDialog } from '../../public/FormDialog/FormDialog';\n\nimport { InternalControl } from '../InternalControl/InternalControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class InternalBulkAddActionControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n related: { type: Array },\n parent: {},\n form: {},\n };\n }\n\n related: string[] = [];\n\n parent: string | null = null;\n\n form: string | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <foxy-form-dialog\n header=\"header\"\n parent=${ifDefined(this.parent ?? undefined)}\n infer=\"dialog\"\n form=${ifDefined(this.form ?? undefined)}\n alert\n .related=${this.related}\n >\n </foxy-form-dialog>\n\n <vaadin-button\n theme=\"tertiary-inline\"\n ?disabled=${this.disabled}\n @click=${(evt: Event) => {\n const dialog = this.renderRoot.querySelector('foxy-form-dialog') as FormDialog | null;\n const button = evt.target as HTMLElement;\n\n if (dialog) {\n dialog.href = '';\n dialog.show(button);\n }\n }}\n >\n <foxy-i18n infer=\"\" key=\"button_text\"></foxy-i18n>\n </vaadin-button>\n `;\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import '@vaadin/vaadin-button';
2
+ import '../InternalControl/index';
3
+ import '../../public/FormDialog/index';
4
+ import '../../public/I18n/index';
5
+ import { InternalBulkAddActionControl } from './InternalBulkAddActionControl';
6
+ export { InternalBulkAddActionControl };
@@ -0,0 +1,8 @@
1
+ import '@vaadin/vaadin-button';
2
+ import "../InternalControl/index.js";
3
+ import "../../public/FormDialog/index.js";
4
+ import "../../public/I18n/index.js";
5
+ import { InternalBulkAddActionControl } from "./InternalBulkAddActionControl.js";
6
+ customElements.define('foxy-internal-bulk-add-action-control', InternalBulkAddActionControl);
7
+ export { InternalBulkAddActionControl };
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalBulkAddActionControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAC;AAE/B,qCAAkC;AAElC,0CAAuC;AACvC,oCAAiC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,0CAAuC;AAE9E,cAAc,CAAC,MAAM,CAAC,uCAAuC,EAAE,4BAA4B,CAAC,CAAC;AAE7F,OAAO,EAAE,4BAA4B,EAAE,CAAC","sourcesContent":["import '@vaadin/vaadin-button';\n\nimport '../InternalControl/index';\n\nimport '../../public/FormDialog/index';\nimport '../../public/I18n/index';\n\nimport { InternalBulkAddActionControl } from './InternalBulkAddActionControl';\n\ncustomElements.define('foxy-internal-bulk-add-action-control', InternalBulkAddActionControl);\n\nexport { InternalBulkAddActionControl };\n"]}
@@ -140,6 +140,8 @@ export class InternalForm extends Base {
140
140
  `;
141
141
  }
142
142
  __renderStatus({ key, options }) {
143
+ if (this.hiddenSelector.matches('status', true))
144
+ return;
143
145
  return html `
144
146
  <p
145
147
  data-testid="status"