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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-api-browser.js +1 -1
  6. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  8. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  9. package/dist/cdn/foxy-attribute-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-form.js +1 -1
  11. package/dist/cdn/foxy-billing-address-card.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  15. package/dist/cdn/foxy-client-card.js +1 -1
  16. package/dist/cdn/foxy-client-form.js +1 -1
  17. package/dist/cdn/foxy-collection-page.js +1 -1
  18. package/dist/cdn/foxy-collection-pages.js +1 -1
  19. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  20. package/dist/cdn/foxy-coupon-card.js +1 -1
  21. package/dist/cdn/foxy-coupon-code-card.js +1 -0
  22. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  23. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  25. package/dist/cdn/foxy-coupon-form.js +1 -1
  26. package/dist/cdn/foxy-custom-field-card.js +1 -1
  27. package/dist/cdn/foxy-custom-field-form.js +1 -1
  28. package/dist/cdn/foxy-customer-api.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +2 -2
  34. package/dist/cdn/foxy-customer.js +3 -3
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +2 -2
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -0
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +2 -2
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +1 -1
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-nucleon-element.js +1 -1
  69. package/dist/cdn/foxy-pagination.js +1 -1
  70. package/dist/cdn/foxy-passkey-card.js +1 -1
  71. package/dist/cdn/foxy-passkey-form.js +1 -1
  72. package/dist/cdn/foxy-payment-card.js +1 -1
  73. package/dist/cdn/foxy-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  80. package/dist/cdn/foxy-payments-api.js +1 -1
  81. package/dist/cdn/foxy-query-builder.js +64 -1
  82. package/dist/cdn/foxy-report-form.js +1 -1
  83. package/dist/cdn/foxy-reports-table.js +1 -1
  84. package/dist/cdn/foxy-shipment-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  86. package/dist/cdn/foxy-sign-in-form.js +1 -1
  87. package/dist/cdn/foxy-spinner.js +2 -2
  88. package/dist/cdn/foxy-store-card.js +1 -1
  89. package/dist/cdn/foxy-store-form.js +1 -1
  90. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  91. package/dist/cdn/foxy-subscription-card.js +1 -1
  92. package/dist/cdn/foxy-subscription-form.js +1 -1
  93. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  94. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  95. package/dist/cdn/foxy-table.js +1 -1
  96. package/dist/cdn/foxy-tax-card.js +1 -1
  97. package/dist/cdn/foxy-tax-form.js +1 -1
  98. package/dist/cdn/foxy-template-config-form.js +1 -1
  99. package/dist/cdn/foxy-template-form.js +1 -1
  100. package/dist/cdn/foxy-template-set-card.js +1 -1
  101. package/dist/cdn/foxy-template-set-form.js +1 -1
  102. package/dist/cdn/foxy-transaction-card.js +1 -1
  103. package/dist/cdn/foxy-transaction.js +1 -1
  104. package/dist/cdn/foxy-transactions-table.js +1 -1
  105. package/dist/cdn/foxy-user-card.js +1 -1
  106. package/dist/cdn/foxy-user-form.js +1 -1
  107. package/dist/cdn/foxy-users-table.js +1 -1
  108. package/dist/cdn/foxy-webhook-card.js +1 -1
  109. package/dist/cdn/foxy-webhook-form.js +1 -1
  110. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  111. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  112. package/dist/cdn/{shared-59a5edee.js → shared-018d5724.js} +9 -9
  113. package/dist/cdn/{shared-92cdd504.js → shared-03673673.js} +1 -1
  114. package/dist/cdn/{shared-20c4310b.js → shared-07e7d118.js} +1 -1
  115. package/dist/cdn/{shared-46454866.js → shared-0a8161e5.js} +4 -4
  116. package/dist/cdn/{shared-48b76c74.js → shared-0a9d860d.js} +1 -1
  117. package/dist/cdn/{shared-f03dacf5.js → shared-0f59fd6a.js} +1 -1
  118. package/dist/cdn/{shared-a73e7be4.js → shared-122cccac.js} +1 -1
  119. package/dist/cdn/{shared-03ccfd62.js → shared-186e41cf.js} +1 -1
  120. package/dist/cdn/shared-18918efe.js +1 -0
  121. package/dist/cdn/shared-18bfe97c.js +1 -0
  122. package/dist/cdn/{shared-e4e0dc11.js → shared-1e7639e6.js} +1 -1
  123. package/dist/cdn/shared-2314add3.js +12 -0
  124. package/dist/cdn/{shared-931db653.js → shared-25198d9a.js} +1 -1
  125. package/dist/cdn/{shared-6a998243.js → shared-285f8cee.js} +21 -27
  126. package/dist/cdn/shared-28be347b.js +10 -0
  127. package/dist/cdn/{shared-6af480b8.js → shared-2b5a3c80.js} +1 -1
  128. package/dist/cdn/{shared-4fd17baf.js → shared-3cabd589.js} +1 -1
  129. package/dist/cdn/{shared-7ff496f6.js → shared-412c19c2.js} +1 -1
  130. package/dist/cdn/shared-467e5b06.js +1 -0
  131. package/dist/cdn/shared-482b2b86.js +1 -0
  132. package/dist/cdn/{shared-e52280d9.js → shared-4affec66.js} +1 -1
  133. package/dist/cdn/{shared-4877ed05.js → shared-4c611015.js} +2 -2
  134. package/dist/cdn/{shared-f2a8fb36.js → shared-4c7a8fcc.js} +1 -1
  135. package/dist/cdn/shared-540063aa.js +88 -0
  136. package/dist/cdn/{shared-18d109f5.js → shared-55630cac.js} +1 -1
  137. package/dist/cdn/{shared-b81aa01c.js → shared-584df8a8.js} +1 -1
  138. package/dist/cdn/shared-5875cb66.js +1 -0
  139. package/dist/cdn/{shared-9db9528b.js → shared-58951f74.js} +15 -15
  140. package/dist/cdn/{shared-fcaf15e5.js → shared-5debeb1b.js} +1 -1
  141. package/dist/cdn/{shared-6e977271.js → shared-612ea9ed.js} +1 -1
  142. package/dist/cdn/{shared-d4322854.js → shared-62e9c883.js} +1 -1
  143. package/dist/cdn/shared-6586ffd5.js +1 -0
  144. package/dist/cdn/{shared-205721a3.js → shared-684cd55a.js} +1 -1
  145. package/dist/cdn/{shared-7e201abd.js → shared-6b68b3b6.js} +1 -1
  146. package/dist/cdn/{shared-6be0a096.js → shared-6cd4e618.js} +1 -1
  147. package/dist/cdn/{shared-4329ffa1.js → shared-739f24fe.js} +1 -1
  148. package/dist/cdn/{shared-bf132324.js → shared-75d13e1b.js} +1 -1
  149. package/dist/cdn/{shared-89b42eef.js → shared-77258081.js} +1 -1
  150. package/dist/cdn/{shared-250e652f.js → shared-79d35787.js} +1 -1
  151. package/dist/cdn/{shared-724e9a20.js → shared-7b2bd917.js} +1 -1
  152. package/dist/cdn/{shared-97793410.js → shared-7f60c1c1.js} +1 -1
  153. package/dist/cdn/{shared-56addb06.js → shared-7ff78b4a.js} +1 -1
  154. package/dist/cdn/{shared-dccfe5e7.js → shared-8258443c.js} +1 -1
  155. package/dist/cdn/{shared-8a04bea3.js → shared-851a7db5.js} +1 -1
  156. package/dist/cdn/shared-8874ec69.js +1 -0
  157. package/dist/cdn/shared-8a247f48.js +1 -0
  158. package/dist/cdn/{shared-8778d784.js → shared-8b521111.js} +1 -1
  159. package/dist/cdn/shared-90877857.js +1 -0
  160. package/dist/cdn/shared-90cbed56.js +32 -0
  161. package/dist/cdn/{shared-039de1fd.js → shared-91c88f14.js} +1 -1
  162. package/dist/cdn/{shared-0e5ea9cf.js → shared-99e354b1.js} +1 -1
  163. package/dist/cdn/{shared-51ac503d.js → shared-9cfef94a.js} +1 -1
  164. package/dist/cdn/{shared-845f8bf1.js → shared-a24b2aa7.js} +1 -1
  165. package/dist/cdn/{shared-a0cbfb2f.js → shared-ad11b006.js} +1 -1
  166. package/dist/cdn/{shared-f7a5b12a.js → shared-b2fd98e6.js} +1 -1
  167. package/dist/cdn/{shared-11014aad.js → shared-b3db7611.js} +1 -1
  168. package/dist/cdn/{shared-872151f5.js → shared-b900e1b5.js} +1 -1
  169. package/dist/cdn/{shared-3cbcd9cb.js → shared-b9ea6d85.js} +1 -1
  170. package/dist/cdn/{shared-1122a125.js → shared-bb1d162b.js} +1 -1
  171. package/dist/cdn/{shared-6ef4ce19.js → shared-bd919e3b.js} +1 -1
  172. package/dist/cdn/{shared-d15c3e2d.js → shared-be0fca15.js} +1 -1
  173. package/dist/cdn/{shared-8dd03329.js → shared-cdf873d4.js} +1 -1
  174. package/dist/cdn/{shared-82435697.js → shared-d10d6cba.js} +1 -1
  175. package/dist/cdn/shared-d222bd1e.js +6 -0
  176. package/dist/cdn/{shared-1b0992cc.js → shared-d56a3799.js} +5 -5
  177. package/dist/cdn/{shared-8cd0f36d.js → shared-d72e87ee.js} +1 -1
  178. package/dist/cdn/{shared-1d257548.js → shared-da2e66a4.js} +1 -1
  179. package/dist/cdn/{shared-bc95d87e.js → shared-ea5fa631.js} +1 -1
  180. package/dist/cdn/{shared-abf72e2f.js → shared-ee13d85c.js} +3 -3
  181. package/dist/cdn/shared-f0fcd613.js +1 -0
  182. package/dist/cdn/{shared-2c70f0b6.js → shared-f4bb452b.js} +1 -1
  183. package/dist/cdn/{shared-3277bbf5.js → shared-f7c60ee0.js} +1 -1
  184. package/dist/cdn/{shared-5c542149.js → shared-fc5ace3b.js} +1 -1
  185. package/dist/cdn/shared-fe45779e.js +1 -0
  186. package/dist/cdn/translations/coupon-code-card/en.json +11 -0
  187. package/dist/cdn/translations/coupon-form/en.json +522 -297
  188. package/dist/cdn/translations/gift-card-code-card/en.json +10 -0
  189. package/dist/cdn/translations/gift-card-code-form/en.json +86 -0
  190. package/dist/cdn/translations/gift-card-form/en.json +638 -397
  191. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +10 -0
  192. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +95 -8
  193. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  194. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.d.ts +11 -0
  195. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js +57 -0
  196. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControlFilterOverlay.js.map +1 -0
  197. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +1 -0
  198. package/dist/elements/internal/InternalAsyncListControl/index.js +3 -0
  199. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -1
  200. package/dist/elements/internal/InternalAsyncListControl/types.d.ts +8 -0
  201. package/dist/elements/internal/InternalAsyncListControl/types.js +2 -0
  202. package/dist/elements/internal/InternalAsyncListControl/types.js.map +1 -0
  203. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.d.ts +23 -0
  204. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js +224 -0
  205. package/dist/elements/internal/InternalAsyncResourceLinkListControl/InternalAsyncResourceLinkListControl.js.map +1 -0
  206. package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.d.ts +8 -0
  207. package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js +10 -0
  208. package/dist/elements/internal/InternalAsyncResourceLinkListControl/index.js.map +1 -0
  209. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.d.ts +10 -0
  210. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js +49 -0
  211. package/dist/elements/internal/InternalBulkAddActionControl/InternalBulkAddActionControl.js.map +1 -0
  212. package/dist/elements/internal/InternalBulkAddActionControl/index.d.ts +6 -0
  213. package/dist/elements/internal/InternalBulkAddActionControl/index.js +8 -0
  214. package/dist/elements/internal/InternalBulkAddActionControl/index.js.map +1 -0
  215. package/dist/elements/internal/InternalForm/InternalForm.d.ts +10 -0
  216. package/dist/elements/internal/InternalForm/InternalForm.js +44 -0
  217. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  218. package/dist/elements/internal/InternalForm/index.d.ts +2 -0
  219. package/dist/elements/internal/InternalForm/index.js +2 -0
  220. package/dist/elements/internal/InternalForm/index.js.map +1 -1
  221. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +1 -0
  222. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +3 -0
  223. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  224. package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.d.ts +10 -0
  225. package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.js +51 -0
  226. package/dist/elements/internal/InternalQueryBuilderControl/InternalQueryBuilderControl.js.map +1 -0
  227. package/dist/elements/internal/InternalQueryBuilderControl/index.d.ts +4 -0
  228. package/dist/elements/internal/InternalQueryBuilderControl/index.js +6 -0
  229. package/dist/elements/internal/InternalQueryBuilderControl/index.js.map +1 -0
  230. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.d.ts +16 -0
  231. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js +167 -0
  232. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControl.js.map +1 -0
  233. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.d.ts +14 -0
  234. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +40 -0
  235. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -0
  236. package/dist/elements/internal/InternalResourcePickerControl/index.d.ts +6 -0
  237. package/dist/elements/internal/InternalResourcePickerControl/index.js +10 -0
  238. package/dist/elements/internal/InternalResourcePickerControl/index.js.map +1 -0
  239. package/dist/elements/public/CartForm/CartForm.js +81 -81
  240. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  241. package/dist/elements/public/CouponCodeCard/CouponCodeCard.d.ts +16 -0
  242. package/dist/elements/public/CouponCodeCard/CouponCodeCard.js +41 -0
  243. package/dist/elements/public/CouponCodeCard/CouponCodeCard.js.map +1 -0
  244. package/dist/elements/public/CouponCodeCard/index.d.ts +4 -0
  245. package/dist/elements/public/CouponCodeCard/index.js +6 -0
  246. package/dist/elements/public/CouponCodeCard/index.js.map +1 -0
  247. package/dist/elements/public/CouponCodeCard/types.d.ts +3 -0
  248. package/dist/elements/public/CouponCodeCard/types.js +2 -0
  249. package/dist/elements/public/CouponCodeCard/types.js.map +1 -0
  250. package/dist/elements/public/CouponForm/CouponForm.d.ts +65 -41
  251. package/dist/elements/public/CouponForm/CouponForm.js +322 -1035
  252. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  253. package/dist/elements/public/CouponForm/index.d.ts +15 -16
  254. package/dist/elements/public/CouponForm/index.js +15 -16
  255. package/dist/elements/public/CouponForm/index.js.map +1 -1
  256. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.d.ts +7 -0
  257. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.js +141 -0
  258. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/InternalCouponFormRulesControl.js.map +1 -0
  259. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.d.ts +6 -0
  260. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.js +8 -0
  261. package/dist/elements/public/CouponForm/internal/InternalCouponFormRulesControl/index.js.map +1 -0
  262. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js +7 -9
  263. package/dist/elements/public/CustomerPortalSettingsForm/CustomerPortalSettingsForm.js.map +1 -1
  264. package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.d.ts +1 -0
  265. package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.js +9 -0
  266. package/dist/elements/public/CustomerPortalSettingsForm/toOrigin.js.map +1 -0
  267. package/dist/elements/public/DownloadableForm/DownloadableForm.js +9 -9
  268. package/dist/elements/public/DownloadableForm/DownloadableForm.js.map +1 -1
  269. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.d.ts +21 -0
  270. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js +78 -0
  271. package/dist/elements/public/GiftCardCodeCard/GiftCardCodeCard.js.map +1 -0
  272. package/dist/elements/public/GiftCardCodeCard/index.d.ts +5 -0
  273. package/dist/elements/public/GiftCardCodeCard/index.js +7 -0
  274. package/dist/elements/public/GiftCardCodeCard/index.js.map +1 -0
  275. package/dist/elements/public/GiftCardCodeCard/types.d.ts +3 -0
  276. package/dist/elements/public/GiftCardCodeCard/types.js +2 -0
  277. package/dist/elements/public/GiftCardCodeCard/types.js.map +1 -0
  278. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +12 -0
  279. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +69 -4
  280. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  281. package/dist/elements/public/GiftCardCodeForm/index.d.ts +2 -0
  282. package/dist/elements/public/GiftCardCodeForm/index.js +2 -0
  283. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  284. package/dist/elements/public/GiftCardCodeForm/types.d.ts +5 -1
  285. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -1
  286. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +22 -28
  287. package/dist/elements/public/GiftCardForm/GiftCardForm.js +183 -633
  288. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  289. package/dist/elements/public/GiftCardForm/index.d.ts +13 -12
  290. package/dist/elements/public/GiftCardForm/index.js +13 -12
  291. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  292. package/dist/elements/public/GiftCardForm/types.d.ts +2 -27
  293. package/dist/elements/public/GiftCardForm/types.js.map +1 -1
  294. package/dist/elements/public/I18n/format/discount.js +9 -2
  295. package/dist/elements/public/I18n/format/discount.js.map +1 -1
  296. package/dist/elements/public/I18n/format/ordinal.js +6 -2
  297. package/dist/elements/public/I18n/format/ordinal.js.map +1 -1
  298. package/dist/elements/public/IntegrationForm/IntegrationForm.js +8 -6
  299. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -1
  300. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +27 -27
  301. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
  302. package/dist/elements/public/QueryBuilder/QueryBuilder.d.ts +4 -0
  303. package/dist/elements/public/QueryBuilder/QueryBuilder.js +10 -2
  304. package/dist/elements/public/QueryBuilder/QueryBuilder.js.map +1 -1
  305. package/dist/elements/public/QueryBuilder/components/Group.d.ts +3 -1
  306. package/dist/elements/public/QueryBuilder/components/Group.js +8 -1
  307. package/dist/elements/public/QueryBuilder/components/Group.js.map +1 -1
  308. package/dist/elements/public/QueryBuilder/components/OperatorToggle.d.ts +2 -1
  309. package/dist/elements/public/QueryBuilder/components/OperatorToggle.js +5 -4
  310. package/dist/elements/public/QueryBuilder/components/OperatorToggle.js.map +1 -1
  311. package/dist/elements/public/QueryBuilder/components/Rule.d.ts +3 -1
  312. package/dist/elements/public/QueryBuilder/components/Rule.js +2 -1
  313. package/dist/elements/public/QueryBuilder/components/Rule.js.map +1 -1
  314. package/dist/elements/public/StoreForm/StoreForm.js +7 -8
  315. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  316. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +28 -28
  317. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -1
  318. package/dist/elements/public/index.d.ts +2 -0
  319. package/dist/elements/public/index.defined.d.ts +2 -0
  320. package/dist/elements/public/index.defined.js +2 -0
  321. package/dist/elements/public/index.defined.js.map +1 -1
  322. package/dist/elements/public/index.js +2 -0
  323. package/dist/elements/public/index.js.map +1 -1
  324. package/dist/mixins/inferrable.js +8 -3
  325. package/dist/mixins/inferrable.js.map +1 -1
  326. package/package.json +2 -2
  327. package/dist/cdn/shared-0f49d9c3.js +0 -1
  328. package/dist/cdn/shared-20f65e73.js +0 -1
  329. package/dist/cdn/shared-27c7514d.js +0 -1
  330. package/dist/cdn/shared-4fb9d21f.js +0 -1
  331. package/dist/cdn/shared-6350f7d9.js +0 -1
  332. package/dist/cdn/shared-669decee.js +0 -1
  333. package/dist/cdn/shared-afefe2ac.js +0 -113
  334. package/dist/cdn/shared-b33fd700.js +0 -1
  335. package/dist/cdn/shared-b51b9df7.js +0 -64
  336. package/dist/cdn/shared-b914895b.js +0 -1
  337. package/dist/cdn/shared-bfeff3bb.js +0 -1
  338. package/dist/cdn/shared-cce18690.js +0 -1
  339. package/dist/cdn/shared-d04dd602.js +0 -20
  340. package/dist/cdn/shared-df58b901.js +0 -1
  341. package/dist/cdn/shared-e07b24ca.js +0 -1
  342. package/dist/elements/private/EditableList/EditableList.d.ts +0 -23
  343. package/dist/elements/private/EditableList/EditableList.js +0 -127
  344. package/dist/elements/private/EditableList/EditableList.js.map +0 -1
  345. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.d.ts +0 -20
  346. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js +0 -99
  347. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js.map +0 -1
  348. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.d.ts +0 -18
  349. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js +0 -50
  350. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js.map +0 -1
  351. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.d.ts +0 -18
  352. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js +0 -53
  353. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js.map +0 -1
  354. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.d.ts +0 -20
  355. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js +0 -99
  356. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js.map +0 -1
  357. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.d.ts +0 -18
  358. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js +0 -50
  359. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js.map +0 -1
  360. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.d.ts +0 -18
  361. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js +0 -53
  362. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js.map +0 -1
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import{_ as e}from"./shared-11014aad.js";import{h as t}from"./shared-dc73b9a5.js";import{a as s}from"./shared-56addb06.js";import{C as r}from"./shared-6af480b8.js";import{F as a}from"./shared-343d1fd7.js";import{N as i}from"./shared-4fb9d21f.js";import{r as n}from"./shared-a0c6a159.js";import{s as o}from"./shared-99940888.js";import"./shared-7e201abd.js";import"./shared-48b76c74.js";import"./shared-1d257548.js";import"./shared-669decee.js";import"./shared-4fd17baf.js";import"./shared-9803aa7c.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";let l,d=e=>e;const h=r(s(i));class p extends h{constructor(){super(),this.props={},this.__pageFetchEventHandler=e=>this.__handlePageFetchEvent(e),this.item="foxy-null"}static get properties(){return e(e({},super.properties),{},{props:{type:Object},item:{type:String}})}get item(){return this.__item}set item(e){const t=null!=e?e:"foxy-null";this.__renderItem="string"==typeof t?new Function("ctx",`return ctx.html\`\n <${t}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n data-testclass="items"\n related=\${JSON.stringify(ctx.related)}\n parent=\${ctx.parent}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${t}')?.defaultNS ?? ''}"\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .simplifyNsLoading=\${ctx.simplifyNsLoading}\n .templates=\${ctx.templates}\n ...=\${ctx.spread(ctx.props)}\n >\n </${t}>\``):t,this.__item=e,this.requestUpdate()}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__pageFetchEventHandler)}render(){let e=[];return e=this.in("busy")?[{key:"stalled",href:"foxy://collection-page/stall",data:null}]:this.in("fail")?[{key:"failed",href:"foxy://collection-page/fail",data:null}]:this.in({idle:"template"})||0===this.__items.length?[{key:"empty",href:"",data:null}]:this.__items.map((e=>({key:e._links.self.href,href:e._links.self.href,data:e}))),t(l||(l=d`${0}`),n(e,(e=>e.key),((s,r)=>{var a,i,n,l,d;return null===(a=this.__renderItem)||void 0===a?void 0:a.call(this,{simplifyNsLoading:this.simplifyNsLoading,disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,previous:null!==(n=null===(i=e[r-1])||void 0===i?void 0:i.data)&&void 0!==n?n:null,related:this.related,hidden:this.hidden,parent:this.href,spread:o,props:this.props,group:this.group,lang:this.lang,data:s.data,href:s.href,next:null!==(d=null===(l=e[r+1])||void 0===l?void 0:l.data)&&void 0!==d?d:null,ns:this.ns,html:t})})))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__pageFetchEventHandler)}get __items(){var e,t;return Array.from(Object.values(null!==(t=null===(e=this.form)||void 0===e?void 0:e._embedded)&&void 0!==t?t:{})).reduce(((e,t)=>[...e,...t]),[])}__handlePageFetchEvent(e){if(!(e instanceof a)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-page/stall"===s?this.__stallRequest(e):"foxy://collection-page/fail"===s?this.__failRequest(e):void 0:void 0}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(new Response(null,{status:500})))}}customElements.define("foxy-collection-page",p);export{p as CollectionPage};
1
+ import"./foxy-spinner.js";import{_ as e}from"./shared-b3db7611.js";import{h as t}from"./shared-dc73b9a5.js";import{a as s}from"./shared-7ff78b4a.js";import{C as r}from"./shared-2b5a3c80.js";import{F as i}from"./shared-343d1fd7.js";import{N as n}from"./shared-fe45779e.js";import{r as a}from"./shared-a0c6a159.js";import{s as o}from"./shared-99940888.js";import"./shared-6b68b3b6.js";import"./shared-0a9d860d.js";import"./shared-da2e66a4.js";import"./shared-6586ffd5.js";import"./shared-3cabd589.js";import"./shared-9803aa7c.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";let l,d=e=>e;const h=r(s(n));class p extends h{constructor(){super(),this.props={},this.__pageFetchEventHandler=e=>this.__handlePageFetchEvent(e),this.item="foxy-null"}static get properties(){return e(e({},super.properties),{},{props:{type:Object},item:{type:String}})}get item(){return this.__item}set item(e){const t=null!=e?e:"foxy-null";this.__renderItem="string"==typeof t?new Function("ctx",`return ctx.html\`\n <${t}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n data-testclass="items"\n related=\${JSON.stringify(ctx.related)}\n parent=\${ctx.parent}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${t}')?.defaultNS ?? ''}"\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .simplifyNsLoading=\${ctx.simplifyNsLoading}\n .templates=\${ctx.templates}\n ...=\${ctx.spread(ctx.props)}\n >\n </${t}>\``):t,this.__item=e,this.requestUpdate()}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__pageFetchEventHandler)}render(){let e=[];return e=this.in("busy")?[{key:"stalled",href:"foxy://collection-page/stall",data:null}]:this.in("fail")?[{key:"failed",href:"foxy://collection-page/fail",data:null}]:this.in({idle:"template"})||0===this.__items.length?[{key:"empty",href:"",data:null}]:this.__items.map((e=>({key:e._links.self.href,href:e._links.self.href,data:e}))),t(l||(l=d`${0}`),a(e,(e=>e.key),((s,r)=>{var i,n,a,l,d;return null===(i=this.__renderItem)||void 0===i?void 0:i.call(this,{simplifyNsLoading:this.simplifyNsLoading,disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,previous:null!==(a=null===(n=e[r-1])||void 0===n?void 0:n.data)&&void 0!==a?a:null,related:this.related,hidden:this.hidden,parent:this.href,spread:o,props:this.props,group:this.group,lang:this.lang,data:s.data,href:s.href,next:null!==(d=null===(l=e[r+1])||void 0===l?void 0:l.data)&&void 0!==d?d:null,ns:this.ns,html:t})})))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("fetch",this.__pageFetchEventHandler)}get __items(){var e,t;return Array.from(Object.values(null!==(t=null===(e=this.form)||void 0===e?void 0:e._embedded)&&void 0!==t?t:{})).reduce(((e,t)=>[...e,...t]),[])}__handlePageFetchEvent(e){if(!(e instanceof i)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-page/stall"===s?this.__stallRequest(e):"foxy://collection-page/fail"===s?this.__failRequest(e):void 0:void 0}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(new Response(null,{status:500})))}}customElements.define("foxy-collection-page",p);export{p as CollectionPage};
@@ -1 +1 @@
1
- import"./shared-931db653.js";import"./foxy-collection-page.js";import"./shared-669decee.js";import{p as e,aE as t,_ as s,R as r}from"./shared-11014aad.js";import{h as a,L as i}from"./shared-dc73b9a5.js";import{C as n}from"./shared-6af480b8.js";import{F as o}from"./shared-343d1fd7.js";import{N as d,a as l}from"./shared-4fb9d21f.js";import{r as c}from"./shared-a0c6a159.js";import{I as h}from"./shared-4fd17baf.js";import{i as p}from"./shared-250e652f.js";import{s as u}from"./shared-99940888.js";import"./shared-4877ed05.js";import"./shared-48b76c74.js";import"./shared-56addb06.js";import"./shared-61ade33e.js";import"./foxy-spinner.js";import"./shared-7e201abd.js";import"./shared-1d257548.js";import"./shared-9803aa7c.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";const _=e({manual:(e,t)=>t.data}),g=e({error:(e,t)=>t.data}),m=e({first:(e,t)=>t.data,pages:[],error:null}),f=e({first:(e,t)=>{var s,r;return null!==(r=null===(s=t.data[0])||void 0===s?void 0:s._links.self.href)&&void 0!==r?r:""},pages:(e,t)=>t.data,error:null}),v=e({pages:(e,t)=>0===t.data.returned_items?e.pages:[...e.pages,t.data]}),y=e=>e.manual,b=t({id:"pages",initial:"idle",context:{first:"",pages:[],error:null,manual:!1},states:{busy:{invoke:{src:"sendGet",onError:{target:"fail",actions:g},onDone:[{target:"idle.empty",cond:(e,t)=>0==t.data.total_items},{target:"idle.end",cond:(e,t)=>t.data.returned_items<t.data.limit,actions:v},{target:"idle.paused.manual",cond:y,actions:v},{target:"idle.paused.auto",actions:v}]},on:{SET_MANUAL:{actions:_}}},fail:{on:{SET_MANUAL:{actions:_}}},idle:{initial:"empty",states:{paused:{states:{auto:{invoke:{src:"observeChildren"}},manual:{}},on:{RESUME:"#pages.busy",SET_MANUAL:[{cond:y,actions:_,target:".manual"},{actions:_,target:".auto"}]}},empty:{on:{SET_MANUAL:{actions:_}}},end:{on:{SET_MANUAL:{actions:_}}}}}},on:{SET_FIRST:[{cond:(e,t)=>0===t.data.trim().length,target:"idle.empty",actions:m},{target:"busy",actions:m}],SET_PAGES:[{cond:(e,t)=>0===t.data.length,target:"idle.empty",actions:f},{target:"idle.paused",actions:f}]}});let x,E,k,S=e=>e;const j=n(h(i));class R extends j{constructor(){var e;super(),e=this,this.props={},this.lang="",this.ns="",this.__group="",this.__fetchEventHandler=e=>this.__handleFetchEvent(e),this.__service=p(b.withConfig({services:{observeChildren:()=>e=>{const t=new IntersectionObserver((t=>{t.some((e=>e.isIntersecting))&&e("RESUME")}));return t.observe(this.renderRoot.children[this.renderRoot.children.length-1]),()=>t.disconnect()},sendGet:async function(t){var s;const r=t.pages[t.pages.length-1],a=null!==(s=null==r?void 0:r._links.next.href)&&void 0!==s?s:t.first,i=await new d.API(e).fetch(a);if(!i.ok)throw i;const n=await i.json();return e.__stopTrackingRumour(),d.Rumour(e.group).share({source:n._links.self.href,data:n}),e.__trackRumour(),n}}})),this.page="foxy-collection-page foxy-null"}static get properties(){return s(s({},super.properties),{},{manual:{type:Boolean,reflect:!0},first:{type:String,noAccessor:!0},pages:{type:Array,noAccessor:!0},group:{type:String},props:{type:Object},lang:{type:String},page:{type:String},ns:{type:String}})}get page(){return this.__page}set page(e){if("string"==typeof e){const t=e.split(" ").pop(),s=t?`item="${t}"`:"";this.__renderPage=new Function("ctx",`return ctx.html\`\n <${e}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n ${s}\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .templates=\${ctx.templates}\n ...=\${ctx.spread(ctx.props)}\n >\n </${e}>\``)}else this.__renderPage=e;this.__page=e,this.requestUpdate()}get first(){return this.__service.state.context.first}set first(e){this.__service.send({type:"SET_FIRST",data:e})}get pages(){return this.__service.state.context.pages}set pages(e){this.__service.send({type:"SET_PAGES",data:e})}get group(){return this.__group}set group(e){var t;this.__group=e,null===(t=this.__stopTrackingRumour)||void 0===t||t.call(this),this.__trackRumour()}get manual(){return this.__service.state.context.manual}set manual(e){this.__service.send({type:"SET_MANUAL",data:e})}in(e){return this.__service.state.matches(e)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__fetchEventHandler),this.__createService(),this.__trackRumour()}render(){const e=this.pages.map((e=>({key:e._links.self.href,href:e._links.self.href})));return this.__service.state.matches("busy")?e.push({key:"stalled",href:"foxy://collection-pages/stall"}):this.__service.state.matches("fail")?e.push({key:"failed",href:"foxy://collection-pages/fail"}):this.__service.state.matches({idle:"empty"})&&e.push({key:"empty",href:""}),a(x||(x=S` ${0} ${0} `),c(e,(e=>e.key),((e,t)=>{var s;return this.__renderPage({disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,hidden:this.hidden,spread:u,props:this.props,group:this.group,data:null!==(s=this.pages[t])&&void 0!==s?s:null,href:e.href,lang:this.lang,ns:this.ns,html:a})})),this.manual?this.in({idle:"paused"})?a(E||(E=S` <vaadin-button theme="small contrast" @click="${0}"> <foxy-i18n lang="${0}" key="load_more" ns="${0}"></foxy-i18n> </vaadin-button> `),(()=>this.__service.send("RESUME")),this.lang,this.ns):"":a(k||(k=S` <span></span> `)))}updated(e){super.updated(e),this.dispatchEvent(new d.UpdateEvent)}disconnectedCallback(){var e;super.disconnectedCallback(),this.removeEventListener("fetch",this.__fetchEventHandler),this.__service.stop(),null===(e=this.__stopTrackingRumour)||void 0===e||e.call(this)}__trackRumour(){this.__stopTrackingRumour=d.Rumour(this.group).track((e=>{try{0===this.pages.length?e({_links:{self:{href:this.first}}}):this.pages.map((t=>e(t)))}catch(e){if(!(e instanceof r.UpdateError))throw e;this.__service.send({type:"SET_FIRST",data:this.first})}}))}__createService(){this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}__handleFetchEvent(e){if(!(e instanceof o)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-pages/stall"===s?this.__stallRequest(e):"foxy://collection-pages/fail"===s?this.__failRequest(e):void this.__respondIfPossible(e):void 0}__respondIfPossible(e){const t=l(e.request.url,this.pages);t.ok&&(e.respondWith(Promise.resolve(t)),console.debug(`%c@foxy.io/elements::${this.localName}\n%c200%c GET ${e.request.url}`,"color: gray","background: gray; padding: 0 .2em; border-radius: .2em; color: white;",""))}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(this.__service.state.context.error))}}customElements.define("foxy-collection-pages",R);export{R as CollectionPages};
1
+ import"./shared-25198d9a.js";import"./foxy-collection-page.js";import"./shared-6586ffd5.js";import{p as e,aE as t,_ as s,R as r}from"./shared-b3db7611.js";import{h as a,L as i}from"./shared-dc73b9a5.js";import{C as n}from"./shared-2b5a3c80.js";import{F as o}from"./shared-343d1fd7.js";import{N as d,a as l}from"./shared-fe45779e.js";import{r as c}from"./shared-a0c6a159.js";import{I as h}from"./shared-3cabd589.js";import{i as p}from"./shared-79d35787.js";import{s as u}from"./shared-99940888.js";import"./shared-4c611015.js";import"./shared-0a9d860d.js";import"./shared-7ff78b4a.js";import"./shared-61ade33e.js";import"./foxy-spinner.js";import"./shared-6b68b3b6.js";import"./shared-da2e66a4.js";import"./shared-9803aa7c.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";const _=e({manual:(e,t)=>t.data}),g=e({error:(e,t)=>t.data}),m=e({first:(e,t)=>t.data,pages:[],error:null}),f=e({first:(e,t)=>{var s,r;return null!==(r=null===(s=t.data[0])||void 0===s?void 0:s._links.self.href)&&void 0!==r?r:""},pages:(e,t)=>t.data,error:null}),v=e({pages:(e,t)=>0===t.data.returned_items?e.pages:[...e.pages,t.data]}),y=e=>e.manual,b=t({id:"pages",initial:"idle",context:{first:"",pages:[],error:null,manual:!1},states:{busy:{invoke:{src:"sendGet",onError:{target:"fail",actions:g},onDone:[{target:"idle.empty",cond:(e,t)=>0==t.data.total_items},{target:"idle.end",cond:(e,t)=>t.data.returned_items<t.data.limit,actions:v},{target:"idle.paused.manual",cond:y,actions:v},{target:"idle.paused.auto",actions:v}]},on:{SET_MANUAL:{actions:_}}},fail:{on:{SET_MANUAL:{actions:_}}},idle:{initial:"empty",states:{paused:{states:{auto:{invoke:{src:"observeChildren"}},manual:{}},on:{RESUME:"#pages.busy",SET_MANUAL:[{cond:y,actions:_,target:".manual"},{actions:_,target:".auto"}]}},empty:{on:{SET_MANUAL:{actions:_}}},end:{on:{SET_MANUAL:{actions:_}}}}}},on:{SET_FIRST:[{cond:(e,t)=>0===t.data.trim().length,target:"idle.empty",actions:m},{target:"busy",actions:m}],SET_PAGES:[{cond:(e,t)=>0===t.data.length,target:"idle.empty",actions:f},{target:"idle.paused",actions:f}]}});let x,E,k,S=e=>e;const j=n(h(i));class R extends j{constructor(){var e;super(),e=this,this.props={},this.lang="",this.ns="",this.__group="",this.__fetchEventHandler=e=>this.__handleFetchEvent(e),this.__service=p(b.withConfig({services:{observeChildren:()=>e=>{const t=new IntersectionObserver((t=>{t.some((e=>e.isIntersecting))&&e("RESUME")}));return t.observe(this.renderRoot.children[this.renderRoot.children.length-1]),()=>t.disconnect()},sendGet:async function(t){var s;const r=t.pages[t.pages.length-1],a=null!==(s=null==r?void 0:r._links.next.href)&&void 0!==s?s:t.first,i=await new d.API(e).fetch(a);if(!i.ok)throw i;const n=await i.json();return e.__stopTrackingRumour(),d.Rumour(e.group).share({source:n._links.self.href,data:n}),e.__trackRumour(),n}}})),this.page="foxy-collection-page foxy-null"}static get properties(){return s(s({},super.properties),{},{manual:{type:Boolean,reflect:!0},first:{type:String,noAccessor:!0},pages:{type:Array,noAccessor:!0},group:{type:String},props:{type:Object},lang:{type:String},page:{type:String},ns:{type:String}})}get page(){return this.__page}set page(e){if("string"==typeof e){const t=e.split(" ").pop(),s=t?`item="${t}"`:"";this.__renderPage=new Function("ctx",`return ctx.html\`\n <${e}\n disabledcontrols=\${ctx.disabledControls.toString()}\n readonlycontrols=\${ctx.readonlyControls.toString()}\n hiddencontrols=\${ctx.hiddenControls.toString()}\n group=\${ctx.group}\n href=\${ctx.href}\n lang=\${ctx.lang}\n ns="\${ctx.ns} \${customElements.get('${e}')?.defaultNS ?? ''}"\n ${s}\n ?disabled=\${ctx.disabled}\n ?readonly=\${ctx.readonly}\n ?hidden=\${ctx.hidden}\n .templates=\${ctx.templates}\n ...=\${ctx.spread(ctx.props)}\n >\n </${e}>\``)}else this.__renderPage=e;this.__page=e,this.requestUpdate()}get first(){return this.__service.state.context.first}set first(e){this.__service.send({type:"SET_FIRST",data:e})}get pages(){return this.__service.state.context.pages}set pages(e){this.__service.send({type:"SET_PAGES",data:e})}get group(){return this.__group}set group(e){var t;this.__group=e,null===(t=this.__stopTrackingRumour)||void 0===t||t.call(this),this.__trackRumour()}get manual(){return this.__service.state.context.manual}set manual(e){this.__service.send({type:"SET_MANUAL",data:e})}in(e){return this.__service.state.matches(e)}createRenderRoot(){return this}connectedCallback(){super.connectedCallback(),this.addEventListener("fetch",this.__fetchEventHandler),this.__createService(),this.__trackRumour()}render(){const e=this.pages.map((e=>({key:e._links.self.href,href:e._links.self.href})));return this.__service.state.matches("busy")?e.push({key:"stalled",href:"foxy://collection-pages/stall"}):this.__service.state.matches("fail")?e.push({key:"failed",href:"foxy://collection-pages/fail"}):this.__service.state.matches({idle:"empty"})&&e.push({key:"empty",href:""}),a(x||(x=S` ${0} ${0} `),c(e,(e=>e.key),((e,t)=>{var s;return this.__renderPage({disabledControls:this.disabledControls,readonlyControls:this.readonlyControls,hiddenControls:this.hiddenControls,templates:this.templates,disabled:this.disabled,readonly:this.readonly,hidden:this.hidden,spread:u,props:this.props,group:this.group,data:null!==(s=this.pages[t])&&void 0!==s?s:null,href:e.href,lang:this.lang,ns:this.ns,html:a})})),this.manual?this.in({idle:"paused"})?a(E||(E=S` <vaadin-button theme="small contrast" @click="${0}"> <foxy-i18n lang="${0}" key="load_more" ns="${0}"></foxy-i18n> </vaadin-button> `),(()=>this.__service.send("RESUME")),this.lang,this.ns):"":a(k||(k=S` <span></span> `)))}updated(e){super.updated(e),this.dispatchEvent(new d.UpdateEvent)}disconnectedCallback(){var e;super.disconnectedCallback(),this.removeEventListener("fetch",this.__fetchEventHandler),this.__service.stop(),null===(e=this.__stopTrackingRumour)||void 0===e||e.call(this)}__trackRumour(){this.__stopTrackingRumour=d.Rumour(this.group).track((e=>{try{0===this.pages.length?e({_links:{self:{href:this.first}}}):this.pages.map((t=>e(t)))}catch(e){if(!(e instanceof r.UpdateError))throw e;this.__service.send({type:"SET_FIRST",data:this.first})}}))}__createService(){this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}__handleFetchEvent(e){if(!(e instanceof o)||e.target===this)return;const{method:t,url:s}=e.request;return"GET"===t?"foxy://collection-pages/stall"===s?this.__stallRequest(e):"foxy://collection-pages/fail"===s?this.__failRequest(e):void this.__respondIfPossible(e):void 0}__respondIfPossible(e){const t=l(e.request.url,this.pages);t.ok&&(e.respondWith(Promise.resolve(t)),console.debug(`%c@foxy.io/elements::${this.localName}\n%c200%c GET ${e.request.url}`,"color: gray","background: gray; padding: 0 .2em; border-radius: .2em; color: white;",""))}__stallRequest(e){e.stopImmediatePropagation(),e.respondWith(new Promise((()=>{})))}__failRequest(e){e.stopImmediatePropagation(),e.respondWith(Promise.resolve(this.__service.state.context.error))}}customElements.define("foxy-collection-pages",R);export{R as CollectionPages};
@@ -1 +1 @@
1
- import"./shared-1d257548.js";import"./shared-7e201abd.js";import"./shared-669decee.js";import{_ as t}from"./shared-11014aad.js";import{c as e,h as o,L as r}from"./shared-dc73b9a5.js";import{C as i}from"./shared-6af480b8.js";import{I as s}from"./shared-4fd17baf.js";import{a}from"./shared-56addb06.js";import"./shared-48b76c74.js";import"./shared-343d1fd7.js";import"./shared-9803aa7c.js";let n,d,c=t=>t;const h=i(a(s(r),"copy-to-clipboard"));class l extends h{constructor(){super(...arguments),this.text=null,this.__state="idle"}static get properties(){return t(t({},super.properties),{},{text:{type:String},__state:{attribute:!1}})}static get styles(){return e(n||(n=c`button{position:relative;appearance:none;background:0 0;border:none;border-radius:var(--lumo-border-radius-s);color:inherit;font-size:inherit;padding:0;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center}button::before{position:absolute;inset:0;content:' ';display:block;background:currentColor;opacity:.08;transition:opacity .15s ease;border-radius:var(--lumo-border-radius-s)}button:focus{outline:0;box-shadow:0 0 0 2px currentColor}button:disabled{opacity:.5;cursor:default}@media (hover:hover){button:not(:disabled):hover{cursor:pointer}button:not(:disabled):hover::before{opacity:.16}}iron-icon{--iron-icon-height:1em;--iron-icon-width:1em}`))}render(){let t="",e="";return"busy"===this.__state?(t="copying",e="icons:hourglass-empty"):"fail"===this.__state?(t="failed_to_copy",e="icons:error-outline"):"done"===this.__state?(t="done",e="icons:done"):(t="click_to_copy",e="icons:content-copy"),o(d||(d=c` <button title="${0}" ?disabled="${0}" @click="${0}"> <iron-icon icon="${0}"></iron-icon> </button> `),this.t(t),this.disabled,(()=>{var t;"idle"===this.__state&&(this.__state="busy",navigator.clipboard.writeText(null!==(t=this.text)&&void 0!==t?t:"").then((()=>this.__state="done")).catch((()=>this.__state="fail")).then((()=>setTimeout((()=>this.__state="idle"),2e3))))}),e)}}customElements.define("foxy-copy-to-clipboard",l);export{l as CopyToClipboard};
1
+ import"./shared-da2e66a4.js";import"./shared-6b68b3b6.js";import"./shared-6586ffd5.js";import{_ as t}from"./shared-b3db7611.js";import{c as e,h as o,L as r}from"./shared-dc73b9a5.js";import{C as i}from"./shared-2b5a3c80.js";import{I as s}from"./shared-3cabd589.js";import{a}from"./shared-7ff78b4a.js";import"./shared-0a9d860d.js";import"./shared-343d1fd7.js";import"./shared-9803aa7c.js";let n,d,c=t=>t;const h=i(a(s(r),"copy-to-clipboard"));class l extends h{constructor(){super(...arguments),this.text=null,this.__state="idle"}static get properties(){return t(t({},super.properties),{},{text:{type:String},__state:{attribute:!1}})}static get styles(){return e(n||(n=c`button{position:relative;appearance:none;background:0 0;border:none;border-radius:var(--lumo-border-radius-s);color:inherit;font-size:inherit;padding:0;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center}button::before{position:absolute;inset:0;content:' ';display:block;background:currentColor;opacity:.08;transition:opacity .15s ease;border-radius:var(--lumo-border-radius-s)}button:focus{outline:0;box-shadow:0 0 0 2px currentColor}button:disabled{opacity:.5;cursor:default}@media (hover:hover){button:not(:disabled):hover{cursor:pointer}button:not(:disabled):hover::before{opacity:.16}}iron-icon{--iron-icon-height:1em;--iron-icon-width:1em}`))}render(){let t="",e="";return"busy"===this.__state?(t="copying",e="icons:hourglass-empty"):"fail"===this.__state?(t="failed_to_copy",e="icons:error-outline"):"done"===this.__state?(t="done",e="icons:done"):(t="click_to_copy",e="icons:content-copy"),o(d||(d=c` <button title="${0}" ?disabled="${0}" @click="${0}"> <iron-icon icon="${0}"></iron-icon> </button> `),this.t(t),this.disabled,(()=>{var t;"idle"===this.__state&&(this.__state="busy",navigator.clipboard.writeText(null!==(t=this.text)&&void 0!==t?t:"").then((()=>this.__state="done")).catch((()=>this.__state="fail")).then((()=>setTimeout((()=>this.__state="idle"),2e3))))}),e)}}customElements.define("foxy-copy-to-clipboard",l);export{l as CopyToClipboard};
@@ -1 +1 @@
1
- import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-669decee.js";import{h as t}from"./shared-dc73b9a5.js";import{C as e}from"./shared-6af480b8.js";import{N as s}from"./shared-4fb9d21f.js";import{T as i,a}from"./shared-56addb06.js";import{c as r}from"./shared-4e709717.js";import"./shared-7e201abd.js";import"./shared-48b76c74.js";import"./shared-1d257548.js";import"./shared-11014aad.js";import"./shared-4fd17baf.js";import"./shared-343d1fd7.js";import"./shared-9803aa7c.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";let n,o,d,l,c,p,h,m=t=>t;const u=i(e(a(s,"coupon-card")));class f extends u{constructor(){super(...arguments),this.templates={}}render(){var e,s;const i=this.hiddenSelector;return t(n||(n=m` <div aria-busy="${0}" aria-live="polite" class="relative leading-m font-lumo text-m"> <div class="${0}"> ${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"),r({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("description",!0)?"":this.__renderDescription(),i.matches("status",!0)?"":this.__renderStatus(),r({"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,a,r,n;const l=null!==(s=null===(e=this.data)||void 0===e?void 0:e.number_of_uses_to_date)&&void 0!==s?s:0,c=null!==(a=null===(i=this.data)||void 0===i?void 0:i.number_of_uses_allowed)&&void 0!==a?a:0;return t(o||(o=m` <div data-testid="title"> ${0} <div class="flex items-center justify-between"> <div class="font-medium truncate">${0}</div> <foxy-i18n options="${0}" class="text-tertiary text-s flex-shrink-0" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),null!==(n=null===(r=this.data)||void 0===r?void 0:r.name)&&void 0!==n?n:t(d||(d=m`&ZeroWidthSpace;`)),JSON.stringify({count:l,total:c}),this.lang,0===c?"uses_count":"uses_to_total_count",this.ns,this.renderTemplateOrSlot("title:after"))}__renderDescription(){let e=null;if(this.data){const s=this.data.coupon_discount_details,i=this.data.coupon_discount_type,a=this.ns;e=t(l||(l=m` <foxy-i18n options="${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> `),JSON.stringify({params:{details:s,type:i,ns:a}}),this.lang,this.ns)}return t(c||(c=m` <div data-testid="description"> ${0} <div class="truncate text-s text-secondary">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("description:before"),null!=e?e:t(p||(p=m`&ZeroWidthSpace;`)),this.renderTemplateOrSlot("description:after"))}__renderStatus(){var e;const{start_date:s,end_date:i}=null!==(e=this.data)&&void 0!==e?e:{},a=s&&i?"complete":s?"from":i?"until":"any";return t(h||(h=m` <div data-testid="status"> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-tertiary" lang="${0}" key="date_range_${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),JSON.stringify({start:s,end:i}),this.lang,a,this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-coupon-card",f);export{f as CouponCard};
1
+ import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-6586ffd5.js";import{h as t}from"./shared-dc73b9a5.js";import{C as s}from"./shared-2b5a3c80.js";import{N as e}from"./shared-fe45779e.js";import{T as i,a}from"./shared-7ff78b4a.js";import{c as r}from"./shared-4e709717.js";import"./shared-6b68b3b6.js";import"./shared-0a9d860d.js";import"./shared-da2e66a4.js";import"./shared-b3db7611.js";import"./shared-3cabd589.js";import"./shared-343d1fd7.js";import"./shared-9803aa7c.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";let n,o,d,l,c,p,h,m=t=>t;const u=i(s(a(e,"coupon-card")));class f extends u{constructor(){super(...arguments),this.templates={}}render(){var s,e;const i=this.hiddenSelector;return t(n||(n=m` <div aria-busy="${0}" aria-live="polite" class="relative leading-m font-lumo text-m"> <div class="${0}"> ${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"),r({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("description",!0)?"":this.__renderDescription(),i.matches("status",!0)?"":this.__renderStatus(),r({"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!==(e=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==e?e:"")}__renderTitle(){var s,e,i,a,r,n;const l=null!==(e=null===(s=this.data)||void 0===s?void 0:s.number_of_uses_to_date)&&void 0!==e?e:0,c=null!==(a=null===(i=this.data)||void 0===i?void 0:i.number_of_uses_allowed)&&void 0!==a?a:0;return t(o||(o=m` <div data-testid="title"> ${0} <div class="flex items-center justify-between"> <div class="font-medium truncate">${0}</div> <foxy-i18n options="${0}" class="text-tertiary text-s flex-shrink-0" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),null!==(n=null===(r=this.data)||void 0===r?void 0:r.name)&&void 0!==n?n:t(d||(d=m`&ZeroWidthSpace;`)),JSON.stringify({count:l,total:c}),this.lang,0===c?"uses_count":"uses_to_total_count",this.ns,this.renderTemplateOrSlot("title:after"))}__renderDescription(){let s=null;if(this.data){const e=this.data.coupon_discount_details,i=this.data.coupon_discount_type,a=this.ns;s=t(l||(l=m` <foxy-i18n options="${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> `),JSON.stringify({params:{details:e,type:i,ns:a}}),this.lang,this.ns)}return t(c||(c=m` <div data-testid="description"> ${0} <div class="truncate text-s text-secondary">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("description:before"),null!=s?s:t(p||(p=m`&ZeroWidthSpace;`)),this.renderTemplateOrSlot("description:after"))}__renderStatus(){var s;const{start_date:e,end_date:i}=null!==(s=this.data)&&void 0!==s?s:{},a=e&&i?"complete":e?"from":i?"until":"any";return t(h||(h=m` <div data-testid="status"> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-tertiary" lang="${0}" key="date_range_${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),JSON.stringify({start:e,end:i}),this.lang,a,this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-coupon-card",f);export{f as CouponCard};
@@ -0,0 +1 @@
1
+ import"./shared-90877857.js";import"./shared-6586ffd5.js";import{a as s}from"./shared-7ff78b4a.js";import{I as e}from"./shared-8b521111.js";import{h as t}from"./shared-dc73b9a5.js";import"./foxy-spinner.js";import"./shared-6b68b3b6.js";import"./shared-0a9d860d.js";import"./shared-da2e66a4.js";import"./shared-b3db7611.js";import"./shared-3cabd589.js";import"./shared-343d1fd7.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-4e709717.js";let o,r=s=>s;const a=s(e,"coupon-code-card");class i extends a{renderBody(){var s;return t(o||(o=r` <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="uses_count" .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> `),this.data,{count:null===(s=this.data)||void 0===s?void 0:s.number_of_uses_to_date},this.data)}}customElements.define("foxy-coupon-code-card",i);export{i as CouponCodeCard};
@@ -1 +1 @@
1
- import"./shared-cce18690.js";import"./shared-b914895b.js";import"./shared-d15c3e2d.js";import{I as r}from"./shared-df58b901.js";import"./foxy-transaction-card.js";import{_ as e,B as t}from"./shared-11014aad.js";import{a as s}from"./shared-56addb06.js";import{i as o}from"./shared-9803aa7c.js";import{h as a}from"./shared-dc73b9a5.js";import"./shared-931db653.js";import"./shared-4877ed05.js";import"./shared-48b76c74.js";import"./shared-61ade33e.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-7e201abd.js";import"./shared-1d257548.js";import"./shared-669decee.js";import"./shared-343d1fd7.js";import"./shared-4fd17baf.js";import"./shared-6af480b8.js";import"./shared-4fb9d21f.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-92cdd504.js";import"./shared-6be0a096.js";import"./shared-4e709717.js";import"./foxy-pagination.js";import"./shared-bf132324.js";import"./shared-51c4a6dd.js";import"./shared-845f8bf1.js";import"./shared-205721a3.js";import"./shared-6e977271.js";import"./shared-039de1fd.js";import"./shared-a0cbfb2f.js";import"./shared-f03dacf5.js";import"./shared-f2a8fb36.js";import"./shared-27c7514d.js";import"./shared-8778d784.js";import"./shared-bab2ea2c.js";let i,d=r=>r;const n=s(r,"coupon-code-form");class c extends n{constructor(){super(...arguments),this.getTransactionPageHref=null,this.templates={}}static get properties(){return e(e({},super.properties),{},{getTransactionPageHref:{attribute:!1}})}static get v8n(){return[({code:r})=>!!r||"code:v8n_required",({code:r})=>!r||r.length<=50||"code:v8n_too_long",({code:r})=>!(null==r?void 0:r.includes(" "))||"code:v8n_has_spaces"]}get readonlySelector(){return new t(`number-of-uses-to-date ${super.readonlySelector}`.trim())}get hiddenSelector(){const r=[super.hiddenSelector.toString()];return this.href||r.unshift("transactions","number-of-uses-to-date"),new t(r.join(" ").trim())}renderBody(){var r,e;let t;try{const s=new URL(null!==(e=null===(r=this.data)||void 0===r?void 0:r._links["fx:coupon_code_transactions"].href)&&void 0!==e?e:"");s.searchParams.set("zoom","items"),t=s.toString()}catch(r){t=void 0}return a(i||(i=d` <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-integer-control infer="number-of-uses-to-date"></foxy-internal-integer-control> <foxy-internal-async-list-control first="${0}" infer="transactions" limit="5" item="foxy-transaction-card" .getPageHref="${0}" hide-delete-button> </foxy-internal-async-list-control> ${0} `),o(t),this.getTransactionPageHref,super.renderBody())}}customElements.define("foxy-coupon-code-form",c);export{c as CouponCodeForm};
1
+ import"./shared-d222bd1e.js";import"./shared-f0fcd613.js";import"./shared-be0fca15.js";import{I as r}from"./shared-8a247f48.js";import"./foxy-transaction-card.js";import{_ as e,B as s}from"./shared-b3db7611.js";import{a as t}from"./shared-7ff78b4a.js";import{i as o}from"./shared-9803aa7c.js";import{h as a}from"./shared-dc73b9a5.js";import"./shared-540063aa.js";import"./shared-4c611015.js";import"./shared-0a9d860d.js";import"./shared-6b68b3b6.js";import"./shared-28be347b.js";import"./shared-25198d9a.js";import"./shared-61ade33e.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-da2e66a4.js";import"./shared-6586ffd5.js";import"./shared-343d1fd7.js";import"./shared-3cabd589.js";import"./shared-2b5a3c80.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-03673673.js";import"./shared-6cd4e618.js";import"./shared-4e709717.js";import"./foxy-pagination.js";import"./shared-75d13e1b.js";import"./shared-51c4a6dd.js";import"./shared-a24b2aa7.js";import"./shared-684cd55a.js";import"./shared-612ea9ed.js";import"./shared-91c88f14.js";import"./shared-ad11b006.js";import"./foxy-copy-to-clipboard.js";import"./shared-bab2ea2c.js";import"./shared-0f59fd6a.js";import"./shared-4c7a8fcc.js";import"./shared-90877857.js";import"./shared-8b521111.js";let i,d=r=>r;const n=t(r,"coupon-code-form");class c extends n{constructor(){super(...arguments),this.getTransactionPageHref=null,this.templates={}}static get properties(){return e(e({},super.properties),{},{getTransactionPageHref:{attribute:!1}})}static get v8n(){return[({code:r})=>!!r||"code:v8n_required",({code:r})=>!r||r.length<=50||"code:v8n_too_long",({code:r})=>!(null==r?void 0:r.includes(" "))||"code:v8n_has_spaces"]}get readonlySelector(){return new s(`number-of-uses-to-date ${super.readonlySelector}`.trim())}get hiddenSelector(){const r=[super.hiddenSelector.toString()];return this.href||r.unshift("transactions","number-of-uses-to-date"),new s(r.join(" ").trim())}renderBody(){var r,e;let s;try{const t=new URL(null!==(e=null===(r=this.data)||void 0===r?void 0:r._links["fx:coupon_code_transactions"].href)&&void 0!==e?e:"");t.searchParams.set("zoom","items"),s=t.toString()}catch(r){s=void 0}return a(i||(i=d` <foxy-internal-text-control infer="code"></foxy-internal-text-control> <foxy-internal-integer-control infer="number-of-uses-to-date"></foxy-internal-integer-control> <foxy-internal-async-list-control first="${0}" infer="transactions" limit="5" item="foxy-transaction-card" .getPageHref="${0}" hide-delete-button> </foxy-internal-async-list-control> ${0} `),o(s),this.getTransactionPageHref,super.renderBody())}}customElements.define("foxy-coupon-code-form",c);export{c as CouponCodeForm};
@@ -1 +1 @@
1
- import"./shared-fcaf15e5.js";import{I as e}from"./shared-df58b901.js";import{a as s}from"./shared-56addb06.js";import{B as r}from"./shared-11014aad.js";import{h as o}from"./shared-dc73b9a5.js";import"./shared-7e201abd.js";import"./shared-48b76c74.js";import"./shared-bf132324.js";import"./shared-51c4a6dd.js";import"./shared-669decee.js";import"./shared-343d1fd7.js";import"./shared-4fd17baf.js";import"./shared-6af480b8.js";import"./shared-9803aa7c.js";import"./shared-4fb9d21f.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-4e709717.js";import"./shared-a0c6a159.js";import"./shared-22ba9566.js";import"./shared-99940888.js";import"./shared-931db653.js";import"./shared-4877ed05.js";import"./shared-61ade33e.js";import"./shared-92cdd504.js";import"./shared-6be0a096.js";import"./foxy-spinner.js";import"./shared-1d257548.js";let t,d=e=>e;const a=s(e,"coupon-codes-form");class i extends a{constructor(){super(...arguments),this.templates={},this.__couponCodesGetValue=()=>{var e,s;return null!==(s=null===(e=this.form.coupon_codes)||void 0===e?void 0:e.map((e=>({value:e}))))&&void 0!==s?s:[]},this.__couponCodesSetValue=e=>{this.edit({coupon_codes:e.map((({value:e})=>e.split(" ").map((e=>e.trim())))).flat().filter(((e,s,r)=>r.indexOf(e)===s))})}}static get v8n(){return[({coupon_codes:e})=>e&&e.length>0||"coupon-codes:v8n_required"]}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.push("coupon-codes"),new r(e.join(" ").trim())}get hiddenSelector(){const e=["delete timestamps",super.hiddenSelector.toString()];return new r(e.join(" ").trim())}renderBody(){return o(t||(t=d` <foxy-internal-editable-list-control infer="coupon-codes" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} `),this.__couponCodesGetValue,this.__couponCodesSetValue,super.renderBody())}async _sendPost(e){const s=JSON.stringify(e),r=await this._fetch(this.parent,{body:s,method:"POST"});return this.status={key:"success"},r}}customElements.define("foxy-coupon-codes-form",i);export{i as CouponCodesForm};
1
+ import"./shared-5debeb1b.js";import{I as e}from"./shared-8a247f48.js";import{a as s}from"./shared-7ff78b4a.js";import{B as r}from"./shared-b3db7611.js";import{h as o}from"./shared-dc73b9a5.js";import"./shared-6b68b3b6.js";import"./shared-0a9d860d.js";import"./shared-75d13e1b.js";import"./shared-51c4a6dd.js";import"./shared-6586ffd5.js";import"./shared-343d1fd7.js";import"./shared-3cabd589.js";import"./shared-2b5a3c80.js";import"./shared-9803aa7c.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-4e709717.js";import"./shared-a0c6a159.js";import"./shared-22ba9566.js";import"./shared-99940888.js";import"./shared-25198d9a.js";import"./shared-4c611015.js";import"./shared-61ade33e.js";import"./shared-03673673.js";import"./shared-6cd4e618.js";import"./foxy-copy-to-clipboard.js";import"./shared-da2e66a4.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";let t,d=e=>e;const a=s(e,"coupon-codes-form");class i extends a{constructor(){super(...arguments),this.templates={},this.__couponCodesGetValue=()=>{var e,s;return null!==(s=null===(e=this.form.coupon_codes)||void 0===e?void 0:e.map((e=>({value:e}))))&&void 0!==s?s:[]},this.__couponCodesSetValue=e=>{this.edit({coupon_codes:e.map((({value:e})=>e.split(" ").map((e=>e.trim())))).flat().filter(((e,s,r)=>r.indexOf(e)===s))})}}static get v8n(){return[({coupon_codes:e})=>e&&e.length>0||"coupon-codes:v8n_required"]}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.push("coupon-codes"),new r(e.join(" ").trim())}get hiddenSelector(){const e=["delete timestamps",super.hiddenSelector.toString()];return new r(e.join(" ").trim())}renderBody(){return o(t||(t=d` <foxy-internal-editable-list-control infer="coupon-codes" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} `),this.__couponCodesGetValue,this.__couponCodesSetValue,super.renderBody())}async _sendPost(e){const s=JSON.stringify(e),r=await this._fetch(this.parent,{body:s,method:"POST"});return this.status={key:"success"},r}}customElements.define("foxy-coupon-codes-form",i);export{i as CouponCodesForm};
@@ -1 +1 @@
1
- import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-669decee.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-56addb06.js";import{T as e}from"./shared-e52280d9.js";import"./shared-7e201abd.js";import"./shared-48b76c74.js";import"./shared-1d257548.js";import"./shared-11014aad.js";import"./shared-4fd17baf.js";import"./shared-343d1fd7.js";import"./shared-6af480b8.js";import"./shared-9803aa7c.js";import"./shared-8778d784.js";import"./shared-4fb9d21f.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-4e709717.js";let t,a,i=r=>r;const o=s(e,"coupon-detail-card");class c extends o{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>{let e;try{e=Math.abs(s.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){e="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),s.amount_per>0?"text-success":"text-error",e)}})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-coupon-detail-card",c);export{c as CouponDetailCard};
1
+ import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-6586ffd5.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-7ff78b4a.js";import{T as e}from"./shared-4affec66.js";import"./shared-6b68b3b6.js";import"./shared-0a9d860d.js";import"./shared-da2e66a4.js";import"./shared-b3db7611.js";import"./shared-3cabd589.js";import"./shared-343d1fd7.js";import"./shared-2b5a3c80.js";import"./shared-9803aa7c.js";import"./shared-8b521111.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-4e709717.js";let t,a,i=r=>r;const o=s(e,"coupon-detail-card");class c extends o{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=i`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>{let e;try{e=Math.abs(s.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){e="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),s.amount_per>0?"text-success":"text-error",e)}})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-coupon-detail-card",c);export{c as CouponDetailCard};
@@ -1 +1 @@
1
- import"./shared-845f8bf1.js";import"./shared-6e977271.js";import"./shared-a0cbfb2f.js";import"./shared-9db9528b.js";import"./shared-931db653.js";import"./shared-1d257548.js";import"./shared-7e201abd.js";import"./shared-fcaf15e5.js";import"./shared-92cdd504.js";import"./shared-51c4a6dd.js";import"./foxy-generate-codes-form.js";import"./foxy-coupon-codes-form.js";import"./foxy-copy-to-clipboard.js";import"./foxy-discount-builder.js";import"./foxy-coupon-code-form.js";import{T as e}from"./shared-b51b9df7.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-669decee.js";import{_ as t}from"./shared-11014aad.js";import{h as s}from"./shared-dc73b9a5.js";import{C as i,a as r}from"./shared-1122a125.js";import{C as o}from"./shared-6af480b8.js";import{N as a}from"./shared-4fb9d21f.js";import{S as n,T as d,a as l,R as c}from"./shared-56addb06.js";import{i as m}from"./shared-9803aa7c.js";import{c as u}from"./shared-4e709717.js";import{E as p}from"./shared-20f65e73.js";import{G as h}from"./shared-8cd0f36d.js";import{M as f}from"./shared-a73e7be4.js";import{l as y}from"./shared-22ba9566.js";import{s as g}from"./shared-79d0699c.js";import"./shared-205721a3.js";import"./shared-48b76c74.js";import"./shared-4877ed05.js";import"./shared-039de1fd.js";import"./shared-61ade33e.js";import"./shared-afefe2ac.js";import"./shared-d04dd602.js";import"./shared-0e5ea9cf.js";import"./shared-bf132324.js";import"./shared-4fd17baf.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./shared-6be0a096.js";import"./shared-e07b24ca.js";import"./shared-343d1fd7.js";import"./shared-b914895b.js";import"./shared-6ef4ce19.js";import"./shared-872151f5.js";import"./shared-d15c3e2d.js";import"./shared-df58b901.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-8438d4ca.js";import"./shared-cce18690.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-transaction-card.js";import"./shared-f03dacf5.js";import"./shared-f2a8fb36.js";import"./shared-27c7514d.js";import"./shared-8778d784.js";import"./shared-bab2ea2c.js";import"./shared-8dd03329.js";import"./foxy-nucleon-element.js";let x,$=e=>e;const _=o(n(d(a)));class b extends _{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"x-checkbox":i}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){return s(x||(x=$` <div class="h-full flex items-center"> <x-checkbox data-testid="checkbox" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </x-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{e.detail?(this.edit({item_category_uri:this.itemCategory,coupon_uri:this.coupon}),this.submit()):this.delete()}))}}let v,S=e=>e;const j=o(n(d(a)));class k extends j{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":b}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:coupon_item_categories"][0],i=t?void 0:this.href,r=t?t._links.self.href:void 0;return s(v||(v=S` <x-category-restrictions-page-item-content item-category="${0}" data-testid="content" coupon="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.coupon,m(i),this.group,m(r),!this.in("idle")||this.disabled,this.readonly)}}let T,w,E,O=e=>e;const R=o(n(d(l(a))));class C extends R{constructor(){super(...arguments),this.couponItemCategories="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":k}}static get properties(){return t(t({},super.properties),{},{couponItemCategories:{type:String,attribute:"coupon-item-categories"},coupon:{type:String}})}render(){var e,t,i,r,o;const a=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:item_categories"])&&void 0!==t?t:[];let n=20;try{const e=parseInt(null!==(i=new URL(this.href).searchParams.get("limit"))&&void 0!==i?i:"");isNaN(e)||(n=e)}catch(e){}return s(T||(T=O` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),new Array(n).fill(0).map(((e,t)=>{const i=a[t];let r;if(i)try{const e=new URL(this.couponItemCategories),t=new URL(i._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),r=e.toString()}catch(e){}return r?s(E||(E=O` <x-category-restrictions-page-item data-testclass="item" item-category="${0}" coupon="${0}" class="h-l" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),i._links.self.href,this.coupon,this.group,r,!this.in("idle")||this.disabled,this.readonly,null==i?void 0:i.name):s(w||(w=O`<div class="h-l"></div>`))})),u({"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!==(o=null===(r=customElements.get("foxy-spinner"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:"")}}let q,N,P,D,U,V,z,I,J,Q,L,G,M,A,H,W,B,F,K,X,Y,Z,ee,te,se,ie,re,oe,ae=e=>e;const ne=n(d(o(c(l(a,"coupon-form")))));class de extends ne{constructor(){super(...arguments),this.getTransactionPageHref=null,this.__codesTableColumns=[{header:e=>s(q||(q=ae`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>{const t=!this.in("idle")||this.disabledSelector.matches("codes",!0);return s(N||(N=ae` <div class="flex items-center gap-xs"> <vaadin-button theme="tertiary-inline contrast" class="p-0" ?disabled="${0}" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> <foxy-copy-to-clipboard ?disabled="${0}" text="${0}" lang="${0}" ns="${0} copy-to-clipboard"> </foxy-copy-to-clipboard> </div> `),t,(t=>{const s=this.renderRoot.querySelector("#code-dialog"),i=t.currentTarget;s.href=e.data._links.self.href,s.show(i)}),e.data.code,t,e.data.code,e.lang,e.ns)}},{header:e=>s(P||(P=ae`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(D||(D=ae` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_created}),e.lang,e.ns)},{hideBelow:"sm",header:e=>s(U||(U=ae`<foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(V||(V=ae` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_modified}),e.lang,e.ns)},{header:e=>s(z||(z=ae`<foxy-i18n lang="${0}" key="used_codes" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(I||(I=ae`${0}`),e.data.number_of_uses_to_date)}],this.__customerSubscriptionRestrictionsGetValue=()=>{var e;const t=null===(e=this.form.customer_subscription_restrictions)||void 0===e?void 0:e.split(",").map((e=>e.trim())).filter(((e,t,s)=>!!e&&s.indexOf(e)===t)).map((e=>({value:e})));return null!=t?t:[]},this.__customerSubscriptionRestrictionsSetValue=e=>{this.edit({customer_subscription_restrictions:e.map((({value:e})=>e.trim())).filter(((e,t,s)=>!!e&&s.indexOf(e)===t)).join()}),this.edit({customer_auto_apply:!!this.form.customer_subscription_restrictions||!!this.form.customer_attribute_restrictions})},this.__codesTableQuery=null,this.__itemCategories=""}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"iron-dropdown":customElements.get("iron-dropdown"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-editable-list-control":customElements.get("foxy-internal-editable-list-control"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-copy-to-clipboard":customElements.get("foxy-copy-to-clipboard"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-discount-builder":customElements.get("foxy-discount-builder"),"foxy-query-builder":customElements.get("foxy-query-builder"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"foxy-pagination":customElements.get("foxy-pagination"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-table":customElements.get("foxy-table"),"foxy-i18n":customElements.get("foxy-i18n"),"x-category-restrictions-page":C,"x-metadata":f,"x-editable-list":p,"x-checkbox":i,"x-group":h}}static get properties(){return t(t({},super.properties),{},{getTransactionPageHref:{attribute:!1},__codesTableQuery:{attribute:!1},__itemCategories:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({name:e})=>!e||e.length<=50||"name_too_long"]}render(){var e,t;const i=this.hiddenSelector;return s(J||(J=ae` <div class="relative space-y-l"> ${0} ${0} ${0} ${0} ${0} ${0} <foxy-internal-editable-list-control infer="customer-subscription-restrictions" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i.matches("name",!0)?"":this.__renderName(),i.matches("rules",!0)?"":this.__renderRules(),i.matches("codes",!0)||!this.data?"":this.__renderCodes(),i.matches("usage",!0)?"":this.__renderUsage(),i.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),i.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),this.__customerSubscriptionRestrictionsGetValue,this.__customerSubscriptionRestrictionsSetValue,i.matches("customer-attribute-restrictions",!0)?"":this.__renderCustomerAttributeRestrictions(),i.matches("options",!0)?"":this.__renderOptions(),i.matches("timestamps",!0)?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),u({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:store"].href),s=new URL(t._links["fx:item_categories"].href);return s.searchParams.set("limit","5"),this.__itemCategories=s.toString(),e}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){return s(Q||(Q=ae` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" data-testid="name" class="w-full" label="${0}" .checkValidity="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.__getErrorMessage("name"),this.t("coupon_name_helper_text"),this.t("name"),this.__getValidator("name"),this.form.name,!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderRulesPreset(){const e=!this.in("idle")||this.disabledSelector.matches("rules",!0),i=this.readonlySelector.matches("rules",!0),r=this.form.coupon_discount_details,o=this.form.coupon_discount_type,a=[{type:"quantity_amount",details:"allunits|2-2"},{type:"quantity_percentage",details:"allunits|5-10|10-20"},{type:"quantity_amount",details:"incremental|3-5"},{type:"quantity_percentage",details:"incremental|11-10|51-15|101-20"},{type:"quantity_percentage",details:"repeat|2-100"},{type:"quantity_percentage",details:"repeat|4-50"},{type:"quantity_amount",details:"single|5-10"},{type:"price_percentage",details:"single|99.99-10"}],n=a.find((e=>e.details===r&&e.type===o));return s(L||(L=ae` <label data-testid="rules:preset" class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="preset" ns="${0}"></foxy-i18n> <span class="relative font-medium flex items-center"> <span class="truncate"> ${0} </span> <iron-icon class="icon-inline text-xl ml-xs -mr-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" data-testid="rules:preset:select" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} <option value="custom" ?selected="${0}"> ${0} </option> </select> </span> </label> `),u({"whitespace-nowrap block ring-primary-50 rounded px-xs -mx-xs transition-colors":!0,"text-body hover-text-primary focus-within-ring-2":!e&&!i,"text-disabled":e,"text-secondary":i}),this.lang,this.ns,n?this.t("discount_summary",{params:t(t({},n),{},{ns:this.ns})}):this.t("custom_discount"),e||i,(e=>{var t,s;const i=e.currentTarget,r=a[i.selectedIndex];this.edit({coupon_discount_details:null!==(t=null==r?void 0:r.details)&&void 0!==t?t:"",coupon_discount_type:null!==(s=null==r?void 0:r.type)&&void 0!==s?s:"quantity_amount"})}),a.map((e=>s(G||(G=ae` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.details,e===n,this.t("discount_summary",{params:t(t({},e),{},{ns:this.ns})})))),!n,this.t("custom_discount"))}__renderRulesUrlParameter(){var e,t,i;const r=null!==(e=this.form.name)&&void 0!==e?e:"",o=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount",a=null!==(i=this.form.coupon_discount_details)&&void 0!==i?i:"",n=`discount_${o}=${encodeURIComponent(`${r}{${a}}`)}`,d=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(M||(M=ae` <div data-testid="rules:url" class="text-xs flex space-x-xs"> <span class="${0}"> <foxy-i18n lang="${0}" key="url_parameter" ns="${0}"></foxy-i18n>&#58; </span> <code class="${0}"> ${0} </code> <foxy-copy-to-clipboard data-testid="rules:url:copy" text="${0}" lang="${0}" ns="${0} copy-to-clipboard" ?disabled="${0}"> </foxy-copy-to-clipboard> </div> `),u({"flex-shrink-0 transition-colors":!0,"text-tertiary":!d,"text-disabled":d}),this.lang,this.ns,u({"bg-contrast-5 transition-colors font-lumo truncate rounded-s px-xs":!0,"text-secondary":!d,"text-disabled":d}),n,n,this.lang,this.ns,d)}__renderRulesDescription(){var e,t;const i=null!==(e=this.form.coupon_discount_type)&&void 0!==e?e:"quantity_amount",r=null!==(t=this.form.coupon_discount_details)&&void 0!==t?t:"",o=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(A||(A=ae` <div data-testid="rules:description" class="text-xs leading-m"> <span class="transition-colors ${0}"> <foxy-i18n lang="${0}" key="description" ns="${0}"></foxy-i18n>&#58; </span> <foxy-i18n options="${0}" class="transition-colors ${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> </div> `),o?"text-disabled":"text-tertiary",this.lang,this.ns,JSON.stringify({params:{details:r,type:i,ns:this.ns}}),o?"text-disabled":"text-secondary",this.lang,this.ns)}__renderRules(){var e,t;const i=!this.in("idle")||this.disabledSelector.matches("rules",!0),r=this.readonlySelector.matches("rules",!0),o=null!==(e=this.form.coupon_discount_details)&&void 0!==e?e:"",a=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount";return s(H||(H=ae` <div data-testid="rules"> ${0} <div> <div class="flex items-center justify-between space-x-m text-s mb-xs"> <foxy-i18n class="${0}" lang="${0}" key="rule_plural" ns="${0}"> </foxy-i18n> <div class="min-w-0">${0}</div> </div> <foxy-discount-builder data-testclass="interactive" lang="${0}" ns="${0}" ?readonly="${0}" ?disabled="${0}" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> <div class="space-y-xs mt-m"> ${0} ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot("rules:before"),u({"transition-colors font-medium flex-1":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.__renderRulesPreset(),this.lang,this.ns,r,i,{details:o,type:a,name:"Rules"},(e=>{const t=e.currentTarget.parsedValue;this.edit({coupon_discount_details:t.details,coupon_discount_type:t.type})}),this.__renderRulesUrlParameter(),this.__renderRulesDescription(),this.renderTemplateOrSlot("rules:after"))}__renderCodes(){var e,t,i,r,o;const{disabledSelector:a,group:n,data:d,lang:l,ns:c}=this,m=!this.in("idle")||a.matches("codes",!0),u=this.__codesTableQuery,p=new URL(d._links["fx:coupon_codes"].href);new URLSearchParams(null!=u?u:"").forEach(((e,t)=>p.searchParams.set(t,e))),p.searchParams.set("limit","5");const h=null===u?"filter":"clear_filters",f="icons:"+(null===u?"filter-list":"clear");return s(W||(W=ae` <div data-testid="codes"> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button current-balance ${0}" related="${0}" header="generate" parent="${0}" group="${0}" lang="${0}" form="foxy-generate-codes-form" ns="${0}" id="generate-codes-dialog" alert .related="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" header="code" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-code-form" ns="${0}" id="code-dialog" alert .props="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> ${0} <div class="flex items-center justify-between mb-xs space-x-s"> <foxy-i18n class="text-s font-medium text-secondary leading-none flex-1" lang="${0}" key="code_plural" ns="${0}"> </foxy-i18n> <vaadin-button data-testid="codes:generate-button" theme="success tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="generate" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:add"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:import-button" theme="contrast tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="import" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:open-in-browser"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:filter-button" theme="contrast ${0} small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="${0}"></iron-icon> </vaadin-button> </div> <foxy-query-builder class="my-s" lang="${0}" ns="${0} ${0}" ?disabled="${0}" ?hidden="${0}" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-table class="px-m mb-s border border-contrast-10 rounded" group="${0}" lang="${0}" ns="${0}" .columns="${0}"> </foxy-table> </foxy-pagination> ${0} </div> `),a.zoom("codes:generate:form").toString(),this.readonlySelector.zoom("codes:generate:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),JSON.stringify([p.toString()]),null!==(e=null==d?void 0:d._links["fx:generate_codes"].href)&&void 0!==e?e:"",n,l,c,[p.toString()],a.zoom("codes:form").toString(),this.readonlySelector.zoom("codes:form").toString(),this.hiddenSelector.zoom("codes:form").toString(),p.toString(),n,l,c,{".getTransactionPageHref":this.getTransactionPageHref},a.zoom("codes:import:form").toString(),this.readonlySelector.zoom("codes:import:form").toString(),this.hiddenSelector.zoom("codes:import:form").toString(),d._links["fx:coupon_codes"].href,n,l,c,this.renderTemplateOrSlot("codes:before"),l,c,m,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),s=e.currentTarget;null==t||t.show(s)}),l,c,m,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),s=e.currentTarget;null==t||t.show(s)}),l,c,null===u?"tertiary":"",m,(()=>this.__codesTableQuery=null===u?"":null),l,h,c,f,l,c,null!==(i=null===(t=customElements.get("foxy-query-builder"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"",m,null===u,de.__codesQueryOptions,u,(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),p.toString(),l,c,null!==(o=null===(r=customElements.get("foxy-pagination"))||void 0===r?void 0:r.defaultNS)&&void 0!==o?o:"",m,n,l,c,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderUsage(){var e,t,i;const r=!this.in("idle")||this.disabledSelector.matches("usage",!0),o=this.readonlySelector.matches("usage",!0),a=null!==(e=this.form.number_of_uses_allowed)&&void 0!==e?e:0,n=null!==(t=this.form.number_of_uses_allowed_per_customer)&&void 0!==t?t:0,d=null!==(i=this.form.number_of_uses_allowed_per_code)&&void 0!==i?i:0;return s(B||(B=ae` <div data-testid="usage"> ${0} <div class="space-y-s"> <div class="grid gap-m grid-cols-3"> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon-code" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-customer" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> </div> <div class="${0}"> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_code_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_customer_summary${0}" ns="${0}"> </foxy-i18n> </div> </div> ${0} </div> `),this.renderTemplateOrSlot("usage:before"),this.t("unlimited"),this.t("uses_per_coupon"),a||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_coupon_code"),d||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_code:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_customer"),n||"",r,o,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_customer:parseInt(t.value)})}),u({"transition-colors text-xs leading-s":!0,"text-secondary":!r,"text-disabled":r}),JSON.stringify({count:a}),this.lang,a?"":"_0",this.ns,JSON.stringify({count:d}),this.lang,d?"":"_0",this.ns,JSON.stringify({count:n}),this.lang,n?"":"_0",this.ns,this.renderTemplateOrSlot("usage:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",i=!this.in("idle")||this.disabledSelector.matches(t,!0),r=this.readonlySelector.matches(t,!0),o=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",a=[{header:"allow",items:[]},{header:"block",items:[]}];return o&&o.split(",").forEach((e=>{const t=e.trim();if(!t)return;const s=t.startsWith("-"),i=s?1:0,r=s?t.substring(1):t;a[i].items.push({label:r,value:t})})),s(F||(F=ae` <div data-testid="product-restrictions"> ${0} <div class="space-y-s"> <x-group frame> <foxy-i18n class="${0}" slot="header" lang="${0}" key="product_restrictions" ns="${0}"> </foxy-i18n> <div class="grid sm-grid-cols-2 bg-contrast-10" style="gap:1px"> ${0} </div> </x-group> <foxy-i18n class="${0}" lang="${0}" key="product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),i?"text-disabled":"text-secondary",this.lang,this.ns,a.map(((e,t)=>s(K||(K=ae` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list data-testid="product-restrictions:${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),i?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,e.header,this.lang,this.ns,i,r,e.items,(e=>{const s=[0===t?e.currentTarget.items:a[0].items,1===t?e.currentTarget.items:a[1].items].map((e=>e.map((e=>e.value.replace(/^[\s-]*/,"").trimEnd())))).map((e=>e.filter((e=>!!e)))).map((e=>Array.from(new Set(e)))),i=s[0].concat(s[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:i})})))),u({"block text-xs leading-s transition-colors":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e,t,i;const r="category-restrictions",o=!this.in("idle")||this.disabledSelector.matches(r,!0),a=this.readonlySelector.matches(r,!0);return s(X||(X=ae` <div data-testid="category-restrictions"> ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" lang="${0}" key="category_restrictions" ns="${0}"> </foxy-i18n> <x-category-restrictions-page coupon-item-categories="${0}" data-testid="category-restrictions:page" coupon="${0}" class="border border-contrast-10 rounded mb-s" group="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> </x-category-restrictions-page> </foxy-pagination> <foxy-i18n class="block text-xs leading-s text-tertiary" lang="${0}" key="category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("category-restrictions:before"),this.__itemCategories,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-pagination"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",o,this.lang,this.ns,m(null===(i=this.data)||void 0===i?void 0:i._links["fx:coupon_item_categories"].href),this.href,this.group,this.lang,this.ns,o,a,this.lang,this.ns,this.renderTemplateOrSlot("category-restrictions:after"))}__renderCustomerAttributeRestrictions(){var e;const t="customer-attribute-restrictions",i=this.disabledSelector.matches(t,!0),r=this.readonlySelector.matches(t,!0);return s(Y||(Y=ae` <div data-testid="customer-attribute-restrictions"> ${0} <div class="${0}"> <foxy-i18n class="text-s font-medium" infer="${0}" key="label"></foxy-i18n> <foxy-query-builder infer="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-i18n class="text-xs" infer="${0}" key="helper_text"></foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot(`${t}:before`),u({"grid gap-xs leading-xs transition-colors":!0,"text-secondary hover-text-body":!i&&!r,"text-disabled":i,"text-body":r}),t,t,null!==(e=this.form.customer_attribute_restrictions)&&void 0!==e?e:null,(e=>{var t;const s=e.currentTarget;this.edit({customer_attribute_restrictions:null!==(t=s.value)&&void 0!==t?t:""}),this.edit({customer_auto_apply:!!this.form.customer_subscription_restrictions||!!this.form.customer_attribute_restrictions})}),t,this.renderTemplateOrSlot(`${t}:after`))}__renderOptions(){const e=!this.in("idle")||this.disabledSelector.matches("options",!0),t=this.readonlySelector.matches("options",!0);return s(Z||(Z=ae` <div data-testid="options"> ${0} <x-group frame> <foxy-i18n class="transition-colors ${0}" slot="header" lang="${0}" key="option_plural" ns="${0}"> </foxy-i18n> ${0} <x-checkbox data-testclass="inputs" data-testid="options:dates" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="set_time_constraints" ns="${0}"></foxy-i18n> <foxy-i18n class="text-xs leading-s ${0}" lang="${0}" key="set_time_constraints_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </x-checkbox> </x-group> ${0} </div> `),this.renderTemplateOrSlot("options:before"),e?"text-disabled":"text-secondary",this.lang,this.ns,[{param:"multiple_codes_allowed"},{param:"combinable"},{param:"exclude_category_discounts",label:"combine_with_category_discounts",flip:!0},{param:"exclude_line_item_discounts",label:"combine_with_line_discounts",flip:!0},{param:"is_taxable",label:"apply_taxes_before_coupon"}].map((i=>{var r;const o=this.form[i.param],a=null!==(r=i.label)&&void 0!==r?r:i.param,n=e?"text-disabled":"text-secondary";return s(ee||(ee=ae` <x-checkbox data-testclass="inputs" data-testid="options:${0}" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <foxy-i18n class="transition-colors text-xs leading-s ${0}" lang="${0}" key="${0}_explainer" ns="${0}"> </foxy-i18n> </div> </x-checkbox> <div style="margin-left:calc(1.125rem + (var(--lumo-space-m) * 2))"> <div class="border-b border-contrast-10"></div> </div> `),i.param.replace(/_/g,"-"),e,t,i.flip?!o:o,(e=>{this.edit({[i.param]:i.flip?!e.detail:e.detail})}),this.lang,a,this.ns,n,this.lang,a,this.ns)})),e,t,this.form.start_date||this.form.end_date,(e=>{if(e instanceof r){let t=null,s=null;if(e.detail){const e=Date.now(),i=new Date(e).setMonth((new Date).getMonth()+1);t=g(new Date(e)),s=g(new Date(i))}this.edit({start_date:t,end_date:s})}}),this.lang,this.ns,e?"text-disabled":"text-secondary",this.lang,this.ns,this.form.start_date||this.form.end_date?s(te||(te=ae` <div class="grid grid-cols-2 gap-m mt-m" slot="content" style="--lumo-border-radius:var(--lumo-border-radius-s)"> ${0} </div> `),["start_date","end_date"].map((i=>{const r=this.form[i],o=r?r.length>10?g(new Date(r)):r:"";return s(se||(se=ae` <vaadin-date-picker data-testclass="inputs" data-testid="options:${0}" placeholder="${0}" label="${0}" clear-button-visible ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </vaadin-date-picker> `),i.replace("_","-"),this.t("select"),this.t(i),e,t,y(o),(e=>{const t=e.currentTarget;this.edit({[i]:t.value})}))}))):"",this.renderTemplateOrSlot("options:after"))}__renderTimestamps(){return s(ie||(ie=ae` <div> ${0} <x-metadata data-testid="timestamps" .items="${0}"> </x-metadata> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),r=this.in({idle:{snapshot:{dirty:"invalid"}}}),o=e||t||(i||r),a=this.in("idle");return s(re||(re=ae` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!a||o||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return s(oe||(oe=ae` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}de.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"used_codes",path:"number_of_uses_to_date",type:e.Number},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-coupon-form",de);export{de as CouponForm};
1
+ import"./shared-467e5b06.js";import"./shared-b9ea6d85.js";import"./shared-5debeb1b.js";import{I as e}from"./shared-75d13e1b.js";import"./foxy-query-builder.js";import{_ as t,B as o}from"./shared-b3db7611.js";import{O as s,T as i}from"./shared-8874ec69.js";import{c as r}from"./shared-4e709717.js";import{h as n}from"./shared-dc73b9a5.js";import"./shared-f0fcd613.js";import"./shared-bd919e3b.js";import"./shared-be0fca15.js";import"./shared-f7c60ee0.js";import{I as a}from"./shared-8a247f48.js";import"./foxy-generate-codes-form.js";import"./foxy-item-category-card.js";import"./foxy-coupon-codes-form.js";import"./foxy-coupon-code-card.js";import"./foxy-coupon-code-form.js";import"./foxy-nucleon-element.js";import"./foxy-attribute-form.js";import"./foxy-attribute-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-discount-builder.js";import"./shared-6586ffd5.js";import{R as l,a as d}from"./shared-7ff78b4a.js";import{i as c}from"./shared-9803aa7c.js";import"./shared-ea5fa631.js";import"./shared-4c611015.js";import"./shared-0a9d860d.js";import"./shared-61ade33e.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-6b68b3b6.js";import"./shared-da2e66a4.js";import"./shared-3cabd589.js";import"./shared-343d1fd7.js";import"./shared-2b5a3c80.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-a0c6a159.js";import"./shared-99940888.js";import"./foxy-pagination.js";import"./shared-25198d9a.js";import"./shared-bab2ea2c.js";import"./foxy-form-dialog.js";import"./shared-03673673.js";import"./shared-6cd4e618.js";import"./shared-91c88f14.js";import"./shared-22ba9566.js";import"./shared-51c4a6dd.js";import"./shared-8438d4ca.js";import"./shared-79d0699c.js";import"./shared-a24b2aa7.js";import"./shared-684cd55a.js";import"./shared-612ea9ed.js";import"./shared-ad11b006.js";import"./shared-58951f74.js";import"./shared-90cbed56.js";import"./shared-540063aa.js";import"./shared-28be347b.js";import"./shared-99e354b1.js";import"./shared-2314add3.js";import"./shared-43e2c3f6.js";import"./shared-b900e1b5.js";import"./shared-4affec66.js";import"./shared-8b521111.js";import"./shared-90877857.js";import"./shared-d222bd1e.js";import"./foxy-swipe-actions.js";import"./foxy-transaction-card.js";import"./shared-0f59fd6a.js";import"./shared-4c7a8fcc.js";import"./shared-1e7639e6.js";let u,p,_,m,f=e=>e;customElements.define("foxy-internal-query-builder-control",class extends e{constructor(){super(...arguments),this.operators=Object.values(s),this.disableOr=!1}static get properties(){return t(t({},super.properties),{},{operators:{type:Array},disableOr:{type:Boolean,attribute:"disable-or"}})}renderControl(){const{label:e,helperText:t,_errorMessage:o}=this,s=o&&!this.disabled&&!this.readonly;return n(u||(u=f` <section class="${0}"> ${0} <foxy-query-builder infer="query-builder" .operators="${0}" .value="${0}" ?disable-or="${0}" @change="${0}"> </foxy-query-builder> ${0} ${0} </section> `),r({"grid gap-xs leading-xs transition-colors":!0,"text-secondary hover-text-body":!this.disabled&&!this.readonly,"text-disabled":this.disabled,"text-body":this.readonly}),e?n(p||(p=f`<p class="text-s font-medium">${0}</p>`),e):"",this.operators,this._value,this.disableOr,(e=>{var t;const o=e.currentTarget;this._value=null!==(t=o.value)&&void 0!==t?t:""}),t?n(_||(_=f`<p class="text-xs">${0}</p>`),t):"",s?n(m||(m=f`<p class="text-xs text-error">${0}</p>`),o):"")}});let h,y,b,x,g,v=e=>e;customElements.define("foxy-internal-coupon-form-rules-control",class extends e{renderControl(){var e,t;const o=this.nucleon,s=null!==(e=null==o?void 0:o.form.coupon_discount_details)&&void 0!==e?e:"",i=null!==(t=null==o?void 0:o.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount",a=this.helperText,l=this.__renderRulesDescription(),d=this._errorMessage;return n(h||(h=v` <section> <p class="leading-xs flex items-center justify-between space-x-m text-s mb-xs"> <span class="${0}"> ${0} </span> <span class="min-w-0">${0}</span> </p> <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> ${0} ${0} </section> `),r({"transition-colors font-medium flex-1":!0,"text-secondary":!this.disabled,"text-disabled":this.disabled}),this.label,this.__renderPreset(),{details:s,type:i,name:"Rules"},(e=>{const t=e.currentTarget.parsedValue,o=this.nucleon;null==o||o.edit({coupon_discount_details:t.details,coupon_discount_type:t.type})}),a||l?n(y||(y=v` <p class="${0}"> ${0} </p> `),r({"text-xs mt-xs leading-xs transition-colors":!0,"text-secondary":!this.disabled&&!this.readonly,"text-disabled":this.disabled,"text-body":this.readonly}),l||a):"",!d||this.disabled||this.readonly?"":n(b||(b=v`<p class="mt-xs text-xs leading-xs text-error">${0}</p>`),this._errorMessage))}__renderRulesDescription(){var e,t;const o=this.nucleon,s=null!==(e=null==o?void 0:o.form.coupon_discount_type)&&void 0!==e?e:"quantity_amount",i=null!==(t=null==o?void 0:o.form.coupon_discount_details)&&void 0!==t?t:"";return i?this.t("discount_summary",{params:{details:i,type:s,ns:this.ns}}):null}__renderPreset(){const e=this.nucleon,o=null==e?void 0:e.form.coupon_discount_details,s=null==e?void 0:e.form.coupon_discount_type,i=[{type:"quantity_amount",details:"allunits|2-2"},{type:"quantity_percentage",details:"allunits|5-10|10-20"},{type:"quantity_amount",details:"incremental|3-5"},{type:"quantity_percentage",details:"incremental|11-10|51-15|101-20"},{type:"quantity_percentage",details:"repeat|2-100"},{type:"quantity_percentage",details:"repeat|4-50"},{type:"quantity_amount",details:"single|5-10"},{type:"price_percentage",details:"single|99.99-10"}],a=i.find((e=>e.details===o&&e.type===s));return n(x||(x=v` <label data-testid="rules:preset" class="${0}"> <foxy-i18n class="sr-only" infer="" key="preset"></foxy-i18n> <span class="relative font-medium flex items-center"> <span class="truncate"> ${0} </span> <iron-icon class="icon-inline text-xl ml-xs -mr-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" data-testid="rules:preset:select" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} <option value="custom" ?selected="${0}"> ${0} </option> </select> </span> </label> `),r({"whitespace-nowrap block ring-primary-50 rounded px-xs -mx-xs transition-colors":!0,"text-body hover-text-primary focus-within-ring-2":!this.disabled&&!this.readonly,"text-secondary":this.readonly,"text-disabled":this.disabled}),a?this.t("discount_summary",{params:t(t({},a),{},{ns:this.ns})}):this.t("custom_discount"),this.disabled||this.readonly,(e=>{var t,o;const s=e.currentTarget,r=i[s.selectedIndex],n=this.nucleon;null==n||n.edit({coupon_discount_details:null!==(t=null==r?void 0:r.details)&&void 0!==t?t:"",coupon_discount_type:null!==(o=null==r?void 0:r.type)&&void 0!==o?o:"quantity_amount"})}),i.map((e=>n(g||(g=v` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.details,e===a,this.t("discount_summary",{params:t(t({},e),{},{ns:this.ns})})))),!a&&!!o&&!!s,this.t("custom_discount"))}});let j,$,w=e=>e;const k=l(d(a,"coupon-form"));class V extends k{constructor(){var e;super(...arguments),e=this,this.getTransactionPageHref=null,this.__customerSubscriptionRestrictionsGetValue=()=>{var e;const t=null===(e=this.form.customer_subscription_restrictions)||void 0===e?void 0:e.split(",").map((e=>e.trim())).filter(((e,t,o)=>!!e&&o.indexOf(e)===t)).map((e=>({value:e})));return null!=t?t:[]},this.__customerSubscriptionRestrictionsSetValue=e=>{this.edit({customer_subscription_restrictions:e.map((({value:e})=>e.trim())).filter(((e,t,o)=>!!e&&o.indexOf(e)===t)).join()}),this.edit({customer_auto_apply:!!this.form.customer_subscription_restrictions||!!this.form.customer_attribute_restrictions})},this.__productCodeRestrictionsGetValue=()=>{var e;return null===(e=this.form.product_code_restrictions)||void 0===e?void 0:e.split(",").filter((e=>!!e.trim())).map((e=>({value:e,label:e.startsWith("-")?this.t("product-code-restrictions.label_block",{value:e.substring(1)}):this.t("product-code-restrictions.label_allow",{value:e})})))},this.__productCodeRestrictionsSetValue=e=>{this.edit({product_code_restrictions:e.map((({value:e,unit:t})=>"block"===t?`-${e}`:e)).filter(((e,t,o)=>!!e&&o.indexOf(e)===t)).join(",")})},this.__itemOptionRestrictionsOperators=[s.In],this.__itemOptionRestrictionsGetValue=()=>{var e;const t=new URLSearchParams,o=null!==(e=this.form.item_option_restrictions)&&void 0!==e?e:{};for(const e in o)t.set(`${e}:in`,o[e].join(","));return t.toString()},this.__itemOptionRestrictionsSetValue=e=>{const t=Object.fromEntries(Array.from(new URLSearchParams(e).entries()).map((([e,t])=>[e.replace(":in",""),t.split(",").filter((e=>!!e.trim()))])));this.edit({item_option_restrictions:t})},this.__optionsGetValue=()=>{const e=[];return this.form.multiple_codes_allowed&&e.push("multiple_codes_allowed"),this.form.combinable&&e.push("combinable"),this.form.exclude_category_discounts&&e.push("exclude_category_discounts"),this.form.exclude_line_item_discounts&&e.push("exclude_line_item_discounts"),this.form.is_taxable&&e.push("is_taxable"),this.form.shared_codes_allowed&&e.push("shared_codes_allowed"),this.form.customer_auto_apply&&e.push("customer_auto_apply"),e},this.__optionsSetValue=e=>{this.edit({multiple_codes_allowed:e.includes("multiple_codes_allowed"),combinable:e.includes("combinable"),exclude_category_discounts:e.includes("exclude_category_discounts"),exclude_line_item_discounts:e.includes("exclude_line_item_discounts"),is_taxable:e.includes("is_taxable"),shared_codes_allowed:e.includes("shared_codes_allowed"),customer_auto_apply:e.includes("customer_auto_apply")})},this.__optionsOptions=[{value:"multiple_codes_allowed",label:"option_multiple_codes_allowed"},{value:"combinable",label:"option_combinable"},{value:"exclude_category_discounts",label:"option_exclude_category_discounts"},{value:"exclude_line_item_discounts",label:"option_exclude_line_item_discounts"},{value:"is_taxable",label:"option_is_taxable"},{value:"shared_codes_allowed",label:"option_shared_codes_allowed"},{value:"customer_auto_apply",label:"option_customer_auto_apply"}],this.__storeLoaderId="storeLoader",this.__codesFilters=[{label:"code",path:"code",type:i.String},{label:"used_codes",path:"number_of_uses_to_date",type:i.Number},{label:"date_created",path:"date_created",type:i.Date},{label:"date_modified",path:"date_modified",type:i.Date}],this.__couponCodesActions=[{theme:"contrast",state:"idle",text:"copy_button_text",onClick:async function(t){e.__couponCodesActions[0].state="busy",e.__couponCodesActions=[...e.__couponCodesActions];try{await navigator.clipboard.writeText(t.code),e.__couponCodesActions[0].state="end"}catch(t){e.__couponCodesActions[0].state="error"}finally{e.__couponCodesActions=[...e.__couponCodesActions],setTimeout((()=>{e.__couponCodesActions[0].state="idle",e.__couponCodesActions=[...e.__couponCodesActions]}),1e3)}}}]}static get properties(){return t(t({},super.properties),{},{getTransactionPageHref:{attribute:!1},__couponCodesActions:{type:Array}})}static get v8n(){return[({name:e})=>!!e||"name:v8n_required",({name:e})=>!e||e.length<=50||"name:v8n_too_long",({inclusive_tax_rate:e})=>!e||e>=0||"inclusive-tax-rate:v8n_too_small",({inclusive_tax_rate:e})=>!e||e<=1||"inclusive-tax-rate:v8n_too_big",({number_of_uses_allowed:e})=>!e||e>=0||"number-of-uses-allowed:v8n_too_small",({coupon_discount_details:e})=>!!e||"rules:v8n_required",({coupon_discount_details:e})=>!e||e.length<=200||"rules:v8n_too_long",({item_option_restrictions:e})=>!e||JSON.stringify(e).length<=6e3||"item-option-restrictions:v8n_too_long",({product_code_restrictions:e})=>!e||e.length<=5e3||"product-code-restrictions:v8n_too_long",({customer_attribute_restrictions:e})=>!e||e.length<=2e3||"customer-attribute-restrictions:v8n_too_long",({number_of_uses_allowed_per_code:e})=>!e||e>=0||"number-of-uses-allowed-per-code:v8n_too_small",({customer_subscription_restrictions:e})=>!e||e.length<=200||"customer-subscription-restrictions:v8n_too_long",({number_of_uses_allowed_per_customer:e})=>!e||e>=0||"number-of-uses-allowed-per-customer:v8n_too_small"]}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.data||e.push("coupon-codes","category-restrictions","attributes"),this.form.customer_auto_apply||e.push("customer-attribute-restrictions","customer-subscription-restrictions"),new o(e.join(" ").trim())}renderHeaderActions(e){return n(j||(j=w` <foxy-internal-bulk-add-action-control parent="${0}" infer="generate" form="foxy-generate-codes-form" .related="${0}"> </foxy-internal-bulk-add-action-control> <foxy-internal-bulk-add-action-control parent="${0}" infer="import" form="foxy-coupon-codes-form" .related="${0}"> </foxy-internal-bulk-add-action-control> ${0} `),e._links["fx:generate_codes"].href,[e._links["fx:coupon_codes"].href],e._links["fx:coupon_codes"].href,[e._links["fx:coupon_codes"].href],super.renderHeaderActions(e))}renderBody(){var e,t,o,s,i,r,a,l;let d;try{const o=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:coupon_codes"].href)&&void 0!==t?t:"");o.searchParams.set("order","date_created desc"),d=o.toString()}catch(e){d=void 0}return n($||($=w` ${0} <foxy-internal-text-control infer="name"></foxy-internal-text-control> <foxy-internal-coupon-form-rules-control infer="rules"> </foxy-internal-coupon-form-rules-control> <foxy-internal-async-list-control first="${0}" limit="5" infer="coupon-codes" item="foxy-coupon-code-card" form="foxy-coupon-code-form" alert .formProps="${0}" .actions="${0}" .filters="${0}"> </foxy-internal-async-list-control> <foxy-internal-query-builder-control infer="item-option-restrictions" disable-or .operators="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-query-builder-control> <foxy-internal-editable-list-control infer="product-code-restrictions" .getValue="${0}" .setValue="${0}" .units="${0}"> </foxy-internal-editable-list-control> <foxy-internal-async-resource-link-list-control foreign-key-for-uri="item_category_uri" foreign-key-for-id="item_category_id" own-key-for-uri="coupon_uri" own-uri="${0}" embed-key="fx:coupon_item_categories" options-href="${0}" links-href="${0}" infer="category-restrictions" limit="5" item="foxy-item-category-card"> </foxy-internal-async-resource-link-list-control> <div class="grid gap-l sm-grid-cols-3"> <foxy-internal-integer-control infer="number-of-uses-allowed" min="0" show-controls> </foxy-internal-integer-control> <foxy-internal-integer-control infer="number-of-uses-allowed-per-customer" min="0" show-controls> </foxy-internal-integer-control> <foxy-internal-integer-control infer="number-of-uses-allowed-per-code" min="0" show-controls> </foxy-internal-integer-control> </div> <div class="grid gap-l sm-grid-cols-2"> <foxy-internal-date-control infer="start-date"></foxy-internal-date-control> <foxy-internal-date-control infer="end-date"></foxy-internal-date-control> </div> <foxy-internal-number-control min="0" max="1" infer="inclusive-tax-rate"> </foxy-internal-number-control> <foxy-internal-checkbox-group-control infer="options" theme="vertical" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-editable-list-control infer="customer-subscription-restrictions" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> <foxy-internal-query-builder-control infer="customer-attribute-restrictions"> </foxy-internal-query-builder-control> <foxy-internal-async-list-control first="${0}" limit="5" infer="attributes" item="foxy-attribute-card" form="foxy-attribute-form" alert> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> `),this.renderHeader(),d,{".getTransactionPageHref":this.getTransactionPageHref},this.__couponCodesActions,this.__codesFilters,this.__itemOptionRestrictionsOperators,this.__itemOptionRestrictionsGetValue,this.__itemOptionRestrictionsSetValue,this.__productCodeRestrictionsGetValue,this.__productCodeRestrictionsSetValue,[{label:this.t("product-code-restrictions.unit_allow"),value:"allow"},{label:this.t("product-code-restrictions.unit_block"),value:"block"}],c(null===(o=this.data)||void 0===o?void 0:o._links.self.href),c(null===(i=null===(s=this.__storeLoader)||void 0===s?void 0:s.data)||void 0===i?void 0:i._links["fx:item_categories"].href),c(null===(r=this.data)||void 0===r?void 0:r._links["fx:coupon_item_categories"].href),this.__optionsGetValue,this.__optionsSetValue,this.__optionsOptions,this.__customerSubscriptionRestrictionsGetValue,this.__customerSubscriptionRestrictionsSetValue,c(null===(a=this.data)||void 0===a?void 0:a._links["fx:attributes"].href),super.renderBody(),c(null===(l=this.data)||void 0===l?void 0:l._links["fx:store"].href),this.__storeLoaderId,(()=>this.requestUpdate()))}get __storeLoader(){return this.renderRoot.querySelector(`#${this.__storeLoaderId}`)}}customElements.define("foxy-coupon-form",V);export{V as CouponForm};
@@ -1 +1 @@
1
- import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-56addb06.js";import{T as e}from"./shared-e52280d9.js";import"./shared-7e201abd.js";import"./shared-48b76c74.js";import"./shared-1d257548.js";import"./shared-669decee.js";import"./shared-11014aad.js";import"./shared-343d1fd7.js";import"./shared-4fd17baf.js";import"./shared-6af480b8.js";import"./shared-9803aa7c.js";import"./shared-8778d784.js";import"./shared-4fb9d21f.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-4e709717.js";let d,a,t=r=>r;class o extends(s(e,"custom-field-card")){renderBody(){return super.renderBody({title:s=>r(d||(d=t`${0}`),s.name),subtitle:s=>r(a||(a=t`${0}`),s.value)})}}customElements.define("foxy-custom-field-card",o);export{o as CustomFieldCard};
1
+ import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-7ff78b4a.js";import{T as e}from"./shared-4affec66.js";import"./shared-6b68b3b6.js";import"./shared-0a9d860d.js";import"./shared-da2e66a4.js";import"./shared-6586ffd5.js";import"./shared-b3db7611.js";import"./shared-343d1fd7.js";import"./shared-3cabd589.js";import"./shared-2b5a3c80.js";import"./shared-9803aa7c.js";import"./shared-8b521111.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-4e709717.js";let d,a,t=r=>r;class o extends(s(e,"custom-field-card")){renderBody(){return super.renderBody({title:s=>r(d||(d=t`${0}`),s.name),subtitle:s=>r(a||(a=t`${0}`),s.value)})}}customElements.define("foxy-custom-field-card",o);export{o as CustomFieldCard};
@@ -1 +1 @@
1
- import"./shared-3cbcd9cb.js";import"./shared-872151f5.js";import{I as e}from"./shared-df58b901.js";import{a as r}from"./shared-56addb06.js";import{h as s}from"./shared-dc73b9a5.js";import"./shared-bc95d87e.js";import"./shared-4877ed05.js";import"./shared-48b76c74.js";import"./shared-61ade33e.js";import"./shared-039de1fd.js";import"./shared-7e201abd.js";import"./shared-bf132324.js";import"./shared-51c4a6dd.js";import"./shared-669decee.js";import"./shared-11014aad.js";import"./shared-343d1fd7.js";import"./shared-4fd17baf.js";import"./shared-6af480b8.js";import"./shared-9803aa7c.js";import"./shared-4fb9d21f.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-a0c6a159.js";import"./shared-931db653.js";import"./shared-92cdd504.js";import"./shared-6be0a096.js";import"./shared-4e709717.js";import"./foxy-spinner.js";import"./shared-1d257548.js";let i,t=e=>e;const o=r(e,"custom-field-form");class a extends o{constructor(){super(...arguments),this.templates={},this.__visibilityGetValue=()=>this.form.is_hidden?["hidden"]:[],this.__visibilitySetValue=e=>{this.edit({is_hidden:e.includes("hidden")})},this.__visibilityOptions=[{label:"option_hidden",value:"hidden"}]}static get v8n(){return[({value:e})=>e&&e.length>0||"value:v8n_required",({value:e})=>!e||e.length<=700||"value:v8n_too_long",({name:e})=>e&&e.length>0||"name:v8n_required",({name:e})=>!e||e.length<=100||"name:v8n_too_long"]}renderBody(){return s(i||(i=t` <foxy-internal-source-control infer="name"></foxy-internal-source-control> <foxy-internal-source-control infer="value"></foxy-internal-source-control> <foxy-internal-checkbox-group-control infer="visibility" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> ${0} `),this.__visibilityGetValue,this.__visibilitySetValue,this.__visibilityOptions,super.renderBody())}}customElements.define("foxy-custom-field-form",a);export{a as CustomFieldForm};
1
+ import"./shared-b9ea6d85.js";import"./shared-b900e1b5.js";import{I as e}from"./shared-8a247f48.js";import{a as r}from"./shared-7ff78b4a.js";import{h as s}from"./shared-dc73b9a5.js";import"./shared-ea5fa631.js";import"./shared-4c611015.js";import"./shared-0a9d860d.js";import"./shared-61ade33e.js";import"./shared-91c88f14.js";import"./shared-6b68b3b6.js";import"./shared-75d13e1b.js";import"./shared-51c4a6dd.js";import"./shared-6586ffd5.js";import"./shared-b3db7611.js";import"./shared-343d1fd7.js";import"./shared-3cabd589.js";import"./shared-2b5a3c80.js";import"./shared-9803aa7c.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-a0c6a159.js";import"./shared-25198d9a.js";import"./shared-03673673.js";import"./shared-6cd4e618.js";import"./shared-4e709717.js";import"./foxy-copy-to-clipboard.js";import"./shared-da2e66a4.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";let i,t=e=>e;const o=r(e,"custom-field-form");class a extends o{constructor(){super(...arguments),this.templates={},this.__visibilityGetValue=()=>this.form.is_hidden?["hidden"]:[],this.__visibilitySetValue=e=>{this.edit({is_hidden:e.includes("hidden")})},this.__visibilityOptions=[{label:"option_hidden",value:"hidden"}]}static get v8n(){return[({value:e})=>e&&e.length>0||"value:v8n_required",({value:e})=>!e||e.length<=700||"value:v8n_too_long",({name:e})=>e&&e.length>0||"name:v8n_required",({name:e})=>!e||e.length<=100||"name:v8n_too_long"]}renderBody(){return s(i||(i=t` <foxy-internal-source-control infer="name"></foxy-internal-source-control> <foxy-internal-source-control infer="value"></foxy-internal-source-control> <foxy-internal-checkbox-group-control infer="visibility" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> ${0} `),this.__visibilityGetValue,this.__visibilitySetValue,this.__visibilityOptions,super.renderBody())}}customElements.define("foxy-custom-field-form",a);export{a as CustomFieldForm};
@@ -1 +1 @@
1
- import{C as s}from"./shared-20c4310b.js";export{C as CustomerApi}from"./shared-20c4310b.js";import"./shared-11014aad.js";import"./shared-dc73b9a5.js";import"./shared-03ccfd62.js";import"./shared-dccfe5e7.js";import"./shared-6af480b8.js";import"./shared-9803aa7c.js";import"./shared-343d1fd7.js";import"./shared-4fd17baf.js";customElements.define("foxy-customer-api",s);
1
+ import{C as s}from"./shared-07e7d118.js";export{C as CustomerApi}from"./shared-07e7d118.js";import"./shared-b3db7611.js";import"./shared-dc73b9a5.js";import"./shared-186e41cf.js";import"./shared-8258443c.js";import"./shared-2b5a3c80.js";import"./shared-9803aa7c.js";import"./shared-343d1fd7.js";import"./shared-3cabd589.js";customElements.define("foxy-customer-api",s);
@@ -1 +1 @@
1
- import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-669decee.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-6af480b8.js";import{N as a}from"./shared-4fb9d21f.js";import{T as s,a as i}from"./shared-56addb06.js";import{c as r}from"./shared-4e709717.js";import"./shared-7e201abd.js";import"./shared-48b76c74.js";import"./shared-1d257548.js";import"./shared-11014aad.js";import"./shared-4fd17baf.js";import"./shared-343d1fd7.js";import"./shared-9803aa7c.js";import"./shared-e07b24ca.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";let d,o,n,l,m,p,h,c=e=>e;const v=s(t(i(a,"customer-card")));class f extends v{constructor(){super(...arguments),this.templates={}}render(){var t,a;const s=this.hiddenSelector;return e(d||(d=c` <div aria-busy="${0}" aria-live="polite" class="relative leading-m 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"),r({"leading-xs transition-opacity":!0,"opacity-0":!this.data}),s.matches("name",!0)?"":this.__renderName(),s.matches("email",!0)?"":this.__renderEmail(),r({"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!==(a=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==a?a:"")}__renderName(){var t,a,s,i,r;const d=this.data,m=`${null!==(t=null==d?void 0:d.first_name)&&void 0!==t?t:""} ${null!==(a=null==d?void 0:d.last_name)&&void 0!==a?a:""}`.trim()||"–",p=d?e(o||(o=c`${0}`),m):e(n||(n=c`&ZeroWidthSpace;`));let h;try{h=null!==(r=new URL(null!==(i=null===(s=this.data)||void 0===s?void 0:s._links.self.href)&&void 0!==i?i:"").pathname.split("/").pop())&&void 0!==r?r:""}catch(e){h=""}return e(l||(l=c` <div data-testid="name"> ${0} <div class="flex items-center gap-m"> <div class="font-medium text-body truncate mr-auto">${0}</div> <div class="text-tertiary text-s">ID ${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("name:before"),p,h,this.renderTemplateOrSlot("name:after"))}__renderEmail(){var t;const a=this.data,s=`${null!==(t=null==a?void 0:a.email)&&void 0!==t?t:""}`.trim()||"–",i=a?e(m||(m=c`${0}`),s):e(p||(p=c`&ZeroWidthSpace;`));return e(h||(h=c` <div data-testid="email"> ${0} <div class="text-secondary truncate text-s">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("email:before"),i,this.renderTemplateOrSlot("email:after"))}}customElements.define("foxy-customer-card",f);export{f as CustomerCard};
1
+ import"./shared-51c4a6dd.js";import"./foxy-spinner.js";import"./shared-6586ffd5.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-2b5a3c80.js";import{N as a}from"./shared-fe45779e.js";import{T as s,a as i}from"./shared-7ff78b4a.js";import{c as r}from"./shared-4e709717.js";import"./shared-6b68b3b6.js";import"./shared-0a9d860d.js";import"./shared-da2e66a4.js";import"./shared-b3db7611.js";import"./shared-3cabd589.js";import"./shared-343d1fd7.js";import"./shared-9803aa7c.js";import"./shared-482b2b86.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";let d,o,n,l,m,p,h,c=e=>e;const v=s(t(i(a,"customer-card")));class f extends v{constructor(){super(...arguments),this.templates={}}render(){var t,a;const s=this.hiddenSelector;return e(d||(d=c` <div aria-busy="${0}" aria-live="polite" class="relative leading-m 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"),r({"leading-xs transition-opacity":!0,"opacity-0":!this.data}),s.matches("name",!0)?"":this.__renderName(),s.matches("email",!0)?"":this.__renderEmail(),r({"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!==(a=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==a?a:"")}__renderName(){var t,a,s,i,r;const d=this.data,m=`${null!==(t=null==d?void 0:d.first_name)&&void 0!==t?t:""} ${null!==(a=null==d?void 0:d.last_name)&&void 0!==a?a:""}`.trim()||"–",p=d?e(o||(o=c`${0}`),m):e(n||(n=c`&ZeroWidthSpace;`));let h;try{h=null!==(r=new URL(null!==(i=null===(s=this.data)||void 0===s?void 0:s._links.self.href)&&void 0!==i?i:"").pathname.split("/").pop())&&void 0!==r?r:""}catch(e){h=""}return e(l||(l=c` <div data-testid="name"> ${0} <div class="flex items-center gap-m"> <div class="font-medium text-body truncate mr-auto">${0}</div> <div class="text-tertiary text-s">ID ${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("name:before"),p,h,this.renderTemplateOrSlot("name:after"))}__renderEmail(){var t;const a=this.data,s=`${null!==(t=null==a?void 0:a.email)&&void 0!==t?t:""}`.trim()||"–",i=a?e(m||(m=c`${0}`),s):e(p||(p=c`&ZeroWidthSpace;`));return e(h||(h=c` <div data-testid="email"> ${0} <div class="text-secondary truncate text-s">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("email:before"),i,this.renderTemplateOrSlot("email:after"))}}customElements.define("foxy-customer-card",f);export{f as CustomerCard};
@@ -1 +1 @@
1
- import"./shared-e4e0dc11.js";import"./shared-18d109f5.js";import"./shared-d15c3e2d.js";import{I as t}from"./shared-df58b901.js";import{a as e}from"./shared-bf132324.js";import"./shared-669decee.js";import{i as s}from"./shared-9803aa7c.js";import{h as r}from"./shared-dc73b9a5.js";import{c as o,_ as a,B as i}from"./shared-11014aad.js";import{S as n,a as d}from"./shared-56addb06.js";import{v as l}from"./shared-b738ee96.js";import{c as h}from"./shared-4e709717.js";import"./shared-4877ed05.js";import"./shared-48b76c74.js";import"./shared-61ade33e.js";import"./shared-039de1fd.js";import"./shared-7e201abd.js";import"./shared-f7a5b12a.js";import"./shared-205721a3.js";import"./shared-6e977271.js";import"./shared-931db653.js";import"./shared-92cdd504.js";import"./shared-6be0a096.js";import"./shared-e07b24ca.js";import"./shared-343d1fd7.js";import"./shared-6af480b8.js";import"./shared-4fd17baf.js";import"./foxy-spinner.js";import"./shared-1d257548.js";import"./shared-4fb9d21f.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-51c4a6dd.js";!function(){function t(t,e,s){if(null!=s){const r=t.includes("?")?"&":"?";return t+r+e+"="+encodeURIComponent(s)}return t}class e extends Error{constructor(t){super(`[hcaptcha-web-component]: ${t}`),Object.setPrototypeOf(this,e.prototype)}}class s extends HTMLElement{connectedCallback(){(function(e){if(window._hCaptchaOnLoadPromise)return window._hCaptchaOnLoadPromise;if(window.hcaptcha)return console.warn("[vanilla-hcaptcha] hCaptcha JS API detected to be externally loaded. Unless you know what are you doing, this task should be delegated to this web component."),window._hCaptchaOnLoadPromise=Promise.resolve(),window._hCaptchaOnLoadPromise;{let s,r;window._hCaptchaOnLoadPromise=new Promise(((t,e)=>{s=t,r=e})),window._hCaptchaOnLoad=s;const o=function(e){let s=e.jsapi;return s=t(s,"render","explicit"),s=t(s,"onload","_hCaptchaOnLoad"),s=t(s,"recaptchacompat",!1===e.reCaptchaCompat?"off":null),s=t(s,"host",e.host),s=t(s,"hl",e.hl),s=t(s,"sentry",JSON.stringify(e.sentry)),s=t(s,"endpoint",e.endpoint),s=t(s,"assethost",e.assethost),s=t(s,"imghost",e.imghost),s=t(s,"reportapi",e.reportapi),s}(e),a=document.createElement("script");return a.src=o,a.async=!0,a.defer=!0,a.onerror=t=>{const e=`Failed to load hCaptcha JS API: "${o}"`;console.error(e,t),r(e)},document.head.appendChild(a),window._hCaptchaOnLoadPromise}})({host:this.getAttribute("host"),hl:this.getAttribute("hl"),sentry:"false"!==this.getAttribute("sentry"),reCaptchaCompat:"false"===this.getAttribute("reCaptchaCompat"),jsapi:this.getAttribute("jsapi")||"https://js.hcaptcha.com/1/api.js",endpoint:this.getAttribute("endpoint"),reportapi:this.getAttribute("reportapi"),assethost:this.getAttribute("assethost"),imghost:this.getAttribute("imghost")}).then(this.onApiLoaded.bind(this)).catch(this.onError.bind(this))}onApiLoaded(){this.$emit("loaded");const t="false"!==this.getAttribute("auto-render"),e={sitekey:this.getAttribute("sitekey")||this.getAttribute("site-key"),theme:this.getAttribute("theme"),size:this.getAttribute("size"),hl:this.getAttribute("hl"),tplinks:"off"===this.getAttribute("tplinks")?"off":"on",tabindex:parseInt(this.getAttribute("tabindex")),custom:"true"===this.getAttribute("custom")},s=this.getAttribute("challenge-container");s&&(e["challenge-container"]=s);const r=this.getAttribute("rqdata");t&&!e.sitekey||t&&(this.render(e),this.setData(r))}assertApiLoaded(t){if(!hcaptcha)throw new e(`hCaptcha JS API was not loaded yet. Please wait for \`loaded\` event to safely call "${t}".`)}assertRendered(){if(!this.hcaptchaId)throw new e('hCaptcha was not yet rendered. Please call "render()" first.')}onError(t){console.error(t),this.$emit("error",{error:t})}$emit(t,e){let s;"function"==typeof Event?s=new Event(t):(s=document.createEvent("Event"),s.initEvent(t,!1,!1)),e&&Object.assign(s,e),this.dispatchEvent(s)}render(t){this.assertApiLoaded("render"),this.hcaptchaId?console.warn("hCaptcha was already rendered. You may want to call 'reset()' first."):this.hcaptchaId=hcaptcha.render(this,Object.assign(Object.assign({},t),{callback:()=>{const t=hcaptcha.getResponse(this.hcaptchaId),e=hcaptcha.getRespKey(this.hcaptchaId);this.$emit("verified",{token:t,eKey:e,key:t})},"expired-callback":()=>{this.$emit("expired")},"chalexpired-callback":()=>{this.$emit("challenge-expired")},"error-callback":this.onError.bind(this),"open-callback":()=>{this.$emit("opened")},"close-callback":()=>{this.$emit("closed")}}))}setData(t){this.assertRendered(),hcaptcha.setData(this.hcaptchaId,{rqdata:t})}execute(){this.assertApiLoaded("execute"),this.assertRendered(),hcaptcha.execute(this.hcaptchaId)}executeAsync(){return this.assertApiLoaded("execute"),this.assertRendered(),hcaptcha.execute(this.hcaptchaId,{async:!0})}reset(){this.assertApiLoaded("reset"),this.assertRendered(),hcaptcha.reset(this.hcaptchaId)}}customElements.define("h-captcha",s)}();let c,p=t=>t;customElements.define("foxy-internal-customer-form-legal-notice-control",class extends e{renderControl(){var t,e;const o=this.nucleon;return r(c||(c=p` <p class="leading-s text-xs text-secondary"> <foxy-i18n infer="" key="text"></foxy-i18n> <a class="font-medium text-body rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50" target="_blank" href="${0}" rel="noopener noreferrer"> <foxy-i18n infer="" key="link"></foxy-i18n> </a> </p> `),s(null===(e=null===(t=null==o?void 0:o.settings)||void 0===t?void 0:t.tos_checkbox_settings)||void 0===e?void 0:e.url))}});var m=o((function(t){!function(){const e=[{id:0,value:"Too weak",minDiversity:0,minLength:0},{id:1,value:"Weak",minDiversity:2,minLength:6},{id:2,value:"Medium",minDiversity:4,minLength:8},{id:3,value:"Strong",minDiversity:4,minLength:10}],s=(t,s=e,r="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let o=t||"";s[0].minDiversity=0,s[0].minLength=0;const a=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];r&&a.push({regex:`[${r}]`,message:"symbol"});let i={};i.contains=a.filter((t=>new RegExp(`${t.regex}`).test(o))).map((t=>t.message)),i.length=o.length;let n=s.filter((t=>i.contains.length>=t.minDiversity)).filter((t=>i.length>=t.minLength)).sort(((t,e)=>e.id-t.id)).map((t=>({id:t.id,value:t.value})));return Object.assign(i,n[0]),i};t.exports={passwordStrength:s,defaultOptions:e}}()}));let u,f,g=t=>t;const _=n(d(t,"customer-form")),y=m.passwordStrength;class x extends _{constructor(){super(...arguments),this.passwordless=!1,this.templates={},this.settings=null,this.__isAnonymousGetValue=()=>{var t;return!1===(null===(t=this.form)||void 0===t?void 0:t.is_anonymous)?"false":"true"},this.__isAnonymousSetValue=t=>{const e="true"===t;this.edit({is_anonymous:e}),e&&this.form.password&&this.edit({password:""}),e&&this.form.password_old&&this.edit({password_old:""}),e&&this.form.forgot_password&&this.edit({forgot_password:""})},this.__isAnonymousOptions=[{value:"true",label:"option_true"},{value:"false",label:"option_false"}],this.__refreshInterval=null}static get scopedElements(){return{"foxy-internal-customer-form-legal-notice-control":customElements.get("foxy-internal-customer-form-legal-notice-control"),"foxy-internal-radio-group-control":customElements.get("foxy-internal-radio-group-control"),"foxy-internal-timestamps-control":customElements.get("foxy-internal-timestamps-control"),"foxy-internal-password-control":customElements.get("foxy-internal-password-control"),"foxy-internal-create-control":customElements.get("foxy-internal-create-control"),"foxy-internal-delete-control":customElements.get("foxy-internal-delete-control"),"foxy-internal-text-control":customElements.get("foxy-internal-text-control"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"h-captcha":customElements.get("h-captcha"),"vaadin-button":customElements.get("vaadin-button")}}static get properties(){return a(a({},super.properties),{},{passwordless:{type:Boolean},settings:{type:Object}})}static get v8n(){return[({password:t,_links:e,is_anonymous:s=!0},r)=>!!r.passwordless||(!!(e||s||t)||"password:v8n_required"),({password_old:t,password:e,_links:s},r)=>{var o;return!s||(void 0===(null===(o=r.settings)||void 0===o?void 0:o.sign_up)||(!(e&&!t)||"password-old:v8n_required"))},({first_name:t})=>!t||t.length<=50||"first-name:v8n_too_long",({last_name:t})=>!t||t.length<=50||"last-name:v8n_too_long",({password:t})=>!t||y(t).id>=2||"password:v8n_too_weak",({password:t})=>!t||t.length<=50||"password:v8n_too_long",({tax_id:t})=>!t||t.length<=50||"tax-id:v8n_too_long",({email:t})=>t&&t.length>0||"email:v8n_required",({email:t})=>!t||t.length<=100||"email:v8n_too_long",({email:t})=>!t||l(t)||"email:v8n_invalid_email"]}get hiddenSelector(){const t=new Set(super.hiddenSelector.toString().split(" "));return this.settings?(t.add("forgot-password"),t.add("is-anonymous"),this.form.password||t.add("password-old"),"none"===this.settings.tos_checkbox_settings.usage&&t.add("legal-notice")):(!1!==this.form.is_anonymous&&(t.add("forgot-password"),t.add("password")),t.add("password-old"),t.add("legal-notice")),this.href&&(t.add("is-anonymous"),t.add("legal-notice")),new i(Array.from(t).join(" ").trim())}disconnectedCallback(){super.disconnectedCallback();const t=this.__refreshInterval;t&&clearInterval(t)}connectedCallback(){super.connectedCallback();const t=setInterval((()=>this.requestUpdate()),6e4);this.__refreshInterval=t}renderBody(){var t,e,s,o;const a=this.hiddenSelector.matches("first-name",!0),i=this.hiddenSelector.matches("last-name",!0);return r(u||(u=g` <div class="${0}"> <foxy-internal-text-control infer="first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="last-name"></foxy-internal-text-control> </div> <foxy-internal-text-control helper-text="${0}" infer="email"> </foxy-internal-text-control> <foxy-internal-radio-group-control infer="is-anonymous" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-radio-group-control> <foxy-internal-password-control placeholder="${0}" helper-text="${0}" infer="password" show-generator> </foxy-internal-password-control> <foxy-internal-password-control infer="password-old"></foxy-internal-password-control> <foxy-internal-password-control helper-text="${0}" infer="forgot-password" show-generator> </foxy-internal-password-control> <foxy-internal-text-control infer="tax-id"></foxy-internal-text-control> <foxy-internal-customer-form-legal-notice-control infer="legal-notice"> </foxy-internal-customer-form-legal-notice-control> ${0} ${0} `),h({"grid-cols-2":!a&&!i,hidden:a&&i,"gap-m":!0,grid:!a||!i}),this.__emailHelperText,this.__isAnonymousGetValue,this.__isAnonymousSetValue,this.__isAnonymousOptions,this.__passwordPlaceholder,this.__passwordHelperText,this.__forgotPasswordHelperText,!this.data&&(null===(e=null===(t=this.settings)||void 0===t?void 0:t.sign_up)||void 0===e?void 0:e.enabled)&&"hcaptcha"===(null===(o=null===(s=this.settings)||void 0===s?void 0:s.sign_up)||void 0===o?void 0:o.verification.type)?r(f||(f=g` <h-captcha site-key="${0}" class="hidden" size="invisible" hl="${0}" @verified="${0}"> </h-captcha> `),this.settings.sign_up.verification.site_key,this.lang,(({token:t})=>{this.edit({verification:{type:"hcaptcha",token:t}}),super.submit()})):"",super.renderBody())}submit(){var t,e,s,r,o;"hcaptcha"!==(null===(s=null===(e=null===(t=this.settings)||void 0===t?void 0:t.sign_up)||void 0===e?void 0:e.verification)||void 0===s?void 0:s.type)||this.data?super.submit():(null===(r=this.__hcaptcha)||void 0===r||r.reset(),null===(o=this.__hcaptcha)||void 0===o||o.execute())}async _sendPatch(t){const e=await super._sendPatch(t);if(t.password){const t={key:"password_change_success",options:{email:e.email}};this.status=t}return e}async _sendGet(){return this.status=null,await super._sendGet()}async _fetch(...t){try{return await super._fetch(...t)}catch(t){let e;try{e=(await t.json())._embedded["fx:errors"][0].message}catch(e){throw t}throw"Conflict"===e||e.startsWith("This email address is already in use")?["error:email_already_used"]:e.startsWith("Customer registration is disabled")?["error:registration_disabled"]:e.startsWith("Client verification failed")?["error:verification_failed"]:e.startsWith("Provided password is incorrect")?["error:old_password_incorrect"]:t}}get __forgotPasswordHelperText(){var t,e;const s=null===(t=this.data)||void 0===t?void 0:t.forgot_password_timestamp,r="forgot-password.helper_text";if((null===(e=this.data)||void 0===e?void 0:e.forgot_password)&&s){const t=new Date(new Date(s).getTime()+18e5),e=Math.floor((t.getTime()-Date.now())/1e3/60);return e<=0?this.t(`${r}_expired_on`,{expiresOn:t}):this.t(`${r}_expires_in`,{expiresInMin:`${e}minutes`})}return this.t(r)}get __passwordPlaceholder(){return this.data?this.t("password.placeholder_new"):this.t("password.placeholder")}get __passwordHelperText(){return this.data?this.t("password.helper_text_new"):this.t("password.helper_text")}get __emailHelperText(){var t;return(null===(t=this.data)||void 0===t?void 0:t.last_login_date)?this.t("email.helper_text_last_login_date",{date:this.data.last_login_date}):this.t("email.helper_text")}get __hcaptcha(){return this.renderRoot.querySelector("h-captcha")}}customElements.define("foxy-customer-form",x);export{x as CustomerForm};
1
+ import"./shared-1e7639e6.js";import"./shared-55630cac.js";import"./shared-be0fca15.js";import{I as t}from"./shared-8a247f48.js";import{a as e}from"./shared-75d13e1b.js";import"./shared-6586ffd5.js";import{i as s}from"./shared-9803aa7c.js";import{h as o}from"./shared-dc73b9a5.js";import{c as r,_ as a,B as i}from"./shared-b3db7611.js";import{S as n,a as d}from"./shared-7ff78b4a.js";import{v as l}from"./shared-b738ee96.js";import{c as h}from"./shared-4e709717.js";import"./shared-4c611015.js";import"./shared-0a9d860d.js";import"./shared-61ade33e.js";import"./shared-91c88f14.js";import"./shared-6b68b3b6.js";import"./shared-b2fd98e6.js";import"./shared-684cd55a.js";import"./shared-612ea9ed.js";import"./shared-25198d9a.js";import"./shared-03673673.js";import"./shared-6cd4e618.js";import"./shared-482b2b86.js";import"./shared-343d1fd7.js";import"./shared-2b5a3c80.js";import"./shared-3cabd589.js";import"./foxy-copy-to-clipboard.js";import"./shared-da2e66a4.js";import"./foxy-spinner.js";import"./shared-fe45779e.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-bab2ea2c.js";import"./shared-51c4a6dd.js";!function(){function t(t,e,s){if(null!=s){const o=t.includes("?")?"&":"?";return t+o+e+"="+encodeURIComponent(s)}return t}class e extends Error{constructor(t){super(`[hcaptcha-web-component]: ${t}`),Object.setPrototypeOf(this,e.prototype)}}class s extends HTMLElement{connectedCallback(){(function(e){if(window._hCaptchaOnLoadPromise)return window._hCaptchaOnLoadPromise;if(window.hcaptcha)return console.warn("[vanilla-hcaptcha] hCaptcha JS API detected to be externally loaded. Unless you know what are you doing, this task should be delegated to this web component."),window._hCaptchaOnLoadPromise=Promise.resolve(),window._hCaptchaOnLoadPromise;{let s,o;window._hCaptchaOnLoadPromise=new Promise(((t,e)=>{s=t,o=e})),window._hCaptchaOnLoad=s;const r=function(e){let s=e.jsapi;return s=t(s,"render","explicit"),s=t(s,"onload","_hCaptchaOnLoad"),s=t(s,"recaptchacompat",!1===e.reCaptchaCompat?"off":null),s=t(s,"host",e.host),s=t(s,"hl",e.hl),s=t(s,"sentry",JSON.stringify(e.sentry)),s=t(s,"endpoint",e.endpoint),s=t(s,"assethost",e.assethost),s=t(s,"imghost",e.imghost),s=t(s,"reportapi",e.reportapi),s}(e),a=document.createElement("script");return a.src=r,a.async=!0,a.defer=!0,a.onerror=t=>{const e=`Failed to load hCaptcha JS API: "${r}"`;console.error(e,t),o(e)},document.head.appendChild(a),window._hCaptchaOnLoadPromise}})({host:this.getAttribute("host"),hl:this.getAttribute("hl"),sentry:"false"!==this.getAttribute("sentry"),reCaptchaCompat:"false"===this.getAttribute("reCaptchaCompat"),jsapi:this.getAttribute("jsapi")||"https://js.hcaptcha.com/1/api.js",endpoint:this.getAttribute("endpoint"),reportapi:this.getAttribute("reportapi"),assethost:this.getAttribute("assethost"),imghost:this.getAttribute("imghost")}).then(this.onApiLoaded.bind(this)).catch(this.onError.bind(this))}onApiLoaded(){this.$emit("loaded");const t="false"!==this.getAttribute("auto-render"),e={sitekey:this.getAttribute("sitekey")||this.getAttribute("site-key"),theme:this.getAttribute("theme"),size:this.getAttribute("size"),hl:this.getAttribute("hl"),tplinks:"off"===this.getAttribute("tplinks")?"off":"on",tabindex:parseInt(this.getAttribute("tabindex")),custom:"true"===this.getAttribute("custom")},s=this.getAttribute("challenge-container");s&&(e["challenge-container"]=s);const o=this.getAttribute("rqdata");t&&!e.sitekey||t&&(this.render(e),this.setData(o))}assertApiLoaded(t){if(!hcaptcha)throw new e(`hCaptcha JS API was not loaded yet. Please wait for \`loaded\` event to safely call "${t}".`)}assertRendered(){if(!this.hcaptchaId)throw new e('hCaptcha was not yet rendered. Please call "render()" first.')}onError(t){console.error(t),this.$emit("error",{error:t})}$emit(t,e){let s;"function"==typeof Event?s=new Event(t):(s=document.createEvent("Event"),s.initEvent(t,!1,!1)),e&&Object.assign(s,e),this.dispatchEvent(s)}render(t){this.assertApiLoaded("render"),this.hcaptchaId?console.warn("hCaptcha was already rendered. You may want to call 'reset()' first."):this.hcaptchaId=hcaptcha.render(this,Object.assign(Object.assign({},t),{callback:()=>{const t=hcaptcha.getResponse(this.hcaptchaId),e=hcaptcha.getRespKey(this.hcaptchaId);this.$emit("verified",{token:t,eKey:e,key:t})},"expired-callback":()=>{this.$emit("expired")},"chalexpired-callback":()=>{this.$emit("challenge-expired")},"error-callback":this.onError.bind(this),"open-callback":()=>{this.$emit("opened")},"close-callback":()=>{this.$emit("closed")}}))}setData(t){this.assertRendered(),hcaptcha.setData(this.hcaptchaId,{rqdata:t})}execute(){this.assertApiLoaded("execute"),this.assertRendered(),hcaptcha.execute(this.hcaptchaId)}executeAsync(){return this.assertApiLoaded("execute"),this.assertRendered(),hcaptcha.execute(this.hcaptchaId,{async:!0})}reset(){this.assertApiLoaded("reset"),this.assertRendered(),hcaptcha.reset(this.hcaptchaId)}}customElements.define("h-captcha",s)}();let c,p=t=>t;customElements.define("foxy-internal-customer-form-legal-notice-control",class extends e{renderControl(){var t,e;const r=this.nucleon;return o(c||(c=p` <p class="leading-s text-xs text-secondary"> <foxy-i18n infer="" key="text"></foxy-i18n> <a class="font-medium text-body rounded hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50" target="_blank" href="${0}" rel="noopener noreferrer"> <foxy-i18n infer="" key="link"></foxy-i18n> </a> </p> `),s(null===(e=null===(t=null==r?void 0:r.settings)||void 0===t?void 0:t.tos_checkbox_settings)||void 0===e?void 0:e.url))}});var m=r((function(t){!function(){const e=[{id:0,value:"Too weak",minDiversity:0,minLength:0},{id:1,value:"Weak",minDiversity:2,minLength:6},{id:2,value:"Medium",minDiversity:4,minLength:8},{id:3,value:"Strong",minDiversity:4,minLength:10}],s=(t,s=e,o="!\"#$%&'()*+,-./:;<=>?@[\\\\\\]^_`{|}~")=>{let r=t||"";s[0].minDiversity=0,s[0].minLength=0;const a=[{regex:"[a-z]",message:"lowercase"},{regex:"[A-Z]",message:"uppercase"},{regex:"[0-9]",message:"number"}];o&&a.push({regex:`[${o}]`,message:"symbol"});let i={};i.contains=a.filter((t=>new RegExp(`${t.regex}`).test(r))).map((t=>t.message)),i.length=r.length;let n=s.filter((t=>i.contains.length>=t.minDiversity)).filter((t=>i.length>=t.minLength)).sort(((t,e)=>e.id-t.id)).map((t=>({id:t.id,value:t.value})));return Object.assign(i,n[0]),i};t.exports={passwordStrength:s,defaultOptions:e}}()}));let u,f,g=t=>t;const _=n(d(t,"customer-form")),y=m.passwordStrength;class x extends _{constructor(){super(...arguments),this.passwordless=!1,this.templates={},this.settings=null,this.__isAnonymousGetValue=()=>{var t;return!1===(null===(t=this.form)||void 0===t?void 0:t.is_anonymous)?"false":"true"},this.__isAnonymousSetValue=t=>{const e="true"===t;this.edit({is_anonymous:e}),e&&this.form.password&&this.edit({password:""}),e&&this.form.password_old&&this.edit({password_old:""}),e&&this.form.forgot_password&&this.edit({forgot_password:""})},this.__isAnonymousOptions=[{value:"true",label:"option_true"},{value:"false",label:"option_false"}],this.__refreshInterval=null}static get scopedElements(){return{"foxy-internal-customer-form-legal-notice-control":customElements.get("foxy-internal-customer-form-legal-notice-control"),"foxy-internal-radio-group-control":customElements.get("foxy-internal-radio-group-control"),"foxy-internal-timestamps-control":customElements.get("foxy-internal-timestamps-control"),"foxy-internal-password-control":customElements.get("foxy-internal-password-control"),"foxy-internal-create-control":customElements.get("foxy-internal-create-control"),"foxy-internal-delete-control":customElements.get("foxy-internal-delete-control"),"foxy-internal-text-control":customElements.get("foxy-internal-text-control"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"h-captcha":customElements.get("h-captcha"),"vaadin-button":customElements.get("vaadin-button")}}static get properties(){return a(a({},super.properties),{},{passwordless:{type:Boolean},settings:{type:Object}})}static get v8n(){return[({password:t,_links:e,is_anonymous:s=!0},o)=>!!o.passwordless||(!!(e||s||t)||"password:v8n_required"),({password_old:t,password:e,_links:s},o)=>{var r;return!s||(void 0===(null===(r=o.settings)||void 0===r?void 0:r.sign_up)||(!(e&&!t)||"password-old:v8n_required"))},({first_name:t})=>!t||t.length<=50||"first-name:v8n_too_long",({last_name:t})=>!t||t.length<=50||"last-name:v8n_too_long",({password:t})=>!t||y(t).id>=2||"password:v8n_too_weak",({password:t})=>!t||t.length<=50||"password:v8n_too_long",({tax_id:t})=>!t||t.length<=50||"tax-id:v8n_too_long",({email:t})=>t&&t.length>0||"email:v8n_required",({email:t})=>!t||t.length<=100||"email:v8n_too_long",({email:t})=>!t||l(t)||"email:v8n_invalid_email"]}get hiddenSelector(){const t=new Set(super.hiddenSelector.toString().split(" "));return this.settings?(t.add("forgot-password"),t.add("is-anonymous"),this.form.password||t.add("password-old"),"none"===this.settings.tos_checkbox_settings.usage&&t.add("legal-notice")):(!1!==this.form.is_anonymous&&(t.add("forgot-password"),t.add("password")),t.add("password-old"),t.add("legal-notice")),this.href&&(t.add("is-anonymous"),t.add("legal-notice")),new i(Array.from(t).join(" ").trim())}disconnectedCallback(){super.disconnectedCallback();const t=this.__refreshInterval;t&&clearInterval(t)}connectedCallback(){super.connectedCallback();const t=setInterval((()=>this.requestUpdate()),6e4);this.__refreshInterval=t}renderBody(){var t,e,s,r;const a=this.hiddenSelector.matches("first-name",!0),i=this.hiddenSelector.matches("last-name",!0);return o(u||(u=g` <div class="${0}"> <foxy-internal-text-control infer="first-name"></foxy-internal-text-control> <foxy-internal-text-control infer="last-name"></foxy-internal-text-control> </div> <foxy-internal-text-control helper-text="${0}" infer="email"> </foxy-internal-text-control> <foxy-internal-radio-group-control infer="is-anonymous" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-radio-group-control> <foxy-internal-password-control placeholder="${0}" helper-text="${0}" infer="password" show-generator> </foxy-internal-password-control> <foxy-internal-password-control infer="password-old"></foxy-internal-password-control> <foxy-internal-password-control helper-text="${0}" infer="forgot-password" show-generator> </foxy-internal-password-control> <foxy-internal-text-control infer="tax-id"></foxy-internal-text-control> <foxy-internal-customer-form-legal-notice-control infer="legal-notice"> </foxy-internal-customer-form-legal-notice-control> ${0} ${0} `),h({"grid-cols-2":!a&&!i,hidden:a&&i,"gap-m":!0,grid:!a||!i}),this.__emailHelperText,this.__isAnonymousGetValue,this.__isAnonymousSetValue,this.__isAnonymousOptions,this.__passwordPlaceholder,this.__passwordHelperText,this.__forgotPasswordHelperText,!this.data&&(null===(e=null===(t=this.settings)||void 0===t?void 0:t.sign_up)||void 0===e?void 0:e.enabled)&&"hcaptcha"===(null===(r=null===(s=this.settings)||void 0===s?void 0:s.sign_up)||void 0===r?void 0:r.verification.type)?o(f||(f=g` <h-captcha site-key="${0}" class="hidden" size="invisible" hl="${0}" @verified="${0}"> </h-captcha> `),this.settings.sign_up.verification.site_key,this.lang,(({token:t})=>{this.edit({verification:{type:"hcaptcha",token:t}}),super.submit()})):"",super.renderBody())}submit(){var t,e,s,o,r;"hcaptcha"!==(null===(s=null===(e=null===(t=this.settings)||void 0===t?void 0:t.sign_up)||void 0===e?void 0:e.verification)||void 0===s?void 0:s.type)||this.data?super.submit():(null===(o=this.__hcaptcha)||void 0===o||o.reset(),null===(r=this.__hcaptcha)||void 0===r||r.execute())}async _sendPatch(t){const e=await super._sendPatch(t);if(t.password){const t={key:"password_change_success",options:{email:e.email}};this.status=t}return e}async _sendGet(){return this.status=null,await super._sendGet()}async _fetch(...t){try{return await super._fetch(...t)}catch(t){let e;try{e=(await t.json())._embedded["fx:errors"][0].message}catch(e){throw t}throw"Conflict"===e||e.startsWith("This email address is already in use")?["error:email_already_used"]:e.startsWith("Customer registration is disabled")?["error:registration_disabled"]:e.startsWith("Client verification failed")?["error:verification_failed"]:e.startsWith("Provided password is incorrect")?["error:old_password_incorrect"]:t}}get __forgotPasswordHelperText(){var t,e;const s=null===(t=this.data)||void 0===t?void 0:t.forgot_password_timestamp,o="forgot-password.helper_text";if((null===(e=this.data)||void 0===e?void 0:e.forgot_password)&&s){const t=new Date(new Date(s).getTime()+18e5),e=Math.floor((t.getTime()-Date.now())/1e3/60);return e<=0?this.t(`${o}_expired_on`,{expiresOn:t}):this.t(`${o}_expires_in`,{expiresInMin:`${e}minutes`})}return this.t(o)}get __passwordPlaceholder(){return this.data?this.t("password.placeholder_new"):this.t("password.placeholder")}get __passwordHelperText(){return this.data?this.t("password.helper_text_new"):this.t("password.helper_text")}get __emailHelperText(){var t;return(null===(t=this.data)||void 0===t?void 0:t.last_login_date)?this.t("email.helper_text_last_login_date",{date:this.data.last_login_date}):this.t("email.helper_text")}get __hcaptcha(){return this.renderRoot.querySelector("h-captcha")}}customElements.define("foxy-customer-form",x);export{x as CustomerForm};
@@ -1 +1 @@
1
- import"./shared-3cbcd9cb.js";import"./shared-fcaf15e5.js";import"./shared-cce18690.js";import"./shared-7ff496f6.js";import"./shared-18d109f5.js";import{I as e}from"./shared-df58b901.js";import"./shared-872151f5.js";import{a as t}from"./shared-56addb06.js";import{B as i}from"./shared-11014aad.js";import{p as s}from"./shared-b33fd700.js";import{h as o}from"./shared-dc73b9a5.js";import"./shared-27c7514d.js";import{p as n}from"./shared-669decee.js";import{I as a}from"./shared-8778d784.js";import"./shared-e4e0dc11.js";import"./shared-bc95d87e.js";import"./shared-4877ed05.js";import"./shared-48b76c74.js";import"./shared-61ade33e.js";import"./shared-039de1fd.js";import"./shared-7e201abd.js";import"./shared-bf132324.js";import"./shared-51c4a6dd.js";import"./shared-6af480b8.js";import"./shared-9803aa7c.js";import"./shared-4fd17baf.js";import"./shared-4fb9d21f.js";import"./shared-e07b24ca.js";import"./shared-343d1fd7.js";import"./shared-3ab0306f.js";import"./shared-8a04bea3.js";import"./shared-250e652f.js";import"./shared-4e709717.js";import"./shared-a0c6a159.js";import"./shared-22ba9566.js";import"./shared-99940888.js";import"./shared-931db653.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-1d257548.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-92cdd504.js";import"./shared-6be0a096.js";import"./foxy-pagination.js";import"./shared-845f8bf1.js";import"./shared-205721a3.js";import"./shared-6e977271.js";import"./shared-a0cbfb2f.js";import"./shared-2c70f0b6.js";import"./shared-6a998243.js";import"./shared-afefe2ac.js";import"./shared-d04dd602.js";import"./shared-651c44fa.js";import"./shared-f7a5b12a.js";let r,l=e=>e;const d=t(e);customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form",class extends d{constructor(){super(...arguments),this.__valuesInputParams={type:"number",step:"1",min:"1",max:"999"},this.__valuesGetValue=()=>{var e;return null===(e=this.form.values)||void 0===e?void 0:e.map((e=>{if(".5m"===e)return{value:e,label:this.t("values.twice_a_week")};const{units:t,count:i}=s(e);return{value:e,label:this.t(`values.${t}`,{count:i})}}))},this.__valuesSetValue=e=>{const t=e.filter((({value:e})=>parseFloat(e)<=999)).map((({unit:e,value:t})=>e?`${t}${e}`:t)).filter(((e,t,i)=>i.indexOf(e)===t));this.edit({values:t})}}static get v8n(){return[({jsonataQuery:e})=>!!e||"jsonata-query:v8n_required",({jsonataQuery:e})=>!e||e.length<=200||"jsonata-query:v8n_too_long",({values:e})=>!!e&&e.length>0||"values:v8n_required",({values:e})=>!e||e.length<=20||"values:v8n_too_long"]}get hiddenSelector(){return new i(`timestamps ${super.hiddenSelector}`.trim())}renderBody(){return o(r||(r=l` <foxy-internal-source-control infer="jsonata-query" property="jsonataQuery"> </foxy-internal-source-control> <foxy-internal-editable-list-control infer="values" .inputParams="${0}" .getValue="${0}" .setValue="${0}" .units="${0}"> </foxy-internal-editable-list-control> ${0} `),this.__valuesInputParams,this.__valuesGetValue,this.__valuesSetValue,[{label:this.t("values.unit_years"),value:"y"},{label:this.t("values.unit_months"),value:"m"},{label:this.t("values.unit_weeks"),value:"w"},{label:this.t("values.unit_days"),value:"d"}],super.renderBody())}});let u,c=e=>e;const f=t(a);customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card",class extends f{renderBody(){var e;const{jsonataQuery:t,values:i}=null!==(e=this.data)&&void 0!==e?e:{},n=null==i?void 0:i.map((e=>{if(".5m"===e)return this.t("twice_a_week");const{units:t,count:i}=s(e);return this.t(t,{count:i})}));return o(u||(u=c` <section class="h-s flex flex-col justify-center leading-xs"> <p class="text-m font-medium min-w-0"> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> </p> <p class="text-s text-secondary min-w-0"> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> </p> </section> `),"*"===t?"title_all":"title_matching",{query:t},(null==i?void 0:i.length)?"subtitle_list":"subtitle_empty",{list:null==n?void 0:n.join(", ")})}});let p,h=e=>e;const m=t(e);customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form",class extends m{constructor(){super(...arguments),this.__minmaxRestrictionsGetValue=()=>{const e=[],t=this.form;return t.min&&e.push("min"),t.max&&e.push("max"),e},this.__minmaxRestrictionsSetValue=e=>{const t=this.form;this.edit({min:e.includes("min")?t.min||"1m":null,max:e.includes("max")?t.max||"1y":null})},this.__minmaxRestrictionsOptions=[{label:"option_min",value:"min"},{label:"option_max",value:"max"}],this.__dayAndDateRestrictionsGetValue=()=>{var e;const t=null===(e=this.form.allowedDays)||void 0===e?void 0:e.type;return"day"===t?"days":"month"===t?"dates":"none"},this.__dayAndDateRestrictionsSetValue=e=>{"dates"===e?this.edit({allowedDays:{type:"month",days:[]}}):"days"===e?this.edit({allowedDays:{type:"day",days:[]}}):this.edit({allowedDays:null})},this.__dayAndDateRestrictionsOptions=[{label:"option_none",value:"none"},{label:"option_dates",value:"dates"},{label:"option_days",value:"days"}],this.__daysOfWeekGetValue=()=>{var e,t;return null!==(t=null===(e=this.form.allowedDays)||void 0===e?void 0:e.days.map((e=>String(e))))&&void 0!==t?t:[]},this.__daysOfWeekSetValue=e=>{this.edit({allowedDays:{type:"day",days:e.map(Number)}})},this.__daysOfWeekOptions=[{label:"option_1",value:"1"},{label:"option_2",value:"2"},{label:"option_3",value:"3"},{label:"option_4",value:"4"},{label:"option_5",value:"5"},{label:"option_6",value:"6"},{label:"option_7",value:"7"}],this.__datesOfMonthInputParams={type:"number",min:"1",max:"31",step:"1"},this.__datesOfMonthGetValue=()=>{var e,t;return null!==(t=null===(e=this.form.allowedDays)||void 0===e?void 0:e.days.map((e=>({value:String(e)}))))&&void 0!==t?t:[]},this.__datesOfMonthSetValue=e=>{this.edit({allowedDays:{type:"month",days:e.map((e=>parseInt(e.value))).filter((e=>Number.isInteger(e)&&e>=1&&e<=31))}})},this.__disallowedDatesInputParams={type:"date"},this.__disallowedDatesGetValue=()=>{var e,t;return null!==(t=null===(e=this.form.disallowedDates)||void 0===e?void 0:e.map((e=>({value:e}))))&&void 0!==t?t:[]},this.__disallowedDatesSetValue=e=>{this.edit({disallowedDates:e.map((e=>e.value))})}}static get v8n(){return[({jsonataQuery:e})=>!!e||"jsonata-query:v8n_required",({jsonataQuery:e})=>!e||e.length<=200||"jsonata-query:v8n_too_long",({disallowedDates:e})=>!e||e.length<=10||"disallowed-dates:v8n_too_long"]}get hiddenSelector(){var e,t;const s=["timestamps",super.hiddenSelector.toString()],o=this.form;return o.min||s.unshift("min"),o.max||s.unshift("max"),"day"!==(null===(e=o.allowedDays)||void 0===e?void 0:e.type)&&s.unshift("days-of-week"),"month"!==(null===(t=o.allowedDays)||void 0===t?void 0:t.type)&&s.unshift("dates-of-month"),new i(s.join(" ").trim())}renderBody(){return o(p||(p=h` <foxy-internal-source-control infer="jsonata-query" property="jsonataQuery"> </foxy-internal-source-control> <foxy-internal-checkbox-group-control infer="minmax-restrictions" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-frequency-control infer="min"></foxy-internal-frequency-control> <foxy-internal-frequency-control infer="max"></foxy-internal-frequency-control> <foxy-internal-radio-group-control infer="day-and-date-restrictions" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-radio-group-control> <foxy-internal-checkbox-group-control infer="days-of-week" theme="vertical" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-editable-list-control infer="dates-of-month" .inputParams="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> <foxy-internal-editable-list-control infer="disallowed-dates" range="optional" .inputParams="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} `),this.__minmaxRestrictionsGetValue,this.__minmaxRestrictionsSetValue,this.__minmaxRestrictionsOptions,this.__dayAndDateRestrictionsGetValue,this.__dayAndDateRestrictionsSetValue,this.__dayAndDateRestrictionsOptions,this.__daysOfWeekGetValue,this.__daysOfWeekSetValue,this.__daysOfWeekOptions,this.__datesOfMonthInputParams,this.__datesOfMonthGetValue,this.__datesOfMonthSetValue,this.__disallowedDatesInputParams,this.__disallowedDatesGetValue,this.__disallowedDatesSetValue,super.renderBody())}});let y,_=e=>e;const v=t(a);function x(e){try{return new URL(e).origin===e.toLowerCase()}catch(e){return!1}}customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card",class extends v{renderBody(){var e;const{min:t,max:i,allowedDays:s,jsonataQuery:a,disallowedDates:r}=null!==(e=this.data)&&void 0!==e?e:{},l=t?n(t):void 0,d=i?n(i):void 0,u="*"===a?"line_1_all":"line_1_matching",c={query:a},f={from:l?this.t(`unit_${l.units}`,{count:l.count}):this.t("any"),to:d?this.t(`unit_${d.units}`,{count:d.count}):this.t("any")},p=`line_3_${s?s.type:"any"}`,h={list:"month"===(null==s?void 0:s.type)?null==s?void 0:s.days.join(", "):null==s?void 0:s.days.map((e=>this.t(`day_${e}`))).join(", ")},m=r?"line_4_some":"line_4_none",v={list:null==r?void 0:r.map((e=>{const[t,i]=e.split("..");return t&&i?this.t("date_range",{from:t,to:i}):this.t("single_date",{value:e})})).join(", ")};return o(y||(y=_` <section class="leading-xs" style="margin:-.25ch 0"> <p class="text-m font-medium truncate"> <foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n> </p> <p class="text-s text-secondary"> <foxy-i18n infer="" class="block truncate" key="line_2" .options="${0}"> </foxy-i18n> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> </p> </section> `),u,c,f,p,h,m,v)}});let g,b=e=>e;const w=t(e,"customer-portal-settings-form");class j extends w{constructor(){super(...arguments),this.__sessionLifespanInMinutesOptions=[{value:"m",label:"option_minute"},{value:"h",label:"option_hour"},{value:"d",label:"option_day"},{value:"w",label:"option_week"}],this.__sessionLifespanInMinutesGetValue=()=>{var e;const t=null!==(e=this.form.sessionLifespanInMinutes)&&void 0!==e?e:0;return t%10080==0?t/10080+"w":t%1440==0?t/1440+"d":t%60==0?t/60+"h":`${t}m`},this.__sessionLifespanInMinutesSetValue=e=>{const t=parseInt(e);e.endsWith("w")?this.edit({sessionLifespanInMinutes:10080*t}):e.endsWith("d")?this.edit({sessionLifespanInMinutes:1440*t}):e.endsWith("h")?this.edit({sessionLifespanInMinutes:60*t}):this.edit({sessionLifespanInMinutes:t})},this.__allowedOriginsGetValue=()=>{var e;return null===(e=this.form.allowedOrigins)||void 0===e?void 0:e.map((e=>({value:e})))},this.__allowedOriginsSetValue=e=>{this.edit({allowedOrigins:e.filter((({value:e})=>x(e))).map((({value:e})=>e.toLowerCase()))})},this.__featuresOptions=[{value:"sso",label:"option_sso"},{value:"sign-up",label:"option_sign_up"},{value:"frequency-modification",label:"option_frequency_modification"},{value:"next-date-modification",label:"option_next_date_modification"}],this.__featuresGetValue=()=>{var e,t,i;const s=[];return this.form.sso&&s.push("sso"),(null===(e=this.form.signUp)||void 0===e?void 0:e.enabled)&&s.push("sign-up"),(null===(t=this.form.subscriptions)||void 0===t?void 0:t.allowNextDateModification)&&s.push("next-date-modification"),(null===(i=this.form.subscriptions)||void 0===i?void 0:i.allowFrequencyModification.length)&&s.push("frequency-modification"),s},this.__featuresSetValue=e=>{var t,i,s,o,n;const a=null!==(i=null===(t=this.form.subscriptions)||void 0===t?void 0:t.allowFrequencyModification)&&void 0!==i?i:[];this.edit({sso:e.includes("sso"),signUp:{enabled:e.includes("sign-up"),verification:null!==(o=null===(s=this.form.signUp)||void 0===s?void 0:s.verification)&&void 0!==o?o:{type:"hcaptcha",siteKey:"",secretKey:""}},subscriptions:{allowFrequencyModification:e.includes("frequency-modification")?0===a.length?[{jsonataQuery:"*",values:[]}]:a:[],allowNextDateModification:!!e.includes("next-date-modification")&&((null===(n=this.form.subscriptions)||void 0===n?void 0:n.allowNextDateModification)||[])}})},this.__signUpVerificationHcaptchaSiteKeyGetValue=()=>{var e,t,i;return null!==(i=null===(t=null===(e=this.form.signUp)||void 0===e?void 0:e.verification)||void 0===t?void 0:t.siteKey)&&void 0!==i?i:""},this.__signUpVerificationHcaptchaSiteKeySetValue=e=>{var t,i,s,o;this.edit({signUp:{enabled:!!(null===(t=this.form.signUp)||void 0===t?void 0:t.enabled),verification:{secretKey:null!==(o=null===(s=null===(i=this.form.signUp)||void 0===i?void 0:i.verification)||void 0===s?void 0:s.secretKey)&&void 0!==o?o:"",siteKey:e,type:"hcaptcha"}}})},this.__signUpVerificationHcaptchaSecretKeyGetValue=()=>{var e,t,i;return null!==(i=null===(t=null===(e=this.form.signUp)||void 0===e?void 0:e.verification)||void 0===t?void 0:t.secretKey)&&void 0!==i?i:""},this.__signUpVerificationHcaptchaSecretKeySetValue=e=>{var t,i,s,o;this.edit({signUp:{enabled:!!(null===(t=this.form.signUp)||void 0===t?void 0:t.enabled),verification:{secretKey:e,siteKey:null!==(o=null===(s=null===(i=this.form.signUp)||void 0===i?void 0:i.verification)||void 0===s?void 0:s.siteKey)&&void 0!==o?o:"",type:"hcaptcha"}}})},this.__jwtSecretGeneratorOptions={charset:"abcdefghijklmnopqrstuvwxyz0123456789",length:64}}static get v8n(){return[({sessionLifespanInMinutes:e})=>"number"!=typeof e||e<=40320||"session-lifespan-in-minutes:v8n_too_long",({allowedOrigins:e=[]})=>e.length<=10||"allowed-origins:v8n_too_many",({allowedOrigins:e=[]})=>e.every(x)||"allowed-origins:v8n_invalid",({jwtSharedSecret:e})=>!e||/^[a-z0-9-]+$/.test(e)||"jwt-shared-secret:v8n_invalid",({jwtSharedSecret:e})=>!e||e.length>=40||"jwt-shared-secret:v8n_too_short",({jwtSharedSecret:e})=>!e||e.length<=100||"jwt-shared-secret:v8n_too_long",({signUp:e})=>{const t=null==e?void 0:e.verification.siteKey;return!t||t.length<=100||"sign-up-verification-hcaptcha-site-key:v8n_too_long"},({signUp:e})=>{const t=null==e?void 0:e.verification.secretKey;return!t||t.length<=100||"sign-up-verification-hcaptcha-secret-key:v8n_too_long"}]}get hiddenSelector(){var e,t,s;const o=[super.hiddenSelector.toString()];return(null===(e=this.form.signUp)||void 0===e?void 0:e.enabled)||o.push("sign-up-verification-hcaptcha-site-key","sign-up-verification-hcaptcha-secret-key"),(null===(t=this.form.subscriptions)||void 0===t?void 0:t.allowFrequencyModification.length)||o.push("subscriptions-allow-frequency-modification"),(null===(s=this.form.subscriptions)||void 0===s?void 0:s.allowNextDateModification)||o.push("subscriptions-allow-next-date-modification"),new i(o.join(" ").trim())}renderBody(){return o(g||(g=b` <foxy-internal-editable-list-control infer="allowed-origins" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> <foxy-internal-checkbox-group-control infer="features" theme="vertical" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-password-control infer="sign-up-verification-hcaptcha-site-key" .getValue="${0}" .setValue="${0}"> </foxy-internal-password-control> <foxy-internal-password-control infer="sign-up-verification-hcaptcha-secret-key" .getValue="${0}" .setValue="${0}"> </foxy-internal-password-control> <foxy-internal-async-list-control first="foxy://${0}/form/subscriptions/allowFrequencyModification" infer="subscriptions-allow-frequency-modification" limit="20" form="foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form" item="foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control first="foxy://${0}/form/subscriptions/allowNextDateModification" infer="subscriptions-allow-next-date-modification" limit="20" form="foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form" item="foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card" alert> </foxy-internal-async-list-control> <foxy-internal-frequency-control infer="session-lifespan-in-minutes" max="" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-frequency-control> <foxy-internal-password-control property="jwtSharedSecret" infer="jwt-shared-secret" show-generator .generatorOptions="${0}"> </foxy-internal-password-control> ${0} `),this.__allowedOriginsGetValue,this.__allowedOriginsSetValue,this.__featuresGetValue,this.__featuresSetValue,this.__featuresOptions,this.__signUpVerificationHcaptchaSiteKeyGetValue,this.__signUpVerificationHcaptchaSiteKeySetValue,this.__signUpVerificationHcaptchaSecretKeyGetValue,this.__signUpVerificationHcaptchaSecretKeySetValue,this.virtualHost,this.virtualHost,this.__sessionLifespanInMinutesGetValue,this.__sessionLifespanInMinutesSetValue,this.__sessionLifespanInMinutesOptions,this.__jwtSecretGeneratorOptions,super.renderBody())}async _sendPost(e){return this.__removeNullProperties(e),super._sendPost(e)}async _sendPatch(e){return this.__removeNullProperties(e),super._sendPatch(e)}__removeNullProperties(e){var t,i;"object"==typeof(null===(t=e.subscriptions)||void 0===t?void 0:t.allowNextDateModification)&&(null===(i=e.subscriptions)||void 0===i||i.allowNextDateModification.forEach((e=>{for(const t in e){const i=t;null===e[i]&&delete e[i]}})))}}customElements.define("foxy-customer-portal-settings-form",j);export{j as CustomerPortalSettingsForm};
1
+ import"./shared-b9ea6d85.js";import"./shared-5debeb1b.js";import"./shared-d222bd1e.js";import"./shared-412c19c2.js";import"./shared-55630cac.js";import{I as e}from"./shared-8a247f48.js";import"./shared-b900e1b5.js";import{a as t}from"./shared-7ff78b4a.js";import{B as i}from"./shared-b3db7611.js";import{p as s}from"./shared-18918efe.js";import{h as o}from"./shared-dc73b9a5.js";import"./shared-90877857.js";import{p as n}from"./shared-6586ffd5.js";import{I as a}from"./shared-8b521111.js";import"./shared-1e7639e6.js";import"./shared-ea5fa631.js";import"./shared-4c611015.js";import"./shared-0a9d860d.js";import"./shared-61ade33e.js";import"./shared-91c88f14.js";import"./shared-6b68b3b6.js";import"./shared-75d13e1b.js";import"./shared-51c4a6dd.js";import"./shared-2b5a3c80.js";import"./shared-9803aa7c.js";import"./shared-3cabd589.js";import"./shared-fe45779e.js";import"./shared-482b2b86.js";import"./shared-343d1fd7.js";import"./shared-3ab0306f.js";import"./shared-851a7db5.js";import"./shared-79d35787.js";import"./shared-4e709717.js";import"./shared-a0c6a159.js";import"./shared-22ba9566.js";import"./shared-99940888.js";import"./shared-540063aa.js";import"./shared-28be347b.js";import"./shared-25198d9a.js";import"./foxy-collection-page.js";import"./foxy-spinner.js";import"./shared-da2e66a4.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./shared-03673673.js";import"./shared-6cd4e618.js";import"./foxy-pagination.js";import"./shared-a24b2aa7.js";import"./shared-684cd55a.js";import"./shared-612ea9ed.js";import"./shared-ad11b006.js";import"./shared-f4bb452b.js";import"./shared-285f8cee.js";import"./shared-90cbed56.js";import"./shared-651c44fa.js";import"./shared-2314add3.js";import"./shared-b2fd98e6.js";import"./foxy-copy-to-clipboard.js";import"./shared-bab2ea2c.js";let r,l=e=>e;const d=t(e);customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form",class extends d{constructor(){super(...arguments),this.__valuesInputParams={type:"number",step:"1",min:"1",max:"999"},this.__valuesGetValue=()=>{var e;return null===(e=this.form.values)||void 0===e?void 0:e.map((e=>{if(".5m"===e)return{value:e,label:this.t("values.twice_a_week")};const{units:t,count:i}=s(e);return{value:e,label:this.t(`values.${t}`,{count:i})}}))},this.__valuesSetValue=e=>{const t=e.filter((({value:e})=>parseFloat(e)<=999)).map((({unit:e,value:t})=>e?`${t}${e}`:t)).filter(((e,t,i)=>i.indexOf(e)===t));this.edit({values:t})}}static get v8n(){return[({jsonataQuery:e})=>!!e||"jsonata-query:v8n_required",({jsonataQuery:e})=>!e||e.length<=200||"jsonata-query:v8n_too_long",({values:e})=>!!e&&e.length>0||"values:v8n_required",({values:e})=>!e||e.length<=20||"values:v8n_too_long"]}get hiddenSelector(){return new i(`timestamps ${super.hiddenSelector}`.trim())}renderBody(){return o(r||(r=l` <foxy-internal-source-control infer="jsonata-query" property="jsonataQuery"> </foxy-internal-source-control> <foxy-internal-editable-list-control infer="values" .inputParams="${0}" .getValue="${0}" .setValue="${0}" .units="${0}"> </foxy-internal-editable-list-control> ${0} `),this.__valuesInputParams,this.__valuesGetValue,this.__valuesSetValue,[{label:this.t("values.unit_years"),value:"y"},{label:this.t("values.unit_months"),value:"m"},{label:this.t("values.unit_weeks"),value:"w"},{label:this.t("values.unit_days"),value:"d"}],super.renderBody())}});let u,c=e=>e;const p=t(a);customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card",class extends p{renderBody(){var e;const{jsonataQuery:t,values:i}=null!==(e=this.data)&&void 0!==e?e:{},n=null==i?void 0:i.map((e=>{if(".5m"===e)return this.t("twice_a_week");const{units:t,count:i}=s(e);return this.t(t,{count:i})}));return o(u||(u=c` <section class="h-s flex flex-col justify-center leading-xs"> <p class="text-m font-medium min-w-0"> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> </p> <p class="text-s text-secondary min-w-0"> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> </p> </section> `),"*"===t?"title_all":"title_matching",{query:t},(null==i?void 0:i.length)?"subtitle_list":"subtitle_empty",{list:null==n?void 0:n.join(", ")})}});let f,h=e=>e;const m=t(e);customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form",class extends m{constructor(){super(...arguments),this.__minmaxRestrictionsGetValue=()=>{const e=[],t=this.form;return t.min&&e.push("min"),t.max&&e.push("max"),e},this.__minmaxRestrictionsSetValue=e=>{const t=this.form;this.edit({min:e.includes("min")?t.min||"1m":null,max:e.includes("max")?t.max||"1y":null})},this.__minmaxRestrictionsOptions=[{label:"option_min",value:"min"},{label:"option_max",value:"max"}],this.__dayAndDateRestrictionsGetValue=()=>{var e;const t=null===(e=this.form.allowedDays)||void 0===e?void 0:e.type;return"day"===t?"days":"month"===t?"dates":"none"},this.__dayAndDateRestrictionsSetValue=e=>{"dates"===e?this.edit({allowedDays:{type:"month",days:[]}}):"days"===e?this.edit({allowedDays:{type:"day",days:[]}}):this.edit({allowedDays:null})},this.__dayAndDateRestrictionsOptions=[{label:"option_none",value:"none"},{label:"option_dates",value:"dates"},{label:"option_days",value:"days"}],this.__daysOfWeekGetValue=()=>{var e,t;return null!==(t=null===(e=this.form.allowedDays)||void 0===e?void 0:e.days.map((e=>String(e))))&&void 0!==t?t:[]},this.__daysOfWeekSetValue=e=>{this.edit({allowedDays:{type:"day",days:e.map(Number)}})},this.__daysOfWeekOptions=[{label:"option_1",value:"1"},{label:"option_2",value:"2"},{label:"option_3",value:"3"},{label:"option_4",value:"4"},{label:"option_5",value:"5"},{label:"option_6",value:"6"},{label:"option_7",value:"7"}],this.__datesOfMonthInputParams={type:"number",min:"1",max:"31",step:"1"},this.__datesOfMonthGetValue=()=>{var e,t;return null!==(t=null===(e=this.form.allowedDays)||void 0===e?void 0:e.days.map((e=>({value:String(e)}))))&&void 0!==t?t:[]},this.__datesOfMonthSetValue=e=>{this.edit({allowedDays:{type:"month",days:e.map((e=>parseInt(e.value))).filter((e=>Number.isInteger(e)&&e>=1&&e<=31))}})},this.__disallowedDatesInputParams={type:"date"},this.__disallowedDatesGetValue=()=>{var e,t;return null!==(t=null===(e=this.form.disallowedDates)||void 0===e?void 0:e.map((e=>({value:e}))))&&void 0!==t?t:[]},this.__disallowedDatesSetValue=e=>{this.edit({disallowedDates:e.map((e=>e.value))})}}static get v8n(){return[({jsonataQuery:e})=>!!e||"jsonata-query:v8n_required",({jsonataQuery:e})=>!e||e.length<=200||"jsonata-query:v8n_too_long",({disallowedDates:e})=>!e||e.length<=10||"disallowed-dates:v8n_too_long"]}get hiddenSelector(){var e,t;const s=["timestamps",super.hiddenSelector.toString()],o=this.form;return o.min||s.unshift("min"),o.max||s.unshift("max"),"day"!==(null===(e=o.allowedDays)||void 0===e?void 0:e.type)&&s.unshift("days-of-week"),"month"!==(null===(t=o.allowedDays)||void 0===t?void 0:t.type)&&s.unshift("dates-of-month"),new i(s.join(" ").trim())}renderBody(){return o(f||(f=h` <foxy-internal-source-control infer="jsonata-query" property="jsonataQuery"> </foxy-internal-source-control> <foxy-internal-checkbox-group-control infer="minmax-restrictions" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-frequency-control infer="min"></foxy-internal-frequency-control> <foxy-internal-frequency-control infer="max"></foxy-internal-frequency-control> <foxy-internal-radio-group-control infer="day-and-date-restrictions" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-radio-group-control> <foxy-internal-checkbox-group-control infer="days-of-week" theme="vertical" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-editable-list-control infer="dates-of-month" .inputParams="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> <foxy-internal-editable-list-control infer="disallowed-dates" range="optional" .inputParams="${0}" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> ${0} `),this.__minmaxRestrictionsGetValue,this.__minmaxRestrictionsSetValue,this.__minmaxRestrictionsOptions,this.__dayAndDateRestrictionsGetValue,this.__dayAndDateRestrictionsSetValue,this.__dayAndDateRestrictionsOptions,this.__daysOfWeekGetValue,this.__daysOfWeekSetValue,this.__daysOfWeekOptions,this.__datesOfMonthInputParams,this.__datesOfMonthGetValue,this.__datesOfMonthSetValue,this.__disallowedDatesInputParams,this.__disallowedDatesGetValue,this.__disallowedDatesSetValue,super.renderBody())}});let y,_=e=>e;const v=t(a);function x(e){try{return new URL(e).origin===e.toLowerCase()}catch(e){return!1}}customElements.define("foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card",class extends v{renderBody(){var e;const{min:t,max:i,allowedDays:s,jsonataQuery:a,disallowedDates:r}=null!==(e=this.data)&&void 0!==e?e:{},l=t?n(t):void 0,d=i?n(i):void 0,u="*"===a?"line_1_all":"line_1_matching",c={query:a},p={from:l?this.t(`unit_${l.units}`,{count:l.count}):this.t("any"),to:d?this.t(`unit_${d.units}`,{count:d.count}):this.t("any")},f=`line_3_${s?s.type:"any"}`,h={list:"month"===(null==s?void 0:s.type)?null==s?void 0:s.days.join(", "):null==s?void 0:s.days.map((e=>this.t(`day_${e}`))).join(", ")},m=r?"line_4_some":"line_4_none",v={list:null==r?void 0:r.map((e=>{const[t,i]=e.split("..");return t&&i?this.t("date_range",{from:t,to:i}):this.t("single_date",{value:e})})).join(", ")};return o(y||(y=_` <section class="leading-xs" style="margin:-.25ch 0"> <p class="text-m font-medium truncate"> <foxy-i18n infer="" key="${0}" .options="${0}"></foxy-i18n> </p> <p class="text-s text-secondary"> <foxy-i18n infer="" class="block truncate" key="line_2" .options="${0}"> </foxy-i18n> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> <foxy-i18n infer="" class="block truncate" key="${0}" .options="${0}"> </foxy-i18n> </p> </section> `),u,c,p,f,h,m,v)}});let g,b=e=>e;const w=t(e,"customer-portal-settings-form");class j extends w{constructor(){super(...arguments),this.__sessionLifespanInMinutesOptions=[{value:"m",label:"option_minute"},{value:"h",label:"option_hour"},{value:"d",label:"option_day"},{value:"w",label:"option_week"}],this.__sessionLifespanInMinutesGetValue=()=>{var e;const t=null!==(e=this.form.sessionLifespanInMinutes)&&void 0!==e?e:0;return t%10080==0?t/10080+"w":t%1440==0?t/1440+"d":t%60==0?t/60+"h":`${t}m`},this.__sessionLifespanInMinutesSetValue=e=>{const t=parseInt(e);e.endsWith("w")?this.edit({sessionLifespanInMinutes:10080*t}):e.endsWith("d")?this.edit({sessionLifespanInMinutes:1440*t}):e.endsWith("h")?this.edit({sessionLifespanInMinutes:60*t}):this.edit({sessionLifespanInMinutes:t})},this.__allowedOriginsGetValue=()=>{var e;return null===(e=this.form.allowedOrigins)||void 0===e?void 0:e.map((e=>({label:x(e)?e:`⚠️ ${e}`,value:e})))},this.__allowedOriginsSetValue=e=>{this.edit({allowedOrigins:e.map((({value:e})=>function(e){try{return new URL(e).origin}catch(t){return e}}(e))).filter(((e,t,i)=>i.indexOf(e)===t))})},this.__featuresOptions=[{value:"sso",label:"option_sso"},{value:"sign-up",label:"option_sign_up"},{value:"frequency-modification",label:"option_frequency_modification"},{value:"next-date-modification",label:"option_next_date_modification"}],this.__featuresGetValue=()=>{var e,t,i;const s=[];return this.form.sso&&s.push("sso"),(null===(e=this.form.signUp)||void 0===e?void 0:e.enabled)&&s.push("sign-up"),(null===(t=this.form.subscriptions)||void 0===t?void 0:t.allowNextDateModification)&&s.push("next-date-modification"),(null===(i=this.form.subscriptions)||void 0===i?void 0:i.allowFrequencyModification.length)&&s.push("frequency-modification"),s},this.__featuresSetValue=e=>{var t,i,s,o,n;const a=null!==(i=null===(t=this.form.subscriptions)||void 0===t?void 0:t.allowFrequencyModification)&&void 0!==i?i:[];this.edit({sso:e.includes("sso"),signUp:{enabled:e.includes("sign-up"),verification:null!==(o=null===(s=this.form.signUp)||void 0===s?void 0:s.verification)&&void 0!==o?o:{type:"hcaptcha",siteKey:"",secretKey:""}},subscriptions:{allowFrequencyModification:e.includes("frequency-modification")?0===a.length?[{jsonataQuery:"*",values:[]}]:a:[],allowNextDateModification:!!e.includes("next-date-modification")&&((null===(n=this.form.subscriptions)||void 0===n?void 0:n.allowNextDateModification)||[])}})},this.__signUpVerificationHcaptchaSiteKeyGetValue=()=>{var e,t,i;return null!==(i=null===(t=null===(e=this.form.signUp)||void 0===e?void 0:e.verification)||void 0===t?void 0:t.siteKey)&&void 0!==i?i:""},this.__signUpVerificationHcaptchaSiteKeySetValue=e=>{var t,i,s,o;this.edit({signUp:{enabled:!!(null===(t=this.form.signUp)||void 0===t?void 0:t.enabled),verification:{secretKey:null!==(o=null===(s=null===(i=this.form.signUp)||void 0===i?void 0:i.verification)||void 0===s?void 0:s.secretKey)&&void 0!==o?o:"",siteKey:e,type:"hcaptcha"}}})},this.__signUpVerificationHcaptchaSecretKeyGetValue=()=>{var e,t,i;return null!==(i=null===(t=null===(e=this.form.signUp)||void 0===e?void 0:e.verification)||void 0===t?void 0:t.secretKey)&&void 0!==i?i:""},this.__signUpVerificationHcaptchaSecretKeySetValue=e=>{var t,i,s,o;this.edit({signUp:{enabled:!!(null===(t=this.form.signUp)||void 0===t?void 0:t.enabled),verification:{secretKey:e,siteKey:null!==(o=null===(s=null===(i=this.form.signUp)||void 0===i?void 0:i.verification)||void 0===s?void 0:s.siteKey)&&void 0!==o?o:"",type:"hcaptcha"}}})},this.__jwtSecretGeneratorOptions={charset:"abcdefghijklmnopqrstuvwxyz0123456789",length:64}}static get v8n(){return[({sessionLifespanInMinutes:e})=>"number"!=typeof e||e<=40320||"session-lifespan-in-minutes:v8n_too_long",({allowedOrigins:e=[]})=>e.length<=10||"allowed-origins:v8n_too_many",({allowedOrigins:e=[]})=>e.every(x)||"allowed-origins:v8n_invalid",({jwtSharedSecret:e})=>!e||/^[a-z0-9-]+$/.test(e)||"jwt-shared-secret:v8n_invalid",({jwtSharedSecret:e})=>!e||e.length>=40||"jwt-shared-secret:v8n_too_short",({jwtSharedSecret:e})=>!e||e.length<=100||"jwt-shared-secret:v8n_too_long",({signUp:e})=>{const t=null==e?void 0:e.verification.siteKey;return!t||t.length<=100||"sign-up-verification-hcaptcha-site-key:v8n_too_long"},({signUp:e})=>{const t=null==e?void 0:e.verification.secretKey;return!t||t.length<=100||"sign-up-verification-hcaptcha-secret-key:v8n_too_long"}]}get hiddenSelector(){var e,t,s;const o=[super.hiddenSelector.toString()];return(null===(e=this.form.signUp)||void 0===e?void 0:e.enabled)||o.push("sign-up-verification-hcaptcha-site-key","sign-up-verification-hcaptcha-secret-key"),(null===(t=this.form.subscriptions)||void 0===t?void 0:t.allowFrequencyModification.length)||o.push("subscriptions-allow-frequency-modification"),(null===(s=this.form.subscriptions)||void 0===s?void 0:s.allowNextDateModification)||o.push("subscriptions-allow-next-date-modification"),new i(o.join(" ").trim())}renderBody(){return o(g||(g=b` <foxy-internal-editable-list-control infer="allowed-origins" .getValue="${0}" .setValue="${0}"> </foxy-internal-editable-list-control> <foxy-internal-checkbox-group-control infer="features" theme="vertical" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-checkbox-group-control> <foxy-internal-password-control infer="sign-up-verification-hcaptcha-site-key" .getValue="${0}" .setValue="${0}"> </foxy-internal-password-control> <foxy-internal-password-control infer="sign-up-verification-hcaptcha-secret-key" .getValue="${0}" .setValue="${0}"> </foxy-internal-password-control> <foxy-internal-async-list-control first="foxy://${0}/form/subscriptions/allowFrequencyModification" infer="subscriptions-allow-frequency-modification" limit="20" form="foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-form" item="foxy-internal-customer-portal-settings-form-subscriptions-allow-frequency-modification-rule-card" alert> </foxy-internal-async-list-control> <foxy-internal-async-list-control first="foxy://${0}/form/subscriptions/allowNextDateModification" infer="subscriptions-allow-next-date-modification" limit="20" form="foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-form" item="foxy-internal-customer-portal-settings-form-subscriptions-allow-next-date-modification-rule-card" alert> </foxy-internal-async-list-control> <foxy-internal-frequency-control infer="session-lifespan-in-minutes" max="" .getValue="${0}" .setValue="${0}" .options="${0}"> </foxy-internal-frequency-control> <foxy-internal-password-control property="jwtSharedSecret" infer="jwt-shared-secret" show-generator .generatorOptions="${0}"> </foxy-internal-password-control> ${0} `),this.__allowedOriginsGetValue,this.__allowedOriginsSetValue,this.__featuresGetValue,this.__featuresSetValue,this.__featuresOptions,this.__signUpVerificationHcaptchaSiteKeyGetValue,this.__signUpVerificationHcaptchaSiteKeySetValue,this.__signUpVerificationHcaptchaSecretKeyGetValue,this.__signUpVerificationHcaptchaSecretKeySetValue,this.virtualHost,this.virtualHost,this.__sessionLifespanInMinutesGetValue,this.__sessionLifespanInMinutesSetValue,this.__sessionLifespanInMinutesOptions,this.__jwtSecretGeneratorOptions,super.renderBody())}async _sendPost(e){return this.__removeNullProperties(e),super._sendPost(e)}async _sendPatch(e){return this.__removeNullProperties(e),super._sendPatch(e)}__removeNullProperties(e){var t,i;"object"==typeof(null===(t=e.subscriptions)||void 0===t?void 0:t.allowNextDateModification)&&(null===(i=e.subscriptions)||void 0===i||i.allowNextDateModification.forEach((e=>{for(const t in e){const i=t;null===e[i]&&delete e[i]}})))}}customElements.define("foxy-customer-portal-settings-form",j);export{j as CustomerPortalSettingsForm};