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

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 (211) 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 +2 -2
  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 +1 -1
  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-e5840ce4.js → shared-07268049.js} +1 -1
  124. package/dist/cdn/{shared-e0cbe22a.js → shared-097487d0.js} +1 -1
  125. package/dist/cdn/{shared-dc704329.js → shared-0a7a4660.js} +1 -1
  126. package/dist/cdn/{shared-259870ee.js → shared-0ea24ca2.js} +1 -1
  127. package/dist/cdn/{shared-e85918c4.js → shared-1301af85.js} +1 -1
  128. package/dist/cdn/{shared-fcadaa8c.js → shared-1492fa1c.js} +1 -1
  129. package/dist/cdn/{shared-22168ef7.js → shared-18e301f2.js} +1 -1
  130. package/dist/cdn/{shared-e7764ffb.js → shared-1da8110b.js} +1 -1
  131. package/dist/cdn/{shared-f03cfb48.js → shared-26b55da2.js} +1 -1
  132. package/dist/cdn/{shared-ae5aa93b.js → shared-31e75a4a.js} +1 -1
  133. package/dist/cdn/{shared-8368423a.js → shared-328aa161.js} +1 -1
  134. package/dist/cdn/{shared-09fb9d35.js → shared-334b7e24.js} +1 -1
  135. package/dist/cdn/{shared-e560a534.js → shared-3c0e3876.js} +3 -3
  136. package/dist/cdn/{shared-9b72bd4c.js → shared-3c53446d.js} +1 -1
  137. package/dist/cdn/{shared-83e3626b.js → shared-43fb8242.js} +1 -1
  138. package/dist/cdn/{shared-3d4b91bb.js → shared-47ce4456.js} +1 -1
  139. package/dist/cdn/{shared-590923e1.js → shared-490dadf8.js} +1 -1
  140. package/dist/cdn/{shared-d5de9c0a.js → shared-4bafbc5f.js} +1 -1
  141. package/dist/cdn/{shared-c8af1e27.js → shared-4cc1fb20.js} +1 -1
  142. package/dist/cdn/{shared-cd9560d6.js → shared-5078246e.js} +1 -1
  143. package/dist/cdn/shared-55fa26c2.js +1 -0
  144. package/dist/cdn/shared-56a16e03.js +1 -0
  145. package/dist/cdn/{shared-89ad4177.js → shared-591ee1bf.js} +1 -1
  146. package/dist/cdn/{shared-2a151df4.js → shared-5fbbaea2.js} +1 -1
  147. package/dist/cdn/{shared-1cbf191b.js → shared-67aeac0f.js} +1 -1
  148. package/dist/cdn/{shared-50b66625.js → shared-6880e1f6.js} +1 -1
  149. package/dist/cdn/{shared-e0e91ce2.js → shared-68c69a0f.js} +1 -1
  150. package/dist/cdn/shared-6e0eccb8.js +1 -0
  151. package/dist/cdn/{shared-ecc3441b.js → shared-759f65d8.js} +1 -1
  152. package/dist/cdn/{shared-40f265c5.js → shared-7a5d645f.js} +1 -1
  153. package/dist/cdn/{shared-fd0825a2.js → shared-7e1a3361.js} +1 -1
  154. package/dist/cdn/{shared-37b0c0af.js → shared-83613f15.js} +1 -1
  155. package/dist/cdn/{shared-b9d9e306.js → shared-8bf38c47.js} +1 -1
  156. package/dist/cdn/{shared-641c8ca6.js → shared-8dd6e5cc.js} +1 -1
  157. package/dist/cdn/{shared-5dcddb01.js → shared-8f61408a.js} +1 -1
  158. package/dist/cdn/{shared-d8ec7f12.js → shared-910d49eb.js} +1 -1
  159. package/dist/cdn/{shared-0237985c.js → shared-9a291941.js} +1 -1
  160. package/dist/cdn/{shared-94de5e51.js → shared-9a454e09.js} +1 -1
  161. package/dist/cdn/{shared-9ac59ac9.js → shared-a18827a4.js} +1 -1
  162. package/dist/cdn/{shared-0cbd8bf4.js → shared-a9a8eb7c.js} +1 -1
  163. package/dist/cdn/{shared-790ab66f.js → shared-aa258319.js} +1 -1
  164. package/dist/cdn/{shared-9c36e563.js → shared-ad470adf.js} +1 -1
  165. package/dist/cdn/{shared-ac3113ee.js → shared-add0286c.js} +1 -1
  166. package/dist/cdn/{shared-0b4fad42.js → shared-af688fe3.js} +1 -1
  167. package/dist/cdn/{shared-202cd296.js → shared-b0453b08.js} +1 -1
  168. package/dist/cdn/{shared-3b627ac8.js → shared-b0db52f7.js} +1 -1
  169. package/dist/cdn/{shared-eb7895bd.js → shared-ba43928a.js} +1 -1
  170. package/dist/cdn/{shared-4bd2abe4.js → shared-bc8a1435.js} +1 -1
  171. package/dist/cdn/{shared-b02a95f7.js → shared-be071e3d.js} +1 -1
  172. package/dist/cdn/{shared-f3a9ae84.js → shared-d01853e2.js} +1 -1
  173. package/dist/cdn/{shared-84e81c06.js → shared-d48e260f.js} +1 -1
  174. package/dist/cdn/{shared-def797b5.js → shared-d74aac59.js} +1 -1
  175. package/dist/cdn/{shared-f19f1940.js → shared-d9457718.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/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +2 -0
  186. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +11 -1
  187. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -1
  188. package/dist/elements/public/DownloadableForm/DownloadableForm.d.ts +0 -4
  189. package/dist/elements/public/DownloadableForm/DownloadableForm.js +20 -43
  190. package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
  191. package/dist/elements/public/DownloadableForm/index.d.ts +3 -2
  192. package/dist/elements/public/DownloadableForm/index.js +3 -2
  193. package/dist/elements/public/DownloadableForm/index.js.map +1 -1
  194. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/InternalDownloadableFormUploadControl.d.ts +1 -0
  195. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/InternalDownloadableFormUploadControl.js +22 -29
  196. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/InternalDownloadableFormUploadControl.js.map +1 -1
  197. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/style.js +6 -1
  198. package/dist/elements/public/DownloadableForm/internal/InternalDownloadableFormUploadControl/style.js.map +1 -1
  199. package/dist/mixins/themeable.js +0 -6
  200. package/dist/mixins/themeable.js.map +1 -1
  201. package/package.json +1 -1
  202. package/dist/cdn/shared-14350c09.js +0 -1
  203. package/dist/cdn/shared-30530592.js +0 -1
  204. package/dist/cdn/shared-aae01ac0.js +0 -1
  205. package/dist/cdn/shared-af78c7f0.js +0 -1
  206. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +0 -28
  207. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +0 -106
  208. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +0 -1
  209. package/dist/elements/internal/InternalAsyncComboBoxControl/index.d.ts +0 -4
  210. package/dist/elements/internal/InternalAsyncComboBoxControl/index.js +0 -6
  211. package/dist/elements/internal/InternalAsyncComboBoxControl/index.js.map +0 -1
@@ -1 +1 @@
1
- import"./shared-b02a95f7.js";import"./shared-aae01ac0.js";import"./shared-d5de9c0a.js";import{u as e}from"./shared-89ad4177.js";import"./shared-4bd2abe4.js";import"./shared-e85918c4.js";import"./shared-0cbd8bf4.js";import{I as t}from"./shared-6eb8aa92.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-f03cfb48.js";import"./shared-7cb579ca.js";import"./shared-f19f1940.js";import"./shared-f3a9ae84.js";import"./shared-cd9560d6.js";import{a as n}from"./shared-94de5e51.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-14350c09.js";import{I as r}from"./shared-ffd0589e.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-8f9014ff.js";import{a as l,R as d,w as u}from"./shared-8368423a.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-c84333db.js";import{c as h}from"./shared-4e709717.js";import"./shared-3b627ac8.js";import"./shared-45ae3485.js";import"./shared-0237985c.js";import"./foxy-form-dialog.js";import"./shared-c8af1e27.js";import"./shared-1cbf191b.js";import"./shared-69c98b7b.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-fd8b44e3.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-e7764ffb.js";import"./shared-22168ef7.js";import"./shared-641c8ca6.js";import"./shared-50b66625.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-9c36e563.js";import"./shared-2a151df4.js";import"./shared-84e81c06.js";import"./shared-e560a534.js";import"./shared-eb7895bd.js";import"./shared-d8ec7f12.js";import"./shared-e0cbe22a.js";import"./shared-5212ef4f.js";import"./shared-590923e1.js";import"./shared-202cd296.js";import"./shared-82e82763.js";import"./shared-790ab66f.js";import"./shared-def797b5.js";import"./shared-259870ee.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-b0e06a4b.js";import"./shared-37b0c0af.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}&ZeroWidthSpace;</span> <span class="text-secondary">${0}&ZeroWidthSpace;</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null,this.__nameSetValue=e=>{this.edit({name:e}),this.__isAlternative&&this.edit({value_configurable:!1,required:!1})}}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.__isAlternative&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=["timestamps",super.hiddenSelector.toString()];return this.form.value_configurable?e.unshift("price-group","weight-group","code-group","category-group"):e.unshift("basics-group:required"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name" .setValue="${0}" @keydown="${0}"> </foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control helper-text="${0}" infer="value-configurable" helper-text-as-tooltip> </foxy-internal-switch-control> <foxy-internal-switch-control infer="required" helper-text-as-tooltip> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> ${0} `),this.__nameSetValue,(e=>{var t;if(!["ArrowUp","ArrowDown"].includes(e.key))return;e.preventDefault();const n=this.existingOptions.map((e=>e.name)).filter(((e,t,n)=>n.indexOf(e)===t)),r=n.indexOf(null!==(t=this.form.name)&&void 0!==t?t:"");let i="ArrowUp"===e.key?r-1:r+1;i<0&&(i=n.length-1),i>=n.length&&(i=0);const o=n[i];o&&o!==this.form.name&&this.edit({name:o})}),this.form.value_configurable?"default-value":"value",c(this.__isAlternative?void 0:""),c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()),super.renderBody())}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}get __isAlternative(){const e=this.existingOptions.filter((e=>e.name===this.form.name));return this.href?e.length>1:e.length>0}});let x,v,$,w,E,S,j,k,C,L,N,M,R,O,A,T,q=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,d;const u=this.__resolvedItemCategory,m=null==u?void 0:u.item_delivery_type,f=this.nucleon,h=this.index,g=null===(e=null==f?void 0:f.form.items)||void 0===e?void 0:e[h];return i(x||(x=q` <div class="space-y-m"> <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control property="items.${0}.name" layout="summary-item" infer="name"> </foxy-internal-text-control> <foxy-internal-resource-picker-control property="items.${0}.item_category_uri" layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control property="items.${0}.price" layout="summary-item" suffix="${0}" infer="${0}"> </foxy-internal-number-control> <foxy-internal-switch-control property="items.${0}.price_configurable" layout="summary-item" infer="price-configurable"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control placeholder="${0}" property="items.${0}.code" layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-text-control property="items.${0}.parent_code" layout="summary-item" infer="parent-code"> </foxy-internal-text-control> </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="subscriptions-group"> <foxy-internal-switch-control property="items.${0}.sub_enabled" layout="summary-item" infer="sub-enabled"> </foxy-internal-switch-control> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="quantity-group" layout="details"> <foxy-internal-number-control property="items.${0}.quantity" layout="summary-item" infer="quantity" step="1" min="1"> </foxy-internal-number-control> ${0} <foxy-internal-switch-control property="items.${0}.hide_quantity" infer="hide-quantity"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="advanced-group" layout="details"> <foxy-internal-text-control property="items.${0}.discount_name" layout="summary-item" infer="discount-name"> </foxy-internal-text-control> ${0} <foxy-internal-text-control property="items.${0}.image" layout="summary-item" infer="image"> </foxy-internal-text-control> ${0} <foxy-internal-select-control property="items.${0}.expires_format" layout="summary-item" infer="expires-format" .options="${0}"> </foxy-internal-select-control> ${0} ${0} </foxy-internal-summary-control> <foxy-internal-async-list-control layout="details" first="foxy://${0}/form/items/${0}/custom_options" infer="custom-options" form="foxy-internal-experimental-add-to-cart-builder-custom-option-form" item="foxy-internal-experimental-add-to-cart-builder-custom-option-card" alert .formProps="${0}"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> </div> `),h,h,c(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),h,c(null!==(n=this.currencyCode)&&void 0!==n?n:void 0),(null==g?void 0:g.price_configurable)?"price-default":"price",h,this.t("code-group.code.placeholder_"+(this.useCartValidation?"required":"optional")),h,h,"notshipped"===m||"downloaded"===m?"":i(v||(v=q` <foxy-internal-summary-control infer="appearance-group"> <foxy-internal-number-control placeholder="${0}" property="items.${0}.weight" layout="summary-item" suffix="${0}" infer="weight" min="0"> </foxy-internal-number-control> </foxy-internal-summary-control> `),c(null==u?void 0:u.default_weight),h,c(null==u?void 0:u.default_weight_unit)),h,(null==g?void 0:g.sub_enabled)?i($||($=q` <foxy-internal-frequency-control property="items.${0}.sub_frequency" layout="summary-item" infer="sub-frequency" allow-twice-a-month> </foxy-internal-frequency-control> <foxy-internal-select-control property="items.${0}.sub_startdate_format" layout="summary-item" infer="sub-startdate-format" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-select-control property="items.${0}.sub_enddate_format" layout="summary-item" infer="sub-enddate-format" .options="${0}"> </foxy-internal-select-control> ${0} `),h,h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_dd",value:"dd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_startdate_format?i(w||(w=q` <foxy-internal-date-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_startdate_format?i(E||(E=q` <foxy-internal-frequency-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-duration"> </foxy-internal-frequency-control> `),h):"dd"===g.sub_startdate_format?i(S||(S=q` <foxy-internal-number-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-dd" step="1" min="1" max="31"> </foxy-internal-number-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_enddate_format?i(j||(j=q` <foxy-internal-date-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_enddate_format?i(k||(k=q` <foxy-internal-frequency-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-duration"> </foxy-internal-frequency-control> `),h):""):"",h,"minutes"===(null==g?void 0:g.expires_format)?"":i(C||(C=q` <foxy-internal-number-control property="items.${0}.quantity_min" layout="summary-item" infer="quantity-min" step="1" min="1"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.quantity_max" layout="summary-item" infer="quantity-max" step="1" min="1"> </foxy-internal-number-control> `),h,h),h,h,(null==g?void 0:g.discount_name)?i(L||(L=q` <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> `),{details:null!==(r=null==g?void 0:g.discount_details)&&void 0!==r?r:"",type:null!==(o=null==g?void 0:g.discount_type)&&void 0!==o?o:"amount_percentage",name:null!==(a=null==g?void 0:g.discount_name)&&void 0!==a?a:""},(e=>{this.__handleDiscountBuilderChange(e,g,h)})):"",h,(null==g?void 0:g.image)?i(N||(N=q` <foxy-internal-text-control property="items.${0}.url" layout="summary-item" infer="url"> </foxy-internal-text-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_minutes",value:"minutes"},{label:"option_timestamp",value:"timestamp"}],"minutes"===(null==g?void 0:g.expires_format)?i(M||(M=q` <foxy-internal-number-control property="items.${0}.expires_value" layout="summary-item" suffix="min" infer="expires-value-minutes"> </foxy-internal-number-control> `),h):"timestamp"===(null==g?void 0:g.expires_format)?i(R||(R=q` <foxy-internal-date-control property="items.${0}.expires_value" layout="summary-item" format="unix" infer="expires-value-timestamp"> </foxy-internal-date-control> `),h):"","notshipped"===m||"downloaded"===m?"":i(O||(O=q` <foxy-internal-number-control property="items.${0}.length" layout="summary-item" suffix="${0}" infer="length" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.width" layout="summary-item" suffix="${0}" infer="width" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.height" layout="summary-item" suffix="${0}" infer="height" min="0"> </foxy-internal-number-control> `),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==u?void 0:u.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(d=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==d?d:0)<=1?i(A||(A=q``)):i(T||(T=q` <vaadin-button theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="delete" key="caption"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>this.dispatchEvent(new CustomEvent("remove")))),c(null==g?void 0:g.item_category_uri),(()=>this.requestUpdate()))}get __resolvedItemCategory(){var e,t;return null!==(t=null===(e=this.__itemCategoryLoader)||void 0===e?void 0:e.data)&&void 0!==t?t:this.defaultItemCategory}get __itemCategoryLoader(){return this.renderRoot.querySelector("#itemCategoryLoader")}__handleDiscountBuilderChange(e,t,n){var r;const i=e.currentTarget,o=this.nucleon;t.discount_details=i.parsedValue.details,t.discount_type=i.parsedValue.type,t.discount_name=i.parsedValue.name;const a=null!==(r=null==o?void 0:o.form.items)&&void 0!==r?r:[];a.splice(n,1,t),null==o||o.edit({items:[...a]})}});function I(e){return e?"string"==typeof e?e:e.source:null}function H(e){return D("(?=",e,")")}function D(...e){return e.map((e=>I(e))).join("")}function P(...e){return"("+e.map((e=>I(e))).join("|")+")"}var U=function(e){const t=D(/[A-Z_]/,D("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,a,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[r,i,a,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D(/</,H(D(t,P(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,H(D(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};function B(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||B(n)})),e}var F=B,z=B;F.default=z;class V{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function W(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function Z(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const G=e=>!!e.kind;class K{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=W(e)}openNode(e){if(!G(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){G(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class X{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{X._collapse(e)})))}}class Y extends X{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new K(this,this.options).value()}finalize(){return!0}}function J(e){return e?"string"==typeof e?e:e.source:null}const Q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const ee="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ne="\\b\\d+(\\.\\d+)?",re="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",oe={begin:"\\\\[\\s\\S]",relevance:0},ae={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},se={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},le={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},de=function(e,t,n={}){const r=Z({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(le),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},ue=de("//","$"),ce=de("/\\*","\\*/"),me=de("#","$"),fe={className:"number",begin:ne,relevance:0},he={className:"number",begin:re,relevance:0},ge={className:"number",begin:ie,relevance:0},pe={className:"number",begin:ne+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ye={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]}]},_e={className:"title",begin:ee,relevance:0},be={className:"title",begin:te,relevance:0},xe={begin:"\\.\\s*"+te,relevance:0};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:ee,UNDERSCORE_IDENT_RE:te,NUMBER_RE:ne,C_NUMBER_RE:re,BINARY_NUMBER_RE:ie,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>J(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),Z({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:oe,APOS_STRING_MODE:ae,QUOTE_STRING_MODE:se,PHRASAL_WORDS_MODE:le,COMMENT:de,C_LINE_COMMENT_MODE:ue,C_BLOCK_COMMENT_MODE:ce,HASH_COMMENT_MODE:me,NUMBER_MODE:fe,C_NUMBER_MODE:he,BINARY_NUMBER_MODE:ge,CSS_NUMBER_MODE:pe,REGEXP_MODE:ye,TITLE_MODE:_e,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:xe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function $e(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function we(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Ee(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>J(e))).join("|")+")"}(...e.illegal))}function Se(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function je(e,t){void 0===e.relevance&&(e.relevance=1)}const ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ce="keyword";function Le(e,t,n=Ce){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach((function(n){Object.assign(r,Le(e[n],t,n))})),r;function i(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");r[n[0]]=[e,Ne(n[0],n[1])]}))}}function Ne(e,t){return t?Number(t):function(e){return ke.includes(e.toLowerCase())}(e)?0:1}function Me(e,{plugins:t}){function n(t,n){return new RegExp(J(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let r=J(e),i="";for(;r.length>0;){const e=Q.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Z(e.classNameAliases||{}),function t(r,o){const a=r;if(r.isCompiled)return a;[Se].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),r.__beforeBegin=null,[we,Ee,je].forEach((e=>e(r,o))),r.isCompiled=!0;let s=null;if("object"==typeof r.keywords&&(s=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=Le(r.keywords,e.case_insensitive)),r.lexemes&&s)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s=s||r.lexemes||/\w+/,a.keywordPatternRe=n(s,!0),o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(a.endRe=n(r.end)),a.terminatorEnd=J(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(a.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return Z(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(Re(e))return Z(e,{starts:e.starts?Z(e.starts):null});if(Object.isFrozen(e))return Z(e);return e}("self"===e?r:e)}))),r.contains.forEach((function(e){t(e,a)})),r.starts&&t(r.starts,o),a.matcher=function(e){const t=new i;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}function Re(e){return!!e&&(e.endsWithParent||Re(e.starts))}function Oe(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,W(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Ae={"after:highlightElement":({el:e,result:t,text:n})=>{const r=qe(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const o=[];function a(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function s(e){function t(e){return" "+e.nodeName+'="'+W(e.value)+'"'}i+="<"+Te(e)+[].map.call(e.attributes,t).join("")+">"}function l(e){i+="</"+Te(e)+">"}function d(e){("start"===e.event?s:l)(e.node)}for(;e.length||t.length;){let t=a();if(i+=W(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do{d(t.splice(0,1)[0]),t=a()}while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(s)}else"start"===t[0].event?o.push(t[0].node):o.pop(),d(t.splice(0,1)[0])}return i+W(n.substr(r))}(r,qe(i),n)}};function Te(e){return e.nodeName.toLowerCase()}function qe(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),Te(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const Ie={},He=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Pe=(e,t)=>{Ie[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ie[`${e}/${t}`]=!0)},Ue=W,Be=Z,Fe=Symbol("nomatch");var ze=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Y};function d(e){return l.noHighlightRe.test(e)}function u(e,t,n,r){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language,r=void 0):(Pe("10.7.0","highlight(lang, code, ...args) has been deprecated."),Pe("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t);const a={code:i,language:o};w("before:highlight",a);const s=a.result?a.result:c(a.language,a.code,n,r);return s.code=a.code,w("after:highlight",s),s}function c(e,n,o,s){function d(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){null!=E.subLanguage?function(){if(""===k)return;let e=null;if("string"==typeof E.subLanguage){if(!t[E.subLanguage])return void j.addText(k);e=c(E.subLanguage,k,!0,S[E.subLanguage]),S[E.subLanguage]=e.top}else e=m(k,E.subLanguage.length?E.subLanguage:null);E.relevance>0&&(C+=e.relevance),j.addSublanguage(e.emitter,e.language)}():function(){if(!E.keywords)return void j.addText(k);let e=0;E.keywordPatternRe.lastIndex=0;let t=E.keywordPatternRe.exec(k),n="";for(;t;){n+=k.substring(e,t.index);const r=d(E,t);if(r){const[e,i]=r;if(j.addText(n),n="",C+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=E.keywordPatternRe.lastIndex,t=E.keywordPatternRe.exec(k)}n+=k.substr(e),j.addText(n)}(),k=""}function f(e){return e.className&&j.openNode(v.classNameAliases[e.className]||e.className),E=Object.create(e,{parent:{value:E}}),E}function h(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new V(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return h(e.parent,t,n)}function g(e){return 0===E.matcher.regexIndex?(k+=e[0],1):(M=!0,0)}function p(e){const t=e[0],n=e.rule,r=new V(n),i=[n.__beforeBegin,n["on:begin"]];for(const n of i)if(n&&(n(e,r),r.isMatchIgnored))return g(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?k+=t:(n.excludeBegin&&(k+=t),u(),n.returnBegin||n.excludeBegin||(k=t)),f(n),n.returnBegin?0:t.length}function y(e){const t=e[0],r=n.substr(e.index),i=h(E,e,r);if(!i)return Fe;const o=E;o.skip?k+=t:(o.returnEnd||o.excludeEnd||(k+=t),u(),o.excludeEnd&&(k=t));do{E.className&&j.closeNode(),E.skip||E.subLanguage||(C+=E.relevance),E=E.parent}while(E!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}let _={};function b(t,r){const a=r&&r[0];if(k+=t,null==a)return u(),0;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){if(k+=n.slice(r.index,r.index+1),!i){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=r,"begin"===r.type)return p(r);if("illegal"===r.type&&!o){const e=new Error('Illegal lexeme "'+a+'" for mode "'+(E.className||"<unnamed>")+'"');throw e.mode=E,e}if("end"===r.type){const e=y(r);if(e!==Fe)return e}if("illegal"===r.type&&""===a)return 1;if(N>1e5&&N>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return k+=a,a.length}const v=x(e);if(!v)throw He(a.replace("{}",e)),new Error('Unknown language: "'+e+'"');const $=Me(v,{plugins:r});let w="",E=s||$;const S={},j=new l.__emitter(l);!function(){const e=[];for(let t=E;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>j.openNode(e)))}();let k="",C=0,L=0,N=0,M=!1;try{for(E.matcher.considerAll();;){N++,M?M=!1:E.matcher.considerAll(),E.matcher.lastIndex=L;const e=E.matcher.exec(n);if(!e)break;const t=b(n.substring(L,e.index),e);L=e.index+t}return b(n.substr(L)),j.closeAllNodes(),j.finalize(),w=j.toHTML(),{relevance:Math.floor(C),value:w,language:e,illegal:!1,emitter:j,top:E}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(L-100,L+100),mode:t.mode},sofar:w,relevance:0,value:Ue(n),emitter:j};if(i)return{illegal:!1,relevance:0,value:Ue(n),emitter:j,language:e,top:E,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:Ue(e),illegal:!1,top:s};return t.emitter.addText(e),t}(e),i=n.filter(x).filter($).map((t=>c(t,e,!1)));i.unshift(r);const o=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(x(e.language).supersetOf===t.language)return 1;if(x(t.language).supersetOf===e.language)return-1}return 0})),[a,d]=o,u=a;return u.second_best=d,u}const f={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},h=/^(<[^>]+>|\t)+/gm,g={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(h,(e=>e.replace(/\t/g,l.tabReplace))))}};function p(e){let t=null;const r=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=x(n[1]);return t||(De(a.replace("{}",n[1])),De("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>d(e)||x(e)))}(e);if(d(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?u(i,{language:r,ignoreIllegals:!0}):m(i);w("after:highlightElement",{el:e,result:o,text:i}),e.innerHTML=o.value,function(e,t,r){const i=t?n[t]:r;e.classList.add("hljs"),i&&e.classList.add(i)}(e,r,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const y=()=>{if(y.called)return;y.called=!0,Pe("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(p)};let _=!1;function b(){if("loading"===document.readyState)return void(_=!0);document.querySelectorAll("pre code").forEach(p)}function x(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function $(e){const t=x(e);return t&&!t.disableAutodetect}function w(e,t){const n=e;r.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){_&&b()}),!1),Object.assign(e,{highlight:u,highlightAuto:m,highlightAll:b,fixMarkup:function(e){return Pe("10.2.0","fixMarkup will be removed entirely in v11.0"),Pe("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function(e){return l.tabReplace||l.useBR?e.replace(o,(e=>"\n"===e?l.useBR?"<br>":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):e}(e)},highlightElement:p,highlightBlock:function(e){return Pe("10.7.0","highlightBlock will be removed entirely in v12.0"),Pe("10.7.0","Please use highlightElement now."),p(e)},configure:function(e){e.useBR&&(Pe("10.3.0","'useBR' will be removed entirely in v11.0"),Pe("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=Be(l,e)},initHighlighting:y,initHighlightingOnLoad:function(){Pe("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),_=!0},registerLanguage:function(n,r){let o=null;try{o=r(e)}catch(e){if(He("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;He(e),o=s}o.name||(o.name=n),t[n]=o,o.rawDefinition=r.bind(null,e),o.aliases&&v(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:x,registerAliases:v,requireLanguage:function(e){Pe("10.4.0","requireLanguage will be removed entirely in v11."),Pe("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=x(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:$,inherit:Be,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},vuePlugin:Oe(e).VuePlugin}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="10.7.3";for(const e in ve)"object"==typeof ve[e]&&F(ve[e]);return Object.assign(e,ve),e.addPlugin(f),e.addPlugin(Ae),e.addPlugin(g),e}({}),Ve=ze;let We,Ze,Ge,Ke,Xe,Ye,Je,Qe,et,tt,nt=e=>e;const rt=d(l(t,"experimental-add-to-cart-builder"));function it(e,t){if(t){if(f(e)!==e)throw new Error("error_html_entities_present");if(e.includes('"'))throw new Error("error_double_quotes_present")}return e.replace(/"/g,"&quot;")}Ve.registerLanguage("xml",U);class ot extends rt{constructor(){var e;super(...arguments),e=this,this.defaultDomain=null,this.encodeHelper=null,this.localeCodes=null,this.store=null,this.__signingSeparator=`--${Date.now()}${(1e5*Math.random()).toFixed(0)}--`,this.__emptyOptions=[{label:"option_false",value:"false"},{label:"option_true",value:"true"},{label:"option_reset",value:"reset"}],this.__cartOptions=[{label:"option_add",value:"add"},{label:"option_checkout",value:"checkout"},{label:"option_redirect",value:"redirect"}],this.__signAsync=u((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new ot.API(e).fetch(n,{headers:{"Content-Type":"text/plain"},method:"POST",body:t});if(!r())if(i.ok){const t=(await i.json()).result;r()||(e.__signingState="idle",e.__previousSignedCode=t.replace(/value="--OPEN--" data-replace/gi,"value"))}else e.__signingState="fail"}catch(t){r()||(e.__signingState="fail")}}),500),this.__previousUnsignedCode="",this.__previousSignedCode="",this.__signingState="idle",this.__openState=[]}static get properties(){return a(a({},super.properties),{},{defaultDomain:{attribute:"default-domain"},encodeHelper:{attribute:"encode-helper"},localeCodes:{attribute:"locale-codes"},store:{},__previousUnsignedCode:{attribute:!1},__previousSignedCode:{attribute:!1},__signingState:{attribute:!1},__openState:{attribute:!1}})}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("header:copy-id","header:copy-json","undo"),new s(e.join(" ").trim())}renderBody(){var t,n,r,a,s,l,d,u,m,f,g,p,y,_,b;const x=this.__getAddToCartCode(),v=null!==(r=null!==(n=null===(t=this.data)||void 0===t?void 0:t._links["fx:store"].href)&&void 0!==n?n:this.store)&&void 0!==r?r:void 0,$=null===(a=this.__storeLoader)||void 0===a?void 0:a.data,w=null!==(l=null===(s=x.formHTMLError)||void 0===s?void 0:s.split("_")[0])&&void 0!==l?l:"paused";return i(We||(We=nt` <div class="grid gap-m items-start sm-grid-cols-2 md-grid-cols-3 h-full overflow-auto"> <foxy-internal-summary-control layout="section" class="space-y-s" infer="items"> ${0} <vaadin-button class="w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="add-product" key="caption"></foxy-i18n> </vaadin-button> </foxy-internal-summary-control> <div class="space-y-m md-col-span-2 sticky top-0"> <foxy-internal-summary-control infer="preview"> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="link"> ${0} </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="cart-settings"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="template-set-uri" item="foxy-template-set-card"> </foxy-internal-resource-picker-control> <foxy-internal-select-control layout="summary-item" infer="empty" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control layout="summary-item" infer="cart" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-text-control layout="summary-item" infer="coupon"> </foxy-internal-text-control> </foxy-internal-summary-control> </div> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultTemplateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultItemCategoryLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="localeCodesHelperLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="templateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="storeLoaderId" @update="${0}"> </foxy-nucleon> ${0} `),null===(d=this.form.items)||void 0===d?void 0:d.map(((e,t)=>{var n;return i(Ze||(Ze=nt` <foxy-internal-summary-control layout="details" label="${0}" infer="item-group" ?open="${0}" @toggle="${0}"> <foxy-internal-experimental-add-to-cart-builder-item-control item-categories="${0}" currency-code="${0}" store="${0}" index="${0}" infer="item" ?use-cart-validation="${0}" .defaultItemCategory="${0}" @remove="${0}"> </foxy-internal-experimental-add-to-cart-builder-item-control> </foxy-internal-summary-control> `),c(e.name.trim()||void 0),c(this.__openState[t]),(e=>{const n=e.currentTarget;this.__openState[t]=n.open,this.__openState=[...this.__openState]}),c(null==$?void 0:$._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(v),t,c(null==$?void 0:$.use_cart_validation),this.__defaultItemCategory,(()=>{var e;const n=null===(e=this.form.items)||void 0===e?void 0:e.filter(((e,n)=>n!==t));this.edit({items:n}),this.__openState=this.__openState.filter(((e,n)=>n!==t))}))})),this.disabled,(()=>{var e;const t=null!==(e=this.form.items)&&void 0!==e?e:[];this.edit({items:[...t,{name:"",price:0,custom_options:[],sub_frequency:"1m"}]}),this.__openState=[...new Array(t.length).fill(!1),!0]}),x.formHTMLError?i(Ge||(Ge=nt` <div class="flex flex-col gap-xs items-center justify-center p-xl"> <foxy-spinner layout="no-label" infer="unavailable" state="${0}"> </foxy-spinner> <foxy-i18n class="${0} text-s" infer="unavailable" key="${0}"> </foxy-i18n> </div> `),w,"error"===w?"text-error":"text-tertiary",x.formHTMLError):i(Ke||(Ke=nt` <div class="flex"> <iframe srcdoc="${0}${0}" style="margin:calc(-1 * (.625em + (var(--lumo-border-radius)/ 4) - 1px))" class="${0}" @load="${0}"> </iframe> </div> <div class="flex leading-s text-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <div style="font-family:monospace;max-height:calc(8 * (1em * var(--lumo-line-height-s)))" class="${0}"> <code class="whitespace-pre">${0}</code> </div> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> <div class="flex items-start text-xs leading-xs text-secondary" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} <p> <foxy-i18n infer="" key="edits_tip"></foxy-i18n> <a target="_blank" class="rounded font-medium underline transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50" href="https://wiki.foxycart.com/v/2.0/products"> <foxy-i18n infer="" key="edits_docs"></foxy-i18n> </a> </p> </div> `),'\n <style>\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n -webkit-appearance: button;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n html {\n color-scheme: light dark !important;\n }\n\n body {\n display: flex;\n padding: 2rem;\n }\n\n form {\n flex: 1;\n max-width: 20rem;\n font: normal 0.875rem system-ui;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n align-items: center;\n margin: auto;\n }\n\n form:has(fieldset) {\n grid-gap: 1rem;\n }\n\n fieldset {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n grid-column: 1 / span 2;\n align-items: center;\n margin: 0;\n }\n\n legend {\n white-space: nowrap;\n }\n\n button {\n grid-column: 1 / span 2;\n margin-top: 0.5rem;\n }\n\n form:has(fieldset) button {\n margin-top: 0;\n }\n\n label {\n display: contents;\n }\n </style>\n',x.formHTML,h({"flex-1 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),(e=>{var t;const n=e.currentTarget,r=null===(t=n.contentWindow)||void 0===t?void 0:t.document.documentElement;r&&(n.style.height=r.scrollHeight+"px")}),h({"break-all overflow-auto flex-1 min-w-0 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),e(Ve.highlight(x.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),x.formHTML,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState}),o(Xe||(Xe=nt`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-contrast-70" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`))),x.linkHrefError?i(Ye||(Ye=nt` <p class="text-tertiary"> <foxy-i18n infer="unavailable" key="${0}"> </foxy-i18n> </p> `),x.linkHrefError):i(Je||(Je=nt` <div class="flex items-center leading-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n infer="" key="direct_link"></foxy-i18n> <a target="_blank" style="max-width:30rem" href="${0}" class="${0}"> ${0} </a> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" state="${0}" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> `),x.linkHref,h({"font-medium truncate ml-auto min-w-0 rounded-s":!0,"transition-all filter":!0,"hover-underline":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"blur-sm":"idle"!==this.__signingState}),x.linkHref,h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),"fail"===this.__signingState?"error":"busy",x.linkHref,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState})),this.renderTemplateOrSlot(),c(null===(m=null===(u=this.__storeLoader)||void 0===u?void 0:u.data)||void 0===m?void 0:m._links["fx:template_sets"].href),this.__emptyOptions,this.__cartOptions,"redirect"===this.form.cart?i(Qe||(Qe=nt` <foxy-internal-text-control layout="summary-item" infer="redirect"> </foxy-internal-text-control> `)):"",c(this.__defaultTemplateSetHref),(()=>this.requestUpdate()),c(this.__defaultItemCategoryHref),(()=>this.requestUpdate()),c(null!==(f=this.localeCodes)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(g=this.form.template_set_uri)&&void 0!==g?g:void 0),(()=>this.requestUpdate()),c(null!==(_=null!==(y=null===(p=this.data)||void 0===p?void 0:p._links["fx:store"].href)&&void 0!==y?y:this.store)&&void 0!==_?_:void 0),(()=>this.requestUpdate()),null===(b=this.form.items)||void 0===b?void 0:b.map(((e,t)=>{var n;return i(et||(et=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}" @update="${0}"> </foxy-nucleon> ${0} `),c(null!==(n=e.item_category_uri)&&void 0!==n?n:void 0),t,(()=>this.requestUpdate()),e.custom_options.map(((e,n)=>{var r;return i(tt||(tt=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}Option${0}" @update="${0}"> </foxy-nucleon> `),c(null!==(r=e.item_category_uri)&&void 0!==r?r:void 0),t,n,(()=>this.requestUpdate()))})))})))}updated(e){var t,n;super.updated(e),this.in("idle")&&!(null===(t=this.form.items)||void 0===t?void 0:t.length)&&(this.edit({items:[{name:"",price:0,sub_frequency:"1m",custom_options:[]}]}),this.__openState=[!0]),(null===(n=this.form.items)||void 0===n?void 0:n.length)&&!this.__openState.length&&(this.__openState=[!0,...new Array(this.form.items.length-1).fill(!1)])}submit(){}get __defaultTemplateSetHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __defaultItemCategoryHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:item_categories"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __resolvedCurrencyCode(){var e,t,n,r;const i=this.renderRoot.querySelector("#localeCodesHelperLoader"),o=null===(e=this.__resolvedTemplateSet)||void 0===e?void 0:e.locale_code,a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.values,s=o?null==a?void 0:a[o]:void 0;return s?null===(r=null===(n=/Currency: ([A-Z]{3})/g.exec(s))||void 0===n?void 0:n[1])||void 0===r?void 0:r.toUpperCase():void 0}get __resolvedTemplateSet(){var e,t,n,r;const i=e=>this.renderRoot.querySelector(e);return null!==(t=null===(e=i("#templateSetLoader"))||void 0===e?void 0:e.data)&&void 0!==t?t:null===(r=null===(n=i("#defaultTemplateSetLoader"))||void 0===n?void 0:n.data)||void 0===r?void 0:r._embedded["fx:template_sets"][0]}get __defaultItemCategory(){var e,t;return null===(t=null===(e=this.renderRoot.querySelector("#defaultItemCategoryLoader"))||void 0===e?void 0:e.data)||void 0===t?void 0:t._embedded["fx:item_categories"][0]}get __resolvedCartUrl(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(t){if(t.use_remote_domain)return`https://${t.store_domain}/cart`;if(null!==this.defaultDomain)return`https://${t.store_domain}.${this.defaultDomain}/cart`}return null}get __storeLoader(){return this.renderRoot.querySelector("#storeLoaderId")}__getItemCategoryLoader(e,t){const n=`#itemCategoryLoaderProduct${e}`,r="number"==typeof t?`${n}Option${t}`:n;return this.renderRoot.querySelector(r)}__getAddToCartFormHTML(){var e,t,n,r,i,o,a,s,l,d;const u=this.__resolvedCurrencyCode,c=this.__resolvedTemplateSet,f=this.__resolvedCartUrl,h=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&c&&h&&u&&f))throw new Error("loading_extra_data_needed");const g=h.use_cart_validation;let p=!1,y=`<form action="${it(f,g)}" method="post" target="_blank">`,_=1;const b=()=>`\n${" ".repeat(2*_)}`,x=(e,t)=>{const n=it(t,g),r=it(e,g);y+=`${b()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==c.code&&x("template_set",c.code),this.form.empty&&"false"!==this.form.empty&&x("empty",this.form.empty),"checkout"===this.form.cart&&x("cart","checkout"),this.form.redirect&&x("redirect",this.form.redirect),this.form.coupon&&x("coupon",this.form.coupon);const v=null!==(t=this.form.items)&&void 0!==t?t:[],$=v.length>1;for(let e=0;e<v.length;++e){const t=this.__getItemCategoryLoader(e),c=null==t?void 0:t.data,f=v[e];if(f.item_category_uri&&!c)throw new Error("loading_extra_data_needed");const w=Math.max(1,null!==(n=f.quantity_min)&&void 0!==n?n:1),E=Math.max(w,null!==(r=f.quantity_max)&&void 0!==r?r:1/0),S=w!==E&&"minutes"!==f.expires_format&&!f.hide_quantity,j=f.price_configurable,k=f.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),C=f.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),L=p||$&&(j||S||k);L&&(p=!0,y+=`${b()}<fieldset>`,_++,y+=`${b()}<legend>${m(C)}</legend>`);const N=0===e?"":`${e+1}:`;x(`${N}name`,C);const M=`${f.price}${u}`;if(f.price_configurable){const e=it(f.price.toFixed(2),g);y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(this.t("preview.price_label"))}</span>`,h.use_cart_validation?y+=`${b()}<input required name="${N}price" value="--OPEN--" data-replace="${e}">`:y+=`${b()}<input required name="${N}price" value="${e}">`,_--,y+=`${b()}</label>`}else x(`${N}price`,M);if(c&&"DEFAULT"!==c.code&&x(`${N}category`,c.code),f.code)x(`${N}code`,f.code);else if(h.use_cart_validation)throw new Error("paused_code_required");if(f.parent_code&&x(`${N}parent_code`,f.parent_code),f.image&&(x(`${N}image`,f.image),f.url&&x(`${N}url`,f.url)),f.sub_enabled&&f.sub_frequency){if(x(`${N}sub_frequency`,f.sub_frequency),f.sub_startdate)if("yyyymmdd"===f.sub_startdate_format){const e=new Date(f.sub_startdate);x(`${N}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else x(`${N}sub_startdate`,String(f.sub_startdate));if(f.sub_enddate)if("yyyymmdd"===f.sub_enddate_format){const e=new Date(f.sub_enddate);x(`${N}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else x(`${N}sub_enddate`,String(f.sub_enddate))}if(f.discount_name&&f.discount_type&&f.discount_details&&x(`${N}discount_${f.discount_type}`,`${f.discount_name}{${f.discount_details}}`),f.expires_value&&(f.expires_format,x(`${N}expires`,f.expires_value.toFixed(0))),S){y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(this.t("preview.quantity_label"))}</span>`;const e=it(`${N}quantity`,g);if(y+=`${b()}<input type="number" name="${e}"`,y+=` min="${it(String(w),g)}"`,E!==1/0&&(y+=` max="${it(String(E),g)}"`),h.use_cart_validation){const e=it(String(null!==(i=f.quantity)&&void 0!==i?i:1),g);y+=` value="--OPEN--" data-replace="${e}">`}else y+=` value="${it(String(null!==(o=f.quantity)&&void 0!==o?o:1),g)}">`;_--,y+=`${b()}</label>`}else(null!==(a=f.quantity)&&void 0!==a?a:1)>1&&x(`${N}quantity`,(null!==(s=f.quantity)&&void 0!==s?s:1).toString());"minutes"!==f.expires_format&&(1!==w&&x(`${N}quantity_min`,w.toFixed(0)),E!==1/0&&x(`${N}quantity_max`,E.toFixed(0))),f.length&&x(`${N}length`,f.length.toFixed(3)),f.width&&x(`${N}width`,f.width.toFixed(3)),f.height&&x(`${N}height`,f.height.toFixed(3)),f.weight&&x(`${N}weight`,f.weight.toFixed(3)),h.features_multiship&&(y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(this.t("preview.shipto_label"))}</span>`,h.use_cart_validation?y+=`${b()}<input name="${N}shipto" value="--OPEN--" data-replace="">`:y+=`${b()}<input name="${N}shipto" value="">`,_--,y+=`${b()}</label>`);const R=f.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in R){const n=R[t];if(1===n.length){const r=f.custom_options.indexOf(n[0]),i=null===(l=this.__getItemCategoryLoader(e,r))||void 0===l?void 0:l.data,o=this.__getOptionModifiers(n[0],null!=i?i:null,u),a=`${null!==(d=n[0].value)&&void 0!==d?d:""}${o}`,s=`${N}${t}`;n[0].value_configurable?(y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(t)}:</span>`,y+=`${b()}<input name="${it(s,g)}" `,h.use_cart_validation?y+=`value="--OPEN--" data-replace="${it(a,g)}"`:y+=`value="${it(a,g)}"`,n[0].required?y+=` placeholder="${m(this.t("preview.required"))}" required>`:y+=">",_--,y+=`${b()}</label>`):x(s,a)}else y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(t)}:</span>`,y+=`${b()}<select name="${N}${t}">`,_++,n.forEach((t=>{var n,r,i;const o=f.custom_options.indexOf(t),a=null===(n=this.__getItemCategoryLoader(e,o))||void 0===n?void 0:n.data,s=this.__getOptionModifiers(t,null!=a?a:null,u),l=it(`${null!==(r=t.value)&&void 0!==r?r:""}${s}`,g),d=m(null!==(i=t.value)&&void 0!==i?i:"");y+=`${b()}<option value="${l}">${d}</option>`})),_--,y+=`${b()}</select>`,_--,y+=`${b()}</label>`}L&&(_--,y+=`${b()}</fieldset>`)}const w="checkout"===this.form.cart?"checkout":"cart",E=m(this.t(`preview.submit_caption_${w}`));return y+=`${b()}<button type="submit">${E}</button>`,_--,y+=`${b()}</form>`,y}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,u=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&c&&l&&u))throw new Error("loading_extra_data_needed");const m=new Map,f=(e,t)=>{if(c.use_cart_validation){if(["&","%","=","#"].some((t=>e.includes(t))))throw new Error("error_special_characters_present");m.set(e,encodeURIComponent(t))}else m.set(encodeURIComponent(e),encodeURIComponent(t))};"DEFAULT"!==d.code&&f("template_set",d.code),"checkout"===this.form.cart&&f("cart","checkout"),this.form.redirect&&f("redirect",this.form.redirect),this.form.coupon&&f("coupon",this.form.coupon),this.form.empty&&"false"!==this.form.empty&&f("empty",this.form.empty);for(let e=0;e<(null!==(n=null===(t=this.form.items)||void 0===t?void 0:t.length)&&void 0!==n?n:0);++e){const t=this.form.items[e],n=0===e?"":`${e+1}:`,d=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!d)throw new Error("loading_extra_data_needed");if(t.price_configurable)throw new Error("error_price_configurable");if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)throw new Error("error_duplicate_custom_option_names");if(d&&"DEFAULT"!==d.code&&f(`${n}category`,d.code),f(`${n}name`,t.name),f(`${n}price`,`${t.price}${l}`),t.code)f(`${n}code`,t.code);else if(c.use_cart_validation)throw new Error("paused_code_required");if(t.parent_code&&f(`${n}parent_code`,t.parent_code),t.image&&(f(`${n}image`,t.image),t.url&&f(`${n}url`,t.url)),t.sub_enabled&&t.sub_frequency){if(f(`${n}sub_frequency`,t.sub_frequency),t.sub_startdate)if("yyyymmdd"===t.sub_startdate_format){const e=new Date(t.sub_startdate);f(`${n}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else f(`${n}sub_startdate`,String(t.sub_startdate));if(t.sub_enddate)if("yyyymmdd"===t.sub_enddate_format){const e=new Date(t.sub_enddate);f(`${n}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else f(`${n}sub_enddate`,String(t.sub_enddate))}t.discount_name&&t.discount_type&&t.discount_details&&f(`${n}discount_${t.discount_type}`,`${t.discount_name}{${t.discount_details}}`),t.expires_value&&(t.expires_format,f(`${n}expires`,t.expires_value.toFixed(0))),(null!==(i=t.quantity)&&void 0!==i?i:1)>1&&f(`${n}quantity`,(null!==(o=t.quantity)&&void 0!==o?o:1).toFixed(0)),"minutes"!==t.expires_format&&(t.quantity_min&&f(`${n}quantity_min`,t.quantity_min.toString()),t.quantity_max&&f(`${n}quantity_max`,t.quantity_max.toString())),t.weight&&f(`${n}weight`,t.weight.toFixed(3)),t.length&&f(`${n}length`,t.length.toFixed(3)),t.width&&f(`${n}width`,t.width.toFixed(3)),t.height&&f(`${n}height`,t.height.toFixed(3));for(let r=0;r<t.custom_options.length;++r){const i=t.custom_options[r];if(i.value_configurable)throw new Error("error_option_value_configurable");const o=null===(a=this.__getItemCategoryLoader(e,r))||void 0===a?void 0:a.data,d=this.__getOptionModifiers(i,null!=o?o:null,l);f(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${d}`)}}return`${u}?${Array.from(m.entries()).map((([e,t])=>`${e}=${t}`)).join("&")}`}__getAddToCartCode(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return{linkHref:"",linkHrefError:"loading_extra_data_needed",formHTML:"",formHTMLError:"loading_extra_data_needed"};const n=t.use_cart_validation;let r=null,i=null,o="",a="";try{o=this.__getAddToCartFormHTML()}catch(e){r=e.message}let s=o;try{if(a=this.__getAddToCartLinkHref(),a){const e=`<a href="${it(a,n)}">Add to cart</a>`;s=`${o}${this.__signingSeparator}${e}`}}catch(e){i=e.message,a=""}if(s===this.__previousUnsignedCode&&this.__previousSignedCode){const[e,t]=this.__previousSignedCode.split(this.__signingSeparator);return{linkHref:t?f(t.substring(9,t.length-17)):"",linkHrefError:i,formHTML:e,formHTMLError:r}}return this.__previousUnsignedCode=s,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(s,this.encodeHelper),{formHTML:o,formHTMLError:r,linkHref:a,linkHrefError:i}}__getOptionModifiers(e,t,n){if(e.value_configurable)return"";const r=[];if(e.price){const t=e.replace_price?":":-1===Math.sign(e.price)?"-":"+";(e.replace_price||0!==e.price)&&r.push(`p${t}${Math.abs(e.price)}${n}`)}if(e.weight){const t=e.replace_weight?":":-1===Math.sign(e.weight)?"-":"+";(e.replace_weight||0!==e.weight)&&r.push(`w${t}${Math.abs(e.weight)}`)}if(e.item_category_uri&&!t)return"";if(t&&r.push(`y:${t.code}`),e.code){const t=e.replace_code?":":"+";(e.replace_code||""!==e.code)&&r.push(`c${t}${e.code}`)}return r.length?`{${r.join("|")}}`:""}}customElements.define("foxy-experimental-add-to-cart-builder",ot);export{ot as ExperimentalAddToCartBuilder};
1
+ import"./shared-be071e3d.js";import"./shared-6e0eccb8.js";import"./shared-4bafbc5f.js";import{u as e}from"./shared-591ee1bf.js";import"./shared-bc8a1435.js";import"./shared-1301af85.js";import"./shared-a9a8eb7c.js";import{I as t}from"./shared-eadf0d23.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-26b55da2.js";import"./shared-f7965314.js";import"./shared-d9457718.js";import"./shared-d01853e2.js";import"./shared-5078246e.js";import{a as n}from"./shared-9a454e09.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-04277241.js";import{I as r}from"./shared-de4ec7bb.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-8f9014ff.js";import{a as l,R as d,w as u}from"./shared-328aa161.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-c84333db.js";import{c as h}from"./shared-4e709717.js";import"./shared-b0db52f7.js";import"./shared-021fbb51.js";import"./shared-9a291941.js";import"./foxy-form-dialog.js";import"./shared-4cc1fb20.js";import"./shared-67aeac0f.js";import"./shared-69c98b7b.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-fd8b44e3.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-1da8110b.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-6880e1f6.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-ad470adf.js";import"./shared-5fbbaea2.js";import"./shared-d48e260f.js";import"./shared-3c0e3876.js";import"./shared-ba43928a.js";import"./shared-910d49eb.js";import"./shared-097487d0.js";import"./shared-5212ef4f.js";import"./shared-490dadf8.js";import"./shared-b0453b08.js";import"./shared-f9bb0924.js";import"./shared-aa258319.js";import"./shared-d74aac59.js";import"./shared-0ea24ca2.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-fc6e64a4.js";import"./shared-83613f15.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}&ZeroWidthSpace;</span> <span class="text-secondary">${0}&ZeroWidthSpace;</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null,this.__nameSetValue=e=>{this.edit({name:e}),this.__isAlternative&&this.edit({value_configurable:!1,required:!1})}}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.__isAlternative&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=["timestamps",super.hiddenSelector.toString()];return this.form.value_configurable?e.unshift("price-group","weight-group","code-group","category-group"):e.unshift("basics-group:required"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name" .setValue="${0}" @keydown="${0}"> </foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control helper-text="${0}" infer="value-configurable" helper-text-as-tooltip> </foxy-internal-switch-control> <foxy-internal-switch-control infer="required" helper-text-as-tooltip> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> ${0} `),this.__nameSetValue,(e=>{var t;if(!["ArrowUp","ArrowDown"].includes(e.key))return;e.preventDefault();const n=this.existingOptions.map((e=>e.name)).filter(((e,t,n)=>n.indexOf(e)===t)),r=n.indexOf(null!==(t=this.form.name)&&void 0!==t?t:"");let i="ArrowUp"===e.key?r-1:r+1;i<0&&(i=n.length-1),i>=n.length&&(i=0);const o=n[i];o&&o!==this.form.name&&this.edit({name:o})}),this.form.value_configurable?"default-value":"value",c(this.__isAlternative?void 0:""),c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()),super.renderBody())}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}get __isAlternative(){const e=this.existingOptions.filter((e=>e.name===this.form.name));return this.href?e.length>1:e.length>0}});let x,v,$,w,E,S,j,k,C,L,N,M,R,O,A,T,q=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,d;const u=this.__resolvedItemCategory,m=null==u?void 0:u.item_delivery_type,f=this.nucleon,h=this.index,g=null===(e=null==f?void 0:f.form.items)||void 0===e?void 0:e[h];return i(x||(x=q` <div class="space-y-m"> <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control property="items.${0}.name" layout="summary-item" infer="name"> </foxy-internal-text-control> <foxy-internal-resource-picker-control property="items.${0}.item_category_uri" layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control property="items.${0}.price" layout="summary-item" suffix="${0}" infer="${0}"> </foxy-internal-number-control> <foxy-internal-switch-control property="items.${0}.price_configurable" layout="summary-item" infer="price-configurable"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control placeholder="${0}" property="items.${0}.code" layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-text-control property="items.${0}.parent_code" layout="summary-item" infer="parent-code"> </foxy-internal-text-control> </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="subscriptions-group"> <foxy-internal-switch-control property="items.${0}.sub_enabled" layout="summary-item" infer="sub-enabled"> </foxy-internal-switch-control> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="quantity-group" layout="details"> <foxy-internal-number-control property="items.${0}.quantity" layout="summary-item" infer="quantity" step="1" min="1"> </foxy-internal-number-control> ${0} <foxy-internal-switch-control property="items.${0}.hide_quantity" infer="hide-quantity"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="advanced-group" layout="details"> <foxy-internal-text-control property="items.${0}.discount_name" layout="summary-item" infer="discount-name"> </foxy-internal-text-control> ${0} <foxy-internal-text-control property="items.${0}.image" layout="summary-item" infer="image"> </foxy-internal-text-control> ${0} <foxy-internal-select-control property="items.${0}.expires_format" layout="summary-item" infer="expires-format" .options="${0}"> </foxy-internal-select-control> ${0} ${0} </foxy-internal-summary-control> <foxy-internal-async-list-control layout="details" first="foxy://${0}/form/items/${0}/custom_options" infer="custom-options" form="foxy-internal-experimental-add-to-cart-builder-custom-option-form" item="foxy-internal-experimental-add-to-cart-builder-custom-option-card" alert .formProps="${0}"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> </div> `),h,h,c(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),h,c(null!==(n=this.currencyCode)&&void 0!==n?n:void 0),(null==g?void 0:g.price_configurable)?"price-default":"price",h,this.t("code-group.code.placeholder_"+(this.useCartValidation?"required":"optional")),h,h,"notshipped"===m||"downloaded"===m?"":i(v||(v=q` <foxy-internal-summary-control infer="appearance-group"> <foxy-internal-number-control placeholder="${0}" property="items.${0}.weight" layout="summary-item" suffix="${0}" infer="weight" min="0"> </foxy-internal-number-control> </foxy-internal-summary-control> `),c(null==u?void 0:u.default_weight),h,c(null==u?void 0:u.default_weight_unit)),h,(null==g?void 0:g.sub_enabled)?i($||($=q` <foxy-internal-frequency-control property="items.${0}.sub_frequency" layout="summary-item" infer="sub-frequency" allow-twice-a-month> </foxy-internal-frequency-control> <foxy-internal-select-control property="items.${0}.sub_startdate_format" layout="summary-item" infer="sub-startdate-format" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-select-control property="items.${0}.sub_enddate_format" layout="summary-item" infer="sub-enddate-format" .options="${0}"> </foxy-internal-select-control> ${0} `),h,h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_dd",value:"dd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_startdate_format?i(w||(w=q` <foxy-internal-date-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_startdate_format?i(E||(E=q` <foxy-internal-frequency-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-duration"> </foxy-internal-frequency-control> `),h):"dd"===g.sub_startdate_format?i(S||(S=q` <foxy-internal-number-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-dd" step="1" min="1" max="31"> </foxy-internal-number-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_enddate_format?i(j||(j=q` <foxy-internal-date-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_enddate_format?i(k||(k=q` <foxy-internal-frequency-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-duration"> </foxy-internal-frequency-control> `),h):""):"",h,"minutes"===(null==g?void 0:g.expires_format)?"":i(C||(C=q` <foxy-internal-number-control property="items.${0}.quantity_min" layout="summary-item" infer="quantity-min" step="1" min="1"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.quantity_max" layout="summary-item" infer="quantity-max" step="1" min="1"> </foxy-internal-number-control> `),h,h),h,h,(null==g?void 0:g.discount_name)?i(L||(L=q` <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> `),{details:null!==(r=null==g?void 0:g.discount_details)&&void 0!==r?r:"",type:null!==(o=null==g?void 0:g.discount_type)&&void 0!==o?o:"amount_percentage",name:null!==(a=null==g?void 0:g.discount_name)&&void 0!==a?a:""},(e=>{this.__handleDiscountBuilderChange(e,g,h)})):"",h,(null==g?void 0:g.image)?i(N||(N=q` <foxy-internal-text-control property="items.${0}.url" layout="summary-item" infer="url"> </foxy-internal-text-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_minutes",value:"minutes"},{label:"option_timestamp",value:"timestamp"}],"minutes"===(null==g?void 0:g.expires_format)?i(M||(M=q` <foxy-internal-number-control property="items.${0}.expires_value" layout="summary-item" suffix="min" infer="expires-value-minutes"> </foxy-internal-number-control> `),h):"timestamp"===(null==g?void 0:g.expires_format)?i(R||(R=q` <foxy-internal-date-control property="items.${0}.expires_value" layout="summary-item" format="unix" infer="expires-value-timestamp"> </foxy-internal-date-control> `),h):"","notshipped"===m||"downloaded"===m?"":i(O||(O=q` <foxy-internal-number-control property="items.${0}.length" layout="summary-item" suffix="${0}" infer="length" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.width" layout="summary-item" suffix="${0}" infer="width" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.height" layout="summary-item" suffix="${0}" infer="height" min="0"> </foxy-internal-number-control> `),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==u?void 0:u.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(d=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==d?d:0)<=1?i(A||(A=q``)):i(T||(T=q` <vaadin-button theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="delete" key="caption"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>this.dispatchEvent(new CustomEvent("remove")))),c(null==g?void 0:g.item_category_uri),(()=>this.requestUpdate()))}get __resolvedItemCategory(){var e,t;return null!==(t=null===(e=this.__itemCategoryLoader)||void 0===e?void 0:e.data)&&void 0!==t?t:this.defaultItemCategory}get __itemCategoryLoader(){return this.renderRoot.querySelector("#itemCategoryLoader")}__handleDiscountBuilderChange(e,t,n){var r;const i=e.currentTarget,o=this.nucleon;t.discount_details=i.parsedValue.details,t.discount_type=i.parsedValue.type,t.discount_name=i.parsedValue.name;const a=null!==(r=null==o?void 0:o.form.items)&&void 0!==r?r:[];a.splice(n,1,t),null==o||o.edit({items:[...a]})}});function I(e){return e?"string"==typeof e?e:e.source:null}function H(e){return D("(?=",e,")")}function D(...e){return e.map((e=>I(e))).join("")}function P(...e){return"("+e.map((e=>I(e))).join("|")+")"}var U=function(e){const t=D(/[A-Z_]/,D("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,a,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[r,i,a,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D(/</,H(D(t,P(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,H(D(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};function B(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||B(n)})),e}var F=B,z=B;F.default=z;class V{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function W(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function Z(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const G=e=>!!e.kind;class K{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=W(e)}openNode(e){if(!G(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){G(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class X{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{X._collapse(e)})))}}class Y extends X{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new K(this,this.options).value()}finalize(){return!0}}function J(e){return e?"string"==typeof e?e:e.source:null}const Q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const ee="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ne="\\b\\d+(\\.\\d+)?",re="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",oe={begin:"\\\\[\\s\\S]",relevance:0},ae={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},se={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},le={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},de=function(e,t,n={}){const r=Z({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(le),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},ue=de("//","$"),ce=de("/\\*","\\*/"),me=de("#","$"),fe={className:"number",begin:ne,relevance:0},he={className:"number",begin:re,relevance:0},ge={className:"number",begin:ie,relevance:0},pe={className:"number",begin:ne+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ye={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]}]},_e={className:"title",begin:ee,relevance:0},be={className:"title",begin:te,relevance:0},xe={begin:"\\.\\s*"+te,relevance:0};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:ee,UNDERSCORE_IDENT_RE:te,NUMBER_RE:ne,C_NUMBER_RE:re,BINARY_NUMBER_RE:ie,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>J(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),Z({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:oe,APOS_STRING_MODE:ae,QUOTE_STRING_MODE:se,PHRASAL_WORDS_MODE:le,COMMENT:de,C_LINE_COMMENT_MODE:ue,C_BLOCK_COMMENT_MODE:ce,HASH_COMMENT_MODE:me,NUMBER_MODE:fe,C_NUMBER_MODE:he,BINARY_NUMBER_MODE:ge,CSS_NUMBER_MODE:pe,REGEXP_MODE:ye,TITLE_MODE:_e,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:xe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function $e(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function we(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Ee(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>J(e))).join("|")+")"}(...e.illegal))}function Se(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function je(e,t){void 0===e.relevance&&(e.relevance=1)}const ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ce="keyword";function Le(e,t,n=Ce){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach((function(n){Object.assign(r,Le(e[n],t,n))})),r;function i(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");r[n[0]]=[e,Ne(n[0],n[1])]}))}}function Ne(e,t){return t?Number(t):function(e){return ke.includes(e.toLowerCase())}(e)?0:1}function Me(e,{plugins:t}){function n(t,n){return new RegExp(J(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let r=J(e),i="";for(;r.length>0;){const e=Q.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Z(e.classNameAliases||{}),function t(r,o){const a=r;if(r.isCompiled)return a;[Se].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),r.__beforeBegin=null,[we,Ee,je].forEach((e=>e(r,o))),r.isCompiled=!0;let s=null;if("object"==typeof r.keywords&&(s=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=Le(r.keywords,e.case_insensitive)),r.lexemes&&s)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s=s||r.lexemes||/\w+/,a.keywordPatternRe=n(s,!0),o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(a.endRe=n(r.end)),a.terminatorEnd=J(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(a.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return Z(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(Re(e))return Z(e,{starts:e.starts?Z(e.starts):null});if(Object.isFrozen(e))return Z(e);return e}("self"===e?r:e)}))),r.contains.forEach((function(e){t(e,a)})),r.starts&&t(r.starts,o),a.matcher=function(e){const t=new i;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}function Re(e){return!!e&&(e.endsWithParent||Re(e.starts))}function Oe(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,W(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Ae={"after:highlightElement":({el:e,result:t,text:n})=>{const r=qe(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const o=[];function a(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function s(e){function t(e){return" "+e.nodeName+'="'+W(e.value)+'"'}i+="<"+Te(e)+[].map.call(e.attributes,t).join("")+">"}function l(e){i+="</"+Te(e)+">"}function d(e){("start"===e.event?s:l)(e.node)}for(;e.length||t.length;){let t=a();if(i+=W(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do{d(t.splice(0,1)[0]),t=a()}while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(s)}else"start"===t[0].event?o.push(t[0].node):o.pop(),d(t.splice(0,1)[0])}return i+W(n.substr(r))}(r,qe(i),n)}};function Te(e){return e.nodeName.toLowerCase()}function qe(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),Te(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const Ie={},He=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Pe=(e,t)=>{Ie[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ie[`${e}/${t}`]=!0)},Ue=W,Be=Z,Fe=Symbol("nomatch");var ze=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Y};function d(e){return l.noHighlightRe.test(e)}function u(e,t,n,r){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language,r=void 0):(Pe("10.7.0","highlight(lang, code, ...args) has been deprecated."),Pe("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t);const a={code:i,language:o};w("before:highlight",a);const s=a.result?a.result:c(a.language,a.code,n,r);return s.code=a.code,w("after:highlight",s),s}function c(e,n,o,s){function d(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){null!=E.subLanguage?function(){if(""===k)return;let e=null;if("string"==typeof E.subLanguage){if(!t[E.subLanguage])return void j.addText(k);e=c(E.subLanguage,k,!0,S[E.subLanguage]),S[E.subLanguage]=e.top}else e=m(k,E.subLanguage.length?E.subLanguage:null);E.relevance>0&&(C+=e.relevance),j.addSublanguage(e.emitter,e.language)}():function(){if(!E.keywords)return void j.addText(k);let e=0;E.keywordPatternRe.lastIndex=0;let t=E.keywordPatternRe.exec(k),n="";for(;t;){n+=k.substring(e,t.index);const r=d(E,t);if(r){const[e,i]=r;if(j.addText(n),n="",C+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=E.keywordPatternRe.lastIndex,t=E.keywordPatternRe.exec(k)}n+=k.substr(e),j.addText(n)}(),k=""}function f(e){return e.className&&j.openNode(v.classNameAliases[e.className]||e.className),E=Object.create(e,{parent:{value:E}}),E}function h(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new V(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return h(e.parent,t,n)}function g(e){return 0===E.matcher.regexIndex?(k+=e[0],1):(M=!0,0)}function p(e){const t=e[0],n=e.rule,r=new V(n),i=[n.__beforeBegin,n["on:begin"]];for(const n of i)if(n&&(n(e,r),r.isMatchIgnored))return g(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?k+=t:(n.excludeBegin&&(k+=t),u(),n.returnBegin||n.excludeBegin||(k=t)),f(n),n.returnBegin?0:t.length}function y(e){const t=e[0],r=n.substr(e.index),i=h(E,e,r);if(!i)return Fe;const o=E;o.skip?k+=t:(o.returnEnd||o.excludeEnd||(k+=t),u(),o.excludeEnd&&(k=t));do{E.className&&j.closeNode(),E.skip||E.subLanguage||(C+=E.relevance),E=E.parent}while(E!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}let _={};function b(t,r){const a=r&&r[0];if(k+=t,null==a)return u(),0;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){if(k+=n.slice(r.index,r.index+1),!i){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=r,"begin"===r.type)return p(r);if("illegal"===r.type&&!o){const e=new Error('Illegal lexeme "'+a+'" for mode "'+(E.className||"<unnamed>")+'"');throw e.mode=E,e}if("end"===r.type){const e=y(r);if(e!==Fe)return e}if("illegal"===r.type&&""===a)return 1;if(N>1e5&&N>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return k+=a,a.length}const v=x(e);if(!v)throw He(a.replace("{}",e)),new Error('Unknown language: "'+e+'"');const $=Me(v,{plugins:r});let w="",E=s||$;const S={},j=new l.__emitter(l);!function(){const e=[];for(let t=E;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>j.openNode(e)))}();let k="",C=0,L=0,N=0,M=!1;try{for(E.matcher.considerAll();;){N++,M?M=!1:E.matcher.considerAll(),E.matcher.lastIndex=L;const e=E.matcher.exec(n);if(!e)break;const t=b(n.substring(L,e.index),e);L=e.index+t}return b(n.substr(L)),j.closeAllNodes(),j.finalize(),w=j.toHTML(),{relevance:Math.floor(C),value:w,language:e,illegal:!1,emitter:j,top:E}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(L-100,L+100),mode:t.mode},sofar:w,relevance:0,value:Ue(n),emitter:j};if(i)return{illegal:!1,relevance:0,value:Ue(n),emitter:j,language:e,top:E,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:Ue(e),illegal:!1,top:s};return t.emitter.addText(e),t}(e),i=n.filter(x).filter($).map((t=>c(t,e,!1)));i.unshift(r);const o=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(x(e.language).supersetOf===t.language)return 1;if(x(t.language).supersetOf===e.language)return-1}return 0})),[a,d]=o,u=a;return u.second_best=d,u}const f={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},h=/^(<[^>]+>|\t)+/gm,g={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(h,(e=>e.replace(/\t/g,l.tabReplace))))}};function p(e){let t=null;const r=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=x(n[1]);return t||(De(a.replace("{}",n[1])),De("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>d(e)||x(e)))}(e);if(d(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?u(i,{language:r,ignoreIllegals:!0}):m(i);w("after:highlightElement",{el:e,result:o,text:i}),e.innerHTML=o.value,function(e,t,r){const i=t?n[t]:r;e.classList.add("hljs"),i&&e.classList.add(i)}(e,r,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const y=()=>{if(y.called)return;y.called=!0,Pe("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(p)};let _=!1;function b(){if("loading"===document.readyState)return void(_=!0);document.querySelectorAll("pre code").forEach(p)}function x(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function $(e){const t=x(e);return t&&!t.disableAutodetect}function w(e,t){const n=e;r.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){_&&b()}),!1),Object.assign(e,{highlight:u,highlightAuto:m,highlightAll:b,fixMarkup:function(e){return Pe("10.2.0","fixMarkup will be removed entirely in v11.0"),Pe("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function(e){return l.tabReplace||l.useBR?e.replace(o,(e=>"\n"===e?l.useBR?"<br>":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):e}(e)},highlightElement:p,highlightBlock:function(e){return Pe("10.7.0","highlightBlock will be removed entirely in v12.0"),Pe("10.7.0","Please use highlightElement now."),p(e)},configure:function(e){e.useBR&&(Pe("10.3.0","'useBR' will be removed entirely in v11.0"),Pe("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=Be(l,e)},initHighlighting:y,initHighlightingOnLoad:function(){Pe("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),_=!0},registerLanguage:function(n,r){let o=null;try{o=r(e)}catch(e){if(He("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;He(e),o=s}o.name||(o.name=n),t[n]=o,o.rawDefinition=r.bind(null,e),o.aliases&&v(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:x,registerAliases:v,requireLanguage:function(e){Pe("10.4.0","requireLanguage will be removed entirely in v11."),Pe("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=x(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:$,inherit:Be,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},vuePlugin:Oe(e).VuePlugin}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="10.7.3";for(const e in ve)"object"==typeof ve[e]&&F(ve[e]);return Object.assign(e,ve),e.addPlugin(f),e.addPlugin(Ae),e.addPlugin(g),e}({}),Ve=ze;let We,Ze,Ge,Ke,Xe,Ye,Je,Qe,et,tt,nt=e=>e;const rt=d(l(t,"experimental-add-to-cart-builder"));function it(e,t){if(t){if(f(e)!==e)throw new Error("error_html_entities_present");if(e.includes('"'))throw new Error("error_double_quotes_present")}return e.replace(/"/g,"&quot;")}Ve.registerLanguage("xml",U);class ot extends rt{constructor(){var e;super(...arguments),e=this,this.defaultDomain=null,this.encodeHelper=null,this.localeCodes=null,this.store=null,this.__signingSeparator=`--${Date.now()}${(1e5*Math.random()).toFixed(0)}--`,this.__emptyOptions=[{label:"option_false",value:"false"},{label:"option_true",value:"true"},{label:"option_reset",value:"reset"}],this.__cartOptions=[{label:"option_add",value:"add"},{label:"option_checkout",value:"checkout"},{label:"option_redirect",value:"redirect"}],this.__signAsync=u((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new ot.API(e).fetch(n,{headers:{"Content-Type":"text/plain"},method:"POST",body:t});if(!r())if(i.ok){const t=(await i.json()).result;r()||(e.__signingState="idle",e.__previousSignedCode=t.replace(/value="--OPEN--" data-replace/gi,"value"))}else e.__signingState="fail"}catch(t){r()||(e.__signingState="fail")}}),500),this.__previousUnsignedCode="",this.__previousSignedCode="",this.__signingState="idle",this.__openState=[]}static get properties(){return a(a({},super.properties),{},{defaultDomain:{attribute:"default-domain"},encodeHelper:{attribute:"encode-helper"},localeCodes:{attribute:"locale-codes"},store:{},__previousUnsignedCode:{attribute:!1},__previousSignedCode:{attribute:!1},__signingState:{attribute:!1},__openState:{attribute:!1}})}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("header:copy-id","header:copy-json","undo"),new s(e.join(" ").trim())}renderBody(){var t,n,r,a,s,l,d,u,m,f,g,p,y,_,b;const x=this.__getAddToCartCode(),v=null!==(r=null!==(n=null===(t=this.data)||void 0===t?void 0:t._links["fx:store"].href)&&void 0!==n?n:this.store)&&void 0!==r?r:void 0,$=null===(a=this.__storeLoader)||void 0===a?void 0:a.data,w=null!==(l=null===(s=x.formHTMLError)||void 0===s?void 0:s.split("_")[0])&&void 0!==l?l:"paused";return i(We||(We=nt` <div class="grid gap-m items-start sm-grid-cols-2 md-grid-cols-3 h-full overflow-auto"> <foxy-internal-summary-control layout="section" class="space-y-s" infer="items"> ${0} <vaadin-button class="w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="add-product" key="caption"></foxy-i18n> </vaadin-button> </foxy-internal-summary-control> <div class="space-y-m md-col-span-2 sticky top-0"> <foxy-internal-summary-control infer="preview"> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="link"> ${0} </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="cart-settings"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="template-set-uri" item="foxy-template-set-card"> </foxy-internal-resource-picker-control> <foxy-internal-select-control layout="summary-item" infer="empty" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control layout="summary-item" infer="cart" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-text-control layout="summary-item" infer="coupon"> </foxy-internal-text-control> </foxy-internal-summary-control> </div> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultTemplateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultItemCategoryLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="localeCodesHelperLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="templateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="storeLoaderId" @update="${0}"> </foxy-nucleon> ${0} `),null===(d=this.form.items)||void 0===d?void 0:d.map(((e,t)=>{var n;return i(Ze||(Ze=nt` <foxy-internal-summary-control layout="details" label="${0}" infer="item-group" ?open="${0}" @toggle="${0}"> <foxy-internal-experimental-add-to-cart-builder-item-control item-categories="${0}" currency-code="${0}" store="${0}" index="${0}" infer="item" ?use-cart-validation="${0}" .defaultItemCategory="${0}" @remove="${0}"> </foxy-internal-experimental-add-to-cart-builder-item-control> </foxy-internal-summary-control> `),c(e.name.trim()||void 0),c(this.__openState[t]),(e=>{const n=e.currentTarget;this.__openState[t]=n.open,this.__openState=[...this.__openState]}),c(null==$?void 0:$._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(v),t,c(null==$?void 0:$.use_cart_validation),this.__defaultItemCategory,(()=>{var e;const n=null===(e=this.form.items)||void 0===e?void 0:e.filter(((e,n)=>n!==t));this.edit({items:n}),this.__openState=this.__openState.filter(((e,n)=>n!==t))}))})),this.disabled,(()=>{var e;const t=null!==(e=this.form.items)&&void 0!==e?e:[];this.edit({items:[...t,{name:"",price:0,custom_options:[],sub_frequency:"1m"}]}),this.__openState=[...new Array(t.length).fill(!1),!0]}),x.formHTMLError?i(Ge||(Ge=nt` <div class="flex flex-col gap-xs items-center justify-center p-xl"> <foxy-spinner layout="no-label" infer="unavailable" state="${0}"> </foxy-spinner> <foxy-i18n class="${0} text-s" infer="unavailable" key="${0}"> </foxy-i18n> </div> `),w,"error"===w?"text-error":"text-tertiary",x.formHTMLError):i(Ke||(Ke=nt` <div class="flex"> <iframe srcdoc="${0}${0}" style="margin:calc(-1 * (.625em + (var(--lumo-border-radius)/ 4) - 1px))" class="${0}" @load="${0}"> </iframe> </div> <div class="flex leading-s text-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <div style="font-family:monospace;max-height:calc(8 * (1em * var(--lumo-line-height-s)))" class="${0}"> <code class="whitespace-pre">${0}</code> </div> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> <div class="flex items-start text-xs leading-xs text-secondary" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} <p> <foxy-i18n infer="" key="edits_tip"></foxy-i18n> <a target="_blank" class="rounded font-medium underline transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50" href="https://wiki.foxycart.com/v/2.0/products"> <foxy-i18n infer="" key="edits_docs"></foxy-i18n> </a> </p> </div> `),'\n <style>\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n -webkit-appearance: button;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n html {\n color-scheme: light dark !important;\n }\n\n body {\n display: flex;\n padding: 2rem;\n }\n\n form {\n flex: 1;\n max-width: 20rem;\n font: normal 0.875rem system-ui;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n align-items: center;\n margin: auto;\n }\n\n form:has(fieldset) {\n grid-gap: 1rem;\n }\n\n fieldset {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n grid-column: 1 / span 2;\n align-items: center;\n margin: 0;\n }\n\n legend {\n white-space: nowrap;\n }\n\n button {\n grid-column: 1 / span 2;\n margin-top: 0.5rem;\n }\n\n form:has(fieldset) button {\n margin-top: 0;\n }\n\n label {\n display: contents;\n }\n </style>\n',x.formHTML,h({"flex-1 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),(e=>{var t;const n=e.currentTarget,r=null===(t=n.contentWindow)||void 0===t?void 0:t.document.documentElement;r&&(n.style.height=r.scrollHeight+"px")}),h({"break-all overflow-auto flex-1 min-w-0 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),e(Ve.highlight(x.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),x.formHTML,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState}),o(Xe||(Xe=nt`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-contrast-70" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`))),x.linkHrefError?i(Ye||(Ye=nt` <p class="text-tertiary"> <foxy-i18n infer="unavailable" key="${0}"> </foxy-i18n> </p> `),x.linkHrefError):i(Je||(Je=nt` <div class="flex items-center leading-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n infer="" key="direct_link"></foxy-i18n> <a target="_blank" style="max-width:30rem" href="${0}" class="${0}"> ${0} </a> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" state="${0}" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> `),x.linkHref,h({"font-medium truncate ml-auto min-w-0 rounded-s":!0,"transition-all filter":!0,"hover-underline":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"blur-sm":"idle"!==this.__signingState}),x.linkHref,h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),"fail"===this.__signingState?"error":"busy",x.linkHref,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState})),this.renderTemplateOrSlot(),c(null===(m=null===(u=this.__storeLoader)||void 0===u?void 0:u.data)||void 0===m?void 0:m._links["fx:template_sets"].href),this.__emptyOptions,this.__cartOptions,"redirect"===this.form.cart?i(Qe||(Qe=nt` <foxy-internal-text-control layout="summary-item" infer="redirect"> </foxy-internal-text-control> `)):"",c(this.__defaultTemplateSetHref),(()=>this.requestUpdate()),c(this.__defaultItemCategoryHref),(()=>this.requestUpdate()),c(null!==(f=this.localeCodes)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(g=this.form.template_set_uri)&&void 0!==g?g:void 0),(()=>this.requestUpdate()),c(null!==(_=null!==(y=null===(p=this.data)||void 0===p?void 0:p._links["fx:store"].href)&&void 0!==y?y:this.store)&&void 0!==_?_:void 0),(()=>this.requestUpdate()),null===(b=this.form.items)||void 0===b?void 0:b.map(((e,t)=>{var n;return i(et||(et=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}" @update="${0}"> </foxy-nucleon> ${0} `),c(null!==(n=e.item_category_uri)&&void 0!==n?n:void 0),t,(()=>this.requestUpdate()),e.custom_options.map(((e,n)=>{var r;return i(tt||(tt=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}Option${0}" @update="${0}"> </foxy-nucleon> `),c(null!==(r=e.item_category_uri)&&void 0!==r?r:void 0),t,n,(()=>this.requestUpdate()))})))})))}updated(e){var t,n;super.updated(e),this.in("idle")&&!(null===(t=this.form.items)||void 0===t?void 0:t.length)&&(this.edit({items:[{name:"",price:0,sub_frequency:"1m",custom_options:[]}]}),this.__openState=[!0]),(null===(n=this.form.items)||void 0===n?void 0:n.length)&&!this.__openState.length&&(this.__openState=[!0,...new Array(this.form.items.length-1).fill(!1)])}submit(){}get __defaultTemplateSetHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __defaultItemCategoryHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:item_categories"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __resolvedCurrencyCode(){var e,t,n,r;const i=this.renderRoot.querySelector("#localeCodesHelperLoader"),o=null===(e=this.__resolvedTemplateSet)||void 0===e?void 0:e.locale_code,a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.values,s=o?null==a?void 0:a[o]:void 0;return s?null===(r=null===(n=/Currency: ([A-Z]{3})/g.exec(s))||void 0===n?void 0:n[1])||void 0===r?void 0:r.toUpperCase():void 0}get __resolvedTemplateSet(){var e,t,n,r;const i=e=>this.renderRoot.querySelector(e);return null!==(t=null===(e=i("#templateSetLoader"))||void 0===e?void 0:e.data)&&void 0!==t?t:null===(r=null===(n=i("#defaultTemplateSetLoader"))||void 0===n?void 0:n.data)||void 0===r?void 0:r._embedded["fx:template_sets"][0]}get __defaultItemCategory(){var e,t;return null===(t=null===(e=this.renderRoot.querySelector("#defaultItemCategoryLoader"))||void 0===e?void 0:e.data)||void 0===t?void 0:t._embedded["fx:item_categories"][0]}get __resolvedCartUrl(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(t){if(t.use_remote_domain)return`https://${t.store_domain}/cart`;if(null!==this.defaultDomain)return`https://${t.store_domain}.${this.defaultDomain}/cart`}return null}get __storeLoader(){return this.renderRoot.querySelector("#storeLoaderId")}__getItemCategoryLoader(e,t){const n=`#itemCategoryLoaderProduct${e}`,r="number"==typeof t?`${n}Option${t}`:n;return this.renderRoot.querySelector(r)}__getAddToCartFormHTML(){var e,t,n,r,i,o,a,s,l,d;const u=this.__resolvedCurrencyCode,c=this.__resolvedTemplateSet,f=this.__resolvedCartUrl,h=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&c&&h&&u&&f))throw new Error("loading_extra_data_needed");const g=h.use_cart_validation;let p=!1,y=`<form action="${it(f,g)}" method="post" target="_blank">`,_=1;const b=()=>`\n${" ".repeat(2*_)}`,x=(e,t)=>{const n=it(t,g),r=it(e,g);y+=`${b()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==c.code&&x("template_set",c.code),this.form.empty&&"false"!==this.form.empty&&x("empty",this.form.empty),"checkout"===this.form.cart&&x("cart","checkout"),this.form.redirect&&x("redirect",this.form.redirect),this.form.coupon&&x("coupon",this.form.coupon);const v=null!==(t=this.form.items)&&void 0!==t?t:[],$=v.length>1;for(let e=0;e<v.length;++e){const t=this.__getItemCategoryLoader(e),c=null==t?void 0:t.data,f=v[e];if(f.item_category_uri&&!c)throw new Error("loading_extra_data_needed");const w=Math.max(1,null!==(n=f.quantity_min)&&void 0!==n?n:1),E=Math.max(w,null!==(r=f.quantity_max)&&void 0!==r?r:1/0),S=w!==E&&"minutes"!==f.expires_format&&!f.hide_quantity,j=f.price_configurable,k=f.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),C=f.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),L=p||$&&(j||S||k);L&&(p=!0,y+=`${b()}<fieldset>`,_++,y+=`${b()}<legend>${m(C)}</legend>`);const N=0===e?"":`${e+1}:`;x(`${N}name`,C);const M=`${f.price}${u}`;if(f.price_configurable){const e=it(f.price.toFixed(2),g);y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(this.t("preview.price_label"))}</span>`,h.use_cart_validation?y+=`${b()}<input required name="${N}price" value="--OPEN--" data-replace="${e}">`:y+=`${b()}<input required name="${N}price" value="${e}">`,_--,y+=`${b()}</label>`}else x(`${N}price`,M);if(c&&"DEFAULT"!==c.code&&x(`${N}category`,c.code),f.code)x(`${N}code`,f.code);else if(h.use_cart_validation)throw new Error("paused_code_required");if(f.parent_code&&x(`${N}parent_code`,f.parent_code),f.image&&(x(`${N}image`,f.image),f.url&&x(`${N}url`,f.url)),f.sub_enabled&&f.sub_frequency){if(x(`${N}sub_frequency`,f.sub_frequency),f.sub_startdate)if("yyyymmdd"===f.sub_startdate_format){const e=new Date(f.sub_startdate);x(`${N}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else x(`${N}sub_startdate`,String(f.sub_startdate));if(f.sub_enddate)if("yyyymmdd"===f.sub_enddate_format){const e=new Date(f.sub_enddate);x(`${N}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else x(`${N}sub_enddate`,String(f.sub_enddate))}if(f.discount_name&&f.discount_type&&f.discount_details&&x(`${N}discount_${f.discount_type}`,`${f.discount_name}{${f.discount_details}}`),f.expires_value&&(f.expires_format,x(`${N}expires`,f.expires_value.toFixed(0))),S){y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(this.t("preview.quantity_label"))}</span>`;const e=it(`${N}quantity`,g);if(y+=`${b()}<input type="number" name="${e}"`,y+=` min="${it(String(w),g)}"`,E!==1/0&&(y+=` max="${it(String(E),g)}"`),h.use_cart_validation){const e=it(String(null!==(i=f.quantity)&&void 0!==i?i:1),g);y+=` value="--OPEN--" data-replace="${e}">`}else y+=` value="${it(String(null!==(o=f.quantity)&&void 0!==o?o:1),g)}">`;_--,y+=`${b()}</label>`}else(null!==(a=f.quantity)&&void 0!==a?a:1)>1&&x(`${N}quantity`,(null!==(s=f.quantity)&&void 0!==s?s:1).toString());"minutes"!==f.expires_format&&(1!==w&&x(`${N}quantity_min`,w.toFixed(0)),E!==1/0&&x(`${N}quantity_max`,E.toFixed(0))),f.length&&x(`${N}length`,f.length.toFixed(3)),f.width&&x(`${N}width`,f.width.toFixed(3)),f.height&&x(`${N}height`,f.height.toFixed(3)),f.weight&&x(`${N}weight`,f.weight.toFixed(3)),h.features_multiship&&(y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(this.t("preview.shipto_label"))}</span>`,h.use_cart_validation?y+=`${b()}<input name="${N}shipto" value="--OPEN--" data-replace="">`:y+=`${b()}<input name="${N}shipto" value="">`,_--,y+=`${b()}</label>`);const R=f.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in R){const n=R[t];if(1===n.length){const r=f.custom_options.indexOf(n[0]),i=null===(l=this.__getItemCategoryLoader(e,r))||void 0===l?void 0:l.data,o=this.__getOptionModifiers(n[0],null!=i?i:null,u),a=`${null!==(d=n[0].value)&&void 0!==d?d:""}${o}`,s=`${N}${t}`;n[0].value_configurable?(y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(t)}:</span>`,y+=`${b()}<input name="${it(s,g)}" `,h.use_cart_validation?y+=`value="--OPEN--" data-replace="${it(a,g)}"`:y+=`value="${it(a,g)}"`,n[0].required?y+=` placeholder="${m(this.t("preview.required"))}" required>`:y+=">",_--,y+=`${b()}</label>`):x(s,a)}else y+=`${b()}<label>`,_++,y+=`${b()}<span>${m(t)}:</span>`,y+=`${b()}<select name="${N}${t}">`,_++,n.forEach((t=>{var n,r,i;const o=f.custom_options.indexOf(t),a=null===(n=this.__getItemCategoryLoader(e,o))||void 0===n?void 0:n.data,s=this.__getOptionModifiers(t,null!=a?a:null,u),l=it(`${null!==(r=t.value)&&void 0!==r?r:""}${s}`,g),d=m(null!==(i=t.value)&&void 0!==i?i:"");y+=`${b()}<option value="${l}">${d}</option>`})),_--,y+=`${b()}</select>`,_--,y+=`${b()}</label>`}L&&(_--,y+=`${b()}</fieldset>`)}const w="checkout"===this.form.cart?"checkout":"cart",E=m(this.t(`preview.submit_caption_${w}`));return y+=`${b()}<button type="submit">${E}</button>`,_--,y+=`${b()}</form>`,y}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,u=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&c&&l&&u))throw new Error("loading_extra_data_needed");const m=new Map,f=(e,t)=>{if(c.use_cart_validation){if(["&","%","=","#"].some((t=>e.includes(t))))throw new Error("error_special_characters_present");m.set(e,encodeURIComponent(t))}else m.set(encodeURIComponent(e),encodeURIComponent(t))};"DEFAULT"!==d.code&&f("template_set",d.code),"checkout"===this.form.cart&&f("cart","checkout"),this.form.redirect&&f("redirect",this.form.redirect),this.form.coupon&&f("coupon",this.form.coupon),this.form.empty&&"false"!==this.form.empty&&f("empty",this.form.empty);for(let e=0;e<(null!==(n=null===(t=this.form.items)||void 0===t?void 0:t.length)&&void 0!==n?n:0);++e){const t=this.form.items[e],n=0===e?"":`${e+1}:`,d=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!d)throw new Error("loading_extra_data_needed");if(t.price_configurable)throw new Error("error_price_configurable");if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)throw new Error("error_duplicate_custom_option_names");if(d&&"DEFAULT"!==d.code&&f(`${n}category`,d.code),f(`${n}name`,t.name),f(`${n}price`,`${t.price}${l}`),t.code)f(`${n}code`,t.code);else if(c.use_cart_validation)throw new Error("paused_code_required");if(t.parent_code&&f(`${n}parent_code`,t.parent_code),t.image&&(f(`${n}image`,t.image),t.url&&f(`${n}url`,t.url)),t.sub_enabled&&t.sub_frequency){if(f(`${n}sub_frequency`,t.sub_frequency),t.sub_startdate)if("yyyymmdd"===t.sub_startdate_format){const e=new Date(t.sub_startdate);f(`${n}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else f(`${n}sub_startdate`,String(t.sub_startdate));if(t.sub_enddate)if("yyyymmdd"===t.sub_enddate_format){const e=new Date(t.sub_enddate);f(`${n}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else f(`${n}sub_enddate`,String(t.sub_enddate))}t.discount_name&&t.discount_type&&t.discount_details&&f(`${n}discount_${t.discount_type}`,`${t.discount_name}{${t.discount_details}}`),t.expires_value&&(t.expires_format,f(`${n}expires`,t.expires_value.toFixed(0))),(null!==(i=t.quantity)&&void 0!==i?i:1)>1&&f(`${n}quantity`,(null!==(o=t.quantity)&&void 0!==o?o:1).toFixed(0)),"minutes"!==t.expires_format&&(t.quantity_min&&f(`${n}quantity_min`,t.quantity_min.toString()),t.quantity_max&&f(`${n}quantity_max`,t.quantity_max.toString())),t.weight&&f(`${n}weight`,t.weight.toFixed(3)),t.length&&f(`${n}length`,t.length.toFixed(3)),t.width&&f(`${n}width`,t.width.toFixed(3)),t.height&&f(`${n}height`,t.height.toFixed(3));for(let r=0;r<t.custom_options.length;++r){const i=t.custom_options[r];if(i.value_configurable)throw new Error("error_option_value_configurable");const o=null===(a=this.__getItemCategoryLoader(e,r))||void 0===a?void 0:a.data,d=this.__getOptionModifiers(i,null!=o?o:null,l);f(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${d}`)}}return`${u}?${Array.from(m.entries()).map((([e,t])=>`${e}=${t}`)).join("&")}`}__getAddToCartCode(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return{linkHref:"",linkHrefError:"loading_extra_data_needed",formHTML:"",formHTMLError:"loading_extra_data_needed"};const n=t.use_cart_validation;let r=null,i=null,o="",a="";try{o=this.__getAddToCartFormHTML()}catch(e){r=e.message}let s=o;try{if(a=this.__getAddToCartLinkHref(),a){const e=`<a href="${it(a,n)}">Add to cart</a>`;s=`${o}${this.__signingSeparator}${e}`}}catch(e){i=e.message,a=""}if(s===this.__previousUnsignedCode&&this.__previousSignedCode){const[e,t]=this.__previousSignedCode.split(this.__signingSeparator);return{linkHref:t?f(t.substring(9,t.length-17)):"",linkHrefError:i,formHTML:e,formHTMLError:r}}return this.__previousUnsignedCode=s,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(s,this.encodeHelper),{formHTML:o,formHTMLError:r,linkHref:a,linkHrefError:i}}__getOptionModifiers(e,t,n){if(e.value_configurable)return"";const r=[];if(e.price){const t=e.replace_price?":":-1===Math.sign(e.price)?"-":"+";(e.replace_price||0!==e.price)&&r.push(`p${t}${Math.abs(e.price)}${n}`)}if(e.weight){const t=e.replace_weight?":":-1===Math.sign(e.weight)?"-":"+";(e.replace_weight||0!==e.weight)&&r.push(`w${t}${Math.abs(e.weight)}`)}if(e.item_category_uri&&!t)return"";if(t&&r.push(`y:${t.code}`),e.code){const t=e.replace_code?":":"+";(e.replace_code||""!==e.code)&&r.push(`c${t}${e.code}`)}return r.length?`{${r.join("|")}}`:""}}customElements.define("foxy-experimental-add-to-cart-builder",ot);export{ot as ExperimentalAddToCartBuilder};
@@ -1 +1 @@
1
- import"./shared-14350c09.js";import"./foxy-nucleon-element.js";import{_ as t}from"./shared-8f9014ff.js";import{a as e}from"./shared-8368423a.js";import{I as r}from"./shared-ffd0589e.js";import{i as s}from"./shared-53e42a77.js";import{h as a,s as o}from"./shared-ba5c42c7.js";import{c as i}from"./shared-4e709717.js";import{d as n}from"./shared-c84333db.js";import"./foxy-spinner.js";import"./shared-22168ef7.js";import"./shared-641c8ca6.js";import"./shared-45ae3485.js";import"./shared-202cd296.js";import"./shared-f03cfb48.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";let d,u,h,l=t=>t;const c=e(r,"filter-attribute-card");class m extends c{constructor(){super(...arguments),this.getCountLoaderHref=null,this.__countLoaderId="countLoader",this.__refreshTimeout=null}static get properties(){return t(t({},super.properties),{},{countRefreshInterval:{attribute:"count-refresh-interval",type:Number},getCountLoaderHref:{attribute:!1}})}disconnectedCallback(){super.disconnectedCallback(),"number"==typeof this.__refreshTimeout&&clearTimeout(this.__refreshTimeout)}updated(t){if(super.updated(t),"number"!=typeof this.__refreshTimeout){const t=this.constructor.countRefreshInterval;this.__refreshTimeout=setTimeout((()=>{var t;return null===(t=this.__getCountLoader())||void 0===t?void 0:t.refresh()}),t)}}render(){var t,e;const r=this.constructor,c=null===(e=null===(t=this.__getCountLoader())||void 0===t?void 0:t.data)||void 0===e?void 0:e.total_items;let m;try{this.data&&this.getCountLoaderHref&&(m=new URL(this.getCountLoaderHref(n(this.data.value))),m.searchParams.set("limit","1"))}catch(t){m=void 0}return a(d||(d=l` <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="${0}"> <span class="${0}"> ${0} </span> <span class="${0}"> ${0} </span> <span class="${0}"> ${0} </span> </div> `),s(null==m?void 0:m.toString()),this.__countLoaderId,(()=>this.requestUpdate()),i({"transition-colors flex items-center gap-s font-medium text-m leading-s rounded-s":!0,"bg-contrast-5":!this.in("fail")&&!this.data,"bg-error-10":this.in("fail")}),i({"transition-opacity":!0,"opacity-0":!this.data}),o(u||(u=l`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" style="width: 1em; height: 1em;"><path d="M14 2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v2.172a2 2 0 0 0 .586 1.414l2.828 2.828A2 2 0 0 1 6 9.828v4.363a.5.5 0 0 0 .724.447l2.17-1.085A2 2 0 0 0 10 11.763V9.829a2 2 0 0 1 .586-1.414l2.828-2.828A2 2 0 0 0 14 4.172V2Z" /></svg>`)),i({"transition-opacity truncate min-w-0":!0,"opacity-0":!this.data}),this.__getValueParam(r.filterNameKey)||a(h||(h=l`<foxy-i18n infer="" key="no_name"></foxy-i18n>`)),i({"transition-opacity bg-contrast-5 px-xs rounded text-xs":!0,"opacity-0":!this.data||"number"!=typeof c}),null!=c?c:0)}__getCountLoader(){return this.renderRoot.querySelector(`#${this.__countLoaderId}`)}__getValueParam(t){var e,r,s;try{return null!==(s=new URL(n(null!==(r=null===(e=this.data)||void 0===e?void 0:e.value)&&void 0!==r?r:""),"https://example.com").searchParams.get(t))&&void 0!==s?s:""}catch(t){return""}}}m.countRefreshInterval=6e5,m.filterQueryKey="filter_query",m.filterNameKey="filter_name",customElements.define("foxy-filter-attribute-card",m);export{m as FilterAttributeCard};
1
+ import"./shared-04277241.js";import"./foxy-nucleon-element.js";import{_ as t}from"./shared-8f9014ff.js";import{a as e}from"./shared-328aa161.js";import{I as r}from"./shared-de4ec7bb.js";import{i as s}from"./shared-53e42a77.js";import{h as a,s as o}from"./shared-ba5c42c7.js";import{c as i}from"./shared-4e709717.js";import{d as n}from"./shared-c84333db.js";import"./foxy-spinner.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-26b55da2.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";let d,u,h,l=t=>t;const c=e(r,"filter-attribute-card");class m extends c{constructor(){super(...arguments),this.getCountLoaderHref=null,this.__countLoaderId="countLoader",this.__refreshTimeout=null}static get properties(){return t(t({},super.properties),{},{countRefreshInterval:{attribute:"count-refresh-interval",type:Number},getCountLoaderHref:{attribute:!1}})}disconnectedCallback(){super.disconnectedCallback(),"number"==typeof this.__refreshTimeout&&clearTimeout(this.__refreshTimeout)}updated(t){if(super.updated(t),"number"!=typeof this.__refreshTimeout){const t=this.constructor.countRefreshInterval;this.__refreshTimeout=setTimeout((()=>{var t;return null===(t=this.__getCountLoader())||void 0===t?void 0:t.refresh()}),t)}}render(){var t,e;const r=this.constructor,c=null===(e=null===(t=this.__getCountLoader())||void 0===t?void 0:t.data)||void 0===e?void 0:e.total_items;let m;try{this.data&&this.getCountLoaderHref&&(m=new URL(this.getCountLoaderHref(n(this.data.value))),m.searchParams.set("limit","1"))}catch(t){m=void 0}return a(d||(d=l` <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <div class="${0}"> <span class="${0}"> ${0} </span> <span class="${0}"> ${0} </span> <span class="${0}"> ${0} </span> </div> `),s(null==m?void 0:m.toString()),this.__countLoaderId,(()=>this.requestUpdate()),i({"transition-colors flex items-center gap-s font-medium text-m leading-s rounded-s":!0,"bg-contrast-5":!this.in("fail")&&!this.data,"bg-error-10":this.in("fail")}),i({"transition-opacity":!0,"opacity-0":!this.data}),o(u||(u=l`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" style="width: 1em; height: 1em;"><path d="M14 2a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v2.172a2 2 0 0 0 .586 1.414l2.828 2.828A2 2 0 0 1 6 9.828v4.363a.5.5 0 0 0 .724.447l2.17-1.085A2 2 0 0 0 10 11.763V9.829a2 2 0 0 1 .586-1.414l2.828-2.828A2 2 0 0 0 14 4.172V2Z" /></svg>`)),i({"transition-opacity truncate min-w-0":!0,"opacity-0":!this.data}),this.__getValueParam(r.filterNameKey)||a(h||(h=l`<foxy-i18n infer="" key="no_name"></foxy-i18n>`)),i({"transition-opacity bg-contrast-5 px-xs rounded text-xs":!0,"opacity-0":!this.data||"number"!=typeof c}),null!=c?c:0)}__getCountLoader(){return this.renderRoot.querySelector(`#${this.__countLoaderId}`)}__getValueParam(t){var e,r,s;try{return null!==(s=new URL(n(null!==(r=null===(e=this.data)||void 0===e?void 0:e.value)&&void 0!==r?r:""),"https://example.com").searchParams.get(t))&&void 0!==s?s:""}catch(t){return""}}}m.countRefreshInterval=6e5,m.filterQueryKey="filter_query",m.filterNameKey="filter_name",customElements.define("foxy-filter-attribute-card",m);export{m as FilterAttributeCard};
@@ -1 +1 @@
1
- import"./shared-b02a95f7.js";import{I as e}from"./shared-6eb8aa92.js";import"./shared-2efca095.js";import"./shared-f03cfb48.js";import{_ as t}from"./shared-8f9014ff.js";import{a as r}from"./shared-8368423a.js";import{d as s,e as a}from"./shared-c84333db.js";import{i}from"./shared-53e42a77.js";import{h as o}from"./shared-ba5c42c7.js";import"./shared-3b627ac8.js";import"./shared-45ae3485.js";import"./shared-0237985c.js";import"./shared-94de5e51.js";import"./shared-5212ef4f.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-c8af1e27.js";import"./shared-1cbf191b.js";import"./shared-4e709717.js";import"./foxy-copy-to-clipboard.js";import"./shared-e7764ffb.js";import"./shared-22168ef7.js";import"./shared-641c8ca6.js";import"./shared-50b66625.js";import"./shared-202cd296.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-89ad4177.js";import"./shared-8874ec69.js";import"./shared-63c32024.js";import"./shared-5fd5805c.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";let l,n,d,h,m=e=>e;const u=r(e,"filter-attribute-form");class c extends u{constructor(){super(...arguments),this.defaults=null,this.pathname=null,this.docsHref=null,this.options=[],this.__filterNameGetValue=()=>{const e=this.constructor;return this.__getValueParam(e.filterNameKey)},this.__filterNameSetValue=e=>{const t=this.constructor;this.__setValueParam(t.filterNameKey,e)}}static get properties(){return t(t({},super.properties),{},{defaults:{},pathname:{},docsHref:{attribute:"docs-href"},options:{type:Array}})}renderBody(){var e;const t=this.constructor,r=this.__getValueParam(t.filterQueryKey),s=!!this.form.value,a=!!this.data,u=this.in({idle:{snapshot:"dirty"}})||this.in({idle:{template:"dirty"}});return o(l||(l=m` <div class="flex gap-s"> ${0} ${0} </div> <foxy-query-builder docs-href="${0}" options="${0}" infer="filter-query" value="${0}" disable-zoom @change="${0}"> </foxy-query-builder> `),this.data?o(n||(n=m` <div class="flex-1 rounded bg-contrast-5 transition-colors hover-bg-contrast-10 focus-within-bg-contrast-10 focus-within-ring-2 focus-within-ring-primary-50"> <input placeholder="${0}" aria-label="${0}" style="padding:0 calc(.625 * var(--lumo-font-size-m) + (var(--lumo-border-radius)/ 4) - 1px)" class="block w-full h-full appearance-none bg-transparent text-xl font-medium focus-outline-none" .value="${0}" @keydown="${0}" @input="${0}"> </div> `),this.t("filter-name.placeholder"),this.t("filter-name.label"),this.__filterNameGetValue(),(e=>{"Enter"===e.key&&(e.preventDefault(),this.submit())}),(e=>{this.__filterNameSetValue(e.target.value)})):o(d||(d=m` <foxy-i18n class="text-xl flex-1 font-medium" infer="header" key="title"></foxy-i18n> `)),s&&(r||a)?o(h||(h=m` <vaadin-button theme="${0}" style="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="action" class="px-s" key="${0}"> </foxy-i18n> </vaadin-button> `),a?u?"secondary":"error":"success",i(a?void 0:"--lumo-button-size: auto"),this.disabled,(()=>!a||u?this.submit():this.delete()),a?u?"update":"delete":"create"):"",i(null!==(e=this.docsHref)&&void 0!==e?e:void 0),JSON.stringify(this.options),r,this.__handleFilterQueryChange)}updated(e){var t;if(super.updated(e),"string"==typeof this.form.value){const e=new URL(s(this.form.value),"https://example.com");e.pathname=null!==(t=this.pathname)&&void 0!==t?t:"";const r=a(e.toString().substring(e.origin.length));r!==this.form.value&&this.edit({value:r})}}submit(){const e=this.constructor;this.edit({visibility:e.attributeVisibility,name:e.attributeName}),super.submit()}__getValueParam(e){var t,r,a;try{const i=this.constructor;let o=null!==(r=new URL(s(null!==(t=this.form.value)&&void 0!==t?t:""),"https://example.com").searchParams.get(e))&&void 0!==r?r:"";if(e===i.filterQueryKey&&(this.in({idle:{snapshot:"clean"}})||this.in({idle:{template:"clean"}})))try{const e=new URLSearchParams(o),t=new URLSearchParams(null!==(a=this.defaults)&&void 0!==a?a:"");e.forEach(((e,r)=>t.set(r,e))),o=t.toString()}catch(e){}return o}catch(e){return""}}__setValueParam(e,t){var r;try{const i=new URL(s(null!==(r=this.form.value)&&void 0!==r?r:""),"https://example.com");i.searchParams.set(e,t),this.edit({value:a(i.toString().substring(i.origin.length))})}catch(e){}}__handleFilterQueryChange(e){var t;const r=this.constructor,s=e.currentTarget;this.__setValueParam(r.filterQueryKey,null!==(t=s.value)&&void 0!==t?t:""),this.requestUpdate()}}c.attributeVisibility="restricted",c.filterQueryKey="filter_query",c.attributeName="foxy-admin-bookmark",c.filterNameKey="filter_name",customElements.define("foxy-filter-attribute-form",c);export{c as FilterAttributeForm};
1
+ import"./shared-be071e3d.js";import{I as e}from"./shared-eadf0d23.js";import"./shared-ec1daff0.js";import"./shared-26b55da2.js";import{_ as t}from"./shared-8f9014ff.js";import{a as r}from"./shared-328aa161.js";import{d as s,e as a}from"./shared-c84333db.js";import{i}from"./shared-53e42a77.js";import{h as o}from"./shared-ba5c42c7.js";import"./shared-b0db52f7.js";import"./shared-021fbb51.js";import"./shared-9a291941.js";import"./shared-9a454e09.js";import"./shared-5212ef4f.js";import"./shared-41c9c53f.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4cc1fb20.js";import"./shared-67aeac0f.js";import"./shared-4e709717.js";import"./foxy-copy-to-clipboard.js";import"./shared-1da8110b.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-6880e1f6.js";import"./shared-b0453b08.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-591ee1bf.js";import"./shared-8874ec69.js";import"./shared-63c32024.js";import"./shared-5fd5805c.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";let l,d,n,h,m=e=>e;const u=r(e,"filter-attribute-form");class c extends u{constructor(){super(...arguments),this.defaults=null,this.pathname=null,this.docsHref=null,this.options=[],this.__filterNameGetValue=()=>{const e=this.constructor;return this.__getValueParam(e.filterNameKey)},this.__filterNameSetValue=e=>{const t=this.constructor;this.__setValueParam(t.filterNameKey,e)}}static get properties(){return t(t({},super.properties),{},{defaults:{},pathname:{},docsHref:{attribute:"docs-href"},options:{type:Array}})}renderBody(){var e;const t=this.constructor,r=this.__getValueParam(t.filterQueryKey),s=!!this.form.value,a=!!this.data,u=this.in({idle:{snapshot:"dirty"}})||this.in({idle:{template:"dirty"}});return o(l||(l=m` <div class="flex gap-s"> ${0} ${0} </div> <foxy-query-builder docs-href="${0}" options="${0}" infer="filter-query" value="${0}" disable-zoom @change="${0}"> </foxy-query-builder> `),this.data?o(d||(d=m` <div class="flex-1 rounded bg-contrast-5 transition-colors hover-bg-contrast-10 focus-within-bg-contrast-10 focus-within-ring-2 focus-within-ring-primary-50"> <input placeholder="${0}" aria-label="${0}" style="padding:0 calc(.625 * var(--lumo-font-size-m) + (var(--lumo-border-radius)/ 4) - 1px)" class="block w-full h-full appearance-none bg-transparent text-xl font-medium focus-outline-none" .value="${0}" @keydown="${0}" @input="${0}"> </div> `),this.t("filter-name.placeholder"),this.t("filter-name.label"),this.__filterNameGetValue(),(e=>{"Enter"===e.key&&(e.preventDefault(),this.submit())}),(e=>{this.__filterNameSetValue(e.target.value)})):o(n||(n=m` <foxy-i18n class="text-xl flex-1 font-medium" infer="header" key="title"></foxy-i18n> `)),s&&(r||a)?o(h||(h=m` <vaadin-button theme="${0}" style="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="action" class="px-s" key="${0}"> </foxy-i18n> </vaadin-button> `),a?u?"secondary":"error":"success",i(a?void 0:"--lumo-button-size: auto"),this.disabled,(()=>!a||u?this.submit():this.delete()),a?u?"update":"delete":"create"):"",i(null!==(e=this.docsHref)&&void 0!==e?e:void 0),JSON.stringify(this.options),r,this.__handleFilterQueryChange)}updated(e){var t;if(super.updated(e),"string"==typeof this.form.value){const e=new URL(s(this.form.value),"https://example.com");e.pathname=null!==(t=this.pathname)&&void 0!==t?t:"";const r=a(e.toString().substring(e.origin.length));r!==this.form.value&&this.edit({value:r})}}submit(){const e=this.constructor;this.edit({visibility:e.attributeVisibility,name:e.attributeName}),super.submit()}__getValueParam(e){var t,r,a;try{const i=this.constructor;let o=null!==(r=new URL(s(null!==(t=this.form.value)&&void 0!==t?t:""),"https://example.com").searchParams.get(e))&&void 0!==r?r:"";if(e===i.filterQueryKey&&(this.in({idle:{snapshot:"clean"}})||this.in({idle:{template:"clean"}})))try{const e=new URLSearchParams(o),t=new URLSearchParams(null!==(a=this.defaults)&&void 0!==a?a:"");e.forEach(((e,r)=>t.set(r,e))),o=t.toString()}catch(e){}return o}catch(e){return""}}__setValueParam(e,t){var r;try{const i=new URL(s(null!==(r=this.form.value)&&void 0!==r?r:""),"https://example.com");i.searchParams.set(e,t),this.edit({value:a(i.toString().substring(i.origin.length))})}catch(e){}}__handleFilterQueryChange(e){var t;const r=this.constructor,s=e.currentTarget;this.__setValueParam(r.filterQueryKey,null!==(t=s.value)&&void 0!==t?t:""),this.requestUpdate()}}c.attributeVisibility="restricted",c.filterQueryKey="filter_query",c.attributeName="foxy-admin-bookmark",c.filterNameKey="filter_name",customElements.define("foxy-filter-attribute-form",c);export{c as FilterAttributeForm};
@@ -1 +1 @@
1
- import"./shared-f03cfb48.js";import"./shared-c8af1e27.js";import{F as e,_ as t,B as r}from"./shared-8f9014ff.js";import{h as o}from"./shared-ba5c42c7.js";import{A as n}from"./shared-69c98b7b.js";import{D as s}from"./shared-1cbf191b.js";import{U as i}from"./shared-cd96ff03.js";import{s as a}from"./shared-53e476fd.js";import"./shared-8368423a.js";import"./shared-930e68b7.js";import"./shared-b02a95f7.js";import"./shared-3b627ac8.js";import"./shared-45ae3485.js";import"./shared-0237985c.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-4e709717.js";let d,p,h=e=>e;class l extends s{constructor(){super(...arguments),this.noConfirmWhenDirty=!1,this.closeOnPatch=!1,this.keepOpenOnDelete=!1,this.keepOpenOnPost=!1,this.related=[],this.parent="",this.props={},this.group="",this.href="",this.__form=null,this.__renderForm=null,this.__handleFetch=t=>{t instanceof e&&(t.stopImmediatePropagation(),t.preventDefault(),t.respondWith(new n(this).fetch(t.request)))},this.__handleUpdate=e=>{var t;if(!(e instanceof i))return;const r=null===(t=e.detail)||void 0===t?void 0:t.result,o=i.UpdateResult,n=e.currentTarget;(!this.keepOpenOnDelete&&r===o.ResourceDeleted||!this.keepOpenOnPost&&r===o.ResourceCreated||this.closeOnPatch&&r===o.ResourceUpdated&&0===n.errors.length)&&(this.open=!1),this.parent!==n.parent&&(this.parent=n.parent),this.href!==n.href&&(this.href=n.href),this.closable=!n.in("busy"),this.editable=n.in({idle:{template:{dirty:"valid"}}})||n.in({idle:{snapshot:{dirty:"valid"}}}),this.dispatchEvent(new i(e.type,{detail:e.detail}))}}static get properties(){return t(t({},super.properties),{},{href:{type:String},form:{type:String,noAccessor:!0},group:{type:String},props:{type:Object},parent:{type:String},related:{type:Array},closeOnPatch:{type:Boolean,attribute:"close-on-patch"},keepOpenOnPost:{type:Boolean,attribute:"keep-open-on-post"},keepOpenOnDelete:{type:Boolean,attribute:"keep-open-on-delete"},noConfirmWhenDirty:{type:Boolean,attribute:"no-confirm-when-dirty"}})}get hiddenSelector(){return new r(`submit undo ${super.hiddenSelector}`.trim())}get form(){return this.__form}set form(e){this.__form=e,this.__renderForm="string"==typeof e?new Function("options",`return options.html\`\n <${e}\n id="form"\n ns="\${options.dialog.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n href=\${options.dialog.href}\n lang=\${options.dialog.lang}\n group=\${options.dialog.group}\n parent=\${options.dialog.parent}\n disabledcontrols=\${options.dialog.disabledSelector.toString()}\n readonlycontrols=\${options.dialog.readonlySelector.toString()}\n hiddencontrols=\${options.dialog.hiddenSelector.toString()}\n ?disabled=\${options.dialog.disabled}\n ?readonly=\${options.dialog.readonly}\n ?hidden=\${options.dialog.hidden}\n .templates=\${options.dialog.templates}\n .related=\${options.dialog.related}\n ...=\${options.spread(options.dialog.props)}\n @fetch=\${options.handleFetch}\n @update=\${options.handleUpdate}\n >\n </${e}>\``):e,this.requestUpdate()}render(){return o(d||(d=h` <foxy-internal-confirm-dialog message="undo_message" confirm="undo_confirm" cancel="undo_cancel" header="undo_header" theme="error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} `),this.lang,this.ns,(e=>!e.detail.cancelled&&super.hide(!0)),super.render((()=>{var e;return o(p||(p=h`${0}`),null===(e=this.__renderForm)||void 0===e?void 0:e.call(this,{handleUpdate:this.__handleUpdate,handleFetch:this.__handleFetch,spread:a,dialog:this,html:o}))})))}async hide(e=!1){if(!e||!this.editable||this.noConfirmWhenDirty)return super.hide(e);this.renderRoot.querySelector("#confirm").show()}async save(){this.renderRoot.querySelector("#form").submit()}}customElements.define("foxy-form-dialog",l);export{l as FormDialog};
1
+ import"./shared-26b55da2.js";import"./shared-4cc1fb20.js";import{F as e,_ as t,B as r}from"./shared-8f9014ff.js";import{h as o}from"./shared-ba5c42c7.js";import{A as n}from"./shared-69c98b7b.js";import{D as s}from"./shared-67aeac0f.js";import{U as i}from"./shared-cd96ff03.js";import{s as a}from"./shared-53e476fd.js";import"./shared-328aa161.js";import"./shared-930e68b7.js";import"./shared-be071e3d.js";import"./shared-b0db52f7.js";import"./shared-021fbb51.js";import"./shared-9a291941.js";import"./shared-41c9c53f.js";import"./shared-53e42a77.js";import"./shared-4e709717.js";let d,p,h=e=>e;class l extends s{constructor(){super(...arguments),this.noConfirmWhenDirty=!1,this.closeOnPatch=!1,this.keepOpenOnDelete=!1,this.keepOpenOnPost=!1,this.related=[],this.parent="",this.props={},this.group="",this.href="",this.__form=null,this.__renderForm=null,this.__handleFetch=t=>{t instanceof e&&(t.stopImmediatePropagation(),t.preventDefault(),t.respondWith(new n(this).fetch(t.request)))},this.__handleUpdate=e=>{var t;if(!(e instanceof i))return;const r=null===(t=e.detail)||void 0===t?void 0:t.result,o=i.UpdateResult,n=e.currentTarget;(!this.keepOpenOnDelete&&r===o.ResourceDeleted||!this.keepOpenOnPost&&r===o.ResourceCreated||this.closeOnPatch&&r===o.ResourceUpdated&&0===n.errors.length)&&(this.open=!1),this.parent!==n.parent&&(this.parent=n.parent),this.href!==n.href&&(this.href=n.href),this.closable=!n.in("busy"),this.editable=n.in({idle:{template:{dirty:"valid"}}})||n.in({idle:{snapshot:{dirty:"valid"}}}),this.dispatchEvent(new i(e.type,{detail:e.detail}))}}static get properties(){return t(t({},super.properties),{},{href:{type:String},form:{type:String,noAccessor:!0},group:{type:String},props:{type:Object},parent:{type:String},related:{type:Array},closeOnPatch:{type:Boolean,attribute:"close-on-patch"},keepOpenOnPost:{type:Boolean,attribute:"keep-open-on-post"},keepOpenOnDelete:{type:Boolean,attribute:"keep-open-on-delete"},noConfirmWhenDirty:{type:Boolean,attribute:"no-confirm-when-dirty"}})}get hiddenSelector(){return new r(`submit undo ${super.hiddenSelector}`.trim())}get form(){return this.__form}set form(e){this.__form=e,this.__renderForm="string"==typeof e?new Function("options",`return options.html\`\n <${e}\n id="form"\n ns="\${options.dialog.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n href=\${options.dialog.href}\n lang=\${options.dialog.lang}\n group=\${options.dialog.group}\n parent=\${options.dialog.parent}\n disabledcontrols=\${options.dialog.disabledSelector.toString()}\n readonlycontrols=\${options.dialog.readonlySelector.toString()}\n hiddencontrols=\${options.dialog.hiddenSelector.toString()}\n ?disabled=\${options.dialog.disabled}\n ?readonly=\${options.dialog.readonly}\n ?hidden=\${options.dialog.hidden}\n .templates=\${options.dialog.templates}\n .related=\${options.dialog.related}\n ...=\${options.spread(options.dialog.props)}\n @fetch=\${options.handleFetch}\n @update=\${options.handleUpdate}\n >\n </${e}>\``):e,this.requestUpdate()}render(){return o(d||(d=h` <foxy-internal-confirm-dialog message="undo_message" confirm="undo_confirm" cancel="undo_cancel" header="undo_header" theme="error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} `),this.lang,this.ns,(e=>!e.detail.cancelled&&super.hide(!0)),super.render((()=>{var e;return o(p||(p=h`${0}`),null===(e=this.__renderForm)||void 0===e?void 0:e.call(this,{handleUpdate:this.__handleUpdate,handleFetch:this.__handleFetch,spread:a,dialog:this,html:o}))})))}async hide(e=!1){if(!e||!this.editable||this.noConfirmWhenDirty)return super.hide(e);this.renderRoot.querySelector("#confirm").show()}async save(){this.renderRoot.querySelector("#form").submit()}}customElements.define("foxy-form-dialog",l);export{l as FormDialog};
@@ -1 +1 @@
1
- import"./shared-82e82763.js";import"./shared-d8ec7f12.js";import"./shared-790ab66f.js";import{I as e}from"./shared-94de5e51.js";import{_ as r,B as s}from"./shared-8f9014ff.js";import{i as t}from"./shared-53e42a77.js";import{h as i}from"./shared-ba5c42c7.js";import"./shared-f3a9ae84.js";import"./shared-dc704329.js";import"./shared-0cbd8bf4.js";import{I as o}from"./shared-6eb8aa92.js";import{a}from"./shared-8368423a.js";import"./shared-84e81c06.js";import"./shared-45ae3485.js";import"./shared-3b627ac8.js";import"./shared-eb7895bd.js";import"./shared-e0cbe22a.js";import"./shared-b02a95f7.js";import"./shared-0237985c.js";import"./shared-5212ef4f.js";import"./shared-f03cfb48.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-c8af1e27.js";import"./shared-1cbf191b.js";import"./foxy-copy-to-clipboard.js";import"./shared-e7764ffb.js";import"./shared-22168ef7.js";import"./shared-641c8ca6.js";import"./shared-50b66625.js";import"./shared-202cd296.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";let n,l,d,h=e=>e;customElements.define("foxy-internal-integer-control",class extends e{constructor(){super(...arguments),this.showControls=!1,this.prefix=null,this.suffix=null,this.min=null,this.max=null}static get properties(){return r(r({},super.properties),{},{showControls:{type:Boolean,attribute:"show-controls"},prefix:{},suffix:{},min:{type:Number},max:{type:Number}})}renderControl(){var e,r;return i(n||(n=h` <vaadin-integer-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" min="${0}" max="${0}" ?has-controls="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" clear-button-visible @keydown="${0}" @change="${0}"> ${0} ${0} </vaadin-integer-field> `),t(this._errorMessage),this.placeholder,this.helperText,this.label,t(null!==(e=this.min)&&void 0!==e?e:void 0),t(null!==(r=this.max)&&void 0!==r?r:void 0),this.showControls,this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var r;return"Enter"===e.key&&(null===(r=this.nucleon)||void 0===r?void 0:r.submit())}),(e=>{const r=e.currentTarget;this._value=parseInt(r.value)}),this.prefix?i(l||(l=h`<div slot="prefix">${0}</div>`),this.prefix):"",this.suffix?i(d||(d=h`<div class="pr-s font-medium" slot="suffix">${0}</div>`),this.suffix):"")}});let m,c=e=>e;const p=a(o,"generate-codes-form");class f extends p{constructor(){super(...arguments),this.__exampleGetValue=()=>{var e,r;const s=null!==(e=this.form.prefix)&&void 0!==e?e:"",t=(null!==(r=this.form.length)&&void 0!==r?r:6)-s.length;if(t>0)return["1V3BJ3USJKSS1BYANMNBT7AJ06R6QQ8RB0VPPL03ATQVY186X2","P4YNSW7NSSAY43PL4H7BKHDUVNAE9UR13FC0XAAJHDLZWW8AJC","7DGT4Q91FV4KK095WLX1ML1HFNU6ZCGVBVPMGR7D3P52A9UFTB"].map((e=>`${s}${e.slice(0,t)}`)).join("\n")}}static get v8n(){return[({prefix:e="",length:r=6})=>r-e.length>0&&r<=50&&!(null==e?void 0:e.includes(" "))||"error:invalid_form"]}get readonlySelector(){const e=["example",super.readonlySelector.toString()];return this.href&&e.push("length number-of-codes current-balance prefix"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("delete timestamps"),this.href&&e.push("example"),this.errors.includes("error:invalid_form")&&e.push("example"),new s(e.join(" ").trim())}renderBody(){return i(m||(m=c` <foxy-internal-text-control infer="prefix"></foxy-internal-text-control> <div class="grid grid-cols-2 gap-m"> <foxy-internal-integer-control infer="length" min="1"></foxy-internal-integer-control> <foxy-internal-integer-control infer="number-of-codes" min="1"> </foxy-internal-integer-control> </div> <foxy-internal-number-control infer="current-balance" min="0"></foxy-internal-number-control> <foxy-internal-source-control infer="example" .getValue="${0}"> </foxy-internal-source-control> ${0} `),this.__exampleGetValue,super.renderBody())}async _sendPost(e){const r=JSON.stringify(e),s=await this._fetch(this.parent,{body:r,method:"POST"});return this.status={key:"success"},s}}customElements.define("foxy-generate-codes-form",f);export{f as GenerateCodesForm};
1
+ import"./shared-f9bb0924.js";import"./shared-910d49eb.js";import"./shared-aa258319.js";import{I as e}from"./shared-9a454e09.js";import{_ as r,B as s}from"./shared-8f9014ff.js";import{i as t}from"./shared-53e42a77.js";import{h as i}from"./shared-ba5c42c7.js";import"./shared-d01853e2.js";import"./shared-0a7a4660.js";import"./shared-a9a8eb7c.js";import{I as o}from"./shared-eadf0d23.js";import{a}from"./shared-328aa161.js";import"./shared-d48e260f.js";import"./shared-021fbb51.js";import"./shared-b0db52f7.js";import"./shared-ba43928a.js";import"./shared-097487d0.js";import"./shared-be071e3d.js";import"./shared-9a291941.js";import"./shared-5212ef4f.js";import"./shared-26b55da2.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-4cc1fb20.js";import"./shared-67aeac0f.js";import"./foxy-copy-to-clipboard.js";import"./shared-1da8110b.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-6880e1f6.js";import"./shared-b0453b08.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";let n,d,l,h=e=>e;customElements.define("foxy-internal-integer-control",class extends e{constructor(){super(...arguments),this.showControls=!1,this.prefix=null,this.suffix=null,this.min=null,this.max=null}static get properties(){return r(r({},super.properties),{},{showControls:{type:Boolean,attribute:"show-controls"},prefix:{},suffix:{},min:{type:Number},max:{type:Number}})}renderControl(){var e,r;return i(n||(n=h` <vaadin-integer-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" min="${0}" max="${0}" ?has-controls="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" clear-button-visible @keydown="${0}" @change="${0}"> ${0} ${0} </vaadin-integer-field> `),t(this._errorMessage),this.placeholder,this.helperText,this.label,t(null!==(e=this.min)&&void 0!==e?e:void 0),t(null!==(r=this.max)&&void 0!==r?r:void 0),this.showControls,this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var r;return"Enter"===e.key&&(null===(r=this.nucleon)||void 0===r?void 0:r.submit())}),(e=>{const r=e.currentTarget;this._value=parseInt(r.value)}),this.prefix?i(d||(d=h`<div slot="prefix">${0}</div>`),this.prefix):"",this.suffix?i(l||(l=h`<div class="pr-s font-medium" slot="suffix">${0}</div>`),this.suffix):"")}});let m,p=e=>e;const f=a(o,"generate-codes-form");class c extends f{constructor(){super(...arguments),this.__exampleGetValue=()=>{var e,r;const s=null!==(e=this.form.prefix)&&void 0!==e?e:"",t=(null!==(r=this.form.length)&&void 0!==r?r:6)-s.length;if(t>0)return["1V3BJ3USJKSS1BYANMNBT7AJ06R6QQ8RB0VPPL03ATQVY186X2","P4YNSW7NSSAY43PL4H7BKHDUVNAE9UR13FC0XAAJHDLZWW8AJC","7DGT4Q91FV4KK095WLX1ML1HFNU6ZCGVBVPMGR7D3P52A9UFTB"].map((e=>`${s}${e.slice(0,t)}`)).join("\n")}}static get v8n(){return[({prefix:e="",length:r=6})=>r-e.length>0&&r<=50&&!(null==e?void 0:e.includes(" "))||"error:invalid_form"]}get readonlySelector(){const e=["example",super.readonlySelector.toString()];return this.href&&e.push("length number-of-codes current-balance prefix"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("delete timestamps"),this.href&&e.push("example"),this.errors.includes("error:invalid_form")&&e.push("example"),new s(e.join(" ").trim())}renderBody(){return i(m||(m=p` <foxy-internal-text-control infer="prefix"></foxy-internal-text-control> <div class="grid grid-cols-2 gap-m"> <foxy-internal-integer-control infer="length" min="1"></foxy-internal-integer-control> <foxy-internal-integer-control infer="number-of-codes" min="1"> </foxy-internal-integer-control> </div> <foxy-internal-number-control infer="current-balance" min="0"></foxy-internal-number-control> <foxy-internal-source-control infer="example" .getValue="${0}"> </foxy-internal-source-control> ${0} `),this.__exampleGetValue,super.renderBody())}async _sendPost(e){const r=JSON.stringify(e),s=await this._fetch(this.parent,{body:r,method:"POST"});return this.status={key:"success"},s}}customElements.define("foxy-generate-codes-form",c);export{c as GenerateCodesForm};
@@ -1 +1 @@
1
- import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-f03cfb48.js";import{h as t}from"./shared-ba5c42c7.js";import{C as e}from"./shared-41c9c53f.js";import{N as s}from"./shared-fd8b44e3.js";import{T as i,a as r}from"./shared-8368423a.js";import{c as a}from"./shared-4e709717.js";import"./shared-22168ef7.js";import"./shared-641c8ca6.js";import"./shared-45ae3485.js";import"./shared-202cd296.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-53e42a77.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";let d,o,n,l,c,p=t=>t;const h=i(e(r(s,"gift-card-card")));class m extends h{render(){var e,s;const i=this.hiddenSelector;return t(d||(d=p` <div aria-busy="${0}" aria-live="polite" class="relative leading-s font-lumo text-m"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),a({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("status",!0)?"":this.__renderStatus(),a({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(s=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"")}__renderTitle(){var e,s,i,r;const a=null!==(s=null===(e=this.data)||void 0===e?void 0:e.name)&&void 0!==s?s:t(o||(o=p`&ZeroWidthSpace;`)),d=null!==(r=null===(i=this.data)||void 0===i?void 0:i.currency_code)&&void 0!==r?r:t(n||(n=p`&ZeroWidthSpace;`));return t(l||(l=p` <div data-testid="title"> ${0} <div class="flex items-center justify-between"> <div class="font-medium truncate">${0}</div> <div class="text-tertiary uppercase text-s flex-shrink-0">${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),a,d,this.renderTemplateOrSlot("title:after"))}__renderStatus(){var e;const s=null===(e=this.data)||void 0===e?void 0:e.expires_after;return t(c||(c=p` <div data-testid="status"> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-secondary" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),JSON.stringify({value:s}),this.lang,s?"expires_after_value":"never_expires",this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-gift-card-card",m);export{m as GiftCardCard};
1
+ import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-26b55da2.js";import{h as t}from"./shared-ba5c42c7.js";import{C as e}from"./shared-41c9c53f.js";import{N as s}from"./shared-fd8b44e3.js";import{T as i,a as r}from"./shared-328aa161.js";import{c as a}from"./shared-4e709717.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-53e42a77.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";let d,o,n,l,p,c=t=>t;const h=i(e(r(s,"gift-card-card")));class m extends h{render(){var e,s;const i=this.hiddenSelector;return t(d||(d=c` <div aria-busy="${0}" aria-live="polite" class="relative leading-s font-lumo text-m"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),a({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("status",!0)?"":this.__renderStatus(),a({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(s=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"")}__renderTitle(){var e,s,i,r;const a=null!==(s=null===(e=this.data)||void 0===e?void 0:e.name)&&void 0!==s?s:t(o||(o=c`&ZeroWidthSpace;`)),d=null!==(r=null===(i=this.data)||void 0===i?void 0:i.currency_code)&&void 0!==r?r:t(n||(n=c`&ZeroWidthSpace;`));return t(l||(l=c` <div data-testid="title"> ${0} <div class="flex items-center justify-between"> <div class="font-medium truncate">${0}</div> <div class="text-tertiary uppercase text-s flex-shrink-0">${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),a,d,this.renderTemplateOrSlot("title:after"))}__renderStatus(){var e;const s=null===(e=this.data)||void 0===e?void 0:e.expires_after;return t(p||(p=c` <div data-testid="status"> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-secondary" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),JSON.stringify({value:s}),this.lang,s?"expires_after_value":"never_expires",this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-gift-card-card",m);export{m as GiftCardCard};
@@ -1 +1 @@
1
- import"./shared-14350c09.js";import"./foxy-nucleon-element.js";import"./shared-f03cfb48.js";import{a as e}from"./shared-8368423a.js";import{I as r}from"./shared-ffd0589e.js";import{i as t}from"./shared-53e42a77.js";import{h as s}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-22168ef7.js";import"./shared-641c8ca6.js";import"./shared-45ae3485.js";import"./shared-202cd296.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let o,d=e=>e;const i=e(r,"gift-card-code-card");class a extends i{constructor(){super(...arguments),this.__giftCardLoaderId="giftCardLoader",this.__storeLoaderId="storeLoader"}get isBodyReady(){var e,r;return super.isBodyReady&&!!(null===(e=this.__giftCardLoader)||void 0===e?void 0:e.data)&&!!(null===(r=this.__storeLoader)||void 0===r?void 0:r.data)}renderBody(){var e,r,i,a,n;const c=null===(e=this.__giftCardLoader)||void 0===e?void 0:e.data,f=null===(r=this.__storeLoader)||void 0===r?void 0:r.data;return s(o||(o=d` <section class="h-s flex flex-col justify-center leading-xs"> <p class="flex items-center justify-between min-w-0"> <foxy-i18n infer="" class="block truncate text-m font-medium" key="line_1" .options="${0}"> </foxy-i18n> <foxy-i18n infer="" class="text-s text-tertiary" key="current_balance" .options="${0}"> </foxy-i18n> </p> <p class="text-s text-secondary min-w-0"> <foxy-i18n infer="" class="block truncate" key="line_2" .options="${0}"> </foxy-i18n> </p> </section> <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.data,{currencyDisplay:(null==f?void 0:f.use_international_currency_symbol)?"code":"symbol",value:`${null===(i=this.data)||void 0===i?void 0:i.current_balance} ${null==c?void 0:c.currency_code}`},this.data,t(null===(a=this.data)||void 0===a?void 0:a._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()),t(null===(n=this.data)||void 0===n?void 0:n._links["fx:gift_card"].href),this.__giftCardLoaderId,(()=>this.requestUpdate()))}get __giftCardLoader(){return this.renderRoot.querySelector(`#${this.__giftCardLoaderId}`)}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}}customElements.define("foxy-gift-card-code-card",a);export{a as GiftCardCodeCard};
1
+ import"./shared-04277241.js";import"./foxy-nucleon-element.js";import"./shared-26b55da2.js";import{a as e}from"./shared-328aa161.js";import{I as r}from"./shared-de4ec7bb.js";import{i as t}from"./shared-53e42a77.js";import{h as s}from"./shared-ba5c42c7.js";import"./foxy-spinner.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-021fbb51.js";import"./shared-b0453b08.js";import"./shared-8f9014ff.js";import"./shared-930e68b7.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./shared-4e709717.js";let o,d=e=>e;const i=e(r,"gift-card-code-card");class a extends i{constructor(){super(...arguments),this.__giftCardLoaderId="giftCardLoader",this.__storeLoaderId="storeLoader"}get isBodyReady(){var e,r;return super.isBodyReady&&!!(null===(e=this.__giftCardLoader)||void 0===e?void 0:e.data)&&!!(null===(r=this.__storeLoader)||void 0===r?void 0:r.data)}renderBody(){var e,r,i,a,n;const c=null===(e=this.__giftCardLoader)||void 0===e?void 0:e.data,f=null===(r=this.__storeLoader)||void 0===r?void 0:r.data;return s(o||(o=d` <section class="h-s flex flex-col justify-center leading-xs"> <p class="flex items-center justify-between min-w-0"> <foxy-i18n infer="" class="block truncate text-m font-medium" key="line_1" .options="${0}"> </foxy-i18n> <foxy-i18n infer="" class="text-s text-tertiary" key="current_balance" .options="${0}"> </foxy-i18n> </p> <p class="text-s text-secondary min-w-0"> <foxy-i18n infer="" class="block truncate" key="line_2" .options="${0}"> </foxy-i18n> </p> </section> <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.data,{currencyDisplay:(null==f?void 0:f.use_international_currency_symbol)?"code":"symbol",value:`${null===(i=this.data)||void 0===i?void 0:i.current_balance} ${null==c?void 0:c.currency_code}`},this.data,t(null===(a=this.data)||void 0===a?void 0:a._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()),t(null===(n=this.data)||void 0===n?void 0:n._links["fx:gift_card"].href),this.__giftCardLoaderId,(()=>this.requestUpdate()))}get __giftCardLoader(){return this.renderRoot.querySelector(`#${this.__giftCardLoaderId}`)}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}}customElements.define("foxy-gift-card-code-card",a);export{a as GiftCardCodeCard};
@@ -1 +1 @@
1
- import"./shared-aae01ac0.js";import"./shared-f19f1940.js";import"./shared-89ad4177.js";import"./shared-f3a9ae84.js";import"./shared-cd9560d6.js";import"./shared-0cbd8bf4.js";import{I as e}from"./shared-6eb8aa92.js";import"./foxy-gift-card-code-log-card.js";import"./foxy-nucleon-element.js";import"./foxy-customer-card.js";import"./foxy-item-card.js";import{_ as r,B as t}from"./shared-8f9014ff.js";import{g as o}from"./shared-bab2ea2c.js";import{a as s}from"./shared-8368423a.js";import{T as a}from"./shared-8874ec69.js";import{i}from"./shared-53e42a77.js";import{h as d}from"./shared-ba5c42c7.js";import"./shared-b02a95f7.js";import"./shared-3b627ac8.js";import"./shared-45ae3485.js";import"./shared-0237985c.js";import"./shared-94de5e51.js";import"./shared-5212ef4f.js";import"./shared-f03cfb48.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./foxy-copy-to-clipboard.js";import"./shared-e7764ffb.js";import"./shared-22168ef7.js";import"./shared-641c8ca6.js";import"./shared-50b66625.js";import"./shared-202cd296.js";import"./foxy-form-dialog.js";import"./shared-c8af1e27.js";import"./shared-1cbf191b.js";import"./shared-4e709717.js";import"./shared-53e476fd.js";import"./shared-259870ee.js";import"./shared-9c36e563.js";import"./shared-2a151df4.js";import"./shared-84e81c06.js";import"./shared-e560a534.js";import"./shared-eb7895bd.js";import"./shared-d8ec7f12.js";import"./shared-e0cbe22a.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-5fd5805c.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-e85918c4.js";import"./shared-82e82763.js";import"./shared-b0e06a4b.js";import"./shared-37b0c0af.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";import"./shared-d0aed1c1.js";import"./shared-14350c09.js";import"./shared-ffd0589e.js";import"./shared-30530592.js";import"./shared-c84333db.js";let n,l=e=>e;const m=s(e,"gift-card-code-form");class c extends m{constructor(){super(...arguments),this.getTransactionPageHref=null,this.getCustomerHref=e=>`https://api.foxycart.com/customers/${e}`,this.__cartItemGetItemUrl=(e,r)=>{var t;let o=null;try{const e=null==r?void 0:r._links["fx:transaction"].href;e&&(o=null===(t=this.getTransactionPageHref)||void 0===t?void 0:t.call(this,e))}catch(e){console.log(e)}return null!=o?o:null},this.__customerGetValue=()=>{var e,r,t;const o=null===(t=null===(r=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===r?void 0:r["fx:customer"])||void 0===t?void 0:t.href,s=this.form.customer_id;return void 0===s?o:this.getCustomerHref(s)},this.__customerSetValue=e=>{const r=o(e);this.edit({customer_id:"number"==typeof r?r:""})},this.__customerFilters=[{type:a.String,path:"id",label:"filters.id"},{type:a.String,path:"tax_id",label:"filters.tax_id"},{type:a.String,path:"email",label:"filters.email"},{type:a.String,path:"first_name",label:"filters.first_name"},{type:a.String,path:"last_name",label:"filters.last_name"},{type:a.Boolean,path:"is_anonymous",label:"filters.is_anonymous",list:[{label:"filters.is_anonymous_true",value:"true"},{label:"filters.is_anonymous_false",value:"false"}]},{type:a.Date,path:"last_login_date",label:"filters.last_login_date"},{type:a.Date,path:"date_created",label:"filters.date_created"},{type:a.Date,path:"date_modified",label:"filters.date_modified"}],this.__storeLoaderId="storeLoader"}static get properties(){return r(r({},super.properties),{},{getTransactionPageHref:{attribute:!1},getCustomerHref:{attribute:!1}})}static get v8n(){return[({code:e})=>!!e||"code:v8n_required",({code:e})=>!e||e.length<=50||"code:v8n_too_long",({code:e})=>!(null==e?void 0:e.includes(" "))||"code:v8n_has_spaces",({current_balance:e})=>"number"==typeof e||"current-balance:v8n_required"]}get readonlySelector(){const e=[super.readonlySelector.toString(),"cart-item"];return new t(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.href||e.push("customer","cart-item","logs"),new t(e.join(" ").trim())}renderBody(){var e,r,t,o,s,a,m,c;let f;try{const o=new URL(null!==(t=null===(r=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===r?void 0:r["fx:provisioned_by_transaction_detail_id"].href)&&void 0!==t?t:"");o.searchParams.set("zoom","item_options"),f=o.toString()}catch(e){f=void 0}return d(n||(n=l` ${0} <foxy-internal-summary-control infer="settings"> <foxy-internal-text-control layout="summary-item" infer="code"></foxy-internal-text-control> <foxy-internal-number-control layout="summary-item" infer="current-balance"> </foxy-internal-number-control> <foxy-internal-date-control layout="summary-item" format="iso-long" infer="end-date"> </foxy-internal-date-control> </foxy-internal-summary-control> <foxy-internal-resource-picker-control infer="customer" first="${0}" item="foxy-customer-card" .getValue="${0}" .setValue="${0}" .filters="${0}"> </foxy-internal-resource-picker-control> <foxy-internal-resource-picker-control infer="cart-item" item="foxy-item-card" .getItemUrl="${0}" .getValue="${0}"> </foxy-internal-resource-picker-control> <foxy-internal-async-list-control infer="logs" first="${0}" limit="5" item="foxy-gift-card-code-log-card"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.renderHeader(),i(null===(s=null===(o=this.__storeLoader)||void 0===o?void 0:o.data)||void 0===s?void 0:s._links["fx:customers"].href),this.__customerGetValue,this.__customerSetValue,this.__customerFilters,this.__cartItemGetItemUrl,(()=>f),i(null===(m=null===(a=this.data)||void 0===a?void 0:a._links)||void 0===m?void 0:m["fx:gift_card_code_logs"].href),super.renderBody(),i(null===(c=this.data)||void 0===c?void 0:c._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()))}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}}customElements.define("foxy-gift-card-code-form",c);export{c as GiftCardCodeForm};
1
+ import"./shared-6e0eccb8.js";import"./shared-d9457718.js";import"./shared-591ee1bf.js";import"./shared-d01853e2.js";import"./shared-5078246e.js";import"./shared-a9a8eb7c.js";import{I as e}from"./shared-eadf0d23.js";import"./foxy-gift-card-code-log-card.js";import"./foxy-nucleon-element.js";import"./foxy-customer-card.js";import"./foxy-item-card.js";import{_ as r,B as t}from"./shared-8f9014ff.js";import{g as o}from"./shared-bab2ea2c.js";import{a as s}from"./shared-328aa161.js";import{T as a}from"./shared-8874ec69.js";import{i}from"./shared-53e42a77.js";import{h as d}from"./shared-ba5c42c7.js";import"./shared-be071e3d.js";import"./shared-b0db52f7.js";import"./shared-021fbb51.js";import"./shared-9a291941.js";import"./shared-9a454e09.js";import"./shared-5212ef4f.js";import"./shared-26b55da2.js";import"./shared-930e68b7.js";import"./shared-41c9c53f.js";import"./shared-fd8b44e3.js";import"./shared-69c98b7b.js";import"./shared-cd96ff03.js";import"./shared-da4f9115.js";import"./shared-9496e995.js";import"./shared-791b4510.js";import"./shared-0e19bda5.js";import"./foxy-copy-to-clipboard.js";import"./shared-1da8110b.js";import"./shared-18e301f2.js";import"./shared-8dd6e5cc.js";import"./shared-6880e1f6.js";import"./shared-b0453b08.js";import"./foxy-form-dialog.js";import"./shared-4cc1fb20.js";import"./shared-67aeac0f.js";import"./shared-4e709717.js";import"./shared-53e476fd.js";import"./shared-0ea24ca2.js";import"./shared-ad470adf.js";import"./shared-5fbbaea2.js";import"./shared-d48e260f.js";import"./shared-3c0e3876.js";import"./shared-ba43928a.js";import"./shared-910d49eb.js";import"./shared-097487d0.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-5fd5805c.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-1301af85.js";import"./shared-f9bb0924.js";import"./shared-fc6e64a4.js";import"./shared-83613f15.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";import"./shared-d0aed1c1.js";import"./shared-04277241.js";import"./shared-de4ec7bb.js";import"./shared-56a16e03.js";import"./shared-c84333db.js";let n,l=e=>e;const m=s(e,"gift-card-code-form");class c extends m{constructor(){super(...arguments),this.getTransactionPageHref=null,this.getCustomerHref=e=>`https://api.foxycart.com/customers/${e}`,this.__cartItemGetItemUrl=(e,r)=>{var t;let o=null;try{const e=null==r?void 0:r._links["fx:transaction"].href;e&&(o=null===(t=this.getTransactionPageHref)||void 0===t?void 0:t.call(this,e))}catch(e){console.log(e)}return null!=o?o:null},this.__customerGetValue=()=>{var e,r,t;const o=null===(t=null===(r=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===r?void 0:r["fx:customer"])||void 0===t?void 0:t.href,s=this.form.customer_id;return void 0===s?o:this.getCustomerHref(s)},this.__customerSetValue=e=>{const r=o(e);this.edit({customer_id:"number"==typeof r?r:""})},this.__customerFilters=[{type:a.String,path:"id",label:"filters.id"},{type:a.String,path:"tax_id",label:"filters.tax_id"},{type:a.String,path:"email",label:"filters.email"},{type:a.String,path:"first_name",label:"filters.first_name"},{type:a.String,path:"last_name",label:"filters.last_name"},{type:a.Boolean,path:"is_anonymous",label:"filters.is_anonymous",list:[{label:"filters.is_anonymous_true",value:"true"},{label:"filters.is_anonymous_false",value:"false"}]},{type:a.Date,path:"last_login_date",label:"filters.last_login_date"},{type:a.Date,path:"date_created",label:"filters.date_created"},{type:a.Date,path:"date_modified",label:"filters.date_modified"}],this.__storeLoaderId="storeLoader"}static get properties(){return r(r({},super.properties),{},{getTransactionPageHref:{attribute:!1},getCustomerHref:{attribute:!1}})}static get v8n(){return[({code:e})=>!!e||"code:v8n_required",({code:e})=>!e||e.length<=50||"code:v8n_too_long",({code:e})=>!(null==e?void 0:e.includes(" "))||"code:v8n_has_spaces",({current_balance:e})=>"number"==typeof e||"current-balance:v8n_required"]}get readonlySelector(){const e=[super.readonlySelector.toString(),"cart-item"];return new t(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.href||e.push("customer","cart-item","logs"),new t(e.join(" ").trim())}renderBody(){var e,r,t,o,s,a,m,c;let f;try{const o=new URL(null!==(t=null===(r=null===(e=this.data)||void 0===e?void 0:e._links)||void 0===r?void 0:r["fx:provisioned_by_transaction_detail_id"].href)&&void 0!==t?t:"");o.searchParams.set("zoom","item_options"),f=o.toString()}catch(e){f=void 0}return d(n||(n=l` ${0} <foxy-internal-summary-control infer="settings"> <foxy-internal-text-control layout="summary-item" infer="code"></foxy-internal-text-control> <foxy-internal-number-control layout="summary-item" infer="current-balance"> </foxy-internal-number-control> <foxy-internal-date-control layout="summary-item" format="iso-long" infer="end-date"> </foxy-internal-date-control> </foxy-internal-summary-control> <foxy-internal-resource-picker-control infer="customer" first="${0}" item="foxy-customer-card" .getValue="${0}" .setValue="${0}" .filters="${0}"> </foxy-internal-resource-picker-control> <foxy-internal-resource-picker-control infer="cart-item" item="foxy-item-card" .getItemUrl="${0}" .getValue="${0}"> </foxy-internal-resource-picker-control> <foxy-internal-async-list-control infer="logs" first="${0}" limit="5" item="foxy-gift-card-code-log-card"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.renderHeader(),i(null===(s=null===(o=this.__storeLoader)||void 0===o?void 0:o.data)||void 0===s?void 0:s._links["fx:customers"].href),this.__customerGetValue,this.__customerSetValue,this.__customerFilters,this.__cartItemGetItemUrl,(()=>f),i(null===(m=null===(a=this.data)||void 0===a?void 0:a._links)||void 0===m?void 0:m["fx:gift_card_code_logs"].href),super.renderBody(),i(null===(c=this.data)||void 0===c?void 0:c._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()))}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}}customElements.define("foxy-gift-card-code-form",c);export{c as GiftCardCodeForm};