@foxy.io/elements 1.48.1-beta.1 → 1.49.0-beta.2

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 (222) 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-admin-subscription-form.js +1 -1
  6. package/dist/cdn/foxy-admin-transaction-card.js +1 -1
  7. package/dist/cdn/foxy-api-browser.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  9. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  10. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-card.js +1 -1
  12. package/dist/cdn/foxy-attribute-form.js +1 -1
  13. package/dist/cdn/foxy-billing-address-card.js +1 -1
  14. package/dist/cdn/foxy-cancellation-form.js +1 -1
  15. package/dist/cdn/foxy-cart-card.js +1 -1
  16. package/dist/cdn/foxy-cart-form.js +1 -1
  17. package/dist/cdn/foxy-client-card.js +1 -1
  18. package/dist/cdn/foxy-client-form.js +1 -1
  19. package/dist/cdn/foxy-collection-page.js +1 -1
  20. package/dist/cdn/foxy-collection-pages.js +1 -1
  21. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  22. package/dist/cdn/foxy-coupon-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  24. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  26. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  27. package/dist/cdn/foxy-coupon-form.js +1 -1
  28. package/dist/cdn/foxy-custom-field-card.js +1 -1
  29. package/dist/cdn/foxy-custom-field-form.js +1 -1
  30. package/dist/cdn/foxy-customer-card.js +1 -1
  31. package/dist/cdn/foxy-customer-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  33. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  34. package/dist/cdn/foxy-customer-portal.js +1 -1
  35. package/dist/cdn/foxy-customer.js +1 -1
  36. package/dist/cdn/foxy-customers-table.js +1 -1
  37. package/dist/cdn/foxy-discount-builder.js +1 -1
  38. package/dist/cdn/foxy-discount-card.js +1 -1
  39. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  40. package/dist/cdn/foxy-donation.js +1 -1
  41. package/dist/cdn/foxy-downloadable-card.js +1 -1
  42. package/dist/cdn/foxy-downloadable-form.js +10 -10
  43. package/dist/cdn/foxy-email-template-card.js +1 -1
  44. package/dist/cdn/foxy-email-template-form.js +1 -1
  45. package/dist/cdn/foxy-error-entry-card.js +1 -1
  46. package/dist/cdn/foxy-experimental-add-to-cart-builder.js +1 -1
  47. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  48. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  49. package/dist/cdn/foxy-form-dialog.js +1 -1
  50. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  51. package/dist/cdn/foxy-gift-card-card.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  55. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  56. package/dist/cdn/foxy-gift-card-form.js +1 -1
  57. package/dist/cdn/foxy-i18n-editor.js +3 -3
  58. package/dist/cdn/foxy-i18n.js +1 -1
  59. package/dist/cdn/foxy-integration-card.js +1 -1
  60. package/dist/cdn/foxy-integration-form.js +1 -1
  61. package/dist/cdn/foxy-item-card.js +1 -1
  62. package/dist/cdn/foxy-item-category-card.js +1 -1
  63. package/dist/cdn/foxy-item-category-form.js +1 -1
  64. package/dist/cdn/foxy-item-form.js +1 -1
  65. package/dist/cdn/foxy-item-option-card.js +1 -1
  66. package/dist/cdn/foxy-item-option-form.js +1 -1
  67. package/dist/cdn/foxy-items-form.js +1 -1
  68. package/dist/cdn/foxy-native-integration-card.js +1 -1
  69. package/dist/cdn/foxy-native-integration-form.js +1 -1
  70. package/dist/cdn/foxy-pagination.js +1 -1
  71. package/dist/cdn/foxy-passkey-card.js +1 -1
  72. package/dist/cdn/foxy-passkey-form.js +1 -1
  73. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  74. package/dist/cdn/foxy-payment-card.js +1 -1
  75. package/dist/cdn/foxy-payment-method-card.js +1 -1
  76. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  81. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  82. package/dist/cdn/foxy-query-builder.js +1 -1
  83. package/dist/cdn/foxy-report-form.js +1 -1
  84. package/dist/cdn/foxy-reports-table.js +1 -1
  85. package/dist/cdn/foxy-shipment-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  90. package/dist/cdn/foxy-sign-in-form.js +1 -1
  91. package/dist/cdn/foxy-spinner.js +1 -1
  92. package/dist/cdn/foxy-store-card.js +1 -1
  93. package/dist/cdn/foxy-store-form.js +1 -1
  94. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  95. package/dist/cdn/foxy-store-transaction-folder-card.js +1 -1
  96. package/dist/cdn/foxy-store-transaction-folder-form.js +1 -1
  97. package/dist/cdn/foxy-subscription-card.js +1 -1
  98. package/dist/cdn/foxy-subscription-form.js +1 -1
  99. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  100. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  101. package/dist/cdn/foxy-table.js +1 -1
  102. package/dist/cdn/foxy-tax-card.js +1 -1
  103. package/dist/cdn/foxy-tax-form.js +1 -1
  104. package/dist/cdn/foxy-template-config-form.js +1 -1
  105. package/dist/cdn/foxy-template-form.js +1 -1
  106. package/dist/cdn/foxy-template-set-card.js +1 -1
  107. package/dist/cdn/foxy-template-set-form.js +1 -1
  108. package/dist/cdn/foxy-transaction-card.js +1 -1
  109. package/dist/cdn/foxy-transaction.js +1 -1
  110. package/dist/cdn/foxy-transactions-table.js +2 -2
  111. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  112. package/dist/cdn/foxy-user-card.js +1 -1
  113. package/dist/cdn/foxy-user-form.js +1 -1
  114. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  115. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  116. package/dist/cdn/foxy-users-table.js +1 -1
  117. package/dist/cdn/foxy-webhook-card.js +1 -1
  118. package/dist/cdn/foxy-webhook-form.js +1 -1
  119. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  120. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  121. package/dist/cdn/{shared-45ae3485.js → shared-021fbb51.js} +1 -1
  122. package/dist/cdn/shared-04277241.js +1 -0
  123. package/dist/cdn/shared-063c93be.js +1 -0
  124. package/dist/cdn/{shared-e5840ce4.js → shared-07268049.js} +1 -1
  125. package/dist/cdn/{shared-e0cbe22a.js → shared-097487d0.js} +1 -1
  126. package/dist/cdn/{shared-dc704329.js → shared-0a7a4660.js} +1 -1
  127. package/dist/cdn/{shared-259870ee.js → shared-0ea24ca2.js} +1 -1
  128. package/dist/cdn/{shared-e85918c4.js → shared-1301af85.js} +1 -1
  129. package/dist/cdn/{shared-fcadaa8c.js → shared-1492fa1c.js} +1 -1
  130. package/dist/cdn/{shared-22168ef7.js → shared-18e301f2.js} +1 -1
  131. package/dist/cdn/{shared-e7764ffb.js → shared-1da8110b.js} +1 -1
  132. package/dist/cdn/{shared-f19f1940.js → shared-1fa1abbd.js} +2 -2
  133. package/dist/cdn/{shared-f03cfb48.js → shared-26b55da2.js} +1 -1
  134. package/dist/cdn/{shared-ae5aa93b.js → shared-31e75a4a.js} +1 -1
  135. package/dist/cdn/{shared-8368423a.js → shared-328aa161.js} +1 -1
  136. package/dist/cdn/{shared-09fb9d35.js → shared-334b7e24.js} +1 -1
  137. package/dist/cdn/{shared-e560a534.js → shared-3c0e3876.js} +3 -3
  138. package/dist/cdn/{shared-9b72bd4c.js → shared-3c53446d.js} +1 -1
  139. package/dist/cdn/{shared-83e3626b.js → shared-43fb8242.js} +1 -1
  140. package/dist/cdn/{shared-3d4b91bb.js → shared-47ce4456.js} +1 -1
  141. package/dist/cdn/{shared-590923e1.js → shared-490dadf8.js} +1 -1
  142. package/dist/cdn/{shared-d5de9c0a.js → shared-4bafbc5f.js} +1 -1
  143. package/dist/cdn/{shared-c8af1e27.js → shared-4cc1fb20.js} +1 -1
  144. package/dist/cdn/{shared-cd9560d6.js → shared-5078246e.js} +1 -1
  145. package/dist/cdn/shared-55fa26c2.js +1 -0
  146. package/dist/cdn/shared-56a16e03.js +1 -0
  147. package/dist/cdn/{shared-89ad4177.js → shared-591ee1bf.js} +1 -1
  148. package/dist/cdn/{shared-2a151df4.js → shared-5fbbaea2.js} +1 -1
  149. package/dist/cdn/{shared-1cbf191b.js → shared-67aeac0f.js} +1 -1
  150. package/dist/cdn/{shared-50b66625.js → shared-6880e1f6.js} +1 -1
  151. package/dist/cdn/{shared-e0e91ce2.js → shared-68c69a0f.js} +1 -1
  152. package/dist/cdn/{shared-ecc3441b.js → shared-759f65d8.js} +1 -1
  153. package/dist/cdn/{shared-40f265c5.js → shared-7a5d645f.js} +1 -1
  154. package/dist/cdn/{shared-fd0825a2.js → shared-7e1a3361.js} +1 -1
  155. package/dist/cdn/{shared-37b0c0af.js → shared-83613f15.js} +1 -1
  156. package/dist/cdn/{shared-b9d9e306.js → shared-8bf38c47.js} +1 -1
  157. package/dist/cdn/{shared-641c8ca6.js → shared-8dd6e5cc.js} +1 -1
  158. package/dist/cdn/{shared-5dcddb01.js → shared-8f61408a.js} +1 -1
  159. package/dist/cdn/{shared-d8ec7f12.js → shared-910d49eb.js} +1 -1
  160. package/dist/cdn/{shared-0237985c.js → shared-9a291941.js} +1 -1
  161. package/dist/cdn/{shared-94de5e51.js → shared-9a454e09.js} +1 -1
  162. package/dist/cdn/{shared-9ac59ac9.js → shared-a18827a4.js} +1 -1
  163. package/dist/cdn/{shared-0cbd8bf4.js → shared-a9a8eb7c.js} +1 -1
  164. package/dist/cdn/{shared-790ab66f.js → shared-aa258319.js} +1 -1
  165. package/dist/cdn/{shared-9c36e563.js → shared-ad470adf.js} +1 -1
  166. package/dist/cdn/{shared-ac3113ee.js → shared-add0286c.js} +1 -1
  167. package/dist/cdn/{shared-0b4fad42.js → shared-af688fe3.js} +1 -1
  168. package/dist/cdn/{shared-202cd296.js → shared-b0453b08.js} +1 -1
  169. package/dist/cdn/{shared-3b627ac8.js → shared-b0db52f7.js} +1 -1
  170. package/dist/cdn/{shared-eb7895bd.js → shared-ba43928a.js} +1 -1
  171. package/dist/cdn/{shared-4bd2abe4.js → shared-bc8a1435.js} +1 -1
  172. package/dist/cdn/{shared-b02a95f7.js → shared-be071e3d.js} +1 -1
  173. package/dist/cdn/{shared-f3a9ae84.js → shared-d01853e2.js} +1 -1
  174. package/dist/cdn/{shared-84e81c06.js → shared-d48e260f.js} +1 -1
  175. package/dist/cdn/{shared-def797b5.js → shared-d74aac59.js} +1 -1
  176. package/dist/cdn/{shared-ffd0589e.js → shared-de4ec7bb.js} +1 -1
  177. package/dist/cdn/{shared-d395d92e.js → shared-e9d87207.js} +1 -1
  178. package/dist/cdn/{shared-6eb8aa92.js → shared-eadf0d23.js} +1 -1
  179. package/dist/cdn/{shared-2efca095.js → shared-ec1daff0.js} +1 -1
  180. package/dist/cdn/{shared-0b4648f1.js → shared-ee752063.js} +1 -1
  181. package/dist/cdn/{shared-7cb579ca.js → shared-f7965314.js} +1 -1
  182. package/dist/cdn/{shared-82e82763.js → shared-f9bb0924.js} +1 -1
  183. package/dist/cdn/{shared-b0e06a4b.js → shared-fc6e64a4.js} +5 -5
  184. package/dist/cdn/translations/downloadable-form/en.json +74 -43
  185. package/dist/cdn/translations/native-integration-form/en.json +1 -1
  186. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +3 -0
  187. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +7 -2
  188. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  189. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +4 -0
  190. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +20 -2
  191. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
  192. package/dist/elements/public/DownloadableForm/DownloadableForm.d.ts +0 -4
  193. package/dist/elements/public/DownloadableForm/DownloadableForm.js +20 -43
  194. package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
  195. package/dist/elements/public/DownloadableForm/index.d.ts +3 -2
  196. package/dist/elements/public/DownloadableForm/index.js +3 -2
  197. package/dist/elements/public/DownloadableForm/index.js.map +1 -1
  198. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/InternalDownloadableFormUploadControl.d.ts +1 -0
  199. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/InternalDownloadableFormUploadControl.js +22 -29
  200. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/InternalDownloadableFormUploadControl.js.map +1 -1
  201. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/style.js +6 -1
  202. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/style.js.map +1 -1
  203. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +1 -0
  204. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +6 -0
  205. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  206. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js +1 -1
  207. package/dist/elements/public/NativeIntegrationForm/NativeIntegrationForm.js.map +1 -1
  208. package/dist/elements/public/TransactionsTable/TransactionsTable.js +1 -1
  209. package/dist/elements/public/TransactionsTable/TransactionsTable.js.map +1 -1
  210. package/dist/mixins/themeable.js +0 -6
  211. package/dist/mixins/themeable.js.map +1 -1
  212. package/package.json +1 -1
  213. package/dist/cdn/shared-14350c09.js +0 -1
  214. package/dist/cdn/shared-30530592.js +0 -1
  215. package/dist/cdn/shared-aae01ac0.js +0 -1
  216. package/dist/cdn/shared-af78c7f0.js +0 -1
  217. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +0 -28
  218. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +0 -106
  219. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +0 -1
  220. package/dist/elements/internal/InternalAsyncComboBoxControl/index.d.ts +0 -4
  221. package/dist/elements/internal/InternalAsyncComboBoxControl/index.js +0 -6
  222. package/dist/elements/internal/InternalAsyncComboBoxControl/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import"./shared-3b627ac8.js";import{h as t,P as e}from"./shared-45ae3485.js";import{F as i,t as o}from"./shared-641c8ca6.js";import{T as n,a,E as s}from"./shared-0237985c.js";import"./shared-259870ee.js";import{O as r}from"./shared-9c36e563.js";import"./shared-b02a95f7.js";import"./shared-89ad4177.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-f03cfb48.js";import{I as l}from"./shared-94de5e51.js";import"./shared-c8af1e27.js";import{x as d}from"./shared-8368423a.js";import{c,h,r as m}from"./shared-ba5c42c7.js";import{_ as u}from"./shared-8f9014ff.js";import{i as p}from"./shared-53e42a77.js";import{c as _}from"./shared-4e709717.js";const f=t`<dom-module id="lumo-notification-card" theme-for="vaadin-notification-card">
1
+ import"./shared-b0db52f7.js";import{h as t,P as e}from"./shared-021fbb51.js";import{F as i,t as o}from"./shared-8dd6e5cc.js";import{T as n,a,E as s}from"./shared-9a291941.js";import"./shared-0ea24ca2.js";import{O as r}from"./shared-ad470adf.js";import"./shared-be071e3d.js";import"./shared-591ee1bf.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-26b55da2.js";import{I as l}from"./shared-9a454e09.js";import"./shared-4cc1fb20.js";import{x as d}from"./shared-328aa161.js";import{c,h,r as u}from"./shared-ba5c42c7.js";import{_ as m}from"./shared-8f9014ff.js";import{i as p}from"./shared-53e42a77.js";import{c as _}from"./shared-4e709717.js";const f=t`<dom-module id="lumo-notification-card" theme-for="vaadin-notification-card">
2
2
  <template>
3
3
  <style>
4
4
  :host {
@@ -277,4 +277,4 @@ class v extends(n(s(e))){static get template(){return t`
277
277
  </style>
278
278
  <vaadin-notification-card id="vaadin-notification-card" theme\$="[[theme]]">
279
279
  </vaadin-notification-card>
280
- `}static get is(){return"vaadin-notification"}static get version(){return"1.6.2"}static get properties(){return{duration:{type:Number,value:5e3},opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},position:{type:String,value:"bottom-start",observer:"_positionChanged"},renderer:Function,_notificationTemplate:Object}}static get observers(){return["_durationChanged(duration, opened)","_templateOrRendererChanged(_notificationTemplate, renderer, opened)"]}ready(){super.ready(),this._observer=new i(this,(t=>{this._setTemplateFromNodes(t.addedNodes)}))}_setTemplateFromNodes(t){this._notificationTemplate=t.filter((t=>t.localName&&"template"===t.localName))[0]||this._notificationTemplate}render(){"function"==typeof this.renderer&&this.renderer(this._card,this)}_removeNewRendererOrTemplate(t,e,i,o){t!==e?this._notificationTemplate=void 0:i!==o&&(this.renderer=void 0)}_templateOrRendererChanged(t,e,i){if(t&&e)throw this._removeNewRendererOrTemplate(t,this._oldTemplate,e,this._oldRenderer),new Error("You should only use either a renderer or a template for notification content");this._oldTemplate=t;const o=this._oldRenderer!==e;if(this._oldRenderer=e,e){if(this._card=this.$["vaadin-notification-card"],o)for(;this._card.firstChild;)this._card.removeChild(this._card.firstChild);i&&(this._didAnimateNotificationAppend||this._animatedAppendNotificationCard(),this.render())}}open(){this.opened=!0}close(){this.opened=!1}get _container(){return g._container||(g._container=document.createElement("vaadin-notification-container"),document.body.appendChild(g._container)),g._container}_openedChanged(t){t?(this._container.opened=!0,this._instance||this.renderer||this._ensureTemplatized(),this._animatedAppendNotificationCard(),setTimeout((()=>this._updateShadyButtonStyles()))):this._card&&this._closeNotificationCard()}_ensureTemplatized(){if(this._notificationTemplate=this.querySelector("template")||this._notificationTemplate,!this._notificationTemplate)return;this._notificationTemplate._Templatizer||(this._notificationTemplate._Templatizer=o(this._notificationTemplate,this,{forwardHostProp:function(t,e){this._instance&&this._instance.forwardHostProp(t,e)}})),this._instance=new this._notificationTemplate._Templatizer({});const t=this._notificationTemplate.getRootNode(),e=t!==document;if(this._card=this.$["vaadin-notification-card"],this._cardContent=this._card.shadowRoot.querySelector('[part~="content"]'),e){if(this._cardContent.shadowRoot||this._cardContent.attachShadow({mode:"open"}),window.ShadyCSS&&!window.ShadyCSS.nativeShadow){var i=t.host&&t.host.localName;i&&-1===i.indexOf("-")&&(i=t.host.getAttribute("is")),i&&this._cardContent.setAttribute("is",i)}else{const e=Array.from(t.querySelectorAll("style")).reduce(((t,e)=>t+e.textContent),"").replace(/:host/g,":host-nomatch");if(e){const t=document.createElement("style");t.textContent=e,this._cardContent.shadowRoot.appendChild(t)}}this._cardContent.shadowRoot.appendChild(this._instance.root)}else this._card.appendChild(this._instance.root);this._card.setAttribute("aria-label",this._card.textContent.trim())}_animatedAppendNotificationCard(){if(this._card){this._card.setAttribute("opening",""),this._appendNotificationCard();const t=()=>{this._card.removeEventListener("animationend",t),this._card.removeAttribute("opening")};this._card.addEventListener("animationend",t),this._didAnimateNotificationAppend=!0}else this._didAnimateNotificationAppend=!1}_appendNotificationCard(){this._card&&(this._container.shadowRoot.querySelector(`slot[name="${this.position}"]`)?(this._card.slot=this.position,this._container.firstElementChild&&/top/.test(this.position)?this._container.insertBefore(this._card,this._container.firstElementChild):this._container.appendChild(this._card)):window.console.warn(`Invalid alignment parameter provided: position=${this.position}`))}_removeNotificationCard(){this._card.parentNode&&this._card.parentNode.removeChild(this._card),this._card.removeAttribute("closing"),this._container.opened=Boolean(this._container.firstElementChild)}_closeNotificationCard(){this._durationTimeoutId&&clearTimeout(this._durationTimeoutId),this._animatedRemoveNotificationCard()}_animatedRemoveNotificationCard(){this._card.setAttribute("closing","");const t=getComputedStyle(this._card).getPropertyValue("animation-name");if(t&&"none"!=t){const t=()=>{this._removeNotificationCard(),this._card.removeEventListener("animationend",t)};this._card.addEventListener("animationend",t)}else this._removeNotificationCard()}_positionChanged(t){this.opened&&this._animatedAppendNotificationCard()}_durationChanged(t,e){e&&(clearTimeout(this._durationTimeoutId),t>0&&(this._durationTimeoutId=setTimeout((()=>this.close()),t)))}_updateShadyButtonStyles(){window.ShadyCSS&&!this.__buttonStylesPending&&(customElements.whenDefined("vaadin-button").then((()=>{Array.from(this._card.querySelectorAll("*")).filter((t=>t instanceof customElements.get("vaadin-button"))).forEach((t=>{const e=["--_lumo-button-color","--_lumo-button-background-color","--_lumo-button-primary-color","--_lumo-button-primary-background-color"].reduce(((t,e)=>{const i=window.ShadyCSS.getComputedStyleValue(this._card,e);return i&&(t[e]=i),t}),{});t.updateStyles(e)})),this.__buttonStylesPending=!1})),this.__buttonStylesPending=!0)}}customElements.define(v.is,v),customElements.define(y.is,y),customElements.define(g.is,g);let b;d("vaadin-checkbox",c(b||(b=(t=>t)`:host([data-async-list-control]) label{display:flex}:host([data-async-list-control]) [part=label]{width:100%;margin:0!important}`)));let x,$=t=>t;const C=t=>class e extends t{static get properties(){return{positionTarget:{type:Object,value:null},horizontalAlign:{type:String,value:"start"},verticalAlign:{type:String,value:"top"},noHorizontalOverlap:{type:Boolean,value:!1},noVerticalOverlap:{type:Boolean,value:!1}}}static get observers(){return["__positionSettingsChanged(positionTarget, horizontalAlign, verticalAlign,\n noHorizontalOverlap, noVerticalOverlap)"]}constructor(){super();const t=this._updatePosition.bind(this);this.addEventListener("opened-changed",(e=>{const i=e.detail.value?"addEventListener":"removeEventListener";window[i]("scroll",t),window[i]("resize",t),e.detail.value&&this._updatePosition()}))}ready(){super.ready(),console.warn("PositionMixin is not considered stable and might change any time")}__positionSettingsChanged(){this._updatePosition()}_updatePosition(){if(!this.positionTarget)return;const t=getComputedStyle(this);this.__margins||(this.__margins={},["top","bottom","left","right"].forEach((e=>{this.__margins[e]=parseInt(t[e],10)})));const e="rtl"===t.direction,i=this.positionTarget.getBoundingClientRect(),o=this.__calculateHorizontalPosition(i,e),n=this.__calculateVerticalPosition(i),a=Object.assign({},o,n);this.__doSetPosition(a,e)}__calculateHorizontalPosition(t,i){const o=Math.max(this.__oldContentWidth||0,this.$.overlay.offsetWidth);this.__oldContentWidth=this.$.overlay.offsetWidth;const n=Math.min(window.innerWidth,document.documentElement.clientWidth),a=!i&&"start"===this.horizontalAlign||i&&"end"===this.horizontalAlign,s=!!this.style.left;return e.__calculatePositionInOneDimension(t,o,n,this.__margins,a,s,this.noHorizontalOverlap,{start:"left",end:"right"})}__calculateVerticalPosition(t){const i=Math.max(this.__oldContentHeight||0,this.$.overlay.offsetHeight);this.__oldContentHeight=this.$.overlay.offsetHeight;const o=Math.min(window.innerHeight,document.documentElement.clientHeight),n="top"===this.verticalAlign,a=!!this.style.top;return e.__calculatePositionInOneDimension(t,i,o,this.__margins,n,a,this.noVerticalOverlap,{start:"top",end:"bottom"})}static __calculatePositionInOneDimension(t,e,i,o,n,a,s,r){const l=i-t[s?r.end:r.start]-o[r.end],d=t[s?r.start:r.end]-o[r.start],c=n?l:d,h=n===(c>(n?d:l)||c>e),m=h?r.start:r.end,u=h?r.end:r.start,p=(h?t[s?r.end:r.start]:i-t[s?r.start:r.end])+"px",_={};return _[m]=p,_[u]="",_}__doSetPosition(t,e){Object.assign(this.style,t);const i=!e&&t.left||e&&t.right;this.style.alignItems=i?"flex-start":"flex-end",this.style.justifyContent=t.top?"flex-start":"flex-end"}};class w extends(C(r)){constructor(){super(...arguments),this.renderer=(t,e,i)=>{var o;const n=null!==(o=t.firstElementChild)&&void 0!==o?o:document.createElement("div");t.firstElementChild||t.appendChild(n);const a=i,s=h(x||(x=$` <div style="display:grid;gap:var(--lumo-space-m);padding:var(--lumo-space-s);min-width:22rem;max-width:35rem"> <foxy-query-builder lang="${0}" ns="${0}" .options="${0}" .value="${0}"> </foxy-query-builder> <div style="display:flex;justify-content:space-between"> <vaadin-button theme="primary" style="margin:0" @click="${0}"> <foxy-i18n lang="${0}" ns="${0}" key="search"></foxy-i18n> </vaadin-button> <vaadin-button theme="secondary contrast" style="margin:0" @click="${0}"> <foxy-i18n lang="${0}" ns="${0}" key="clear"></foxy-i18n> </vaadin-button> </div> </div> `),a.lang,`${a.ns} query-builder`.trim(),a.options,a.value,(()=>{var t;const e=null!==(t=n.querySelector("foxy-query-builder").value)&&void 0!==t?t:"";this.dispatchEvent(new CustomEvent("search",{detail:e}))}),a.lang,a.ns,(()=>this.dispatchEvent(new CustomEvent("search"))),a.lang,a.ns);m(s,n)}}static get is(){return"foxy-internal-async-list-control-filter-overlay"}}let k,S,E,T,P,A,O,R,j,B,N,z,I,H,D,L,V,q,F,W,M,Y,U,J,G=t=>t;customElements.define("foxy-internal-async-list-control",class extends l{constructor(){super(...arguments),this.keepDialogOpenOnDelete=!1,this.keepDialogOpenOnPost=!1,this.createPageHref=null,this.bulkActions=[],this.related=[],this.layout=null,this.actions=[],this.filters=[],this.limit=20,this.first=null,this.form=null,this.formProps={},this.item=null,this.itemProps={},this.wide=!1,this.hideWhenEmpty=!1,this.open=!1,this.alert=!1,this.hideDeleteButton=!1,this.hideCreateButton=!1,this.getPageHref=null,this.filter=null,this.__deletionConfimationCallback=null,this.__cachedCardRenderer=null,this.__activeBulkAction=null,this.__isFilterVisible=!1,this.__notification=null,this.__isSelecting=!1,this.__totalItems=0,this.__selection=[],this.__itemRenderer=t=>{var e;const i=this.__cardRenderer(t),o=h(k||(k=G`<div class="bg-contrast-5">${0}</div>`),i);if(!t.data)return o;if(this.__isSelecting)return h(S||(S=G` <vaadin-checkbox class="${0}" style="padding-left:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" data-async-list-control ?disabled="${0}" ?checked="${0}" @change="${0}"> ${0} </vaadin-checkbox> `),_({"block w-full":!0,"bg-contrast-5":"details"===this.layout}),this.disabled||!!this.__activeBulkAction,this.__selection.find((e=>e._links.self.href===t.data._links.self.href)),(e=>{e.currentTarget.checked?this.__selection=[...this.__selection,t.data]:this.__selection=this.__selection.filter((e=>e._links.self.href!==t.data._links.self.href))}),this.__cardRenderer(t));if("string"!=typeof(null===(e=this.getPageHref)||void 0===e?void 0:e.call(this,t.href,t.data))&&!this.form)return o;const n=this.disabledSelector.matches("card",!0),a=this.__cardRenderer(t);let s;const r=_({"rounded-t":"details"!==this.layout&&!t.previous,"rounded-b":!t.next,"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block bg-contrast-5 transition-colors":!0,"hover-bg-contrast-10":!n});if(this.getPageHref)if(n)s=h(E||(E=G`<div class="${0}">${0}</div>`),r,a);else{const e=this.getPageHref(t.href,t.data);s=h(T||(T=G`<a class="${0}" href="${0}">${0}</a>`),r,e,a)}else{s=h(P||(P=G` <button ?disabled="${0}" class="${0}" @click="${0}">${0}</button> `),n,r,(e=>{const i=new CustomEvent("itemclick",{cancelable:!0,composed:!0,bubbles:!0,detail:t.href});if(this.dispatchEvent(i)){const i=e.currentTarget,o=this.__dialog;o.header="header_update",o.href=t.href,o.show(i)}}),a)}return this.hideDeleteButton&&!this.actions.length||this.readonly?s:h(A||(A=G` <foxy-swipe-actions class="block"> ${0} ${0} ${0} </foxy-swipe-actions> `),s,this.actions.map((e=>h(O||(O=G` <vaadin-button data-testclass="action" theme="${0}" class="h-full rounded-none relative" slot="action" ?disabled="${0}" @click="${0}"> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <div class="${0}"> <foxy-spinner layout="no-label" infer="spinner" state="${0}"> </foxy-spinner> </div> </vaadin-button> `),e.theme,this.disabled,(()=>e.onClick(t.data)),_({"transition-opacity":!0,"opacity-0":"idle"!==e.state}),e.text,_({"absolute inset-0 flex items-center justify-center transition-opacity":!0,"opacity-0":"idle"===e.state}),e.state))),this.hideDeleteButton?"":h(R||(R=G` <vaadin-button theme="primary error" class="h-full rounded-none" slot="action" @click="${0}"> <foxy-i18n infer="" key="delete_button_text"></foxy-i18n> </vaadin-button> `),(t=>{const e=t.currentTarget;this.renderRoot.querySelector("#confirm").show(e),this.__deletionConfimationCallback=()=>{const t=e.parentElement.firstElementChild.querySelector("[href]");null==t||t.delete(),this.__deletionConfimationCallback=null}})))}}static get properties(){return u(u({},super.properties),{},{keepDialogOpenOnDelete:{type:Boolean,attribute:"keep-dialog-open-on-delete"},keepDialogOpenOnPost:{type:Boolean,attribute:"keep-dialog-open-on-post"},hideDeleteButton:{type:Boolean,attribute:"hide-delete-button"},hideCreateButton:{type:Boolean,attribute:"hide-create-button"},createPageHref:{attribute:"create-page-href"},getPageHref:{attribute:!1},related:{type:Array},layout:{},first:{},limit:{type:Number},form:{},formProps:{type:Object,attribute:"form-props"},item:{},itemProps:{type:Object,attribute:"item-props"},wide:{type:Boolean},open:{type:Boolean},hideWhenEmpty:{type:Boolean,attribute:"hide-when-empty"},alert:{type:Boolean},actions:{attribute:!1},bulkActions:{attribute:!1},filters:{type:Array},filter:{},__selection:{attribute:!1},__totalItems:{attribute:!1},__isSelecting:{attribute:!1},__notification:{attribute:!1},__isFilterVisible:{attribute:!1},__activeBulkAction:{attribute:!1}})}render(){const t=this.hideWhenEmpty&&!this.__totalItems;return h(j||(j=G`<div class="${0}">${0}</div>`),_({hidden:t}),super.render())}renderControl(){var t,e;const i=this.__renderActions(),o=this.__renderContent();return h(B||(B=G` ${0} ${0} ${0} <div class="mt-s text-s leading-xs text-error" ?hidden="${0}"> ${0} </div> <vaadin-notification position="bottom-end" duration="3000" theme="${0}" .renderer="${0}"> </vaadin-notification> `),this.form&&!this.__isSelecting?h(N||(N=G` <foxy-form-dialog parent="${0}" infer="dialog" id="form" ?wide="${0}" ?alert="${0}" ?keep-open-on-post="${0}" ?keep-open-on-delete="${0}" .related="${0}" .props="${0}" .form="${0}"> </foxy-form-dialog> `),p(null!==(t=this.first)&&void 0!==t?t:void 0),this.wide,this.alert,this.keepDialogOpenOnPost,this.keepDialogOpenOnDelete,this.related,this.formProps,this.form):"",this.hideDeleteButton||this.readonly||this.__isSelecting?"":h(z||(z=G` <foxy-internal-confirm-dialog message="delete_message" confirm="delete_confirm" cancel="delete_cancel" header="delete_header" theme="error" infer="" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> `),(t=>{var e;t.detail.cancelled||null===(e=this.__deletionConfimationCallback)||void 0===e||e.call(this)})),"details"===this.layout?h(I||(I=G` <foxy-internal-summary-control layout="details" count="${0}" infer="" ?open="${0}" @toggle="${0}"> ${0} <div class="p-0 bg-transparent">${0}</div> </foxy-internal-summary-control> `),p(this.open?void 0:`${this.__totalItems}`),this.open,(t=>{const e=t.currentTarget;this.open=e.open,t.composed||t.bubbles||this.dispatchEvent(new CustomEvent("toggle"))}),i.length?h(H||(H=G` <div class="flex gap-s"> <foxy-i18n infer="" class="mr-auto text-tertiary" key="total_items" .options="${0}"> </foxy-i18n> ${0} </div> `),{count:this.__totalItems},i):"",o):h(D||(D=G` <div class="flex gap-s items-center justify-between font-medium"> <span class="text-body mr-auto text-l"> ${0} </span> ${0} </div> <div class="text-secondary text-s" ?hidden="${0}"> ${0} </div> ${0} `),this.label&&"label"!==this.label?this.label:"",i,!this.helperText||"helper_text"===this.helperText,this.helperText,o),!this._errorMessage||this.disabled||this.readonly||this.__isSelecting,this._errorMessage,p(null===(e=this.__notification)||void 0===e?void 0:e.theme),(t=>{var e,i;t.firstElementChild||(t.innerHTML="<span></span>");const o=null===(e=this.__notification)||void 0===e?void 0:e.theme,n=h(L||(L=G` <foxy-i18n style="color:var(--lumo-${0}-color)" lang="${0}" key="${0}" ns="${0} pagination"> </foxy-i18n> `),o?`${o}-contrast`:"body-text",this.lang,null===(i=this.__notification)||void 0===i?void 0:i.key,this.ns);m(n,t.firstElementChild)}))}get __cardRenderer(){var t;const e=this.item;return(null===(t=this.__cachedCardRenderer)||void 0===t?void 0:t.item)!==e&&(this.__cachedCardRenderer={item:e,render:"string"==typeof e?new Function("ctx",`return ctx.html\`\n <${e}\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 </${e}>\``):t=>h(V||(V=G` <div style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} </div> `),null==e?void 0:e(t))}),this.__cachedCardRenderer.render}get __dialog(){return this.renderRoot.querySelector("#form")}__renderActions(){var t,e=this;return[this.filters.length>0&&!this.__isSelecting?h(q||(q=G` <foxy-internal-async-list-control-filter-overlay .noVerticalOverlap="${0}" .positionTarget="${0}" .model="${0}" ?opened="${0}" @vaadin-overlay-close="${0}" @search="${0}"> </foxy-internal-async-list-control-filter-overlay> <vaadin-button theme="tertiary-inline contrast" id="filters" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="search_button_text"></foxy-i18n> ${0} </vaadin-button> `),!0,this.renderRoot.querySelector("#filters"),{options:this.filters,value:null!==(t=this.filter)&&void 0!==t?t:"",lang:this.lang,ns:this.ns},this.__isFilterVisible,(()=>this.__isFilterVisible=!1),(t=>{var e;this.filter=null!==(e=t.detail)&&void 0!==e?e:""}),this.disabled,(()=>this.__isFilterVisible=!this.__isFilterVisible),this.filter?h(F||(F=G`<span>(${0})</span>`),this.filter.split("&").length):""):"",this.bulkActions.length>0&&this.first?h(W||(W=G` ${0} <vaadin-button theme="tertiary-inline contrast" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="${0}"> </foxy-i18n> </vaadin-button> `),this.__selection.length>0?this.bulkActions.map((t=>{var i;const o=`${t.name}_bulk_action_notification`,n=`${t.name}_bulk_action_caption`,a=(null===(i=this.__activeBulkAction)||void 0===i?void 0:i.name)===t.name;return h(M||(M=G` <vaadin-button data-testclass="bulk-action" theme="tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="${0}_${0}" .options="${0}"> </foxy-i18n> </vaadin-button> `),this.disabled||!!this.__activeBulkAction,(async function(){var i;e.__activeBulkAction=t;try{await t.onClick(e.__selection),e.__selection=[],e.__isSelecting=!1,e.__notification={key:`${o}_done`,theme:"success"}}catch(t){e.__notification={key:`${o}_fail`,theme:"error"}}finally{e.__activeBulkAction=null,null===(i=e.renderRoot.querySelector("vaadin-notification"))||void 0===i||i.open()}}),n,a?"busy":"idle",{count:this.__selection.length})})):"",this.disabled||!!this.__activeBulkAction,(()=>{this.__isSelecting=!this.__isSelecting,this.__selection=[]}),this.__isSelecting?"cancel_button_text":"select_button_text"):"",!this.form&&!this.createPageHref||this.readonly||this.hideCreateButton||this.__isSelecting?"":this.createPageHref&&!this.disabled?h(Y||(Y=G` <a class="rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n class="transition-opacity group-hover-opacity-80" infer="" key="create_button_text"> </foxy-i18n> </a> `),this.createPageHref):h(U||(U=G` <vaadin-button theme="tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="create_button_text"></foxy-i18n> </vaadin-button> `),this.disabled,(t=>{t.preventDefault(),t.stopPropagation();const e=this.__dialog,i=t.currentTarget;e.header="header_create",e.href="",e.show(i)}))].filter((t=>!!t))}__renderContent(){var t,e;const i=this.helperText,o="details"===this.layout,n=this.label;let a;try{const i=new URL(null!==(t=this.first)&&void 0!==t?t:""),o=new URLSearchParams(null!==(e=this.filter)&&void 0!==e?e:"");i.searchParams.set("limit",String(this.limit)),o.forEach(((t,e)=>i.searchParams.set(e,t))),a=i.toString()}catch(t){a=void 0}return h(J||(J=G` <foxy-pagination first="${0}" infer="pagination" class="${0}"> <foxy-collection-page class="${0}" style="gap:1px" infer="card" .related="${0}" .props="${0}" .item="${0}" @update="${0}"> </foxy-collection-page> </foxy-pagination> `),p(a),_({hidden:o&&0===this.__totalItems}),_({"grid grid-cols-1 overflow-hidden":!0,rounded:!o,"mt-s":!o&&(!!n&&"label"!==n||!!i&&"helper_text"!==i)}),this.related,this.itemProps,this.__itemRenderer,(t=>{var e,i;const o=t.currentTarget;this.__totalItems=parseInt(null!==(i=null===(e=o.data)||void 0===e?void 0:e.total_items)&&void 0!==i?i:0)}))}}),customElements.define(w.is,w);
280
+ `}static get is(){return"vaadin-notification"}static get version(){return"1.6.2"}static get properties(){return{duration:{type:Number,value:5e3},opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},position:{type:String,value:"bottom-start",observer:"_positionChanged"},renderer:Function,_notificationTemplate:Object}}static get observers(){return["_durationChanged(duration, opened)","_templateOrRendererChanged(_notificationTemplate, renderer, opened)"]}ready(){super.ready(),this._observer=new i(this,(t=>{this._setTemplateFromNodes(t.addedNodes)}))}_setTemplateFromNodes(t){this._notificationTemplate=t.filter((t=>t.localName&&"template"===t.localName))[0]||this._notificationTemplate}render(){"function"==typeof this.renderer&&this.renderer(this._card,this)}_removeNewRendererOrTemplate(t,e,i,o){t!==e?this._notificationTemplate=void 0:i!==o&&(this.renderer=void 0)}_templateOrRendererChanged(t,e,i){if(t&&e)throw this._removeNewRendererOrTemplate(t,this._oldTemplate,e,this._oldRenderer),new Error("You should only use either a renderer or a template for notification content");this._oldTemplate=t;const o=this._oldRenderer!==e;if(this._oldRenderer=e,e){if(this._card=this.$["vaadin-notification-card"],o)for(;this._card.firstChild;)this._card.removeChild(this._card.firstChild);i&&(this._didAnimateNotificationAppend||this._animatedAppendNotificationCard(),this.render())}}open(){this.opened=!0}close(){this.opened=!1}get _container(){return g._container||(g._container=document.createElement("vaadin-notification-container"),document.body.appendChild(g._container)),g._container}_openedChanged(t){t?(this._container.opened=!0,this._instance||this.renderer||this._ensureTemplatized(),this._animatedAppendNotificationCard(),setTimeout((()=>this._updateShadyButtonStyles()))):this._card&&this._closeNotificationCard()}_ensureTemplatized(){if(this._notificationTemplate=this.querySelector("template")||this._notificationTemplate,!this._notificationTemplate)return;this._notificationTemplate._Templatizer||(this._notificationTemplate._Templatizer=o(this._notificationTemplate,this,{forwardHostProp:function(t,e){this._instance&&this._instance.forwardHostProp(t,e)}})),this._instance=new this._notificationTemplate._Templatizer({});const t=this._notificationTemplate.getRootNode(),e=t!==document;if(this._card=this.$["vaadin-notification-card"],this._cardContent=this._card.shadowRoot.querySelector('[part~="content"]'),e){if(this._cardContent.shadowRoot||this._cardContent.attachShadow({mode:"open"}),window.ShadyCSS&&!window.ShadyCSS.nativeShadow){var i=t.host&&t.host.localName;i&&-1===i.indexOf("-")&&(i=t.host.getAttribute("is")),i&&this._cardContent.setAttribute("is",i)}else{const e=Array.from(t.querySelectorAll("style")).reduce(((t,e)=>t+e.textContent),"").replace(/:host/g,":host-nomatch");if(e){const t=document.createElement("style");t.textContent=e,this._cardContent.shadowRoot.appendChild(t)}}this._cardContent.shadowRoot.appendChild(this._instance.root)}else this._card.appendChild(this._instance.root);this._card.setAttribute("aria-label",this._card.textContent.trim())}_animatedAppendNotificationCard(){if(this._card){this._card.setAttribute("opening",""),this._appendNotificationCard();const t=()=>{this._card.removeEventListener("animationend",t),this._card.removeAttribute("opening")};this._card.addEventListener("animationend",t),this._didAnimateNotificationAppend=!0}else this._didAnimateNotificationAppend=!1}_appendNotificationCard(){this._card&&(this._container.shadowRoot.querySelector(`slot[name="${this.position}"]`)?(this._card.slot=this.position,this._container.firstElementChild&&/top/.test(this.position)?this._container.insertBefore(this._card,this._container.firstElementChild):this._container.appendChild(this._card)):window.console.warn(`Invalid alignment parameter provided: position=${this.position}`))}_removeNotificationCard(){this._card.parentNode&&this._card.parentNode.removeChild(this._card),this._card.removeAttribute("closing"),this._container.opened=Boolean(this._container.firstElementChild)}_closeNotificationCard(){this._durationTimeoutId&&clearTimeout(this._durationTimeoutId),this._animatedRemoveNotificationCard()}_animatedRemoveNotificationCard(){this._card.setAttribute("closing","");const t=getComputedStyle(this._card).getPropertyValue("animation-name");if(t&&"none"!=t){const t=()=>{this._removeNotificationCard(),this._card.removeEventListener("animationend",t)};this._card.addEventListener("animationend",t)}else this._removeNotificationCard()}_positionChanged(t){this.opened&&this._animatedAppendNotificationCard()}_durationChanged(t,e){e&&(clearTimeout(this._durationTimeoutId),t>0&&(this._durationTimeoutId=setTimeout((()=>this.close()),t)))}_updateShadyButtonStyles(){window.ShadyCSS&&!this.__buttonStylesPending&&(customElements.whenDefined("vaadin-button").then((()=>{Array.from(this._card.querySelectorAll("*")).filter((t=>t instanceof customElements.get("vaadin-button"))).forEach((t=>{const e=["--_lumo-button-color","--_lumo-button-background-color","--_lumo-button-primary-color","--_lumo-button-primary-background-color"].reduce(((t,e)=>{const i=window.ShadyCSS.getComputedStyleValue(this._card,e);return i&&(t[e]=i),t}),{});t.updateStyles(e)})),this.__buttonStylesPending=!1})),this.__buttonStylesPending=!0)}}customElements.define(v.is,v),customElements.define(y.is,y),customElements.define(g.is,g);let b;d("vaadin-checkbox",c(b||(b=(t=>t)`:host([data-async-list-control]) label{display:flex}:host([data-async-list-control]) [part=label]{width:100%;margin:0!important}`)));let x,$=t=>t;const C=t=>class e extends t{static get properties(){return{positionTarget:{type:Object,value:null},horizontalAlign:{type:String,value:"start"},verticalAlign:{type:String,value:"top"},noHorizontalOverlap:{type:Boolean,value:!1},noVerticalOverlap:{type:Boolean,value:!1}}}static get observers(){return["__positionSettingsChanged(positionTarget, horizontalAlign, verticalAlign,\n noHorizontalOverlap, noVerticalOverlap)"]}constructor(){super();const t=this._updatePosition.bind(this);this.addEventListener("opened-changed",(e=>{const i=e.detail.value?"addEventListener":"removeEventListener";window[i]("scroll",t),window[i]("resize",t),e.detail.value&&this._updatePosition()}))}ready(){super.ready(),console.warn("PositionMixin is not considered stable and might change any time")}__positionSettingsChanged(){this._updatePosition()}_updatePosition(){if(!this.positionTarget)return;const t=getComputedStyle(this);this.__margins||(this.__margins={},["top","bottom","left","right"].forEach((e=>{this.__margins[e]=parseInt(t[e],10)})));const e="rtl"===t.direction,i=this.positionTarget.getBoundingClientRect(),o=this.__calculateHorizontalPosition(i,e),n=this.__calculateVerticalPosition(i),a=Object.assign({},o,n);this.__doSetPosition(a,e)}__calculateHorizontalPosition(t,i){const o=Math.max(this.__oldContentWidth||0,this.$.overlay.offsetWidth);this.__oldContentWidth=this.$.overlay.offsetWidth;const n=Math.min(window.innerWidth,document.documentElement.clientWidth),a=!i&&"start"===this.horizontalAlign||i&&"end"===this.horizontalAlign,s=!!this.style.left;return e.__calculatePositionInOneDimension(t,o,n,this.__margins,a,s,this.noHorizontalOverlap,{start:"left",end:"right"})}__calculateVerticalPosition(t){const i=Math.max(this.__oldContentHeight||0,this.$.overlay.offsetHeight);this.__oldContentHeight=this.$.overlay.offsetHeight;const o=Math.min(window.innerHeight,document.documentElement.clientHeight),n="top"===this.verticalAlign,a=!!this.style.top;return e.__calculatePositionInOneDimension(t,i,o,this.__margins,n,a,this.noVerticalOverlap,{start:"top",end:"bottom"})}static __calculatePositionInOneDimension(t,e,i,o,n,a,s,r){const l=i-t[s?r.end:r.start]-o[r.end],d=t[s?r.start:r.end]-o[r.start],c=n?l:d,h=n===(c>(n?d:l)||c>e),u=h?r.start:r.end,m=h?r.end:r.start,p=(h?t[s?r.end:r.start]:i-t[s?r.start:r.end])+"px",_={};return _[u]=p,_[m]="",_}__doSetPosition(t,e){Object.assign(this.style,t);const i=!e&&t.left||e&&t.right;this.style.alignItems=i?"flex-start":"flex-end",this.style.justifyContent=t.top?"flex-start":"flex-end"}};class w extends(C(r)){constructor(){super(...arguments),this.renderer=(t,e,i)=>{var o;const n=null!==(o=t.firstElementChild)&&void 0!==o?o:document.createElement("div");t.firstElementChild||t.appendChild(n);const a=i,s=h(x||(x=$` <div style="display:grid;gap:var(--lumo-space-m);padding:var(--lumo-space-s);min-width:22rem;max-width:35rem"> <foxy-query-builder lang="${0}" ns="${0}" .options="${0}" .value="${0}"> </foxy-query-builder> <div style="display:flex;justify-content:space-between"> <vaadin-button theme="primary" style="margin:0" @click="${0}"> <foxy-i18n lang="${0}" ns="${0}" key="search"></foxy-i18n> </vaadin-button> <vaadin-button theme="secondary contrast" style="margin:0" @click="${0}"> <foxy-i18n lang="${0}" ns="${0}" key="clear"></foxy-i18n> </vaadin-button> </div> </div> `),a.lang,`${a.ns} query-builder`.trim(),a.options,a.value,(()=>{var t;const e=null!==(t=n.querySelector("foxy-query-builder").value)&&void 0!==t?t:"";this.dispatchEvent(new CustomEvent("search",{detail:e}))}),a.lang,a.ns,(()=>this.dispatchEvent(new CustomEvent("search"))),a.lang,a.ns);u(s,n)}}static get is(){return"foxy-internal-async-list-control-filter-overlay"}}let k,S,E,P,T,A,O,R,j,B,N,z,I,H,D,L,V,q,F,W,M,Y,U,J,G=t=>t;customElements.define("foxy-internal-async-list-control",class extends l{constructor(){super(...arguments),this.keepDialogOpenOnDelete=!1,this.keepDialogOpenOnPost=!1,this.createPageHref=null,this.bulkActions=[],this.related=[],this.layout=null,this.actions=[],this.filters=[],this.limit=20,this.first=null,this.form=null,this.formProps={},this.item=null,this.itemProps={},this.wide=!1,this.hideWhenEmpty=!1,this.open=!1,this.alert=!1,this.hideDeleteButton=!1,this.hideCreateButton=!1,this.getPageHref=null,this.filter=null,this.extendFilter=null,this.__deletionConfimationCallback=null,this.__cachedCardRenderer=null,this.__activeBulkAction=null,this.__isFilterVisible=!1,this.__notification=null,this.__isSelecting=!1,this.__totalItems=0,this.__selection=[],this.__itemRenderer=t=>{var e;const i=this.__cardRenderer(t),o=h(k||(k=G`<div class="bg-contrast-5">${0}</div>`),i);if(!t.data)return o;if(this.__isSelecting)return h(S||(S=G` <vaadin-checkbox class="${0}" style="padding-left:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" data-async-list-control ?disabled="${0}" ?checked="${0}" @change="${0}"> ${0} </vaadin-checkbox> `),_({"block w-full":!0,"bg-contrast-5":"details"===this.layout}),this.disabled||!!this.__activeBulkAction,this.__selection.find((e=>e._links.self.href===t.data._links.self.href)),(e=>{e.currentTarget.checked?this.__selection=[...this.__selection,t.data]:this.__selection=this.__selection.filter((e=>e._links.self.href!==t.data._links.self.href))}),this.__cardRenderer(t));if("string"!=typeof(null===(e=this.getPageHref)||void 0===e?void 0:e.call(this,t.href,t.data))&&!this.form)return o;const n=this.disabledSelector.matches("card",!0),a=this.__cardRenderer(t);let s;const r=_({"rounded-t":"details"!==this.layout&&!t.previous,"rounded-b":!t.next,"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-left w-full block bg-contrast-5 transition-colors":!0,"hover-bg-contrast-10":!n});if(this.getPageHref)if(n)s=h(E||(E=G`<div class="${0}">${0}</div>`),r,a);else{const e=this.getPageHref(t.href,t.data);s=h(P||(P=G`<a class="${0}" href="${0}">${0}</a>`),r,e,a)}else{s=h(T||(T=G` <button ?disabled="${0}" class="${0}" @click="${0}">${0}</button> `),n,r,(e=>{const i=new CustomEvent("itemclick",{cancelable:!0,composed:!0,bubbles:!0,detail:t.href});if(this.dispatchEvent(i)){const i=e.currentTarget,o=this.__dialog;o.header="header_update",o.href=t.href,o.show(i)}}),a)}return this.hideDeleteButton&&!this.actions.length||this.readonly?s:h(A||(A=G` <foxy-swipe-actions class="block"> ${0} ${0} ${0} </foxy-swipe-actions> `),s,this.actions.map((e=>h(O||(O=G` <vaadin-button data-testclass="action" theme="${0}" class="h-full rounded-none relative" slot="action" ?disabled="${0}" @click="${0}"> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <div class="${0}"> <foxy-spinner layout="no-label" infer="spinner" state="${0}"> </foxy-spinner> </div> </vaadin-button> `),e.theme,this.disabled,(()=>e.onClick(t.data)),_({"transition-opacity":!0,"opacity-0":"idle"!==e.state}),e.text,_({"absolute inset-0 flex items-center justify-center transition-opacity":!0,"opacity-0":"idle"===e.state}),e.state))),this.hideDeleteButton?"":h(R||(R=G` <vaadin-button theme="primary error" class="h-full rounded-none" slot="action" @click="${0}"> <foxy-i18n infer="" key="delete_button_text"></foxy-i18n> </vaadin-button> `),(t=>{const e=t.currentTarget;this.renderRoot.querySelector("#confirm").show(e),this.__deletionConfimationCallback=()=>{const t=e.parentElement.firstElementChild.querySelector("[href]");null==t||t.delete(),this.__deletionConfimationCallback=null}})))}}static get properties(){return m(m({},super.properties),{},{keepDialogOpenOnDelete:{type:Boolean,attribute:"keep-dialog-open-on-delete"},keepDialogOpenOnPost:{type:Boolean,attribute:"keep-dialog-open-on-post"},hideDeleteButton:{type:Boolean,attribute:"hide-delete-button"},hideCreateButton:{type:Boolean,attribute:"hide-create-button"},createPageHref:{attribute:"create-page-href"},getPageHref:{attribute:!1},related:{type:Array},layout:{},first:{},limit:{type:Number},form:{},formProps:{type:Object,attribute:"form-props"},item:{},itemProps:{type:Object,attribute:"item-props"},wide:{type:Boolean},open:{type:Boolean},hideWhenEmpty:{type:Boolean,attribute:"hide-when-empty"},alert:{type:Boolean},actions:{attribute:!1},bulkActions:{attribute:!1},filters:{type:Array},filter:{},extendFilter:{type:Function,attribute:!1},__selection:{attribute:!1},__totalItems:{attribute:!1},__isSelecting:{attribute:!1},__notification:{attribute:!1},__isFilterVisible:{attribute:!1},__activeBulkAction:{attribute:!1}})}render(){const t=this.hideWhenEmpty&&!this.__totalItems;return h(j||(j=G`<div class="${0}">${0}</div>`),_({hidden:t}),super.render())}renderControl(){var t,e;const i=this.__renderActions(),o=this.__renderContent();return h(B||(B=G` ${0} ${0} ${0} <div class="mt-s text-s leading-xs text-error" ?hidden="${0}"> ${0} </div> <vaadin-notification position="bottom-end" duration="3000" theme="${0}" .renderer="${0}"> </vaadin-notification> `),this.form&&!this.__isSelecting?h(N||(N=G` <foxy-form-dialog parent="${0}" infer="dialog" id="form" ?wide="${0}" ?alert="${0}" ?keep-open-on-post="${0}" ?keep-open-on-delete="${0}" .related="${0}" .props="${0}" .form="${0}"> </foxy-form-dialog> `),p(null!==(t=this.first)&&void 0!==t?t:void 0),this.wide,this.alert,this.keepDialogOpenOnPost,this.keepDialogOpenOnDelete,this.related,this.formProps,this.form):"",this.hideDeleteButton||this.readonly||this.__isSelecting?"":h(z||(z=G` <foxy-internal-confirm-dialog message="delete_message" confirm="delete_confirm" cancel="delete_cancel" header="delete_header" theme="error" infer="" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> `),(t=>{var e;t.detail.cancelled||null===(e=this.__deletionConfimationCallback)||void 0===e||e.call(this)})),"details"===this.layout?h(I||(I=G` <foxy-internal-summary-control layout="details" count="${0}" infer="" ?open="${0}" @toggle="${0}"> ${0} <div class="p-0 bg-transparent">${0}</div> </foxy-internal-summary-control> `),p(this.open?void 0:`${this.__totalItems}`),this.open,(t=>{const e=t.currentTarget;this.open=e.open,t.composed||t.bubbles||this.dispatchEvent(new CustomEvent("toggle"))}),i.length?h(H||(H=G` <div class="flex gap-s"> <foxy-i18n infer="" class="mr-auto text-tertiary" key="total_items" .options="${0}"> </foxy-i18n> ${0} </div> `),{count:this.__totalItems},i):"",o):h(D||(D=G` <div class="flex gap-s items-center justify-between font-medium"> <span class="text-body mr-auto text-l"> ${0} </span> ${0} </div> <div class="text-secondary text-s" ?hidden="${0}"> ${0} </div> ${0} `),this.label&&"label"!==this.label?this.label:"",i,!this.helperText||"helper_text"===this.helperText,this.helperText,o),!this._errorMessage||this.disabled||this.readonly||this.__isSelecting,this._errorMessage,p(null===(e=this.__notification)||void 0===e?void 0:e.theme),(t=>{var e,i;t.firstElementChild||(t.innerHTML="<span></span>");const o=null===(e=this.__notification)||void 0===e?void 0:e.theme,n=h(L||(L=G` <foxy-i18n style="color:var(--lumo-${0}-color)" lang="${0}" key="${0}" ns="${0} pagination"> </foxy-i18n> `),o?`${o}-contrast`:"body-text",this.lang,null===(i=this.__notification)||void 0===i?void 0:i.key,this.ns);u(n,t.firstElementChild)}))}get __cardRenderer(){var t;const e=this.item;return(null===(t=this.__cachedCardRenderer)||void 0===t?void 0:t.item)!==e&&(this.__cachedCardRenderer={item:e,render:"string"==typeof e?new Function("ctx",`return ctx.html\`\n <${e}\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 </${e}>\``):t=>h(V||(V=G` <div style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} </div> `),null==e?void 0:e(t))}),this.__cachedCardRenderer.render}get __dialog(){return this.renderRoot.querySelector("#form")}__renderActions(){var t,e=this;return[this.filters.length>0&&!this.__isSelecting?h(q||(q=G` <foxy-internal-async-list-control-filter-overlay .noVerticalOverlap="${0}" .positionTarget="${0}" .model="${0}" ?opened="${0}" @vaadin-overlay-close="${0}" @search="${0}"> </foxy-internal-async-list-control-filter-overlay> <vaadin-button theme="tertiary-inline contrast" id="filters" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="search_button_text"></foxy-i18n> ${0} </vaadin-button> `),!0,this.renderRoot.querySelector("#filters"),{options:this.filters,value:null!==(t=this.filter)&&void 0!==t?t:"",lang:this.lang,ns:this.ns},this.__isFilterVisible,(()=>this.__isFilterVisible=!1),(t=>{var e;this.filter=null!==(e=t.detail)&&void 0!==e?e:""}),this.disabled,(()=>this.__isFilterVisible=!this.__isFilterVisible),this.filter?h(F||(F=G`<span>(${0})</span>`),this.filter.split("&").length):""):"",this.bulkActions.length>0&&this.first?h(W||(W=G` ${0} <vaadin-button theme="tertiary-inline contrast" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="${0}"> </foxy-i18n> </vaadin-button> `),this.__selection.length>0?this.bulkActions.map((t=>{var i;const o=`${t.name}_bulk_action_notification`,n=`${t.name}_bulk_action_caption`,a=(null===(i=this.__activeBulkAction)||void 0===i?void 0:i.name)===t.name;return h(M||(M=G` <vaadin-button data-testclass="bulk-action" theme="tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="${0}_${0}" .options="${0}"> </foxy-i18n> </vaadin-button> `),this.disabled||!!this.__activeBulkAction,(async function(){var i;e.__activeBulkAction=t;try{await t.onClick(e.__selection),e.__selection=[],e.__isSelecting=!1,e.__notification={key:`${o}_done`,theme:"success"}}catch(t){e.__notification={key:`${o}_fail`,theme:"error"}}finally{e.__activeBulkAction=null,null===(i=e.renderRoot.querySelector("vaadin-notification"))||void 0===i||i.open()}}),n,a?"busy":"idle",{count:this.__selection.length})})):"",this.disabled||!!this.__activeBulkAction,(()=>{this.__isSelecting=!this.__isSelecting,this.__selection=[]}),this.__isSelecting?"cancel_button_text":"select_button_text"):"",!this.form&&!this.createPageHref||this.readonly||this.hideCreateButton||this.__isSelecting?"":this.createPageHref&&!this.disabled?h(Y||(Y=G` <a class="rounded-s text-primary group focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n class="transition-opacity group-hover-opacity-80" infer="" key="create_button_text"> </foxy-i18n> </a> `),this.createPageHref):h(U||(U=G` <vaadin-button theme="tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="pagination" key="create_button_text"></foxy-i18n> </vaadin-button> `),this.disabled,(t=>{t.preventDefault(),t.stopPropagation();const e=this.__dialog,i=t.currentTarget;e.header="header_create",e.href="",e.show(i)}))].filter((t=>!!t))}__renderContent(){var t,e,i;const o=this.helperText,n="details"===this.layout,a=this.label;let s;try{const o=new URL(null!==(t=this.first)&&void 0!==t?t:""),n=new URLSearchParams(null!==(e=this.filter)&&void 0!==e?e:"");o.searchParams.set("limit",String(this.limit)),n.forEach(((t,e)=>o.searchParams.set(e,t))),null===(i=this.extendFilter)||void 0===i||i.call(this,o.searchParams),s=o.toString()}catch(t){s=void 0}return h(J||(J=G` <foxy-pagination first="${0}" infer="pagination" class="${0}"> <foxy-collection-page class="${0}" style="gap:1px" infer="card" .related="${0}" .props="${0}" .item="${0}" @update="${0}"> </foxy-collection-page> </foxy-pagination> `),p(s),_({hidden:n&&0===this.__totalItems}),_({"grid grid-cols-1 overflow-hidden":!0,rounded:!n,"mt-s":!n&&(!!a&&"label"!==a||!!o&&"helper_text"!==o)}),this.related,this.itemProps,this.__itemRenderer,(t=>{var e,i;const o=t.currentTarget;this.__totalItems=parseInt(null!==(i=null===(e=o.data)||void 0===e?void 0:e.total_items)&&void 0!==i?i:0)}))}}),customElements.define(w.is,w);
@@ -1 +1 @@
1
- import{F as e,A as t,_ as n}from"./shared-8f9014ff.js";import{h as r,L as s}from"./shared-ba5c42c7.js";import{i,a}from"./shared-8368423a.js";import{I as o}from"./shared-930e68b7.js";const l={type:"backend",init:()=>{},read:(n,r,s)=>{const i=async e=>{const t=e.ok?null:new Error(await e.text()),n=!!e.ok&&await e.json();s(t,n)},a=e=>{const t=e instanceof Error?e:new Error(String(e));s(t,!1)},o=new e("fetch",{cancelable:!0,composed:!0,bubbles:!0,request:new t.WHATWGRequest(`foxy://i18n/${r}/${n}`),resolve:i,reject:a});dispatchEvent(o),o.defaultPrevented||fetch(o.request).then(i).catch(a)},create:()=>{throw new Error("foxy-i18n does not support resource creation")}};function c(e,t=!1){var n;const r=e.replace(/^\.?\d+/,""),s=e.substring(0,e.length-r.length);return{count:".5"===s?.5:parseInt(s),units:t&&null!==(n={y:"year",m:"month",w:"week",d:"day"}[r])&&void 0!==n?n:r}}const u={discount:({ns:e,type:t,details:n},r,s)=>{const i=t.endsWith("_percentage")?.01:1,a=n.split("|"),o=["allunits","incremental","repeat","single"].includes(a[0])?a.shift():"single",l=e.split(" "),c=l.shift(),u=[...l,`${o}_${t}_discount_summary`].join(".");return a.map((e=>{var t,n;const r=null!==(n=null===(t=/[-+]/.exec(e))||void 0===t?void 0:t.index)&&void 0!==n?n:-1,s=parseFloat(e.substring(r))*i,a=parseFloat(e.substring(0,r));return`$t(${u}, ${JSON.stringify({maximumFractionDigits:10,adjustment:s,from:a,ns:c})})`})).join("; ")},relative:(e,t,n)=>{const r=new Intl.RelativeTimeFormat(n);let{count:s,units:i}=c(e,!0);return.5===s&&"month"===i&&(s=2,i="week"),r.format(s,i)},percent:(e,t,r,s)=>{let i=null;try{"number"==typeof e&&(i=e.toLocaleString(r,n(n({},s),{},{style:"percent"})))}catch(e){console.warn(`i18next formatter error: ${e.message}`)}return i||String(e)},ordinal:(e,t,n,r)=>{var s,i;const a=new Intl.PluralRules(n,{type:"ordinal"}),o=null!==(i=null===(s=null==r?void 0:r.ns)||void 0===s?void 0:s.split(" "))&&void 0!==i?i:[];null==o||o.shift();return`${e}$t(${[...o,`ordinal_${a.select(e)}`].join(".")})`},price:(e,t,n,r)=>{var s;try{const[t,i]=e.split(" ");return parseFloat(t).toLocaleString(n,{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:null!==(s=null==r?void 0:r.currencyDisplay)&&void 0!==s?s:"symbol",signDisplay:null==r?void 0:r.signDisplay,style:"currency",currency:i})}catch(t){return e}},date:(e,t,n,r)=>{var s,i,a;if(!e)return"$t(unknown)";const o=new Date(e),l=null!==(s=null==r?void 0:r.month)&&void 0!==s?s:"long",c=null!==(i=null==r?void 0:r.year)&&void 0!==i?i:"numeric",u=null!==(a=null==r?void 0:r.day)&&void 0!==a?a:"numeric";return o.toLocaleDateString(n,{month:l,year:c,day:u})},time:(e,t,n)=>new Date(e).toLocaleTimeString(n,{hour:"numeric",minute:"numeric"})};let d,p=e=>e;class h extends(a(o(s),"")){constructor(){super(...arguments),this.options={},this.key=""}static onTranslationChange(e){const t=["initialized","loaded"],n=["removed","added"];return t.forEach((t=>h.i18next.on(t,e))),n.forEach((t=>h.i18next.store.on(t,e))),()=>{t.forEach((t=>h.i18next.off(t,e))),n.forEach((t=>h.i18next.store.off(t,e)))}}static onResourceFetch(t){const n=n=>{if(n instanceof e&&n.request.url.startsWith("foxy://i18n/")){const[e,r]=n.request.url.split("/").reverse();n.respondWith(t(r,e))}};return addEventListener("fetch",n),()=>removeEventListener("fetch",n)}static setGateways({values:e}){for(const t in e)this.i18next.addResource("en","gateways",`gateways.${t}`,e[t].name)}static get properties(){return n(n({},super.properties),{},{options:{type:Object},key:{type:String}})}connectedCallback(){super.connectedCallback(),this.__unsubscribe=h.onTranslationChange((()=>this.requestUpdate()))}render(){return r(d||(d=p`<span>${0}</span>`),this.t(this.key,n(n({},this.options),{},{lng:this.lang})))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.__unsubscribe)||void 0===e||e.call(this)}}h.FetchEvent=e,h.i18next=i.createInstance().use(l),h.i18next.init({interpolation:{format:(e,t="",n="en",r={})=>t.split(" ").filter((e=>!!e.trim())).reduce(((e,t)=>{var s,i;return null!==(i=null===(s=u[t])||void 0===s?void 0:s.call(u,e,t,n,r))&&void 0!==i?i:e}),e),escapeValue:!1},fallbackLng:"en",fallbackNS:"shared",defaultNS:"shared",ns:["shared"]}),customElements.define("foxy-i18n",h);export{h as I,c as p};
1
+ import{F as e,A as t,_ as n}from"./shared-8f9014ff.js";import{h as r,L as s}from"./shared-ba5c42c7.js";import{i,a}from"./shared-328aa161.js";import{I as o}from"./shared-930e68b7.js";const l={type:"backend",init:()=>{},read:(n,r,s)=>{const i=async e=>{const t=e.ok?null:new Error(await e.text()),n=!!e.ok&&await e.json();s(t,n)},a=e=>{const t=e instanceof Error?e:new Error(String(e));s(t,!1)},o=new e("fetch",{cancelable:!0,composed:!0,bubbles:!0,request:new t.WHATWGRequest(`foxy://i18n/${r}/${n}`),resolve:i,reject:a});dispatchEvent(o),o.defaultPrevented||fetch(o.request).then(i).catch(a)},create:()=>{throw new Error("foxy-i18n does not support resource creation")}};function c(e,t=!1){var n;const r=e.replace(/^\.?\d+/,""),s=e.substring(0,e.length-r.length);return{count:".5"===s?.5:parseInt(s),units:t&&null!==(n={y:"year",m:"month",w:"week",d:"day"}[r])&&void 0!==n?n:r}}const u={discount:({ns:e,type:t,details:n},r,s)=>{const i=t.endsWith("_percentage")?.01:1,a=n.split("|"),o=["allunits","incremental","repeat","single"].includes(a[0])?a.shift():"single",l=e.split(" "),c=l.shift(),u=[...l,`${o}_${t}_discount_summary`].join(".");return a.map((e=>{var t,n;const r=null!==(n=null===(t=/[-+]/.exec(e))||void 0===t?void 0:t.index)&&void 0!==n?n:-1,s=parseFloat(e.substring(r))*i,a=parseFloat(e.substring(0,r));return`$t(${u}, ${JSON.stringify({maximumFractionDigits:10,adjustment:s,from:a,ns:c})})`})).join("; ")},relative:(e,t,n)=>{const r=new Intl.RelativeTimeFormat(n);let{count:s,units:i}=c(e,!0);return.5===s&&"month"===i&&(s=2,i="week"),r.format(s,i)},percent:(e,t,r,s)=>{let i=null;try{"number"==typeof e&&(i=e.toLocaleString(r,n(n({},s),{},{style:"percent"})))}catch(e){console.warn(`i18next formatter error: ${e.message}`)}return i||String(e)},ordinal:(e,t,n,r)=>{var s,i;const a=new Intl.PluralRules(n,{type:"ordinal"}),o=null!==(i=null===(s=null==r?void 0:r.ns)||void 0===s?void 0:s.split(" "))&&void 0!==i?i:[];null==o||o.shift();return`${e}$t(${[...o,`ordinal_${a.select(e)}`].join(".")})`},price:(e,t,n,r)=>{var s;try{const[t,i]=e.split(" ");return parseFloat(t).toLocaleString(n,{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:null!==(s=null==r?void 0:r.currencyDisplay)&&void 0!==s?s:"symbol",signDisplay:null==r?void 0:r.signDisplay,style:"currency",currency:i})}catch(t){return e}},date:(e,t,n,r)=>{var s,i,a;if(!e)return"$t(unknown)";const o=new Date(e),l=null!==(s=null==r?void 0:r.month)&&void 0!==s?s:"long",c=null!==(i=null==r?void 0:r.year)&&void 0!==i?i:"numeric",u=null!==(a=null==r?void 0:r.day)&&void 0!==a?a:"numeric";return o.toLocaleDateString(n,{month:l,year:c,day:u})},time:(e,t,n)=>new Date(e).toLocaleTimeString(n,{hour:"numeric",minute:"numeric"})};let d,p=e=>e;class h extends(a(o(s),"")){constructor(){super(...arguments),this.options={},this.key=""}static onTranslationChange(e){const t=["initialized","loaded"],n=["removed","added"];return t.forEach((t=>h.i18next.on(t,e))),n.forEach((t=>h.i18next.store.on(t,e))),()=>{t.forEach((t=>h.i18next.off(t,e))),n.forEach((t=>h.i18next.store.off(t,e)))}}static onResourceFetch(t){const n=n=>{if(n instanceof e&&n.request.url.startsWith("foxy://i18n/")){const[e,r]=n.request.url.split("/").reverse();n.respondWith(t(r,e))}};return addEventListener("fetch",n),()=>removeEventListener("fetch",n)}static setGateways({values:e}){for(const t in e)this.i18next.addResource("en","gateways",`gateways.${t}`,e[t].name)}static get properties(){return n(n({},super.properties),{},{options:{type:Object},key:{type:String}})}connectedCallback(){super.connectedCallback(),this.__unsubscribe=h.onTranslationChange((()=>this.requestUpdate()))}render(){return r(d||(d=p`<span>${0}</span>`),this.t(this.key,n(n({},this.options),{},{lng:this.lang})))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.__unsubscribe)||void 0===e||e.call(this)}}h.FetchEvent=e,h.i18next=i.createInstance().use(l),h.i18next.init({interpolation:{format:(e,t="",n="en",r={})=>t.split(" ").filter((e=>!!e.trim())).reduce(((e,t)=>{var s,i;return null!==(i=null===(s=u[t])||void 0===s?void 0:s.call(u,e,t,n,r))&&void 0!==i?i:e}),e),escapeValue:!1},fallbackLng:"en",fallbackNS:"shared",defaultNS:"shared",ns:["shared"]}),customElements.define("foxy-i18n",h);export{h as I,c as p};
@@ -1,4 +1,4 @@
1
- import"./shared-84e81c06.js";import"./shared-3b627ac8.js";import{h as A}from"./shared-45ae3485.js";import{T as e}from"./shared-d8ec7f12.js";import{D as t}from"./shared-8368423a.js";const s=A`<dom-module id="lumo-password-field" theme-for="vaadin-password-field">
1
+ import"./shared-d48e260f.js";import"./shared-b0db52f7.js";import{h as A}from"./shared-021fbb51.js";import{T as e}from"./shared-910d49eb.js";import{D as t}from"./shared-328aa161.js";const s=A`<dom-module id="lumo-password-field" theme-for="vaadin-password-field">
2
2
  <template>
3
3
  <style>
4
4
  [part="reveal-button"]::before {