@foxy.io/elements 1.16.0-beta.9 → 1.18.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +3 -85
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-api-browser.js +3 -3
  5. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-card.js +1 -1
  7. package/dist/cdn/foxy-attribute-form.js +1 -1
  8. package/dist/cdn/foxy-cancellation-form.js +1 -1
  9. package/dist/cdn/foxy-collection-page.js +1 -1
  10. package/dist/cdn/foxy-collection-pages.js +1 -1
  11. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  12. package/dist/cdn/foxy-coupon-card.js +1 -1
  13. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  14. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  15. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  16. package/dist/cdn/foxy-coupon-form.js +1 -1
  17. package/dist/cdn/foxy-custom-field-card.js +1 -1
  18. package/dist/cdn/foxy-custom-field-form.js +1 -1
  19. package/dist/cdn/foxy-customer-api.js +1 -1
  20. package/dist/cdn/foxy-customer-card.js +1 -1
  21. package/dist/cdn/foxy-customer-form.js +1 -1
  22. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  23. package/dist/cdn/foxy-customer-portal.js +2 -2
  24. package/dist/cdn/foxy-customer.js +1 -1
  25. package/dist/cdn/foxy-customers-table.js +1 -1
  26. package/dist/cdn/foxy-discount-builder.js +1 -1
  27. package/dist/cdn/foxy-discount-card.js +1 -1
  28. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  29. package/dist/cdn/foxy-donation.js +1 -1
  30. package/dist/cdn/foxy-email-template-form.js +1 -1
  31. package/dist/cdn/foxy-error-entry-card.js +1 -1
  32. package/dist/cdn/foxy-form-dialog.js +1 -1
  33. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  34. package/dist/cdn/foxy-gift-card-card.js +1 -1
  35. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  36. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  37. package/dist/cdn/foxy-gift-card-form.js +1 -1
  38. package/dist/cdn/foxy-i18n.js +1 -1
  39. package/dist/cdn/foxy-item-card.js +1 -1
  40. package/dist/cdn/foxy-item-form.js +1 -1
  41. package/dist/cdn/foxy-item-option-card.js +1 -1
  42. package/dist/cdn/foxy-item-option-form.js +1 -1
  43. package/dist/cdn/foxy-items-form.js +1 -1
  44. package/dist/cdn/foxy-nucleon-element.js +1 -1
  45. package/dist/cdn/foxy-pagination.js +1 -1
  46. package/dist/cdn/foxy-payment-card.js +1 -1
  47. package/dist/cdn/foxy-payment-method-card.js +1 -1
  48. package/dist/cdn/foxy-query-builder.js +1 -1
  49. package/dist/cdn/foxy-report-form.js +1 -1
  50. package/dist/cdn/foxy-reports-table.js +6 -6
  51. package/dist/cdn/foxy-shipment-card.js +3 -7
  52. package/dist/cdn/foxy-sign-in-form.js +1 -1
  53. package/dist/cdn/foxy-spinner.js +2 -2
  54. package/dist/cdn/foxy-store-shipping-method-card.js +1 -0
  55. package/dist/cdn/foxy-store-shipping-method-form.js +150 -0
  56. package/dist/cdn/foxy-subscription-card.js +1 -1
  57. package/dist/cdn/foxy-subscription-form.js +4 -4
  58. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  59. package/dist/cdn/foxy-table.js +1 -1
  60. package/dist/cdn/foxy-tax-card.js +1 -1
  61. package/dist/cdn/foxy-tax-form.js +1 -1
  62. package/dist/cdn/foxy-template-config-form.js +1 -1
  63. package/dist/cdn/foxy-template-form.js +1 -1
  64. package/dist/cdn/foxy-transaction-card.js +1 -1
  65. package/dist/cdn/foxy-transaction.js +1 -64
  66. package/dist/cdn/foxy-transactions-table.js +1 -1
  67. package/dist/cdn/foxy-user-form.js +1 -1
  68. package/dist/cdn/foxy-users-table.js +1 -1
  69. package/dist/cdn/foxy-webhook-card.js +1 -1
  70. package/dist/cdn/foxy-webhook-form.js +1 -1
  71. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  72. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  73. package/dist/cdn/{shared-e6be392d.js → shared-0561e4c0.js} +1 -1
  74. package/dist/cdn/{shared-addf6302.js → shared-12f8034b.js} +1 -1
  75. package/dist/cdn/{shared-c0deb4cf.js → shared-17331dc5.js} +1 -1
  76. package/dist/cdn/{shared-e9967127.js → shared-18fa34a8.js} +5 -5
  77. package/dist/cdn/{shared-f0ba30e8.js → shared-1bbd9b73.js} +1 -1
  78. package/dist/cdn/{shared-3474279e.js → shared-1eb23210.js} +1 -1
  79. package/dist/cdn/{shared-40315eea.js → shared-26ce8d23.js} +1 -1
  80. package/dist/cdn/shared-2b077e01.js +134 -0
  81. package/dist/cdn/{shared-8c41299f.js → shared-32b15545.js} +1 -1
  82. package/dist/cdn/shared-33b47806.js +29 -0
  83. package/dist/cdn/{shared-e21c712d.js → shared-354e0ed8.js} +1 -1
  84. package/dist/cdn/{shared-eb1d4a32.js → shared-40689cd2.js} +1 -1
  85. package/dist/cdn/shared-45feee83.js +1 -0
  86. package/dist/cdn/{shared-78adab3d.js → shared-48ef8a04.js} +1 -1
  87. package/dist/cdn/{shared-5cb2c769.js → shared-4b85b408.js} +1 -1
  88. package/dist/cdn/shared-4de4a8bc.js +1 -0
  89. package/dist/cdn/shared-4eae0021.js +1 -0
  90. package/dist/cdn/{shared-c6ed5394.js → shared-4fc53390.js} +1 -1
  91. package/dist/cdn/shared-593c3727.js +1 -0
  92. package/dist/cdn/{shared-157cced2.js → shared-59796faa.js} +2 -2
  93. package/dist/cdn/{shared-e0a54dfc.js → shared-6bcd6831.js} +1 -1
  94. package/dist/cdn/{shared-95b0cdf1.js → shared-7b7b6065.js} +1 -1
  95. package/dist/cdn/shared-7c8bb60c.js +1 -0
  96. package/dist/cdn/shared-7c977470.js +1 -0
  97. package/dist/cdn/{shared-c9757355.js → shared-7ed7818e.js} +1 -1
  98. package/dist/cdn/{shared-15d04c73.js → shared-80ca2f70.js} +2 -2
  99. package/dist/cdn/{shared-3b318016.js → shared-8936b109.js} +1 -1
  100. package/dist/cdn/shared-91a28cfe.js +1 -0
  101. package/dist/cdn/shared-92327224.js +15 -0
  102. package/dist/cdn/{shared-af60799b.js → shared-93d93d79.js} +4 -4
  103. package/dist/cdn/shared-97654b20.js +169 -0
  104. package/dist/cdn/shared-98497473.js +1 -0
  105. package/dist/cdn/{shared-85d4b53e.js → shared-9d905cdc.js} +1 -1
  106. package/dist/cdn/{shared-5e228fca.js → shared-9f9cdbb0.js} +1 -1
  107. package/dist/cdn/{shared-78a2c66f.js → shared-a64ead08.js} +1 -1
  108. package/dist/cdn/shared-ac44429d.js +1 -0
  109. package/dist/cdn/{shared-d08fcc29.js → shared-b52c7edf.js} +1 -1
  110. package/dist/cdn/{shared-abfe9262.js → shared-c13674cb.js} +2 -2
  111. package/dist/cdn/{shared-107acd1f.js → shared-c5a638d1.js} +2 -2
  112. package/dist/cdn/shared-c73ca2c5.js +1 -0
  113. package/dist/cdn/{shared-73cfd096.js → shared-d539ee69.js} +1 -1
  114. package/dist/cdn/shared-d6dd67a5.js +82 -0
  115. package/dist/cdn/{shared-f2a561f7.js → shared-dbdc2a38.js} +1 -1
  116. package/dist/cdn/{shared-a2f5defb.js → shared-e06de519.js} +1 -1
  117. package/dist/cdn/{shared-21f6c806.js → shared-e144edd2.js} +1 -1
  118. package/dist/cdn/{shared-cea659c8.js → shared-e28fb2ef.js} +1 -1
  119. package/dist/cdn/shared-e8312a29.js +1 -0
  120. package/dist/cdn/{shared-40c5712e.js → shared-e9a4a204.js} +1 -1
  121. package/dist/cdn/{shared-2eee69db.js → shared-fadcb2e1.js} +0 -0
  122. package/dist/cdn/{shared-4764b995.js → shared-fd001fd3.js} +4 -4
  123. package/dist/cdn/translations/api-browser/en.json +3 -0
  124. package/dist/cdn/translations/customer-portal/se.json +223 -0
  125. package/dist/cdn/translations/discount-builder/en.json +14 -0
  126. package/dist/cdn/translations/item-form/en.json +24 -0
  127. package/dist/cdn/translations/store-shipping-method-card/en.json +15 -0
  128. package/dist/cdn/translations/store-shipping-method-form/en.json +83 -0
  129. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +3 -1
  130. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +11 -1
  131. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  132. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.d.ts +2 -1
  133. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +11 -2
  134. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -1
  135. package/dist/elements/internal/InternalAsyncDetailsControl/index.d.ts +1 -0
  136. package/dist/elements/internal/InternalAsyncDetailsControl/index.js +1 -0
  137. package/dist/elements/internal/InternalAsyncDetailsControl/index.js.map +1 -1
  138. package/dist/elements/internal/InternalCard/InternalCard.d.ts +1 -1
  139. package/dist/elements/internal/InternalCard/InternalCard.js +1 -1
  140. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  141. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.d.ts +17 -0
  142. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +51 -0
  143. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -0
  144. package/dist/elements/internal/InternalCheckboxGroupControl/index.d.ts +6 -0
  145. package/dist/elements/internal/InternalCheckboxGroupControl/index.js +8 -0
  146. package/dist/elements/internal/InternalCheckboxGroupControl/index.js.map +1 -0
  147. package/dist/elements/internal/InternalCheckboxGroupControl/types.d.ts +6 -0
  148. package/dist/elements/internal/InternalCheckboxGroupControl/types.js +2 -0
  149. package/dist/elements/internal/InternalCheckboxGroupControl/types.js.map +1 -0
  150. package/dist/elements/internal/InternalControl/InternalControl.d.ts +22 -2
  151. package/dist/elements/internal/InternalControl/InternalControl.js +29 -8
  152. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  153. package/dist/elements/internal/InternalControl/index.d.ts +2 -0
  154. package/dist/elements/internal/InternalControl/index.js +2 -0
  155. package/dist/elements/internal/InternalControl/index.js.map +1 -1
  156. package/dist/elements/internal/InternalCreateControl/InternalCreateControl.d.ts +1 -1
  157. package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js +1 -1
  158. package/dist/elements/internal/InternalCreateControl/InternalCreateControl.js.map +1 -1
  159. package/dist/elements/internal/InternalDateControl/InternalDateControl.d.ts +1 -1
  160. package/dist/elements/internal/InternalDateControl/InternalDateControl.js +1 -1
  161. package/dist/elements/internal/InternalDateControl/InternalDateControl.js.map +1 -1
  162. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.d.ts +1 -1
  163. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +1 -1
  164. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
  165. package/dist/elements/internal/InternalDetails/InternalDetails.d.ts +1 -1
  166. package/dist/elements/internal/InternalDetails/InternalDetails.js +1 -1
  167. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
  168. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +54 -0
  169. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +88 -11
  170. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  171. package/dist/elements/internal/InternalForm/InternalForm.d.ts +16 -0
  172. package/dist/elements/internal/InternalForm/InternalForm.js +17 -0
  173. package/dist/elements/internal/InternalForm/InternalForm.js.map +1 -1
  174. package/dist/elements/internal/InternalForm/index.d.ts +2 -2
  175. package/dist/elements/internal/InternalForm/index.js +2 -2
  176. package/dist/elements/internal/InternalForm/index.js.map +1 -1
  177. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +1 -1
  178. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +1 -1
  179. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  180. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +1 -1
  181. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -1
  182. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  183. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +1 -1
  184. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -1
  185. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  186. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.d.ts +1 -1
  187. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
  188. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  189. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.d.ts +13 -0
  190. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js +40 -0
  191. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js.map +1 -0
  192. package/dist/elements/internal/InternalTextAreaControl/index.d.ts +4 -0
  193. package/dist/elements/internal/InternalTextAreaControl/index.js +6 -0
  194. package/dist/elements/internal/InternalTextAreaControl/index.js.map +1 -0
  195. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +1 -1
  196. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +1 -1
  197. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  198. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.d.ts +14 -0
  199. package/dist/elements/internal/{InternalForm/internal/InternalTimestampsControl → InternalTimestampsControl}/InternalTimestampsControl.js +12 -11
  200. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js.map +1 -0
  201. package/dist/elements/internal/{InternalForm/internal/InternalTimestampsControl → InternalTimestampsControl}/index.d.ts +2 -0
  202. package/dist/elements/internal/{InternalForm/internal/InternalTimestampsControl → InternalTimestampsControl}/index.js +2 -0
  203. package/dist/elements/internal/InternalTimestampsControl/index.js.map +1 -0
  204. package/dist/elements/public/ApiBrowser/ApiBrowser.d.ts +1 -1
  205. package/dist/elements/public/ApiBrowser/ApiBrowser.js +12 -6
  206. package/dist/elements/public/ApiBrowser/ApiBrowser.js.map +1 -1
  207. package/dist/elements/public/ApiBrowser/index.d.ts +1 -0
  208. package/dist/elements/public/ApiBrowser/index.js +1 -0
  209. package/dist/elements/public/ApiBrowser/index.js.map +1 -1
  210. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.d.ts +7 -0
  211. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js +15 -3
  212. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/InternalApiBrowserResourceForm.js.map +1 -1
  213. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.d.ts +1 -0
  214. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js +1 -0
  215. package/dist/elements/public/ApiBrowser/internal/InternalApiBrowserResourceForm/index.js.map +1 -1
  216. package/dist/elements/public/CopyToClipboard/CopyToClipboard.d.ts +9 -1
  217. package/dist/elements/public/CopyToClipboard/CopyToClipboard.js +11 -2
  218. package/dist/elements/public/CopyToClipboard/CopyToClipboard.js.map +1 -1
  219. package/dist/elements/public/CopyToClipboard/index.d.ts +1 -0
  220. package/dist/elements/public/CopyToClipboard/index.js +1 -0
  221. package/dist/elements/public/CopyToClipboard/index.js.map +1 -1
  222. package/dist/elements/public/CouponForm/CouponForm.js +1 -0
  223. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  224. package/dist/elements/public/DiscountBuilder/DiscountBuilder.d.ts +21 -9
  225. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +33 -30
  226. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
  227. package/dist/elements/public/DiscountBuilder/index.d.ts +1 -0
  228. package/dist/elements/public/DiscountBuilder/index.js +1 -0
  229. package/dist/elements/public/DiscountBuilder/index.js.map +1 -1
  230. package/dist/elements/public/DiscountBuilder/types.d.ts +32 -0
  231. package/dist/elements/public/DiscountBuilder/types.js +2 -0
  232. package/dist/elements/public/DiscountBuilder/types.js.map +1 -0
  233. package/dist/elements/public/I18n/format/discount.js +1 -0
  234. package/dist/elements/public/I18n/format/discount.js.map +1 -1
  235. package/dist/elements/public/ItemCard/ItemCard.d.ts +6 -0
  236. package/dist/elements/public/ItemCard/ItemCard.js +10 -1
  237. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  238. package/dist/elements/public/ItemForm/ItemForm.d.ts +45 -3
  239. package/dist/elements/public/ItemForm/ItemForm.js +50 -8
  240. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  241. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +1 -1
  242. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  243. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +2 -1
  244. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +2 -1
  245. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  246. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +3 -3
  247. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  248. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +2 -1
  249. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +2 -1
  250. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  251. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +16 -6
  252. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  253. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +3 -3
  254. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  255. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +2 -1
  256. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +2 -1
  257. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  258. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +3 -8
  259. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  260. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +2 -1
  261. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +2 -1
  262. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  263. package/dist/elements/public/ItemOptionForm/ItemOptionForm.d.ts +18 -0
  264. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +18 -0
  265. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +1 -1
  266. package/dist/elements/public/ShipmentCard/ShipmentCard.d.ts +6 -0
  267. package/dist/elements/public/ShipmentCard/ShipmentCard.js +7 -5
  268. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  269. package/dist/elements/public/ShipmentCard/index.d.ts +1 -0
  270. package/dist/elements/public/ShipmentCard/index.js +1 -0
  271. package/dist/elements/public/ShipmentCard/index.js.map +1 -1
  272. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.d.ts +16 -0
  273. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js +60 -0
  274. package/dist/elements/public/StoreShippingMethodCard/StoreShippingMethodCard.js.map +1 -0
  275. package/dist/elements/public/StoreShippingMethodCard/index.d.ts +6 -0
  276. package/dist/elements/public/StoreShippingMethodCard/index.js +8 -0
  277. package/dist/elements/public/StoreShippingMethodCard/index.js.map +1 -0
  278. package/dist/elements/public/StoreShippingMethodCard/types.d.ts +5 -0
  279. package/dist/elements/public/StoreShippingMethodCard/types.js +2 -0
  280. package/dist/elements/public/StoreShippingMethodCard/types.js.map +1 -0
  281. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +25 -0
  282. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +152 -0
  283. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -0
  284. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +11 -0
  285. package/dist/elements/public/StoreShippingMethodForm/index.js +13 -0
  286. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -0
  287. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +5 -0
  288. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +33 -0
  289. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -0
  290. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +6 -0
  291. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +8 -0
  292. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +1 -0
  293. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +19 -0
  294. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +96 -0
  295. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -0
  296. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +5 -0
  297. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +7 -0
  298. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +1 -0
  299. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +17 -0
  300. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +45 -0
  301. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +1 -0
  302. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +3 -0
  303. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +5 -0
  304. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +1 -0
  305. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +16 -0
  306. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +49 -0
  307. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +1 -0
  308. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +3 -0
  309. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +5 -0
  310. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +1 -0
  311. package/dist/elements/public/StoreShippingMethodForm/types.d.ts +5 -0
  312. package/dist/elements/public/StoreShippingMethodForm/types.js +2 -0
  313. package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -0
  314. package/dist/elements/public/SwipeActions/SwipeActions.d.ts +16 -1
  315. package/dist/elements/public/SwipeActions/SwipeActions.js +15 -1
  316. package/dist/elements/public/SwipeActions/SwipeActions.js.map +1 -1
  317. package/dist/elements/public/Transaction/Transaction.d.ts +6 -0
  318. package/dist/elements/public/Transaction/Transaction.js +8 -2
  319. package/dist/elements/public/Transaction/Transaction.js.map +1 -1
  320. package/dist/elements/public/Transaction/index.d.ts +2 -4
  321. package/dist/elements/public/Transaction/index.js +2 -4
  322. package/dist/elements/public/Transaction/index.js.map +1 -1
  323. package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js +8 -12
  324. package/dist/elements/public/Transaction/internal/InternalTransactionActionsControl/InternalTransactionActionsControl.js.map +1 -1
  325. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +1 -1
  326. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
  327. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.d.ts +4 -5
  328. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js +15 -15
  329. package/dist/elements/public/Transaction/internal/InternalTransactionPostActionControl/InternalTransactionPostActionControl.js.map +1 -1
  330. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +12 -23
  331. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +1 -1
  332. package/dist/elements/public/index.d.ts +2 -0
  333. package/dist/elements/public/index.defined.d.ts +2 -0
  334. package/dist/elements/public/index.defined.js +2 -0
  335. package/dist/elements/public/index.defined.js.map +1 -1
  336. package/dist/elements/public/index.js +2 -0
  337. package/dist/elements/public/index.js.map +1 -1
  338. package/dist/mixins/configurable.js +1 -0
  339. package/dist/mixins/configurable.js.map +1 -1
  340. package/dist/mixins/inferrable.js +1 -0
  341. package/dist/mixins/inferrable.js.map +1 -1
  342. package/dist/mixins/themeable.js +16 -0
  343. package/dist/mixins/themeable.js.map +1 -1
  344. package/dist/mixins/translatable.js +4 -2
  345. package/dist/mixins/translatable.js.map +1 -1
  346. package/package.json +9 -7
  347. package/dist/cdn/shared-25ef9e09.js +0 -1
  348. package/dist/cdn/shared-38bc104d.js +0 -1
  349. package/dist/cdn/shared-3e14ffe1.js +0 -302
  350. package/dist/cdn/shared-567c8c48.js +0 -1
  351. package/dist/cdn/shared-58a9174f.js +0 -1
  352. package/dist/cdn/shared-64657919.js +0 -1
  353. package/dist/cdn/shared-67651931.js +0 -1
  354. package/dist/cdn/shared-6eb57269.js +0 -15
  355. package/dist/cdn/shared-7a084a40.js +0 -1
  356. package/dist/cdn/shared-855a1983.js +0 -29
  357. package/dist/cdn/shared-85618a7a.js +0 -1
  358. package/dist/cdn/shared-968add7f.js +0 -1
  359. package/dist/cdn/shared-c71f8ccc.js +0 -1
  360. package/dist/cdn/shared-cd65e716.js +0 -1
  361. package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/InternalTimestampsControl.d.ts +0 -8
  362. package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/InternalTimestampsControl.js.map +0 -1
  363. package/dist/elements/internal/InternalForm/internal/InternalTimestampsControl/index.js.map +0 -1
@@ -1 +1 @@
1
- import{e,r as t,S as s,h as i,_ as a}from"./shared-2eee69db.js";import"./shared-4764b995.js";import{B as n}from"./shared-73cfd096.js";import{E as r,F as l}from"./shared-e0a54dfc.js";import"./shared-3b318016.js";import"./shared-f2a561f7.js";import{L as o,h as d,c}from"./shared-dc73b9a5.js";import{A as u,w as h,y as _,x as p}from"./shared-855a1983.js";import{a as g,D as v,b as m,C as x,c as y}from"./shared-3e14ffe1.js";import"./shared-e21c712d.js";import{a as f,I as b,D as $,S as w,M as k,W as j,c as E,t as C}from"./shared-15d04c73.js";import"./shared-addf6302.js";import"./shared-8c41299f.js";import{I as S}from"./shared-78a2c66f.js";import"./shared-107acd1f.js";import{p as I}from"./shared-7a084a40.js";import{c as R}from"./shared-4e709717.js";import"./shared-c6ed5394.js";import{P as V}from"./shared-eb1d4a32.js";import{a8 as M,a9 as A,aa as O,ab as q,ac as N,ad as D,ae as T,af as F,ag as U,ah as L,ai as B,aj as P,ak as z,al as Q,am as J,an as W,ao as H,ap as G,aq as Y,ar as X,as as K,at as Z,au as ee}from"./shared-6eb57269.js";import{G as te}from"./shared-78adab3d.js";import{j as se}from"./shared-f0ba30e8.js";import{p as ie,W as ae}from"./shared-c9757355.js";import{D as ne}from"./shared-3474279e.js";import{i as re}from"./shared-968add7f.js";import"./shared-abfe9262.js";import"./shared-99940888.js";import"./shared-567c8c48.js";import"./shared-64657919.js";import"./shared-58a9174f.js";import"./shared-9803aa7c.js";function le(e){return e?Infinity===(e=u(e))||-Infinity===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function oe(e){return e}var de=Object.create,ce=function(){function t(){}return function(s){if(!e(s))return{};if(de)return de(s);t.prototype=s;var i=new t;return t.prototype=void 0,i}}();var ue=function(){try{var e=M(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();function he(e,t,s){"__proto__"==t&&ue?ue(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}var _e=Object.prototype.hasOwnProperty;function pe(e,t,s){var i=e[t];_e.call(e,t)&&A(i,s)&&(void 0!==s||t in e)||he(e,t,s)}function ge(e,t,s,i){var a=!s;s||(s={});for(var n=-1,r=t.length;++n<r;){var l=t[n],o=i?i(s[l],e[l],l,s,e):void 0;void 0===o&&(o=e[l]),a?he(s,l,o):pe(s,l,o)}return s}var ve=Object.prototype.hasOwnProperty;function me(t){if(!e(t))return function(e){var t=[];if(null!=e)for(var s in Object(e))t.push(s);return t}(t);var s=N(t),i=[];for(var a in t)("constructor"!=a||!s&&ve.call(t,a))&&i.push(a);return i}function xe(e){return O(e)?D(e,!0):me(e)}var ye=T(Object.getPrototypeOf,Object);var fe="object"==typeof exports&&exports&&!exports.nodeType&&exports,be=fe&&"object"==typeof module&&module&&!module.nodeType&&module,$e=be&&be.exports===fe?t.Buffer:void 0,we=$e?$e.allocUnsafe:void 0;var ke=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)B(t,U(e)),e=ye(e);return t}:L;function je(e){return P(e,xe,ke)}var Ee=Object.prototype.hasOwnProperty;function Ce(e){var t=new e.constructor(e.byteLength);return new z(t).set(new z(e)),t}var Se=/\w*$/;var Ie=s?s.prototype:void 0,Re=Ie?Ie.valueOf:void 0;function Ve(e,t,s){var i,a,n,r=e.constructor;switch(t){case"[object ArrayBuffer]":return Ce(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return function(e,t){var s=t?Ce(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.byteLength)}(e,s);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var s=t?Ce(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}(e,s);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return(n=new(a=e).constructor(a.source,Se.exec(a))).lastIndex=a.lastIndex,n;case"[object Symbol]":return i=e,Re?Object(Re.call(i)):{}}}var Me=J&&J.isMap,Ae=Me?W(Me):function(e){return i(e)&&"[object Map]"==Q(e)};var Oe=J&&J.isSet,qe=Oe?W(Oe):function(e){return i(e)&&"[object Set]"==Q(e)},Ne={};function De(t,s,i,a,n,r){var l,o=1&s,d=2&s,c=4&s;if(i&&(l=n?i(t,a,n,r):i(t)),void 0!==l)return l;if(!e(t))return t;var u=H(t);if(u){if(l=function(e){var t=e.length,s=new e.constructor(t);return t&&"string"==typeof e[0]&&Ee.call(e,"index")&&(s.index=e.index,s.input=e.input),s}(t),!o)return function(e,t){var s=-1,i=e.length;for(t||(t=Array(i));++s<i;)t[s]=e[s];return t}(t,l)}else{var h=Q(t),_="[object Function]"==h||"[object GeneratorFunction]"==h;if(G(t))return function(e,t){if(t)return e.slice();var s=e.length,i=we?we(s):new e.constructor(s);return e.copy(i),i}(t,o);if("[object Object]"==h||"[object Arguments]"==h||_&&!n){if(l=d||_?{}:function(e){return"function"!=typeof e.constructor||N(e)?{}:ce(ye(e))}(t),!o)return d?function(e,t){return ge(e,ke(e),t)}(t,function(e,t){return e&&ge(t,xe(t),e)}(l,t)):function(e,t){return ge(e,U(e),t)}(t,function(e,t){return e&&ge(t,F(t),e)}(l,t))}else{if(!Ne[h])return n?t:{};l=Ve(t,h,o)}}r||(r=new Y);var p=r.get(t);if(p)return p;r.set(t,l),qe(t)?t.forEach((function(e){l.add(De(e,s,i,e,t,r))})):Ae(t)&&t.forEach((function(e,a){l.set(a,De(e,s,i,a,t,r))}));var g=u?void 0:(c?d?je:X:d?xe:F)(t);return function(e,t){for(var s=-1,i=null==e?0:e.length;++s<i&&!1!==t(e[s],s,e););}(g||t,(function(e,a){g&&(e=t[a=e]),pe(l,a,De(e,s,i,a,t,r))})),l}Ne["[object Arguments]"]=Ne["[object Array]"]=Ne["[object ArrayBuffer]"]=Ne["[object DataView]"]=Ne["[object Boolean]"]=Ne["[object Date]"]=Ne["[object Float32Array]"]=Ne["[object Float64Array]"]=Ne["[object Int8Array]"]=Ne["[object Int16Array]"]=Ne["[object Int32Array]"]=Ne["[object Map]"]=Ne["[object Number]"]=Ne["[object Object]"]=Ne["[object RegExp]"]=Ne["[object Set]"]=Ne["[object String]"]=Ne["[object Symbol]"]=Ne["[object Uint8Array]"]=Ne["[object Uint8ClampedArray]"]=Ne["[object Uint16Array]"]=Ne["[object Uint32Array]"]=!0,Ne["[object Error]"]=Ne["[object Function]"]=Ne["[object WeakMap]"]=!1;var Te=Math.floor,Fe=Math.random;var Ue=parseFloat,Le=Math.min,Be=Math.random;function Pe(t,s,i){if(i&&"boolean"!=typeof i&&function(t,s,i){if(!e(i))return!1;var a=typeof s;return!!("number"==a?O(i)&&q(s,i.length):"string"==a&&s in i)&&A(i[s],t)}(t,s,i)&&(s=i=void 0),void 0===i&&("boolean"==typeof s?(i=s,s=void 0):"boolean"==typeof t&&(i=t,t=void 0)),void 0===t&&void 0===s?(t=0,s=1):(t=le(t),void 0===s?(s=t,t=0):s=le(s)),t>s){var a=t;t=s,s=a}if(i||t%1||s%1){var n=Be();return Le(t+n*(s-t+Ue("1e-"+((n+"").length-1))),s)}return function(e,t){return e+Te(Fe()*(t-e+1))}(t,s)}var ze=Math.min;function Qe(e,t){if(e=function(e){var t=le(e),s=t%1;return t==t?s?t-s:t:0}(e),e<1||e>9007199254740991)return[];var s,i=4294967295,a=ze(e,4294967295);e-=4294967295;for(var n=K(a,t="function"==typeof(s=t)?s:oe);++i<e;)t(i);return n}class Je extends CustomEvent{constructor(e){super("change",{detail:e})}}let We,He,Ge=e=>e;class Ye extends o{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.getText=e=>e}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean},getText:{type:Object}})}static get styles(){return h.styles}render(){return d(We||(We=Ge` <div class="font-lumo text-m w-full"> <ul> ${0} </ul> <div class="p-m"> <slot></slot> </div> </div> `),this.value.map(((e,t)=>d(He||(He=Ge` <li class="${0}"> <slot name="${0}">${0}</slot> <button ?disabled="${0}" class="w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </li> `),"ml-m h-l text-body flex justify-between items-center"+(t>0?" border-t border-contrast-10":""),t,this.getText(e),this.disabled,(()=>this.__remove(t))))))}__remove(e){this.value=this.value.filter(((t,s)=>s!==e)),this.dispatchEvent(new Je(this.value))}}let Xe,Ke,Ze=e=>e;class et extends o{static get styles(){return[h.styles,c(Xe||(Xe=Ze`:host{position:absolute;top:0;right:0;bottom:0;left:0}.top-center{top:calc(50% - (var(--lumo-size-xl)/ 2))}@keyframes dash0{from{transform:translate(0,0)}to{transform:translate(5.681301px,3.368302px)}}@keyframes dash1{from{transform:translate(0,0)}to{transform:translate(5.677051px,3.457428px)}}@keyframes dash2{from{transform:translate(0,0)}to{transform:translate(5.686002px,3.127455px)}}@keyframes dash3{from{transform:translate(-5.6842px,-3.404556px)}to{transform:translate(0,0)}}`))]}render(){return d(Ke||(Ke=Ze` <div class="h-full bg-base text-primary"> <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-xl h-xl mx-auto sticky top-center" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 64 64"> <path id="ew5fy7afo2w2" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z" clip-rule="evenodd"/> <path id="ew5fy7afo2w3" fill-rule="evenodd" stroke="none" stroke-width="1" d="M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z" clip-rule="evenodd"/> <g style="animation:dash0 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w4" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> <g style="animation:dash1 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w5" fill-rule="evenodd" stroke="none" stroke-width="1" d="M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z" clip-rule="evenodd"/> </g> <g style="animation:dash2 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w6" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z" clip-rule="evenodd"/> </g> <g transform="translate(-5.68 -3.4)" style="animation:dash3 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w7" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> </svg> </div> `))}}let tt,st,it=e=>e;class at extends o{static get styles(){return[h.styles,c(tt||(tt=it`::slotted(:not([slot])){margin-top:var(--lumo-space-xl)}`))]}render(){return d(st||(st=it` <article class="relative antialiased font-lumo"> <header class="space-y-xs leading-s"> <h1 class="font-bold text-header text-xl border-b border-contrast-10 pb-s mb-s"> <slot name="title"></slot> </h1> <p class="text-l text-secondary"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </article> `))}}let nt,rt,lt=e=>e;class ot extends at{static get styles(){return[super.styles,c(nt||(nt=lt`::slotted(:not([slot])){margin-top:var(--lumo-space-m)}`))]}render(){return d(rt||(rt=lt` <section class="leading-s antialiased font-lumo"> <header> <h2 class="text-header font-semibold text-l"> <slot name="title"></slot> </h2> <p class="text-secondary text-m"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </section> `))}}let dt,ct=e=>e;class ut extends CustomEvent{constructor(e){super("change",{detail:e})}}class ht extends o{constructor(){super(...arguments),this.disabled=!1,this.checked=!1}static get properties(){return a(a({},super.properties),{},{disabled:{attribute:!1},checked:{attribute:!1}})}static get styles(){return h.styles}render(){return d(dt||(dt=ct` <label class="${0}"> <span class="text-body text-m mr-m"> <slot></slot> </span> <span style="border-radius:var(--lumo-size-xl);width:calc((var(--lumo-space-l) * 2) + (var(--lumo-space-xs) * 2))" class="${0}"> <span style="width:var(--lumo-space-l);height:var(--lumo-space-l)" class="${0}"></span> <input type="checkbox" class="opacity-0 absolute inset-0" .checked="${0}" .disabled="${0}" @change="${0}"> </span> </label> `),R({"transition duration-200 flex justify-between items-center group":!0,"cursor-pointer":!this.disabled}),R({"transition duration-150 relative flex flex-shrink-0 items-center":!0,"bg-success focus-within-shadow-outline-success":!this.disabled&&this.checked,"bg-contrast-10 focus-within-shadow-outline":this.disabled||!this.checked,"bg-contrast-20":!this.disabled&&!this.checked}),R({"bg-tint transition duration-200 transform block rounded-full m-xs":!0,"translate-x-l":this.checked,"translate-x-0":!this.checked,"shadow-xs group-hover-shadow-s group-hover-scale-110":!this.disabled}),this.checked,this.disabled,(()=>{this.checked=!this.checked,this.dispatchEvent(new ut(this.checked))}))}}class _t extends Error{constructor(){super("Unhandled request detected. Please add a request handler to connect this component to a backend.")}}class pt extends CustomEvent{static emit(e){return new Promise(((t,s)=>{const i=new pt(a({resolve:t,reject:s},e));e.source.dispatchEvent(i)&&s(new _t)}))}constructor({source:e,resolve:t,reject:s,init:i}){var a;super("request",{cancelable:!0,composed:!0,bubbles:!0,detail:{source:e,handle:async function(e){a.stopImmediatePropagation(),a.preventDefault();try{t(await e(...i))}catch(e){s(e)}}}}),a=this}}let gt,vt=e=>e;class mt extends CustomEvent{constructor(e){super("change",{detail:e})}}class xt extends _{constructor(){super(...arguments),this.disabled=!1,this.value=1,this.__errorMessage=null,this.__customFieldI18n={formatValue:e=>{const t=parseInt(e[0]);if(isNaN(t))return"0";const s=e[1];return"w"===s?(10080*t).toFixed(0):"d"===s?(1440*t).toFixed(0):"h"===s?(60*t).toFixed(0):t.toFixed(0)},parseValue:e=>{const t=parseInt(e);return t%10080==0?[(t/10080).toFixed(0),"w"]:t%1440==0?[(t/1440).toFixed(0),"d"]:t%60==0?[(t/60).toFixed(0),"h"]:[t.toFixed(0),"m"]}},this.__renderer=this.__renderItems.bind(this)}static get scopedElements(){return{"vaadin-integer-field":S,"vaadin-custom-field":g,"vaadin-select":f,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){var e;return d(gt||(gt=vt` <div class="text-xs text-tertiary font-lumo"> <vaadin-custom-field ?disabled="${0}" .label="${0}" .value="${0}" .i18n="${0}" data-testid="field" id="field" @change="${0}"> <vaadin-integer-field .disabled="${0}" .min="${0}" data-testid="count" has-controls> </vaadin-integer-field> <vaadin-select .disabled="${0}" .renderer="${0}" data-testid="units"> </vaadin-select> </vaadin-custom-field> <br> <x-i18n .lang="${0}" .ns="${0}" .key="${0}" data-testid="error" class="${0}"> </x-i18n> </div> `),this.disabled||!this._isI18nReady,this._isI18nReady?this._t("session.title").toString():"---",this._isI18nReady?this.value.toString():"",this.__customFieldI18n,this.__handleChange,this.disabled||!this._isI18nReady,1,this.disabled||!this._isI18nReady,this._isI18nReady?this.__renderer:null,this.lang,this.ns,this._t(`session.${null!==(e=this.__errorMessage)&&void 0!==e?e:"subtitle"}`).toString(),R({"text-error":null!==this.__errorMessage&&!this.disabled}))}firstUpdated(){this.shadowRoot.getElementById("field").value=this.value.toString()}updated(e){e.has("value")&&this.__reportValidity()}__renderItems(e){let t=e.querySelector("vaadin-list-box");null===t&&(t=document.createElement("vaadin-list-box"),e.appendChild(t));const s=["m","h","d","w"],i=["minute_plural","hour_plural","d_plural","w_plural"],a=t.querySelectorAll("vaadin-item");for(let e=0;e<Math.max(s.length,a.length);++e)if(s[e]){let n;a[e]?n=a[e]:(n=document.createElement("vaadin-item"),t.appendChild(n)),n.value=s[e],n.textContent=this._t(i[e])}else a[e].remove()}__handleChange(e){e.stopPropagation(),this.value=parseInt(e.target.value),this.dispatchEvent(new mt({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){return this.__errorMessage=this.value<1?"too_short":this.value>40320?"too_long":null,this.requestUpdate(),null===this.__errorMessage}}let yt,ft=e=>e;class bt extends CustomEvent{constructor(e){super("change",{detail:e})}}class $t extends _{constructor(){super(...arguments),this.disabled=!1,this.value="",this.__errorMessage=""}static get scopedElements(){return{"vaadin-password-field":V,"vaadin-button":n,"iron-icon":customElements.get("iron-icon"),"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){const e=""!==this.__errorMessage&&!this.disabled,t=e?this._t(`jwt.${this.__errorMessage}`).toString():"";return d(yt||(yt=ft` <div class="space-y-xs"> <div class="flex items-start"> <vaadin-password-field .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" .label="${0}" data-testid="input" class="w-full" @change="${0}" @input="${0}"> </vaadin-password-field> <vaadin-button class="flex-shrink-0 ml-s" style="margin-top:calc(var(--lumo-font-size-s) * 1.5)" theme="error" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .lang="${0}" .ns="${0}" key="jwt.refresh"></x-i18n> <iron-icon icon="icons:refresh" slot="suffix"></iron-icon> </vaadin-button> </div> <x-i18n .lang="${0}" .ns="${0}" key="jwt.subtitle" class="text-xs text-tertiary font-lumo"> </x-i18n> </div> `),t,this.disabled||!this._isI18nReady,e,this._isI18nReady?this.value:"",this._isI18nReady?this._t("jwt.title").toString():"---",(e=>e.stopPropagation()),this.__handleInput,this.disabled||!this._isI18nReady,this.__regenerateValue,this.lang,this.ns,this.lang,this.ns)}updated(e){e.has("value")&&this.__reportValidity()}__regenerateValue(){this.__errorMessage="",this.value=Qe(72,(()=>Pe(35).toString(36))).join(""),this.dispatchEvent(new bt({value:this.value,invalid:!1}))}__handleInput(e){this.value=e.target.value,this.dispatchEvent(new bt({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){var e;return this.__errorMessage=0===this.value.length?"required":this.value.length<40?"too_short":this.value.length>100?"too_long":(e=this.value,/^[a-z0-9-]+$/i.test(e)?"":"invalid"),this.requestUpdate(),""===this.__errorMessage}}function wt(e){return t=>{t.preventDefault(),e(t)}}class kt extends v{}let jt,Et=e=>e;class Ct extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=Ct.defaultValue,this.__items=["y","m","w","d"]}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":$}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){return d(jt||(jt=Et` <div class="grid grid-cols-2 gap-s"> <vaadin-integer-field data-testid="value" class="w-full" min="1" has-controls .value="${0}" .disabled="${0}" @change="${0}"> </vaadin-integer-field> <x-dropdown data-testid="units" .disabled="${0}" .getText="${0}" .items="${0}" .value="${0}" @change="${0}"> </x-dropdown> </div> `),this._isI18nReady?this.__numericValue:"",this.disabled,this.__handleNumberChange,this.disabled,(e=>this._isI18nReady?this._t(`${e}_plural`):""),this.__items,this._isI18nReady?this.__unitsValue:"",this.__handleUnitsChange)}get __numericValue(){var e;return I(null!==(e=this.value)&&void 0!==e?e:"").count}get __unitsValue(){var e;return I(null!==(e=this.value)&&void 0!==e?e:"").units}__handleNumberChange(e){e.stopPropagation();const t=e.target.value;this.value=this.value.replace(String(this.__numericValue),t),this.__sendChange()}__handleUnitsChange(e){this.value=this.value.replace(String(this.__unitsValue),e.detail),this.__sendChange()}__sendChange(){this.dispatchEvent(new kt(this.value))}}Ct.defaultValue="1w";class St extends Je{}let It,Rt,Vt,Mt,At=e=>e;class Ot extends _{constructor(){super("customer-portal-settings"),this.value=[],this.disabled=!1,this.__newValue=Ct.defaultValue}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-input":Ct,"x-skeleton":w,"x-list":Ye,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.disabled||!this._isI18nReady||this.value.length>=20;return d(It||(It=At` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="w-full md-flex"> <x-frequency-input data-testid="input" class="mb-s md-mb-0 md-mr-s" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <vaadin-button data-testid="button" class="w-full md-w-auto" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?d(Rt||(Rt=At`<span slot="${0}">${0}</span>`),t,this.__getText(e)):d(Vt||(Vt=At`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this.lang,this.__newValue,e,this.__handleNewValueChange,e,this.__handleSubmit,this.ns,this.lang,this.value.length>0?d(Mt||(Mt=At` <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,R({"block text-xs mt-xs text-center md-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}__handleNewValueChange(e){this.__newValue=e.detail}__handleListChange(e){this.value=e.detail,this.__sendChange()}__handleSubmit(){this.value=[...this.value,this.__newValue],this.__newValue=Ct.defaultValue,this.__sendChange()}__sendChange(){this.dispatchEvent(new St(this.value))}__getText(e){const t=e[e.length-1],s=parseInt(e.replace(t,""));return this._t("duration",{count:s,units:this._t(t,{count:s})})}}class qt extends m{}let Nt,Dt,Tt=e=>e;class Ft extends _{constructor(){super(...arguments),this.disabled=!1,this.value="*",this.__errorMessage="",this.__items=["all","some"],this.__handleNewValueChange=p((e=>{try{se(e).evaluate({}),this.value=e,this.__errorMessage="",this.__sendChange()}catch(e){this.__errorMessage=e.message}this.requestUpdate()}),275)}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"iron-icon":customElements.get("iron-icon"),"x-choice":x,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){const e="pl-xs text-primary rounded font-medium cursor-pointer transition duration-200 focus-outline-none focus-shadow-outline hover-underline";return d(Nt||(Nt=Tt` <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="all-label" .ns="${0}" .lang="${0}" key="jsonata.all"></x-i18n> <x-i18n slot="some-label" .ns="${0}" .lang="${0}" key="jsonata.some"></x-i18n> ${0} </x-choice> `),this.disabled||!this._isI18nReady,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?d(Dt||(Dt=Tt` <div slot="${0}" class="space-y-s pb-m"> <x-i18n .ns="${0}" .lang="${0}" key="jsonata.hint" class="block font-lumo text-s text-tertiary leading-s"> <a target="_blank" class="${0}" href="https://docs.jsonata.org" rel="noopener noreferrer"> JSONata <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> <a target="_blank" class="${0}" href="https://api.foxycart.com/rels/subscription" rel="noopener noreferrer"> hAPI subscription <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> </x-i18n> <vaadin-text-field class="w-full" data-testid="input" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keydown="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> </div> `),this.__items[1],this.ns,this.lang,e,e,this.__errorMessage,this.disabled||!this._isI18nReady,this.__errorMessage.length>0,this._isI18nReady?this.value:"",this.__stopNavigation,(e=>e.stopPropagation()),(e=>this.__handleNewValueChange(e.target.value))):"")}get __choice(){return this.__items["*"===this.value?0:1]}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?"*":'$contains(frequency, "w")',this.__sendChange()}__stopNavigation(e){e.key.startsWith("Arrow")&&e.stopPropagation()}__sendChange(){this.dispatchEvent(new qt(this.value))}}class Ut extends CustomEvent{constructor(e){super("change",{detail:e})}}class Lt extends CustomEvent{constructor(){super("remove")}}let Bt,Pt,zt=e=>e;class Qt extends _{constructor(){super(...arguments),this.open=!1,this.value={jsonataQuery:"*",values:[]},this.disabled=!1}static get scopedElements(){return{"x-frequency-list":Ot,"x-jsonata-input":Ft,"iron-icon":customElements.get("iron-icon"),"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{open:{attribute:!1},value:{attribute:!1},disabled:{attribute:!1}})}render(){const{jsonataQuery:e,values:t}=this.value,s=this.open?"":"rounded-b-l";return d(Bt||(Bt=zt` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m space-y-xs mr-xl"> <x-i18n .ns="${0}" .lang="${0}" .key="${0}" class="block text-m text-header font-medium"> ${0} </x-i18n> <x-i18n .ns="${0}" .lang="${0}" class="block text-s text-tertiary" key="fmod.valuesLabel"> <x-i18n .ns="${0}" .key="${0}" .lang="${0}" .opts="${0}" class="text-secondary"> </x-i18n> </x-i18n> </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <div class="space-y-l pt-m" slot="content"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.match"></x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.options"> </x-i18n> <x-frequency-list data-testid="frequency" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-list> </x-group> </div> </details> </x-group> `),R({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),s,this.ns,this.lang,`fmod.${"*"===e?"all":"some"}Title`,"*"!==e?this.__renderJSONataSummary(e):"",this.ns,this.lang,this.ns,"fmod.valuesList"+(0===t.length?"Empty":""),this.lang,{values:t.map((e=>this.__translateFrequency(e)))},this.disabled||!this._isI18nReady,wt((()=>{this.dispatchEvent(new Lt)})),this.ns,this.lang,this.ns,this.lang,this.value.jsonataQuery,this.disabled||!this._isI18nReady,this.__handleQueryChange,this.ns,this.lang,this.lang,this.value.values,this.disabled||!this._isI18nReady,this.__handleValuesChange)}__translateFrequency(e){if(".5m"===e)return this._t("frequency_0_5m");const{count:t,units:s}=I(e);return this._t("frequency",{units:this._t(s,{count:t}),count:t})}__renderJSONataSummary(e){return d(Pt||(Pt=zt` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__handleQueryChange(e){this.value=a(a({},this.value),{},{jsonataQuery:e.detail}),this.__sendChange()}__handleValuesChange(e){this.value=a(a({},this.value),{},{values:e.detail}),this.__sendChange()}__sendChange(){this.dispatchEvent(new Ut(this.value))}}class Jt extends CustomEvent{constructor(e){super("change",{detail:e})}}let Wt,Ht,Gt=e=>e;class Yt extends _{constructor(){super(...arguments),this.value=[],this.disabled=!1}static get scopedElements(){return{"x-frequency-modification-rule":Qt,"vaadin-button":customElements.get("vaadin-button"),"x-section":ot,"iron-icon":customElements.get("iron-icon"),"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const{ns:e,lang:t}=this;return d(Wt||(Wt=Gt` <x-section> <x-i18n .ns="${0}" .lang="${0}" key="fmod.title" slot="title" class="text-l"></x-i18n> <x-i18n .ns="${0}" .lang="${0}" key="fmod.subtitle" slot="subtitle" class="mr-xl"></x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_rule"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="fmod.add_rule_hint" class="${0}"> </x-i18n> </div> </x-section> `),e,t,e,t,this.value.map(((e,t,s)=>d(Ht||(Ht=Gt` <x-frequency-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @remove="${0}" @change="${0}"> </x-frequency-modification-rule> `),this.disabled,e,this.lang,this.ns,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()})))),this.disabled||this.value.length>=10||!this._isI18nReady,this.__addRule,this.ns,this.lang,this.lang,this.ns,R({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__addRule(){this.value=[...this.value,{jsonataQuery:"*",values:[]}],this.__sendChange()}__sendChange(){this.dispatchEvent(new Jt(this.value))}}function Xt(e,t){const s=(new Date).getFullYear(),i={month:"long",day:"numeric"};return e.split("..").map((e=>{const n=ie(e),r=(null==n?void 0:n.getFullYear())===s?void 0:"numeric";return null==n?void 0:n.toLocaleDateString(t,a({year:r},i))})).join(" – ")}class Kt extends CustomEvent{constructor(e){super("change",{detail:e})}}let Zt,es,ts,ss=e=>e;class is extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.__items=["all","month","day"]}static get scopedElements(){return{"x-monthday-picker":k,"x-weekday-picker":j,"x-choice":x,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Object}})}render(){var e,t,s,i;return d(Zt||(Zt=ss` <x-choice data-testid="choice" .value="${0}" .items="${0}" .disabled="${0}" @change="${0}"> <x-i18n slot="all-label" key="ndmod.all" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="month-label" key="ndmod.month" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="day-label" key="ndmod.day" .ns="${0}" .lang="${0}"></x-i18n> ${0} </x-choice> `),null!==(t=null===(e=this.value)||void 0===e?void 0:e.type)&&void 0!==t?t:"all",this.__items,this.disabled,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,"month"===(null===(s=this.value)||void 0===s?void 0:s.type)?d(es||(es=ss` <x-monthday-picker slot="month" class="mb-m" data-testid="monthday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-monthday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"day"===(null===(i=this.value)||void 0===i?void 0:i.type)?d(ts||(ts=ss` <x-weekday-picker slot="day" class="mb-m" data-testid="weekday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-weekday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"")}__handleNewValueChange(e){this.value.days=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:e.detail===this.__items[1]?{type:"month",days:[]}:{type:"day",days:[]},this.__sendChange()}__sendChange(){this.dispatchEvent(new Kt(this.value))}}class as extends Je{}let ns,rs,ls,os,ds=e=>e;class cs extends _{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__startValue="",this.__endValue=""}static get scopedElements(){return{"vaadin-date-picker":ne,"vaadin-button":n,"x-skeleton":w,"iron-icon":customElements.get("iron-icon"),"x-i18n":b,"x-list":Ye}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.value.length>=20||this.disabled||!this._isI18nReady;return d(ns||(ns=ds` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="sm-flex sm-items-end"> <div class="grid grid-cols-2 gap-s"> <vaadin-date-picker data-testid="start" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" @change="${0}"> </vaadin-date-picker> <vaadin-date-picker data-testid="end" .min="${0}" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" clear-button-visible @change="${0}"> </vaadin-date-picker> </div> <vaadin-button .disabled="${0}" data-testid="submit" class="w-full mt-s sm-mt-0 sm-w-auto sm-ml-s" @click="${0}"> <x-i18n .lang="${0}" .key="ndmod.add_${0}" .ns="${0}"> </x-i18n> <iron-icon icon="icons:add" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?d(rs||(rs=ds`<span slot="${0}" class="truncate">${0}</span>`),t,Xt(e,this.lang)):d(ls||(ls=ds`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._t("ndmod.range_start").toString(),this.__startValue,e,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleStartValueChange,this.__startValue,this._t("ndmod.range_end").toString(),this.__endValue,e||!this.__startValue,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleEndValueChange,e||!this.__startValue,this.__submit,this.lang,this.__endValue?"range":"single",this.ns,this.value.length>0?d(os||(os=ds` <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add_range_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,R({"block text-xs mt-xs text-center sm-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}updated(){const e=this.constructor.getScopedTagName("vaadin-date-picker"),t=this.shadowRoot.querySelectorAll(e);Array.from(t).forEach((e=>e.validate()))}__handleStartValueChange(e){e.stopPropagation(),this.__startValue=e.target.value;const t=ie(this.__endValue),s=ie(this.__startValue);t&&t.getTime()<s.getTime()&&(this.__endValue=""),this.requestUpdate()}__handleEndValueChange(e){e.stopPropagation(),this.__endValue=e.target.value,this.requestUpdate()}__submit(){this.__startValue&&this.__endValue?this.value=[...this.value,[this.__startValue,this.__endValue].join("..")]:this.value=[...this.value,this.__startValue],this.__sendChange(),this.__startValue="",this.__endValue=""}__handleListChange(e){this.value=e.detail,this.__sendChange()}__sendChange(){this.dispatchEvent(new as(this.value))}}class us extends CustomEvent{constructor(e){super("change",{detail:e})}}let hs,_s,ps=e=>e;class gs extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.type="min",this.__items=["none","custom"]}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":Ct,"x-choice":x,"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:String},type:{type:String}})}render(){return d(hs||(hs=ps` <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="${0}"> </x-i18n> <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="none-label" .ns="${0}" .lang="${0}" key="ndmod.none"></x-i18n> <x-i18n slot="custom-label" .ns="${0}" .lang="${0}" key="ndmod.custom"></x-i18n> ${0} </x-choice> </x-group> `),this.ns,this.lang,`ndmod.${this.type}`,this.disabled,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?d(_s||(_s=ps` <div slot="${0}" class="space-y-s"> <x-frequency-input data-testid="input" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <p class="text-s text-tertiary leading-s">${0}</p> </div> `),this.__items[1],this.value,this.disabled,this.__handleNewValueChange,this.__hint):"")}get __choice(){return this.__items[this.value?1:0]}get __hint(){var e;if(!this._isI18nReady)return"";const{count:t,units:s}=I(null!==(e=this.value)&&void 0!==e?e:"");return this._t(`ndmod.${this.type}Hint`,{duration:this._t("duration",{count:t,units:this._t(null!=s?s:"",{count:t})})})}__handleNewValueChange(e){this.value=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:"1w",this.__sendChange()}__sendChange(){this.dispatchEvent(new us(this.value))}}class vs extends CustomEvent{constructor(e){super("change",{detail:e})}}class ms extends CustomEvent{constructor(){super("remove")}}let xs,ys,fs,bs,$s,ws,ks,js,Es,Cs=e=>e;class Ss extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value={jsonataQuery:"*"},this.open=!1}static get scopedElements(){return{"x-disallowed-dates":cs,"x-jsonata-input":Ft,"x-offset-input":gs,"x-allowed-days":is,"iron-icon":customElements.get("iron-icon"),"x-warning":ae,"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Object},open:{type:Boolean}})}render(){const{min:e,max:t,allowedDays:s,jsonataQuery:i,disallowedDates:n}=this.value,r=e||t,l=s&&s.days.length>0,o=n&&n.length>0,c=this.open?"":"rounded-b-l";return d(xs||(xs=Cs` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m mr-xl text-m text-header font-medium space-y-s"> <div> <x-i18n .ns="${0}" .lang="${0}" key="${0}"> ${0} </x-i18n> </div> ${0} </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <article class="space-y-l"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.match"> </x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <div class="flex flex-col md-flex-row"> <div class="mb-l md-mb-0 md-w-1-2 md-border-r md-border-contrast-10"> <x-offset-input data-testid="min" type="min" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> <div class="md-w-1-2"> <x-offset-input data-testid="max" type="max" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> </div> ${0} <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.allowed"> </x-i18n> <x-allowed-days data-testid="allowed" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-allowed-days> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.excluded"> </x-i18n> <x-disallowed-dates data-testid="disallowed" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-disallowed-dates> </x-group> </article> </details> </x-group> `),R({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),c,this.ns,this.lang,`ndmod.${"*"===i?"all":"some"}Title`,"*"!==i?this.__renderJSONataSummary(i):"",r||l||o?d(ys||(ys=Cs` <div> ${0} </div> `),E(r&&this.__renderMinMaxSummary(e,t),l&&this.__renderAllowedSummary(s),o&&this.__renderDisallowedSummary(n))):"",this.disabled||!this._isI18nReady,wt((()=>this.dispatchEvent(new ms))),this.ns,this.lang,this.ns,this.lang,i,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{jsonataQuery:e.detail}),this.__sendUpdate()}),this.lang,e,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{min:e.detail}),this.__sendUpdate()}),this.lang,t,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{max:e.detail}),this.__sendUpdate()}),-1===this.__compareDurations(e,t)?d(fs||(fs=Cs` <x-warning class="mx-m" data-testid="warning"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.minWarning"> </x-i18n> </x-warning> `),this.ns,this.lang):"",this.ns,this.lang,this.lang,s,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{allowedDays:e.detail}),this.__sendUpdate()}),this.ns,this.lang,this.ns,this.lang,null!=n?n:[],this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{disallowedDates:e.detail}),this.__sendUpdate()}))}__sendUpdate(){this.dispatchEvent(new vs(this.value))}__getEstimatedDaysFrom(e){const{count:t,units:s}=I(e);return t*{y:365,m:31,w:7,d:1}[s]}__compareDurations(e,t){return e===t?0:e&&t?this.__getEstimatedDaysFrom(e)<this.__getEstimatedDaysFrom(t)?1:-1:1}__renderJSONataSummary(e){return d(bs||(bs=Cs` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__renderMinMaxContent(e){if(e){const{count:t,units:s}=e;return d($s||($s=Cs` ${0} <x-i18n .ns="${0}" .lang="${0}" key="${0}" .opts="${0}"></x-i18n> `),t,this.ns,this.lang,s,{count:t})}return d(ws||(ws=Cs`<x-i18n .ns="${0}" .lang="${0}" key="ndmod.any"></x-i18n>`),this.ns,this.lang)}__renderMinMaxSummary(e,t){return d(ks||(ks=Cs` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.range"> <span>:</span> <span class="text-secondary"> ${0} &mdash; ${0} </span> </x-i18n> </div> `),this.ns,this.lang,this.__renderMinMaxContent(e?I(e):void 0),this.__renderMinMaxContent(t?I(t):void 0))}__renderAllowedSummary({type:e,days:t}){return d(js||(js=Cs` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.allowed"> <span>:</span> <span class="text-secondary"> ${0} ${0} </span> </x-i18n> </div> `),this.ns,this.lang,"month"===e?t.join(", "):"","day"===e?t.map((e=>C(e,this.lang,"short"))).join(", "):"")}__renderDisallowedSummary(e){return d(Es||(Es=Cs` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.excluded"> <span>:</span> <span class="text-secondary"> ${0} </span> </x-i18n> </div> `),this.ns,this.lang,e.map((e=>Xt(e,this.lang))).join("; "))}}class Is extends CustomEvent{constructor(e){super("change",{detail:e})}}let Rs,Vs,Ms,As=e=>e;class Os extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-next-date-modification-rule":Ss,"vaadin-button":customElements.get("vaadin-button"),"x-section":ot,"iron-icon":customElements.get("iron-icon"),"x-switch":ht,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){const e=!this._isI18nReady||this.disabled||!this.value||Array.isArray(this.value)&&this.value.length>=10;return d(Rs||(Rs=As` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="ndmod.add_hint" class="${0}"> </x-i18n> </div> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang,this.value?d(Vs||(Vs=As` ${0} `),this.__normalizedValue.map(((e,t,s)=>d(Ms||(Ms=As` <x-next-date-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" @remove="${0}" @change="${0}"> </x-next-date-modification-rule> `),this.disabled||!this._isI18nReady,e,this.lang,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()}))))):"",e,this.__addRule,this.ns,this.lang,this.lang,this.ns,R({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":Array.isArray(this.value)&&this.value.length<10,"text-primary":Array.isArray(this.value)&&this.value.length>=10,hidden:!Array.isArray(this.value)||0===this.value.length}))}get __normalizedValue(){return"boolean"==typeof this.value?[]:this.value}__addRule(){this.value=[...this.__normalizedValue,{jsonataQuery:"*"}],this.__sendChange()}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Is(this.value))}}class qs extends Je{}let Ns,Ds,Ts,Fs=e=>e;class Us extends _{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__errorCode="invalid",this.__invalid=!1,this.__newValue=""}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"x-skeleton":w,"iron-icon":customElements.get("iron-icon"),"x-group":te,"x-list":Ye,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},invalid:{type:Boolean},disabled:{type:Boolean}})}render(){return d(Ns||(Ns=Fs` <x-group frame> <x-list data-testid="list" .disabled="${0}" .value="${0}" @change="${0}"> ${0} <div class="flex flex-col sm-flex-row sm-items-start"> <vaadin-text-field data-testid="input" class="mb-s sm-mb-0 sm-mr-s" .placeholder="${0}" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keypress="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> <div class="sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="origins.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="origins.add_hint" class="${0}"> </x-i18n> </div> </div> </x-list> </x-group> `),this.disabled||!this._isI18nReady,this.value,this.__handleChange,this.value.map(((e,t)=>this._isI18nReady?d(Ds||(Ds=Fs` <div class="flex items-center" slot="${0}"> <img height="16" width="16" class="mr-m" src="https://www.google.com/s2/favicons?domain=${0}"> ${0} </div> `),t,e,e):d(Ts||(Ts=Fs`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._isI18nReady?"https://foxy.io":"",this._t(`origins.${this.__errorCode}`).toString(),this.disabled||!this._isI18nReady,this.__invalid,this.__newValue,(e=>"Enter"===e.key&&this.__submit()),(e=>e.stopPropagation()),this.__handleInput,!this._isI18nReady||this.disabled||this.__invalid||this.value.length>=10,this.__submit,this.ns,this.lang,this.lang,this.ns,R({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__sendChange(){this.dispatchEvent(new qs(this.value))}__handleInput(e){this.__newValue=e.target.value;try{const e=new URL(this.__newValue),t="https:"===e.protocol,s="localhost"===e.hostname;this.__invalid=!s&&!t,this.__errorCode="https_only"}catch(e){this.__invalid=this.__newValue.length>0,this.__errorCode="invalid"}this.requestUpdate()}__submit(){this.__newValue.length>0&&(this.value=[...this.value,new URL(this.__newValue).origin],this.__newValue="",this.__invalid=!1,this.__sendChange()),this.requestUpdate()}__handleChange(e){this.value=e.detail,this.__sendChange()}}class Ls extends CustomEvent{constructor(e){super("change",{detail:e})}}let Bs,Ps=e=>e;class zs extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-section":ot,"x-switch":ht,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){return d(Bs||(Bs=Ps` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="sso.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="sso.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang)}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Ls(this.value))}}const Qs=y.assign({error:(e,t)=>t.data.type}),Js=y.assign({oldResource:(e,t)=>t.data.resource,newResource:(e,t)=>t.data.resource,store:(e,t)=>t.data.store}),Ws=y.assign({oldResource:e=>e.newResource}),Hs=y.assign({invalid:[],newResource:({oldResource:e})=>e}),Gs=y.assign({invalid:[],newResource:e=>({allowedOrigins:[],subscriptions:{allowFrequencyModification:[],allowNextDateModification:!1},jwtSharedSecret:Qe(72,(()=>Pe(35).toString(36))).join(""),sessionLifespanInMinutes:40320,sso:!1,date_created:(new Date).toISOString(),date_modified:(new Date).toISOString(),_links:{"fx:store":e.store._links.self,curies:e.store._links.curies,self:e.store._links["fx:customer_portal_settings"]}})}),Ys=y.assign({newResource:null}),Xs=y.assign({error:"setup_needed"}),Ks=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{allowedOrigins:s})}}),Zs=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{subscriptions:a(a({},e.subscriptions),{},{allowFrequencyModification:s})})}}),ei=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{subscriptions:a(a({},e.subscriptions),{},{allowNextDateModification:s})})}}),ti=y.assign({invalid:(e,t)=>{const s="sessionLifespanInMinutes",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{sessionLifespanInMinutes:s})}}),si=y.assign({invalid:(e,t)=>{const s="jwtSharedSecret",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{jwtSharedSecret:s})}}),ii=y.assign({oldResource:null,newResource:null,store:null,error:null,href:(e,t)=>t.data}),ai=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{sso:s})}}),ni={SET_SSO:{target:"#cps.idle",actions:"setSSO"},SET_SECRET:{target:"#cps.idle",actions:"setSecret"},SET_ORIGINS:{target:"#cps.idle",actions:"setOrigins"},SET_SESSION:{target:"#cps.idle",actions:"setSession"},SET_FREQUENCY_MODIFICATION:{target:"#cps.idle",actions:"setFrequencyModification"},SET_NEXT_DATE_MODIFICATION:{target:"#cps.idle",actions:"setNextDateModification"}},ri={initial:"unknown",states:{unknown:{always:[{target:"invalid",cond:"isInvalid"},{target:"valid"}]},invalid:{},valid:{}}},li=Z({id:"cps",initial:"unknown",context:{oldResource:null,newResource:null,invalid:[],store:null,error:null,href:null},states:{unknown:{always:[{target:"error",cond:"isSetupNeeded",actions:"requireSetup"},{target:"idle",cond:"isLoaded"},{target:"busy"}]},error:{on:{RELOAD:{target:"busy.loading"}}},busy:{initial:"loading",states:{loading:{invoke:{src:"load",onDone:{target:"#cps.idle.clean",actions:"handleLoadingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}},saving:{invoke:{src:"save",onDone:{target:"#cps.idle.clean",actions:"handleSavingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}}}},idle:{initial:"unknown",on:{DISABLE:{target:"#cps.idle",actions:"remove"},ENABLE:{target:"#cps.idle",actions:"create"},RESET:{target:"#cps.idle",actions:"reset"}},states:{unknown:{always:[{target:"clean",cond:"isClean"},{target:"dirty"}]},clean:{initial:"unknown",states:{unknown:{always:[{target:"enabled",cond:"isEnabled"},{target:"disabled"}]},enabled:{on:ni},disabled:{}}},dirty:{on:{SAVE:"#cps.busy.saving"},initial:"unknown",states:{unknown:{always:[{target:"created",cond:"isCreated"},{target:"deleted",cond:"isDeleted"},{target:"updated"}]},created:a({on:ni},ri),updated:a({on:ni},ri),deleted:{}}}}}},on:{SET_HREF:{actions:"setHref",target:"unknown"}}},{guards:{isClean:e=>ee(e.newResource,e.oldResource),isLoaded:e=>null!==e.store,isInvalid:e=>e.invalid.length>0,isEnabled:e=>null!==e.oldResource,isCreated:e=>null===e.oldResource&&null!==e.newResource,isDeleted:e=>null!==e.oldResource&&null===e.newResource,isSetupNeeded:e=>null===e.href},actions:{setFrequencyModification:Zs,setNextDateModification:ei,setOrigins:Ks,setSession:ti,setSecret:si,setHref:ii,setSSO:ai,handleLoadingSuccess:Js,handleSavingSuccess:Ws,handleError:Qs,create:Gs,reset:Hs,remove:Ys,requireSetup:Xs}});let oi,di,ci,ui,hi=e=>e;function _i(e){if(!e.ok)throw new l(401===e.status?"unauthorized":"unknown")}class pi extends CustomEvent{constructor(){super("ready")}}class gi extends CustomEvent{constructor(){super("update")}}class vi extends _{constructor(){super("customer-portal-settings"),this.rel="customer_portal_settings",this.__machine=li.withConfig({services:{load:()=>this.__load(),save:()=>this.__save()}}),this.__service=re(this.__machine).onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-modification":Yt,"x-next-date-modification":Os,"x-session-duration":xt,"x-session-secret":$t,"x-loading-screen":et,"x-error-screen":r,"x-origins-list":Us,"x-sso-switch":zs,"x-skeleton":w,"x-section":ot,"x-switch":ht,"x-i18n":b,"x-page":at}}static get properties(){return a(a({},super.properties),{},{href:{type:String,noAccessor:!0}})}get href(){return this.__service.state.context.href}set href(e){this.__service.send({type:"SET_HREF",data:e})}render(){var e,t,s,i,n,r;if(this.__service.state.matches("error"))return d(oi||(oi=hi` <x-error-screen data-testid="error" lang="${0}" type="${0}" reload @reload="${0}"> </x-error-screen> `),this.lang,this.__service.state.context.error,this.__reload);const{newResource:l}=this.__service.state.context,o=this.__service.state.matches("idle.dirty.created"),c=this.__service.state.matches("idle.dirty.deleted"),u=this.__service.state.matches("idle.dirty.updated"),h=this.__service.state.matches("idle.clean.enabled"),_=this.__service.state.matches("idle.dirty.updated.invalid")||this.__service.state.matches("idle.dirty.created.invalid");return d(di||(di=hi` <x-page class="relative"> <x-switch slot="title" data-testid="switch" .disabled="${0}" .checked="${0}" @change="${0}"> <x-i18n key="title" class="text-xxl" .ns="${0}" .lang="${0}"> <sup class="text-tertiary"> <x-i18n key="beta" .ns="${0}" .lang="${0}"> </x-i18n> </sup> </x-i18n> </x-switch> <x-i18n class="block mr-xl" slot="subtitle" key="subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-section> <x-i18n slot="title" key="origins.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="origins.subtitle" .ns="${0}" .lang="${0}"></x-i18n> <x-origins-list data-testid="origins" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-origins-list> </x-section> <x-frequency-modification data-testid="fmod" .lang="${0}" .ns="${0}" .value="${0}" ?disabled="${0}" @change="${0}"> </x-frequency-modification> <x-next-date-modification data-testid="ndmod" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-next-date-modification> <x-sso-switch data-testid="sso" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-sso-switch> <x-section> <x-i18n slot="title" key="advanced.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="advanced.subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-session-duration data-testid="session" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-duration> <x-session-secret data-testid="secret" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-secret> </x-section> ${0} </x-page> `),!this.__service.state.matches("idle")||!this._isI18nReady,h||o||u,(e=>{this.__service.send(e.detail?"ENABLE":"DISABLE")}),this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.lang,this.ns,null!==(e=null==l?void 0:l.allowedOrigins)&&void 0!==e?e:[],!l,(e=>{this.__service.send({type:"SET_ORIGINS",value:e.detail})}),this.lang,this.ns,null!==(t=null==l?void 0:l.subscriptions.allowFrequencyModification)&&void 0!==t?t:[],!l,(e=>{this.__service.send({type:"SET_FREQUENCY_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(s=null==l?void 0:l.subscriptions.allowNextDateModification)&&void 0!==s&&s,!l,(e=>{this.__service.send({type:"SET_NEXT_DATE_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(i=null==l?void 0:l.sso)&&void 0!==i&&i,!l,(e=>{this.__service.send({type:"SET_SSO",value:e.detail})}),this.ns,this.lang,this.ns,this.lang,!l||!this._isI18nReady,null!==(n=null==l?void 0:l.sessionLifespanInMinutes)&&void 0!==n?n:1,this.lang,this.ns,(({detail:e})=>{this.__service.send(a({type:"SET_SESSION"},e))}),!l||!this._isI18nReady,null!==(r=null==l?void 0:l.jwtSharedSecret)&&void 0!==r?r:"",this.lang,this.ns,(({detail:e})=>{this.__service.send(a({type:"SET_SECRET"},e))}),this.__service.state.matches("idle.dirty")?d(ci||(ci=hi` <div class="sticky flex justify-between rounded-t-l rounded-b-l shadow-m -mx-s p-s bg-contrast" style="bottom:var(--lumo-space-m)"> <vaadin-button data-testid="save" theme="primary ${0}" .disabled="${0}" @click="${0}"> <x-i18n lang="${0}" ns="${0}" key="save_${0}"> </x-i18n> </vaadin-button> <vaadin-button style="--lumo-contrast:var(--lumo-base-color)" data-testid="reset" theme="contrast tertiary" @click="${0}"> <x-i18n lang="${0}" key="undo_all"></x-i18n> <iron-icon icon="lumo:reload" slot="suffix"></iron-icon> </vaadin-button> </div> `),c?"error":"success",_,(()=>this.__service.send("SAVE")),this.lang,this.ns,o?"create":c?"delete":"update",(()=>this.__service.send("RESET")),this.lang):this.__service.state.matches("busy")?d(ui||(ui=hi`<x-loading-screen data-testid="loading" class="mt-0"></x-loading-screen>`)):"")}async __reload(){this.__service.stop(),this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}async __load(){if(null===this.href)throw new l("setup_needed");try{await this.updateComplete;const e=await pt.emit({source:this,init:[this.href]});let t,s;if(e.status.toString().startsWith("4")){t=null;const e=await pt.emit({source:this,init:["/"]});_i(e);const i=(await e.json())._links["fx:store"].href,a=await pt.emit({source:this,init:[i]});_i(a),s=await a.json()}else{_i(e),t=await e.json();const i=t._links["fx:store"].href,a=await pt.emit({source:this,init:[i]});_i(a),s=await a.json()}return{store:s,resource:t}}catch(e){if(e instanceof l)throw e;if(e instanceof _t)throw new l("setup_needed");throw new l("unknown")}finally{await this.updateComplete,this.dispatchEvent(new pi)}}async __save(){try{const e=this.__service.state.context,t=De(e.newResource,5),s=t?"PUT":"DELETE";t&&(delete t._links,delete t.date_created,delete t.date_modified);const i={method:s,body:t?JSON.stringify(t):void 0};_i(await pt.emit({source:this,init:[this.href,i]}))}catch(e){if(e instanceof l)throw e;if(e instanceof _t)throw new l("setup_needed");throw new l("unknown")}finally{await this.updateComplete,this.dispatchEvent(new gi)}}}customElements.define("foxy-customer-portal-settings",vi);export{vi as CustomerPortalSettings};
1
+ import{e,r as t,S as s,h as i,_ as a}from"./shared-fadcb2e1.js";import"./shared-fd001fd3.js";import{B as n}from"./shared-d539ee69.js";import{E as r,F as l}from"./shared-6bcd6831.js";import"./shared-8936b109.js";import"./shared-dbdc2a38.js";import{L as o,h as d,c}from"./shared-dc73b9a5.js";import{A as u,w as h,y as _,x as p}from"./shared-33b47806.js";import{a as g,D as v,b as m,C as x,c as y}from"./shared-97654b20.js";import"./shared-354e0ed8.js";import{a as f,I as b,D as $,S as w,M as k,W as j,c as E,t as C}from"./shared-80ca2f70.js";import"./shared-12f8034b.js";import"./shared-32b15545.js";import{I as S}from"./shared-a64ead08.js";import"./shared-c5a638d1.js";import{p as I}from"./shared-c73ca2c5.js";import{c as R}from"./shared-4e709717.js";import"./shared-4fc53390.js";import{P as V}from"./shared-40689cd2.js";import{a9 as M,aa as A,ab as O,ac as q,ad as N,ae as D,af as T,ag as F,ah as U,ai as L,aj as B,ak as P,al as z,am as Q,an as J,ao as W,ap as H,aq as G,ar as Y,as as X,at as K,au as Z,av as ee}from"./shared-92327224.js";import{G as te}from"./shared-48ef8a04.js";import{j as se}from"./shared-1bbd9b73.js";import{p as ie,W as ae}from"./shared-7ed7818e.js";import{D as ne}from"./shared-1eb23210.js";import{i as re}from"./shared-7c8bb60c.js";import"./shared-c13674cb.js";import"./shared-2b077e01.js";import"./shared-99940888.js";import"./shared-45feee83.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";function le(e){return e?Infinity===(e=u(e))||-Infinity===e?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function oe(e){return e}var de=Object.create,ce=function(){function t(){}return function(s){if(!e(s))return{};if(de)return de(s);t.prototype=s;var i=new t;return t.prototype=void 0,i}}();var ue=function(){try{var e=M(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();function he(e,t,s){"__proto__"==t&&ue?ue(e,t,{configurable:!0,enumerable:!0,value:s,writable:!0}):e[t]=s}var _e=Object.prototype.hasOwnProperty;function pe(e,t,s){var i=e[t];_e.call(e,t)&&A(i,s)&&(void 0!==s||t in e)||he(e,t,s)}function ge(e,t,s,i){var a=!s;s||(s={});for(var n=-1,r=t.length;++n<r;){var l=t[n],o=i?i(s[l],e[l],l,s,e):void 0;void 0===o&&(o=e[l]),a?he(s,l,o):pe(s,l,o)}return s}var ve=Object.prototype.hasOwnProperty;function me(t){if(!e(t))return function(e){var t=[];if(null!=e)for(var s in Object(e))t.push(s);return t}(t);var s=N(t),i=[];for(var a in t)("constructor"!=a||!s&&ve.call(t,a))&&i.push(a);return i}function xe(e){return O(e)?D(e,!0):me(e)}var ye=T(Object.getPrototypeOf,Object);var fe="object"==typeof exports&&exports&&!exports.nodeType&&exports,be=fe&&"object"==typeof module&&module&&!module.nodeType&&module,$e=be&&be.exports===fe?t.Buffer:void 0,we=$e?$e.allocUnsafe:void 0;var ke=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)B(t,U(e)),e=ye(e);return t}:L;function je(e){return P(e,xe,ke)}var Ee=Object.prototype.hasOwnProperty;function Ce(e){var t=new e.constructor(e.byteLength);return new z(t).set(new z(e)),t}var Se=/\w*$/;var Ie=s?s.prototype:void 0,Re=Ie?Ie.valueOf:void 0;function Ve(e,t,s){var i,a,n,r=e.constructor;switch(t){case"[object ArrayBuffer]":return Ce(e);case"[object Boolean]":case"[object Date]":return new r(+e);case"[object DataView]":return function(e,t){var s=t?Ce(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.byteLength)}(e,s);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(e,t){var s=t?Ce(e.buffer):e.buffer;return new e.constructor(s,e.byteOffset,e.length)}(e,s);case"[object Map]":case"[object Set]":return new r;case"[object Number]":case"[object String]":return new r(e);case"[object RegExp]":return(n=new(a=e).constructor(a.source,Se.exec(a))).lastIndex=a.lastIndex,n;case"[object Symbol]":return i=e,Re?Object(Re.call(i)):{}}}var Me=J&&J.isMap,Ae=Me?W(Me):function(e){return i(e)&&"[object Map]"==Q(e)};var Oe=J&&J.isSet,qe=Oe?W(Oe):function(e){return i(e)&&"[object Set]"==Q(e)},Ne={};function De(t,s,i,a,n,r){var l,o=1&s,d=2&s,c=4&s;if(i&&(l=n?i(t,a,n,r):i(t)),void 0!==l)return l;if(!e(t))return t;var u=H(t);if(u){if(l=function(e){var t=e.length,s=new e.constructor(t);return t&&"string"==typeof e[0]&&Ee.call(e,"index")&&(s.index=e.index,s.input=e.input),s}(t),!o)return function(e,t){var s=-1,i=e.length;for(t||(t=Array(i));++s<i;)t[s]=e[s];return t}(t,l)}else{var h=Q(t),_="[object Function]"==h||"[object GeneratorFunction]"==h;if(G(t))return function(e,t){if(t)return e.slice();var s=e.length,i=we?we(s):new e.constructor(s);return e.copy(i),i}(t,o);if("[object Object]"==h||"[object Arguments]"==h||_&&!n){if(l=d||_?{}:function(e){return"function"!=typeof e.constructor||N(e)?{}:ce(ye(e))}(t),!o)return d?function(e,t){return ge(e,ke(e),t)}(t,function(e,t){return e&&ge(t,xe(t),e)}(l,t)):function(e,t){return ge(e,U(e),t)}(t,function(e,t){return e&&ge(t,F(t),e)}(l,t))}else{if(!Ne[h])return n?t:{};l=Ve(t,h,o)}}r||(r=new Y);var p=r.get(t);if(p)return p;r.set(t,l),qe(t)?t.forEach((function(e){l.add(De(e,s,i,e,t,r))})):Ae(t)&&t.forEach((function(e,a){l.set(a,De(e,s,i,a,t,r))}));var g=u?void 0:(c?d?je:X:d?xe:F)(t);return function(e,t){for(var s=-1,i=null==e?0:e.length;++s<i&&!1!==t(e[s],s,e););}(g||t,(function(e,a){g&&(e=t[a=e]),pe(l,a,De(e,s,i,a,t,r))})),l}Ne["[object Arguments]"]=Ne["[object Array]"]=Ne["[object ArrayBuffer]"]=Ne["[object DataView]"]=Ne["[object Boolean]"]=Ne["[object Date]"]=Ne["[object Float32Array]"]=Ne["[object Float64Array]"]=Ne["[object Int8Array]"]=Ne["[object Int16Array]"]=Ne["[object Int32Array]"]=Ne["[object Map]"]=Ne["[object Number]"]=Ne["[object Object]"]=Ne["[object RegExp]"]=Ne["[object Set]"]=Ne["[object String]"]=Ne["[object Symbol]"]=Ne["[object Uint8Array]"]=Ne["[object Uint8ClampedArray]"]=Ne["[object Uint16Array]"]=Ne["[object Uint32Array]"]=!0,Ne["[object Error]"]=Ne["[object Function]"]=Ne["[object WeakMap]"]=!1;var Te=Math.floor,Fe=Math.random;var Ue=parseFloat,Le=Math.min,Be=Math.random;function Pe(t,s,i){if(i&&"boolean"!=typeof i&&function(t,s,i){if(!e(i))return!1;var a=typeof s;return!!("number"==a?O(i)&&q(s,i.length):"string"==a&&s in i)&&A(i[s],t)}(t,s,i)&&(s=i=void 0),void 0===i&&("boolean"==typeof s?(i=s,s=void 0):"boolean"==typeof t&&(i=t,t=void 0)),void 0===t&&void 0===s?(t=0,s=1):(t=le(t),void 0===s?(s=t,t=0):s=le(s)),t>s){var a=t;t=s,s=a}if(i||t%1||s%1){var n=Be();return Le(t+n*(s-t+Ue("1e-"+((n+"").length-1))),s)}return function(e,t){return e+Te(Fe()*(t-e+1))}(t,s)}var ze=Math.min;function Qe(e,t){if(e=function(e){var t=le(e),s=t%1;return t==t?s?t-s:t:0}(e),e<1||e>9007199254740991)return[];var s,i=4294967295,a=ze(e,4294967295);e-=4294967295;for(var n=K(a,t="function"==typeof(s=t)?s:oe);++i<e;)t(i);return n}class Je extends CustomEvent{constructor(e){super("change",{detail:e})}}let We,He,Ge=e=>e;class Ye extends o{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.getText=e=>e}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean},getText:{type:Object}})}static get styles(){return h.styles}render(){return d(We||(We=Ge` <div class="font-lumo text-m w-full"> <ul> ${0} </ul> <div class="p-m"> <slot></slot> </div> </div> `),this.value.map(((e,t)=>d(He||(He=Ge` <li class="${0}"> <slot name="${0}">${0}</slot> <button ?disabled="${0}" class="w-l h-l rounded text-tertiary transition duration-150 hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </li> `),"ml-m h-l text-body flex justify-between items-center"+(t>0?" border-t border-contrast-10":""),t,this.getText(e),this.disabled,(()=>this.__remove(t))))))}__remove(e){this.value=this.value.filter(((t,s)=>s!==e)),this.dispatchEvent(new Je(this.value))}}let Xe,Ke,Ze=e=>e;class et extends o{static get styles(){return[h.styles,c(Xe||(Xe=Ze`:host{position:absolute;top:0;right:0;bottom:0;left:0}.top-center{top:calc(50% - (var(--lumo-size-xl)/ 2))}@keyframes dash0{from{transform:translate(0,0)}to{transform:translate(5.681301px,3.368302px)}}@keyframes dash1{from{transform:translate(0,0)}to{transform:translate(5.677051px,3.457428px)}}@keyframes dash2{from{transform:translate(0,0)}to{transform:translate(5.686002px,3.127455px)}}@keyframes dash3{from{transform:translate(-5.6842px,-3.404556px)}to{transform:translate(0,0)}}`))]}render(){return d(Ke||(Ke=Ze` <div class="h-full bg-base text-primary"> <svg xmlns="http://www.w3.org/2000/svg" class="fill-current w-xl h-xl mx-auto sticky top-center" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" viewBox="0 0 64 64"> <path id="ew5fy7afo2w2" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.93 49.46c0 .18-.2.3-.36.2l-1.78-1.07-22.73-13.76a1.5 1.5 0 01-.7-1.3V11.08c0-.18.2-.3.36-.2l1.75 1.04c.44.25.74.75.74 1.32v19.27c0 .08.05.16.12.2L41.22 46c.47.28.73.8.72 1.32v2.15z" clip-rule="evenodd"/> <path id="ew5fy7afo2w3" fill-rule="evenodd" stroke="none" stroke-width="1" d="M47.64 52.9c0 .2-.2.3-.36.21l-1.8-1.08c-.42-.26-.7-.74-.7-1.3v-19.3a.24.24 0 00-.12-.2L25.27 19.47a.24.24 0 00-.37.21v12.55c0 .19-.21.3-.37.2l-1.76-1.06a1.46 1.46 0 01-.71-1.28V16.7c0-.54.27-1.03.71-1.3.45-.27 1-.26 1.44 0l22.72 13.77c.44.26.7.76.7 1.3v20.27l.01 2.17z" clip-rule="evenodd"/> <g style="animation:dash0 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w4" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> <g style="animation:dash1 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w5" fill-rule="evenodd" stroke="none" stroke-width="1" d="M36.28 39.13c0 .2-.2.3-.37.21l-1.79-1.1c-.41-.25-.69-.73-.69-1.28v-6.51-2.16c0-.2.2-.31.37-.21l1.76 1.06c.44.26.73.75.73 1.3v8.69z" clip-rule="evenodd"/> </g> <g style="animation:dash2 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w6" fill-rule="evenodd" stroke="none" stroke-width="1" d="M41.96 42.57c0 .2-.2.3-.37.21L39.8 41.7a1.52 1.52 0 01-.71-1.3v-6.51-2.17c0-.2.2-.31.37-.21l1.74 1.06c.45.25.75.75.75 1.32v8.68z" clip-rule="evenodd"/> </g> <g transform="translate(-5.68 -3.4)" style="animation:dash3 .3s linear infinite normal forwards"> <path id="ew5fy7afo2w7" fill-rule="evenodd" stroke="none" stroke-width="1" d="M30.59 35.68c0 .2-.21.3-.37.21l-1.8-1.1c-.41-.27-.68-.74-.68-1.28V27v-2.15c0-.2.2-.3.37-.21l1.78 1.06c.42.26.7.74.7 1.3v8.68z" clip-rule="evenodd"/> </g> </svg> </div> `))}}let tt,st,it=e=>e;class at extends o{static get styles(){return[h.styles,c(tt||(tt=it`::slotted(:not([slot])){margin-top:var(--lumo-space-xl)}`))]}render(){return d(st||(st=it` <article class="relative antialiased font-lumo"> <header class="space-y-xs leading-s"> <h1 class="font-bold text-header text-xl border-b border-contrast-10 pb-s mb-s"> <slot name="title"></slot> </h1> <p class="text-l text-secondary"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </article> `))}}let nt,rt,lt=e=>e;class ot extends at{static get styles(){return[super.styles,c(nt||(nt=lt`::slotted(:not([slot])){margin-top:var(--lumo-space-m)}`))]}render(){return d(rt||(rt=lt` <section class="leading-s antialiased font-lumo"> <header> <h2 class="text-header font-semibold text-l"> <slot name="title"></slot> </h2> <p class="text-secondary text-m"> <slot name="subtitle"></slot> </p> </header> <slot></slot> </section> `))}}let dt,ct=e=>e;class ut extends CustomEvent{constructor(e){super("change",{detail:e})}}class ht extends o{constructor(){super(...arguments),this.disabled=!1,this.checked=!1}static get properties(){return a(a({},super.properties),{},{disabled:{attribute:!1},checked:{attribute:!1}})}static get styles(){return h.styles}render(){return d(dt||(dt=ct` <label class="${0}"> <span class="text-body text-m mr-m"> <slot></slot> </span> <span style="border-radius:var(--lumo-size-xl);width:calc((var(--lumo-space-l) * 2) + (var(--lumo-space-xs) * 2))" class="${0}"> <span style="width:var(--lumo-space-l);height:var(--lumo-space-l)" class="${0}"></span> <input type="checkbox" class="opacity-0 absolute inset-0" .checked="${0}" .disabled="${0}" @change="${0}"> </span> </label> `),R({"transition duration-200 flex justify-between items-center group":!0,"cursor-pointer":!this.disabled}),R({"transition duration-150 relative flex flex-shrink-0 items-center":!0,"bg-success focus-within-shadow-outline-success":!this.disabled&&this.checked,"bg-contrast-10 focus-within-shadow-outline":this.disabled||!this.checked,"bg-contrast-20":!this.disabled&&!this.checked}),R({"bg-tint transition duration-200 transform block rounded-full m-xs":!0,"translate-x-l":this.checked,"translate-x-0":!this.checked,"shadow-xs group-hover-shadow-s group-hover-scale-110":!this.disabled}),this.checked,this.disabled,(()=>{this.checked=!this.checked,this.dispatchEvent(new ut(this.checked))}))}}class _t extends Error{constructor(){super("Unhandled request detected. Please add a request handler to connect this component to a backend.")}}class pt extends CustomEvent{static emit(e){return new Promise(((t,s)=>{const i=new pt(a({resolve:t,reject:s},e));e.source.dispatchEvent(i)&&s(new _t)}))}constructor({source:e,resolve:t,reject:s,init:i}){var a;super("request",{cancelable:!0,composed:!0,bubbles:!0,detail:{source:e,handle:async function(e){a.stopImmediatePropagation(),a.preventDefault();try{t(await e(...i))}catch(e){s(e)}}}}),a=this}}let gt,vt=e=>e;class mt extends CustomEvent{constructor(e){super("change",{detail:e})}}class xt extends _{constructor(){super(...arguments),this.disabled=!1,this.value=1,this.__errorMessage=null,this.__customFieldI18n={formatValue:e=>{const t=parseInt(e[0]);if(isNaN(t))return"0";const s=e[1];return"w"===s?(10080*t).toFixed(0):"d"===s?(1440*t).toFixed(0):"h"===s?(60*t).toFixed(0):t.toFixed(0)},parseValue:e=>{const t=parseInt(e);return t%10080==0?[(t/10080).toFixed(0),"w"]:t%1440==0?[(t/1440).toFixed(0),"d"]:t%60==0?[(t/60).toFixed(0),"h"]:[t.toFixed(0),"m"]}},this.__renderer=this.__renderItems.bind(this)}static get scopedElements(){return{"vaadin-integer-field":S,"vaadin-custom-field":g,"vaadin-select":f,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){var e;return d(gt||(gt=vt` <div class="text-xs text-tertiary font-lumo"> <vaadin-custom-field ?disabled="${0}" .label="${0}" .value="${0}" .i18n="${0}" data-testid="field" id="field" @change="${0}"> <vaadin-integer-field .disabled="${0}" .min="${0}" data-testid="count" has-controls> </vaadin-integer-field> <vaadin-select .disabled="${0}" .renderer="${0}" data-testid="units"> </vaadin-select> </vaadin-custom-field> <br> <x-i18n .lang="${0}" .ns="${0}" .key="${0}" data-testid="error" class="${0}"> </x-i18n> </div> `),this.disabled||!this._isI18nReady,this._isI18nReady?this._t("session.title").toString():"---",this._isI18nReady?this.value.toString():"",this.__customFieldI18n,this.__handleChange,this.disabled||!this._isI18nReady,1,this.disabled||!this._isI18nReady,this._isI18nReady?this.__renderer:null,this.lang,this.ns,this._t(`session.${null!==(e=this.__errorMessage)&&void 0!==e?e:"subtitle"}`).toString(),R({"text-error":null!==this.__errorMessage&&!this.disabled}))}firstUpdated(){this.shadowRoot.getElementById("field").value=this.value.toString()}updated(e){e.has("value")&&this.__reportValidity()}__renderItems(e){let t=e.querySelector("vaadin-list-box");null===t&&(t=document.createElement("vaadin-list-box"),e.appendChild(t));const s=["m","h","d","w"],i=["minute_plural","hour_plural","d_plural","w_plural"],a=t.querySelectorAll("vaadin-item");for(let e=0;e<Math.max(s.length,a.length);++e)if(s[e]){let n;a[e]?n=a[e]:(n=document.createElement("vaadin-item"),t.appendChild(n)),n.value=s[e],n.textContent=this._t(i[e])}else a[e].remove()}__handleChange(e){e.stopPropagation(),this.value=parseInt(e.target.value),this.dispatchEvent(new mt({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){return this.__errorMessage=this.value<1?"too_short":this.value>40320?"too_long":null,this.requestUpdate(),null===this.__errorMessage}}let yt,ft=e=>e;class bt extends CustomEvent{constructor(e){super("change",{detail:e})}}class $t extends _{constructor(){super(...arguments),this.disabled=!1,this.value="",this.__errorMessage=""}static get scopedElements(){return{"vaadin-password-field":V,"vaadin-button":n,"iron-icon":customElements.get("iron-icon"),"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{attribute:!1},value:{attribute:!1}})}render(){const e=""!==this.__errorMessage&&!this.disabled,t=e?this._t(`jwt.${this.__errorMessage}`).toString():"";return d(yt||(yt=ft` <div class="space-y-xs"> <div class="flex items-start"> <vaadin-password-field .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" .label="${0}" data-testid="input" class="w-full" @change="${0}" @input="${0}"> </vaadin-password-field> <vaadin-button class="flex-shrink-0 ml-s" style="margin-top:calc(var(--lumo-font-size-s) * 1.5)" theme="error" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .lang="${0}" .ns="${0}" key="jwt.refresh"></x-i18n> <iron-icon icon="icons:refresh" slot="suffix"></iron-icon> </vaadin-button> </div> <x-i18n .lang="${0}" .ns="${0}" key="jwt.subtitle" class="text-xs text-tertiary font-lumo"> </x-i18n> </div> `),t,this.disabled||!this._isI18nReady,e,this._isI18nReady?this.value:"",this._isI18nReady?this._t("jwt.title").toString():"---",(e=>e.stopPropagation()),this.__handleInput,this.disabled||!this._isI18nReady,this.__regenerateValue,this.lang,this.ns,this.lang,this.ns)}updated(e){e.has("value")&&this.__reportValidity()}__regenerateValue(){this.__errorMessage="",this.value=Qe(72,(()=>Pe(35).toString(36))).join(""),this.dispatchEvent(new bt({value:this.value,invalid:!1}))}__handleInput(e){this.value=e.target.value,this.dispatchEvent(new bt({value:this.value,invalid:!this.__reportValidity()}))}__reportValidity(){var e;return this.__errorMessage=0===this.value.length?"required":this.value.length<40?"too_short":this.value.length>100?"too_long":(e=this.value,/^[a-z0-9-]+$/i.test(e)?"":"invalid"),this.requestUpdate(),""===this.__errorMessage}}function wt(e){return t=>{t.preventDefault(),e(t)}}class kt extends v{}let jt,Et=e=>e;class Ct extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=Ct.defaultValue,this.__items=["y","m","w","d"]}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-button":customElements.get("vaadin-button"),"x-dropdown":$}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){return d(jt||(jt=Et` <div class="grid grid-cols-2 gap-s"> <vaadin-integer-field data-testid="value" class="w-full" min="1" has-controls .value="${0}" .disabled="${0}" @change="${0}"> </vaadin-integer-field> <x-dropdown data-testid="units" .disabled="${0}" .getText="${0}" .items="${0}" .value="${0}" @change="${0}"> </x-dropdown> </div> `),this._isI18nReady?this.__numericValue:"",this.disabled,this.__handleNumberChange,this.disabled,(e=>this._isI18nReady?this._t(`${e}_plural`):""),this.__items,this._isI18nReady?this.__unitsValue:"",this.__handleUnitsChange)}get __numericValue(){var e;return I(null!==(e=this.value)&&void 0!==e?e:"").count}get __unitsValue(){var e;return I(null!==(e=this.value)&&void 0!==e?e:"").units}__handleNumberChange(e){e.stopPropagation();const t=e.target.value;this.value=this.value.replace(String(this.__numericValue),t),this.__sendChange()}__handleUnitsChange(e){this.value=this.value.replace(String(this.__unitsValue),e.detail),this.__sendChange()}__sendChange(){this.dispatchEvent(new kt(this.value))}}Ct.defaultValue="1w";class St extends Je{}let It,Rt,Vt,Mt,At=e=>e;class Ot extends _{constructor(){super("customer-portal-settings"),this.value=[],this.disabled=!1,this.__newValue=Ct.defaultValue}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-input":Ct,"x-skeleton":w,"x-list":Ye,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.disabled||!this._isI18nReady||this.value.length>=20;return d(It||(It=At` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="w-full md-flex"> <x-frequency-input data-testid="input" class="mb-s md-mb-0 md-mr-s" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <vaadin-button data-testid="button" class="w-full md-w-auto" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?d(Rt||(Rt=At`<span slot="${0}">${0}</span>`),t,this.__getText(e)):d(Vt||(Vt=At`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this.lang,this.__newValue,e,this.__handleNewValueChange,e,this.__handleSubmit,this.ns,this.lang,this.value.length>0?d(Mt||(Mt=At` <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_option_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,R({"block text-xs mt-xs text-center md-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}__handleNewValueChange(e){this.__newValue=e.detail}__handleListChange(e){this.value=e.detail,this.__sendChange()}__handleSubmit(){this.value=[...this.value,this.__newValue],this.__newValue=Ct.defaultValue,this.__sendChange()}__sendChange(){this.dispatchEvent(new St(this.value))}__getText(e){const t=e[e.length-1],s=parseInt(e.replace(t,""));return this._t("duration",{count:s,units:this._t(t,{count:s})})}}class qt extends m{}let Nt,Dt,Tt=e=>e;class Ft extends _{constructor(){super(...arguments),this.disabled=!1,this.value="*",this.__errorMessage="",this.__items=["all","some"],this.__handleNewValueChange=p((e=>{try{se(e).evaluate({}),this.value=e,this.__errorMessage="",this.__sendChange()}catch(e){this.__errorMessage=e.message}this.requestUpdate()}),275)}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"iron-icon":customElements.get("iron-icon"),"x-choice":x,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:String}})}render(){const e="pl-xs text-primary rounded font-medium cursor-pointer transition duration-200 focus-outline-none focus-shadow-outline hover-underline";return d(Nt||(Nt=Tt` <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="all-label" .ns="${0}" .lang="${0}" key="jsonata.all"></x-i18n> <x-i18n slot="some-label" .ns="${0}" .lang="${0}" key="jsonata.some"></x-i18n> ${0} </x-choice> `),this.disabled||!this._isI18nReady,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?d(Dt||(Dt=Tt` <div slot="${0}" class="space-y-s pb-m"> <x-i18n .ns="${0}" .lang="${0}" key="jsonata.hint" class="block font-lumo text-s text-tertiary leading-s"> <a target="_blank" class="${0}" href="https://docs.jsonata.org" rel="noopener noreferrer"> JSONata <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> <a target="_blank" class="${0}" href="https://api.foxycart.com/rels/subscription" rel="noopener noreferrer"> hAPI subscription <iron-icon icon="icons:open-in-new" class="icon-inline"></iron-icon> </a> </x-i18n> <vaadin-text-field class="w-full" data-testid="input" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keydown="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> </div> `),this.__items[1],this.ns,this.lang,e,e,this.__errorMessage,this.disabled||!this._isI18nReady,this.__errorMessage.length>0,this._isI18nReady?this.value:"",this.__stopNavigation,(e=>e.stopPropagation()),(e=>this.__handleNewValueChange(e.target.value))):"")}get __choice(){return this.__items["*"===this.value?0:1]}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?"*":'$contains(frequency, "w")',this.__sendChange()}__stopNavigation(e){e.key.startsWith("Arrow")&&e.stopPropagation()}__sendChange(){this.dispatchEvent(new qt(this.value))}}class Ut extends CustomEvent{constructor(e){super("change",{detail:e})}}class Lt extends CustomEvent{constructor(){super("remove")}}let Bt,Pt,zt=e=>e;class Qt extends _{constructor(){super(...arguments),this.open=!1,this.value={jsonataQuery:"*",values:[]},this.disabled=!1}static get scopedElements(){return{"x-frequency-list":Ot,"x-jsonata-input":Ft,"iron-icon":customElements.get("iron-icon"),"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{open:{attribute:!1},value:{attribute:!1},disabled:{attribute:!1}})}render(){const{jsonataQuery:e,values:t}=this.value,s=this.open?"":"rounded-b-l";return d(Bt||(Bt=zt` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m space-y-xs mr-xl"> <x-i18n .ns="${0}" .lang="${0}" .key="${0}" class="block text-m text-header font-medium"> ${0} </x-i18n> <x-i18n .ns="${0}" .lang="${0}" class="block text-s text-tertiary" key="fmod.valuesLabel"> <x-i18n .ns="${0}" .key="${0}" .lang="${0}" .opts="${0}" class="text-secondary"> </x-i18n> </x-i18n> </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <div class="space-y-l pt-m" slot="content"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.match"></x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="fmod.options"> </x-i18n> <x-frequency-list data-testid="frequency" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-list> </x-group> </div> </details> </x-group> `),R({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),s,this.ns,this.lang,`fmod.${"*"===e?"all":"some"}Title`,"*"!==e?this.__renderJSONataSummary(e):"",this.ns,this.lang,this.ns,"fmod.valuesList"+(0===t.length?"Empty":""),this.lang,{values:t.map((e=>this.__translateFrequency(e)))},this.disabled||!this._isI18nReady,wt((()=>{this.dispatchEvent(new Lt)})),this.ns,this.lang,this.ns,this.lang,this.value.jsonataQuery,this.disabled||!this._isI18nReady,this.__handleQueryChange,this.ns,this.lang,this.lang,this.value.values,this.disabled||!this._isI18nReady,this.__handleValuesChange)}__translateFrequency(e){if(".5m"===e)return this._t("frequency_0_5m");const{count:t,units:s}=I(e);return this._t("frequency",{units:this._t(s,{count:t}),count:t})}__renderJSONataSummary(e){return d(Pt||(Pt=zt` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__handleQueryChange(e){this.value=a(a({},this.value),{},{jsonataQuery:e.detail}),this.__sendChange()}__handleValuesChange(e){this.value=a(a({},this.value),{},{values:e.detail}),this.__sendChange()}__sendChange(){this.dispatchEvent(new Ut(this.value))}}class Jt extends CustomEvent{constructor(e){super("change",{detail:e})}}let Wt,Ht,Gt=e=>e;class Yt extends _{constructor(){super(...arguments),this.value=[],this.disabled=!1}static get scopedElements(){return{"x-frequency-modification-rule":Qt,"vaadin-button":customElements.get("vaadin-button"),"x-section":ot,"iron-icon":customElements.get("iron-icon"),"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const{ns:e,lang:t}=this;return d(Wt||(Wt=Gt` <x-section> <x-i18n .ns="${0}" .lang="${0}" key="fmod.title" slot="title" class="text-l"></x-i18n> <x-i18n .ns="${0}" .lang="${0}" key="fmod.subtitle" slot="subtitle" class="mr-xl"></x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="fmod.add_rule"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="fmod.add_rule_hint" class="${0}"> </x-i18n> </div> </x-section> `),e,t,e,t,this.value.map(((e,t,s)=>d(Ht||(Ht=Gt` <x-frequency-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @remove="${0}" @change="${0}"> </x-frequency-modification-rule> `),this.disabled,e,this.lang,this.ns,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()})))),this.disabled||this.value.length>=10||!this._isI18nReady,this.__addRule,this.ns,this.lang,this.lang,this.ns,R({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__addRule(){this.value=[...this.value,{jsonataQuery:"*",values:[]}],this.__sendChange()}__sendChange(){this.dispatchEvent(new Jt(this.value))}}function Xt(e,t){const s=(new Date).getFullYear(),i={month:"long",day:"numeric"};return e.split("..").map((e=>{const n=ie(e),r=(null==n?void 0:n.getFullYear())===s?void 0:"numeric";return null==n?void 0:n.toLocaleDateString(t,a({year:r},i))})).join(" – ")}class Kt extends CustomEvent{constructor(e){super("change",{detail:e})}}let Zt,es,ts,ss=e=>e;class is extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.__items=["all","month","day"]}static get scopedElements(){return{"x-monthday-picker":k,"x-weekday-picker":j,"x-choice":x,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Object}})}render(){var e,t,s,i;return d(Zt||(Zt=ss` <x-choice data-testid="choice" .value="${0}" .items="${0}" .disabled="${0}" @change="${0}"> <x-i18n slot="all-label" key="ndmod.all" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="month-label" key="ndmod.month" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="day-label" key="ndmod.day" .ns="${0}" .lang="${0}"></x-i18n> ${0} </x-choice> `),null!==(t=null===(e=this.value)||void 0===e?void 0:e.type)&&void 0!==t?t:"all",this.__items,this.disabled,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,"month"===(null===(s=this.value)||void 0===s?void 0:s.type)?d(es||(es=ss` <x-monthday-picker slot="month" class="mb-m" data-testid="monthday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-monthday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"day"===(null===(i=this.value)||void 0===i?void 0:i.type)?d(ts||(ts=ss` <x-weekday-picker slot="day" class="mb-m" data-testid="weekday-picker" .lang="${0}" .disabled="${0}" .value="${0}" @change="${0}"> </x-weekday-picker> `),this.lang,this.disabled||!this._isI18nReady,this.value.days,this.__handleNewValueChange):"")}__handleNewValueChange(e){this.value.days=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:e.detail===this.__items[1]?{type:"month",days:[]}:{type:"day",days:[]},this.__sendChange()}__sendChange(){this.dispatchEvent(new Kt(this.value))}}class as extends Je{}let ns,rs,ls,os,ds=e=>e;class cs extends _{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__startValue="",this.__endValue=""}static get scopedElements(){return{"vaadin-date-picker":ne,"vaadin-button":n,"x-skeleton":w,"iron-icon":customElements.get("iron-icon"),"x-i18n":b,"x-list":Ye}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},disabled:{type:Boolean}})}render(){const e=this.value.length>=20||this.disabled||!this._isI18nReady;return d(ns||(ns=ds` <x-list data-testid="list" .value="${0}" .disabled="${0}" @change="${0}"> ${0} <div class="sm-flex sm-items-end"> <div class="grid grid-cols-2 gap-s"> <vaadin-date-picker data-testid="start" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" @change="${0}"> </vaadin-date-picker> <vaadin-date-picker data-testid="end" .min="${0}" .label="${0}" .value="${0}" .disabled="${0}" .placeholder="${0}" clear-button-visible @change="${0}"> </vaadin-date-picker> </div> <vaadin-button .disabled="${0}" data-testid="submit" class="w-full mt-s sm-mt-0 sm-w-auto sm-ml-s" @click="${0}"> <x-i18n .lang="${0}" .key="ndmod.add_${0}" .ns="${0}"> </x-i18n> <iron-icon icon="icons:add" slot="suffix"></iron-icon> </vaadin-button> </div> ${0} </x-list> `),this.value,this.disabled||!this._isI18nReady,this.__handleListChange,this.value.map(((e,t)=>this._isI18nReady?d(rs||(rs=ds`<span slot="${0}" class="truncate">${0}</span>`),t,Xt(e,this.lang)):d(ls||(ls=ds`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._t("ndmod.range_start").toString(),this.__startValue,e,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleStartValueChange,this.__startValue,this._t("ndmod.range_end").toString(),this.__endValue,e||!this.__startValue,this._isI18nReady?this._t("ndmod.select").toString():"",this.__handleEndValueChange,e||!this.__startValue,this.__submit,this.lang,this.__endValue?"range":"single",this.ns,this.value.length>0?d(os||(os=ds` <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add_range_hint" class="${0}"> </x-i18n> `),this.ns,this.lang,R({"block text-xs mt-xs text-center sm-text-left":!0,"text-tertiary":this.value.length<20,"text-primary":this.value.length>=20})):"")}updated(){const e=this.constructor.getScopedTagName("vaadin-date-picker"),t=this.shadowRoot.querySelectorAll(e);Array.from(t).forEach((e=>e.validate()))}__handleStartValueChange(e){e.stopPropagation(),this.__startValue=e.target.value;const t=ie(this.__endValue),s=ie(this.__startValue);t&&t.getTime()<s.getTime()&&(this.__endValue=""),this.requestUpdate()}__handleEndValueChange(e){e.stopPropagation(),this.__endValue=e.target.value,this.requestUpdate()}__submit(){this.__startValue&&this.__endValue?this.value=[...this.value,[this.__startValue,this.__endValue].join("..")]:this.value=[...this.value,this.__startValue],this.__sendChange(),this.__startValue="",this.__endValue=""}__handleListChange(e){this.value=e.detail,this.__sendChange()}__sendChange(){this.dispatchEvent(new as(this.value))}}class us extends CustomEvent{constructor(e){super("change",{detail:e})}}let hs,_s,ps=e=>e;class gs extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.type="min",this.__items=["none","custom"]}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":Ct,"x-choice":x,"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:String},type:{type:String}})}render(){return d(hs||(hs=ps` <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="${0}"> </x-i18n> <x-choice data-testid="choice" .disabled="${0}" .value="${0}" .items="${0}" @change="${0}"> <x-i18n slot="none-label" .ns="${0}" .lang="${0}" key="ndmod.none"></x-i18n> <x-i18n slot="custom-label" .ns="${0}" .lang="${0}" key="ndmod.custom"></x-i18n> ${0} </x-choice> </x-group> `),this.ns,this.lang,`ndmod.${this.type}`,this.disabled,this.__choice,this.__items,this.__handleChoiceChange,this.ns,this.lang,this.ns,this.lang,this.__choice===this.__items[1]?d(_s||(_s=ps` <div slot="${0}" class="space-y-s"> <x-frequency-input data-testid="input" .value="${0}" .disabled="${0}" @change="${0}"> </x-frequency-input> <p class="text-s text-tertiary leading-s">${0}</p> </div> `),this.__items[1],this.value,this.disabled,this.__handleNewValueChange,this.__hint):"")}get __choice(){return this.__items[this.value?1:0]}get __hint(){var e;if(!this._isI18nReady)return"";const{count:t,units:s}=I(null!==(e=this.value)&&void 0!==e?e:"");return this._t(`ndmod.${this.type}Hint`,{duration:this._t("duration",{count:t,units:this._t(null!=s?s:"",{count:t})})})}__handleNewValueChange(e){this.value=e.detail,this.__sendChange()}__handleChoiceChange(e){this.value=e.detail===this.__items[0]?void 0:"1w",this.__sendChange()}__sendChange(){this.dispatchEvent(new us(this.value))}}class vs extends CustomEvent{constructor(e){super("change",{detail:e})}}class ms extends CustomEvent{constructor(){super("remove")}}let xs,ys,fs,bs,$s,ws,ks,js,Es,Cs=e=>e;class Ss extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value={jsonataQuery:"*"},this.open=!1}static get scopedElements(){return{"x-disallowed-dates":cs,"x-jsonata-input":Ft,"x-offset-input":gs,"x-allowed-days":is,"iron-icon":customElements.get("iron-icon"),"x-warning":ae,"x-group":te,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Object},open:{type:Boolean}})}render(){const{min:e,max:t,allowedDays:s,jsonataQuery:i,disallowedDates:n}=this.value,r=e||t,l=s&&s.days.length>0,o=n&&n.length>0,c=this.open?"":"rounded-b-l";return d(xs||(xs=Cs` <x-group frame> <details data-testid="details" class="${0}" ?open="${0}" @toggle="${0}"> <summary class="${0} cursor-pointer relative leading-s rounded-t-l focus-outline-none focus-shadow-outline"> <div class="p-m mr-xl text-m text-header font-medium space-y-s"> <div> <x-i18n .ns="${0}" .lang="${0}" key="${0}"> ${0} </x-i18n> </div> ${0} </div> <button data-testid="remove" .disabled="${0}" class="flex items-center justify-center rounded absolute top-0 right-0 text-tertiary hover-text-secondary disabled-text-tertiary disabled-opacity-50 disabled-cursor-default focus-outline-none focus-shadow-outline" style="width:54px;height:54px" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> </summary> <article class="space-y-l"> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.match"> </x-i18n> <x-jsonata-input data-testid="jsonata" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-jsonata-input> </x-group> <div class="flex flex-col md-flex-row"> <div class="mb-l md-mb-0 md-w-1-2 md-border-r md-border-contrast-10"> <x-offset-input data-testid="min" type="min" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> <div class="md-w-1-2"> <x-offset-input data-testid="max" type="max" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-offset-input> </div> </div> ${0} <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.allowed"> </x-i18n> <x-allowed-days data-testid="allowed" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-allowed-days> </x-group> <x-group> <x-i18n slot="header" .ns="${0}" .lang="${0}" key="ndmod.excluded"> </x-i18n> <x-disallowed-dates data-testid="disallowed" .ns="${0}" .lang="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-disallowed-dates> </x-group> </article> </details> </x-group> `),R({"font-lumo":!0,"pointer-events-none":!this._isI18nReady}),this.open,(()=>this.open=!this.open),c,this.ns,this.lang,`ndmod.${"*"===i?"all":"some"}Title`,"*"!==i?this.__renderJSONataSummary(i):"",r||l||o?d(ys||(ys=Cs` <div> ${0} </div> `),E(r&&this.__renderMinMaxSummary(e,t),l&&this.__renderAllowedSummary(s),o&&this.__renderDisallowedSummary(n))):"",this.disabled||!this._isI18nReady,wt((()=>this.dispatchEvent(new ms))),this.ns,this.lang,this.ns,this.lang,i,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{jsonataQuery:e.detail}),this.__sendUpdate()}),this.lang,e,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{min:e.detail}),this.__sendUpdate()}),this.lang,t,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{max:e.detail}),this.__sendUpdate()}),-1===this.__compareDurations(e,t)?d(fs||(fs=Cs` <x-warning class="mx-m" data-testid="warning"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.minWarning"> </x-i18n> </x-warning> `),this.ns,this.lang):"",this.ns,this.lang,this.lang,s,this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{allowedDays:e.detail}),this.__sendUpdate()}),this.ns,this.lang,this.ns,this.lang,null!=n?n:[],this.disabled||!this._isI18nReady,(e=>{this.value=a(a({},this.value),{},{disallowedDates:e.detail}),this.__sendUpdate()}))}__sendUpdate(){this.dispatchEvent(new vs(this.value))}__getEstimatedDaysFrom(e){const{count:t,units:s}=I(e);return t*{y:365,m:31,w:7,d:1}[s]}__compareDurations(e,t){return e===t?0:e&&t?this.__getEstimatedDaysFrom(e)<this.__getEstimatedDaysFrom(t)?1:-1:1}__renderJSONataSummary(e){return d(bs||(bs=Cs` <code class="inline-block rounded bg-success-10 text-success px-xs text-xs leading-s"> ${0} </code> `),e)}__renderMinMaxContent(e){if(e){const{count:t,units:s}=e;return d($s||($s=Cs` ${0} <x-i18n .ns="${0}" .lang="${0}" key="${0}" .opts="${0}"></x-i18n> `),t,this.ns,this.lang,s,{count:t})}return d(ws||(ws=Cs`<x-i18n .ns="${0}" .lang="${0}" key="ndmod.any"></x-i18n>`),this.ns,this.lang)}__renderMinMaxSummary(e,t){return d(ks||(ks=Cs` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.range"> <span>:</span> <span class="text-secondary"> ${0} &mdash; ${0} </span> </x-i18n> </div> `),this.ns,this.lang,this.__renderMinMaxContent(e?I(e):void 0),this.__renderMinMaxContent(t?I(t):void 0))}__renderAllowedSummary({type:e,days:t}){return d(js||(js=Cs` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.allowed"> <span>:</span> <span class="text-secondary"> ${0} ${0} </span> </x-i18n> </div> `),this.ns,this.lang,"month"===e?t.join(", "):"","day"===e?t.map((e=>C(e,this.lang,"short"))).join(", "):"")}__renderDisallowedSummary(e){return d(Es||(Es=Cs` <div class="text-s text-tertiary font-normal"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.excluded"> <span>:</span> <span class="text-secondary"> ${0} </span> </x-i18n> </div> `),this.ns,this.lang,e.map((e=>Xt(e,this.lang))).join("; "))}}class Is extends CustomEvent{constructor(e){super("change",{detail:e})}}let Rs,Vs,Ms,As=e=>e;class Os extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-next-date-modification-rule":Ss,"vaadin-button":customElements.get("vaadin-button"),"x-section":ot,"iron-icon":customElements.get("iron-icon"),"x-switch":ht,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){const e=!this._isI18nReady||this.disabled||!this.value||Array.isArray(this.value)&&this.value.length>=10;return d(Rs||(Rs=As` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> ${0} <div class="mt-m sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="add" theme="primary" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="ndmod.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="ndmod.add_hint" class="${0}"> </x-i18n> </div> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang,this.value?d(Vs||(Vs=As` ${0} `),this.__normalizedValue.map(((e,t,s)=>d(Ms||(Ms=As` <x-next-date-modification-rule data-testid="rule" .disabled="${0}" .value="${0}" .lang="${0}" @remove="${0}" @change="${0}"> </x-next-date-modification-rule> `),this.disabled||!this._isI18nReady,e,this.lang,(()=>{this.value=s.filter(((e,s)=>s!==t)),this.__sendChange()}),(e=>{this.value=s.map(((s,i)=>i===t?e.detail:s)),this.__sendChange()}))))):"",e,this.__addRule,this.ns,this.lang,this.lang,this.ns,R({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":Array.isArray(this.value)&&this.value.length<10,"text-primary":Array.isArray(this.value)&&this.value.length>=10,hidden:!Array.isArray(this.value)||0===this.value.length}))}get __normalizedValue(){return"boolean"==typeof this.value?[]:this.value}__addRule(){this.value=[...this.__normalizedValue,{jsonataQuery:"*"}],this.__sendChange()}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Is(this.value))}}class qs extends Je{}let Ns,Ds,Ts,Fs=e=>e;class Us extends _{constructor(){super(...arguments),this.value=[],this.disabled=!1,this.__errorCode="invalid",this.__invalid=!1,this.__newValue=""}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"x-skeleton":w,"iron-icon":customElements.get("iron-icon"),"x-group":te,"x-list":Ye,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{value:{type:Array},invalid:{type:Boolean},disabled:{type:Boolean}})}render(){return d(Ns||(Ns=Fs` <x-group frame> <x-list data-testid="list" .disabled="${0}" .value="${0}" @change="${0}"> ${0} <div class="flex flex-col sm-flex-row sm-items-start"> <vaadin-text-field data-testid="input" class="mb-s sm-mb-0 sm-mr-s" .placeholder="${0}" .errorMessage="${0}" .disabled="${0}" .invalid="${0}" .value="${0}" @keypress="${0}" @change="${0}" @input="${0}"> </vaadin-text-field> <div class="sm-flex sm-items-center"> <vaadin-button class="w-full sm-w-auto" data-testid="button" .disabled="${0}" @click="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="origins.add"></x-i18n> <iron-icon icon="lumo:plus" slot="suffix"></iron-icon> </vaadin-button> <x-i18n .lang="${0}" .ns="${0}" key="origins.add_hint" class="${0}"> </x-i18n> </div> </div> </x-list> </x-group> `),this.disabled||!this._isI18nReady,this.value,this.__handleChange,this.value.map(((e,t)=>this._isI18nReady?d(Ds||(Ds=Fs` <div class="flex items-center" slot="${0}"> <img height="16" width="16" class="mr-m" src="https://www.google.com/s2/favicons?domain=${0}"> ${0} </div> `),t,e,e):d(Ts||(Ts=Fs`<x-skeleton slot="${0}">${0}</x-skeleton>`),t,e))),this._isI18nReady?"https://foxy.io":"",this._t(`origins.${this.__errorCode}`).toString(),this.disabled||!this._isI18nReady,this.__invalid,this.__newValue,(e=>"Enter"===e.key&&this.__submit()),(e=>e.stopPropagation()),this.__handleInput,!this._isI18nReady||this.disabled||this.__invalid||this.value.length>=10,this.__submit,this.ns,this.lang,this.lang,this.ns,R({"text-xs text-center block font-lumo mt-xs transition duration-200 sm-mt-0 sm-ml-m":!0,"text-tertiary":this.value.length<10,"text-primary":this.value.length>=10,hidden:0===this.value.length}))}__sendChange(){this.dispatchEvent(new qs(this.value))}__handleInput(e){this.__newValue=e.target.value;try{const e=new URL(this.__newValue),t="https:"===e.protocol,s="localhost"===e.hostname;this.__invalid=!s&&!t,this.__errorCode="https_only"}catch(e){this.__invalid=this.__newValue.length>0,this.__errorCode="invalid"}this.requestUpdate()}__submit(){this.__newValue.length>0&&(this.value=[...this.value,new URL(this.__newValue).origin],this.__newValue="",this.__invalid=!1,this.__sendChange()),this.requestUpdate()}__handleChange(e){this.value=e.detail,this.__sendChange()}}class Ls extends CustomEvent{constructor(e){super("change",{detail:e})}}let Bs,Ps=e=>e;class zs extends _{constructor(){super("customer-portal-settings"),this.disabled=!1,this.value=!1}static get scopedElements(){return{"x-section":ot,"x-switch":ht,"x-i18n":b}}static get properties(){return a(a({},super.properties),{},{disabled:{type:Boolean},value:{type:Array}})}render(){return d(Bs||(Bs=Ps` <x-section> <x-switch slot="title" class="-my-xs" data-testid="toggle" .checked="${0}" .disabled="${0}" @change="${0}"> <x-i18n .ns="${0}" .lang="${0}" key="sso.title" class="text-l"></x-i18n> </x-switch> <x-i18n .ns="${0}" .lang="${0}" key="sso.subtitle" slot="subtitle" class="mr-xl"> </x-i18n> </x-section> `),Boolean(this.value),this.disabled||!this._isI18nReady,this.__toggleValue,this.ns,this.lang,this.ns,this.lang)}__toggleValue(){this.value=!this.value,this.__sendChange()}__sendChange(){this.dispatchEvent(new Ls(this.value))}}const Qs=y.assign({error:(e,t)=>t.data.type}),Js=y.assign({oldResource:(e,t)=>t.data.resource,newResource:(e,t)=>t.data.resource,store:(e,t)=>t.data.store}),Ws=y.assign({oldResource:e=>e.newResource}),Hs=y.assign({invalid:[],newResource:({oldResource:e})=>e}),Gs=y.assign({invalid:[],newResource:e=>({allowedOrigins:[],subscriptions:{allowFrequencyModification:[],allowNextDateModification:!1},jwtSharedSecret:Qe(72,(()=>Pe(35).toString(36))).join(""),sessionLifespanInMinutes:40320,sso:!1,date_created:(new Date).toISOString(),date_modified:(new Date).toISOString(),_links:{"fx:store":e.store._links.self,curies:e.store._links.curies,self:e.store._links["fx:customer_portal_settings"]}})}),Ys=y.assign({newResource:null}),Xs=y.assign({error:"setup_needed"}),Ks=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{allowedOrigins:s})}}),Zs=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{subscriptions:a(a({},e.subscriptions),{},{allowFrequencyModification:s})})}}),ei=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{subscriptions:a(a({},e.subscriptions),{},{allowNextDateModification:s})})}}),ti=y.assign({invalid:(e,t)=>{const s="sessionLifespanInMinutes",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{sessionLifespanInMinutes:s})}}),si=y.assign({invalid:(e,t)=>{const s="jwtSharedSecret",i=t.invalid;return e.invalid.filter((e=>e!==s)).concat(...i?[s]:[])},newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{jwtSharedSecret:s})}}),ii=y.assign({oldResource:null,newResource:null,store:null,error:null,href:(e,t)=>t.data}),ai=y.assign({newResource:({newResource:e},t)=>{const s=t.value;return a(a({},e),{},{sso:s})}}),ni={SET_SSO:{target:"#cps.idle",actions:"setSSO"},SET_SECRET:{target:"#cps.idle",actions:"setSecret"},SET_ORIGINS:{target:"#cps.idle",actions:"setOrigins"},SET_SESSION:{target:"#cps.idle",actions:"setSession"},SET_FREQUENCY_MODIFICATION:{target:"#cps.idle",actions:"setFrequencyModification"},SET_NEXT_DATE_MODIFICATION:{target:"#cps.idle",actions:"setNextDateModification"}},ri={initial:"unknown",states:{unknown:{always:[{target:"invalid",cond:"isInvalid"},{target:"valid"}]},invalid:{},valid:{}}},li=Z({id:"cps",initial:"unknown",context:{oldResource:null,newResource:null,invalid:[],store:null,error:null,href:null},states:{unknown:{always:[{target:"error",cond:"isSetupNeeded",actions:"requireSetup"},{target:"idle",cond:"isLoaded"},{target:"busy"}]},error:{on:{RELOAD:{target:"busy.loading"}}},busy:{initial:"loading",states:{loading:{invoke:{src:"load",onDone:{target:"#cps.idle.clean",actions:"handleLoadingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}},saving:{invoke:{src:"save",onDone:{target:"#cps.idle.clean",actions:"handleSavingSuccess"},onError:{target:"#cps.error",actions:"handleError"}}}}},idle:{initial:"unknown",on:{DISABLE:{target:"#cps.idle",actions:"remove"},ENABLE:{target:"#cps.idle",actions:"create"},RESET:{target:"#cps.idle",actions:"reset"}},states:{unknown:{always:[{target:"clean",cond:"isClean"},{target:"dirty"}]},clean:{initial:"unknown",states:{unknown:{always:[{target:"enabled",cond:"isEnabled"},{target:"disabled"}]},enabled:{on:ni},disabled:{}}},dirty:{on:{SAVE:"#cps.busy.saving"},initial:"unknown",states:{unknown:{always:[{target:"created",cond:"isCreated"},{target:"deleted",cond:"isDeleted"},{target:"updated"}]},created:a({on:ni},ri),updated:a({on:ni},ri),deleted:{}}}}}},on:{SET_HREF:{actions:"setHref",target:"unknown"}}},{guards:{isClean:e=>ee(e.newResource,e.oldResource),isLoaded:e=>null!==e.store,isInvalid:e=>e.invalid.length>0,isEnabled:e=>null!==e.oldResource,isCreated:e=>null===e.oldResource&&null!==e.newResource,isDeleted:e=>null!==e.oldResource&&null===e.newResource,isSetupNeeded:e=>null===e.href},actions:{setFrequencyModification:Zs,setNextDateModification:ei,setOrigins:Ks,setSession:ti,setSecret:si,setHref:ii,setSSO:ai,handleLoadingSuccess:Js,handleSavingSuccess:Ws,handleError:Qs,create:Gs,reset:Hs,remove:Ys,requireSetup:Xs}});let oi,di,ci,ui,hi=e=>e;function _i(e){if(!e.ok)throw new l(401===e.status?"unauthorized":"unknown")}class pi extends CustomEvent{constructor(){super("ready")}}class gi extends CustomEvent{constructor(){super("update")}}class vi extends _{constructor(){super("customer-portal-settings"),this.rel="customer_portal_settings",this.__machine=li.withConfig({services:{load:()=>this.__load(),save:()=>this.__save()}}),this.__service=re(this.__machine).onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}static get scopedElements(){return{"iron-icon":customElements.get("iron-icon"),"vaadin-button":customElements.get("vaadin-button"),"x-frequency-modification":Yt,"x-next-date-modification":Os,"x-session-duration":xt,"x-session-secret":$t,"x-loading-screen":et,"x-error-screen":r,"x-origins-list":Us,"x-sso-switch":zs,"x-skeleton":w,"x-section":ot,"x-switch":ht,"x-i18n":b,"x-page":at}}static get properties(){return a(a({},super.properties),{},{href:{type:String,noAccessor:!0}})}get href(){return this.__service.state.context.href}set href(e){this.__service.send({type:"SET_HREF",data:e})}render(){var e,t,s,i,n,r;if(this.__service.state.matches("error"))return d(oi||(oi=hi` <x-error-screen data-testid="error" lang="${0}" type="${0}" reload @reload="${0}"> </x-error-screen> `),this.lang,this.__service.state.context.error,this.__reload);const{newResource:l}=this.__service.state.context,o=this.__service.state.matches("idle.dirty.created"),c=this.__service.state.matches("idle.dirty.deleted"),u=this.__service.state.matches("idle.dirty.updated"),h=this.__service.state.matches("idle.clean.enabled"),_=this.__service.state.matches("idle.dirty.updated.invalid")||this.__service.state.matches("idle.dirty.created.invalid");return d(di||(di=hi` <x-page class="relative"> <x-switch slot="title" data-testid="switch" .disabled="${0}" .checked="${0}" @change="${0}"> <x-i18n key="title" class="text-xxl" .ns="${0}" .lang="${0}"> <sup class="text-tertiary"> <x-i18n key="beta" .ns="${0}" .lang="${0}"> </x-i18n> </sup> </x-i18n> </x-switch> <x-i18n class="block mr-xl" slot="subtitle" key="subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-section> <x-i18n slot="title" key="origins.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="origins.subtitle" .ns="${0}" .lang="${0}"></x-i18n> <x-origins-list data-testid="origins" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-origins-list> </x-section> <x-frequency-modification data-testid="fmod" .lang="${0}" .ns="${0}" .value="${0}" ?disabled="${0}" @change="${0}"> </x-frequency-modification> <x-next-date-modification data-testid="ndmod" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-next-date-modification> <x-sso-switch data-testid="sso" .lang="${0}" .ns="${0}" .value="${0}" .disabled="${0}" @change="${0}"> </x-sso-switch> <x-section> <x-i18n slot="title" key="advanced.title" .ns="${0}" .lang="${0}"></x-i18n> <x-i18n slot="subtitle" key="advanced.subtitle" .ns="${0}" .lang="${0}"> </x-i18n> <x-session-duration data-testid="session" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-duration> <x-session-secret data-testid="secret" .disabled="${0}" .value="${0}" .lang="${0}" .ns="${0}" @change="${0}"> </x-session-secret> </x-section> ${0} </x-page> `),!this.__service.state.matches("idle")||!this._isI18nReady,h||o||u,(e=>{this.__service.send(e.detail?"ENABLE":"DISABLE")}),this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.lang,this.lang,this.ns,null!==(e=null==l?void 0:l.allowedOrigins)&&void 0!==e?e:[],!l,(e=>{this.__service.send({type:"SET_ORIGINS",value:e.detail})}),this.lang,this.ns,null!==(t=null==l?void 0:l.subscriptions.allowFrequencyModification)&&void 0!==t?t:[],!l,(e=>{this.__service.send({type:"SET_FREQUENCY_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(s=null==l?void 0:l.subscriptions.allowNextDateModification)&&void 0!==s&&s,!l,(e=>{this.__service.send({type:"SET_NEXT_DATE_MODIFICATION",value:e.detail})}),this.lang,this.ns,null!==(i=null==l?void 0:l.sso)&&void 0!==i&&i,!l,(e=>{this.__service.send({type:"SET_SSO",value:e.detail})}),this.ns,this.lang,this.ns,this.lang,!l||!this._isI18nReady,null!==(n=null==l?void 0:l.sessionLifespanInMinutes)&&void 0!==n?n:1,this.lang,this.ns,(({detail:e})=>{this.__service.send(a({type:"SET_SESSION"},e))}),!l||!this._isI18nReady,null!==(r=null==l?void 0:l.jwtSharedSecret)&&void 0!==r?r:"",this.lang,this.ns,(({detail:e})=>{this.__service.send(a({type:"SET_SECRET"},e))}),this.__service.state.matches("idle.dirty")?d(ci||(ci=hi` <div class="sticky flex justify-between rounded-t-l rounded-b-l shadow-m -mx-s p-s bg-contrast" style="bottom:var(--lumo-space-m)"> <vaadin-button data-testid="save" theme="primary ${0}" .disabled="${0}" @click="${0}"> <x-i18n lang="${0}" ns="${0}" key="save_${0}"> </x-i18n> </vaadin-button> <vaadin-button style="--lumo-contrast:var(--lumo-base-color)" data-testid="reset" theme="contrast tertiary" @click="${0}"> <x-i18n lang="${0}" key="undo_all"></x-i18n> <iron-icon icon="lumo:reload" slot="suffix"></iron-icon> </vaadin-button> </div> `),c?"error":"success",_,(()=>this.__service.send("SAVE")),this.lang,this.ns,o?"create":c?"delete":"update",(()=>this.__service.send("RESET")),this.lang):this.__service.state.matches("busy")?d(ui||(ui=hi`<x-loading-screen data-testid="loading" class="mt-0"></x-loading-screen>`)):"")}async __reload(){this.__service.stop(),this.__service.onTransition((({changed:e})=>e&&this.requestUpdate())).onChange((()=>this.requestUpdate())).start()}async __load(){if(null===this.href)throw new l("setup_needed");try{await this.updateComplete;const e=await pt.emit({source:this,init:[this.href]});let t,s;if(e.status.toString().startsWith("4")){t=null;const e=await pt.emit({source:this,init:["/"]});_i(e);const i=(await e.json())._links["fx:store"].href,a=await pt.emit({source:this,init:[i]});_i(a),s=await a.json()}else{_i(e),t=await e.json();const i=t._links["fx:store"].href,a=await pt.emit({source:this,init:[i]});_i(a),s=await a.json()}return{store:s,resource:t}}catch(e){if(e instanceof l)throw e;if(e instanceof _t)throw new l("setup_needed");throw new l("unknown")}finally{await this.updateComplete,this.dispatchEvent(new pi)}}async __save(){try{const e=this.__service.state.context,t=De(e.newResource,5),s=t?"PUT":"DELETE";t&&(delete t._links,delete t.date_created,delete t.date_modified);const i={method:s,body:t?JSON.stringify(t):void 0};_i(await pt.emit({source:this,init:[this.href,i]}))}catch(e){if(e instanceof l)throw e;if(e instanceof _t)throw new l("setup_needed");throw new l("unknown")}finally{await this.updateComplete,this.dispatchEvent(new gi)}}}customElements.define("foxy-customer-portal-settings",vi);export{vi as CustomerPortalSettings};
@@ -1,4 +1,4 @@
1
- import"./foxy-customer.js";import"./shared-73cfd096.js";import"./shared-c6ed5394.js";import"./shared-4764b995.js";import"./shared-e1c1e8e2.js";import"./foxy-access-recovery-form.js";import"./foxy-payment-method-card.js";import"./foxy-transactions-table.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,I as t,k as s}from"./shared-2eee69db.js";import{h as r,L as o,c as i}from"./shared-dc73b9a5.js";import{A as n}from"./shared-40315eea.js";import"./shared-f0ba30e8.js";import{C as a}from"./shared-40c5712e.js";import{a as l,T as d,R as c}from"./shared-855a1983.js";import{A as m}from"./shared-567c8c48.js";import{c as h}from"./shared-4e709717.js";import{C as u}from"./shared-58a9174f.js";import{N as p}from"./shared-25ef9e09.js";import{i as f}from"./shared-9803aa7c.js";import"./shared-abfe9262.js";import"./foxy-attribute-card.js";import"./shared-7a084a40.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./foxy-attribute-form.js";import"./shared-3e14ffe1.js";import"./shared-3b318016.js";import"./shared-f2a561f7.js";import"./shared-addf6302.js";import"./shared-8c41299f.js";import"./shared-78a2c66f.js";import"./shared-107acd1f.js";import"./shared-99940888.js";import"./shared-cea659c8.js";import"./shared-e21c712d.js";import"./shared-15d04c73.js";import"./shared-78adab3d.js";import"./shared-5e228fca.js";import"./foxy-customer-form.js";import"./foxy-nucleon-element.js";import"./shared-b738ee96.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-table.js";import"./shared-e6be392d.js";import"./shared-e9967127.js";import"./shared-85618a7a.js";import"./shared-0eb966c5.js";import"./foxy-cancellation-form.js";import"./shared-c9757355.js";import"./shared-2061be9a.js";import"./shared-95b0cdf1.js";import"./shared-e0a54dfc.js";import"./shared-af60799b.js";import"./shared-a0c6a159.js";import"./shared-c0deb4cf.js";import"./shared-eb1d4a32.js";import"./shared-157cced2.js";let g,$,y=e=>e;class v extends(l(d(a),"customer-portal")){constructor(){super(...arguments),this.group=""}static get properties(){return e(e({},super.properties),{},{group:{type:String}})}render(){return this.api.storage.getItem(n.SESSION)?r(g||(g=y` <foxy-internal-customer-portal-logged-in-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" customer="${0}" group="${0}" class="h-full" lang="${0}" href="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-in-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.base,this.group,this.lang,new URL("./customer_portal_settings",this.base).toString(),this.ns,this.templates):r($||($=y` <foxy-internal-customer-portal-logged-out-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" group="${0}" class="h-full" lang="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-out-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.group,this.lang,this.ns,this.templates)}}let b,S,x=e=>e;const _=c(d(l(t(o))));let j,T,w,O,k=e=>e;class E extends(d(o)){constructor(){super(...arguments),this.disabled=!1,this.href="",this.icon=""}static get properties(){return e(e({},super.properties),{},{disabled:{type:Boolean},href:{type:String},icon:{type:String}})}render(){const e=h({"flex-auto font-medium tracking-wide text-s rounded-s transition-colors":!0,"hover-text-primary hover-cursor-pointer":!this.disabled,"focus-outline-none focus-ring-2 ring-primary-50 ring-offset-2":!this.disabled,"text-disabled cursor-default":this.disabled}),t=r(j||(j=k` ${0} <slot></slot> `),this.icon?r(T||(T=k`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"");return this.disabled?r(w||(w=k`<button class="${0}" disabled="disabled">${0}</button>`),e,t):r(O||(O=k` <a class="${0}" href="${0}" rel="nofollow noopener">${0}</a> `),e,this.href,t)}}let R,z,N,A,F,I,H,U,q,L,P=e=>e;const C=d(u(l(p)));let D,V,J,W,B,G,K,M,Q,X,Y=e=>e;const Z=d(u(l(t(o))));const ee=["html"],te=["html"];let se,re,oe,ie,ne,ae,le,de,ce,me,he,ue,pe=e=>e;const fe=l(u(d(t(o))));let ge,$e,ye,ve=e=>e;const be=u(d(l(t(o),"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends C{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var t,s,o,i,n;const a="customer:header:actions:sign-out",l=this.loggingOutState,d=this.disabledSelector.matches(a)||!(null===(t=this.__customerElement)||void 0===t?void 0:t.in({idle:"snapshot"}))||"idle"!==l,c={"border-radius":"100%",padding:"var(--lumo-space-xs)",display:"flex",margin:"0",cursor:d?"default":"pointer"};return r(R||(R=P` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="${0}" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t("sign_out").toString(),Object.entries(c).reduce(((e,[t,s])=>`${e}${t}:${s};`),""),d,(async function(){try{e.loggingOutState="busy",await new m(e).fetch("foxy://customer-api/session",{method:"DELETE"}),e.loggingOutState="idle"}catch(t){e.loggingOutState="fail",e.loggingOutStateResetTimeout=setTimeout((()=>{e.loggingOutState="idle",e.loggingOutStateResetTimeout=null}),1e3)}}),"idle"===l?r(z||(z=P`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):r(N||(N=P` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0}"> </foxy-spinner> `),"fail"===l?"error":"busy",this.lang,[this.ns,null!==(o=null===(s=customElements.get("foxy-customer"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:""].join(" ")),this.renderTemplateOrSlot(`${a}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(A||(A=P`
1
+ import"./foxy-customer.js";import"./shared-d539ee69.js";import"./shared-4fc53390.js";import"./shared-fd001fd3.js";import"./shared-e1c1e8e2.js";import"./foxy-access-recovery-form.js";import"./foxy-payment-method-card.js";import"./foxy-transactions-table.js";import"./foxy-subscription-card.js";import"./foxy-subscription-form.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-sign-in-form.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import{_ as e,I as t,k as s}from"./shared-fadcb2e1.js";import{h as r,L as o,c as i}from"./shared-dc73b9a5.js";import{A as n}from"./shared-26ce8d23.js";import"./shared-1bbd9b73.js";import{C as a}from"./shared-e9a4a204.js";import{a as l,T as d,R as c}from"./shared-33b47806.js";import{A as m}from"./shared-45feee83.js";import{c as h}from"./shared-4e709717.js";import{C as u}from"./shared-98497473.js";import{N as p}from"./shared-ac44429d.js";import{i as f}from"./shared-9803aa7c.js";import"./shared-c13674cb.js";import"./foxy-attribute-card.js";import"./shared-c73ca2c5.js";import"./shared-92327224.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./foxy-attribute-form.js";import"./shared-2b077e01.js";import"./shared-8936b109.js";import"./shared-32b15545.js";import"./shared-e28fb2ef.js";import"./shared-354e0ed8.js";import"./shared-dbdc2a38.js";import"./shared-97654b20.js";import"./shared-12f8034b.js";import"./shared-a64ead08.js";import"./shared-c5a638d1.js";import"./shared-99940888.js";import"./shared-80ca2f70.js";import"./shared-48ef8a04.js";import"./shared-9f9cdbb0.js";import"./foxy-customer-form.js";import"./foxy-nucleon-element.js";import"./shared-b738ee96.js";import"./foxy-address-card.js";import"./shared-d6dd67a5.js";import"./foxy-address-form.js";import"./foxy-table.js";import"./shared-0561e4c0.js";import"./shared-18fa34a8.js";import"./shared-593c3727.js";import"./shared-0eb966c5.js";import"./foxy-cancellation-form.js";import"./shared-7ed7818e.js";import"./shared-2061be9a.js";import"./shared-7b7b6065.js";import"./shared-6bcd6831.js";import"./shared-93d93d79.js";import"./shared-a0c6a159.js";import"./shared-17331dc5.js";import"./shared-40689cd2.js";import"./shared-59796faa.js";let g,$,y=e=>e;class b extends(l(d(a),"customer-portal")){constructor(){super(...arguments),this.group=""}static get properties(){return e(e({},super.properties),{},{group:{type:String}})}render(){return this.api.storage.getItem(n.SESSION)?r(g||(g=y` <foxy-internal-customer-portal-logged-in-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" customer="${0}" group="${0}" class="h-full" lang="${0}" href="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-in-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.base,this.group,this.lang,new URL("./customer_portal_settings",this.base).toString(),this.ns,this.templates):r($||($=y` <foxy-internal-customer-portal-logged-out-view disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" group="${0}" class="h-full" lang="${0}" ns="${0}" .templates="${0}"> </foxy-internal-customer-portal-logged-out-view> `),this.disabledSelector.toString(),this.readonlySelector.toString(),this.hiddenSelector.toString(),this.group,this.lang,this.ns,this.templates)}}let v,S,x=e=>e;const _=c(d(l(t(o))));let j,T,w,O,k=e=>e;class E extends(d(o)){constructor(){super(...arguments),this.disabled=!1,this.href="",this.icon=""}static get properties(){return e(e({},super.properties),{},{disabled:{type:Boolean},href:{type:String},icon:{type:String}})}render(){const e=h({"flex-auto font-medium tracking-wide text-s rounded-s transition-colors":!0,"hover-text-primary hover-cursor-pointer":!this.disabled,"focus-outline-none focus-ring-2 ring-primary-50 ring-offset-2":!this.disabled,"text-disabled cursor-default":this.disabled}),t=r(j||(j=k` ${0} <slot></slot> `),this.icon?r(T||(T=k`<iron-icon icon="${0}" class="icon-inline"></iron-icon>`),this.icon):"");return this.disabled?r(w||(w=k`<button class="${0}" disabled="disabled">${0}</button>`),e,t):r(O||(O=k` <a class="${0}" href="${0}" rel="nofollow noopener">${0}</a> `),e,this.href,t)}}let R,z,N,A,F,I,H,U,q,L,P=e=>e;const C=d(u(l(p)));let D,V,J,W,B,G,K,M,Q,X,Y=e=>e;const Z=d(u(l(t(o))));const ee=["html"],te=["html"];let se,re,oe,ie,ne,ae,le,de,ce,me,he,ue,pe=e=>e;const fe=l(u(d(t(o))));let ge,$e,ye,be=e=>e;const ve=u(d(l(t(o),"customer-portal")));customElements.define("foxy-internal-customer-portal-logged-in-view",class extends C{constructor(){var e;super(...arguments),e=this,this.templates={},this.customer="",this.loggingOutState="idle",this.loggingOutStateResetTimeout=null,this.__renderHeaderActionsSignOut=()=>{var t,s,o,i,n;const a="customer:header:actions:sign-out",l=this.loggingOutState,d=this.disabledSelector.matches(a)||!(null===(t=this.__customerElement)||void 0===t?void 0:t.in({idle:"snapshot"}))||"idle"!==l,c={"border-radius":"100%",padding:"var(--lumo-space-xs)",display:"flex",margin:"0",cursor:d?"default":"pointer"};return r(R||(R=P` <div style="display:flex;margin-left:var(--lumo-space-m)"> ${0} <vaadin-button data-testid="sign-out" aria-label="${0}" style="${0}" theme="icon" ?disabled="${0}" @click="${0}"> ${0} </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t("sign_out").toString(),Object.entries(c).reduce(((e,[t,s])=>`${e}${t}:${s};`),""),d,(async function(){try{e.loggingOutState="busy",await new m(e).fetch("foxy://customer-api/session",{method:"DELETE"}),e.loggingOutState="idle"}catch(t){e.loggingOutState="fail",e.loggingOutStateResetTimeout=setTimeout((()=>{e.loggingOutState="idle",e.loggingOutStateResetTimeout=null}),1e3)}}),"idle"===l?r(z||(z=P`<iron-icon icon="icons:exit-to-app"></iron-icon>`)):r(N||(N=P` <foxy-spinner layout="no-label" state="${0}" style="margin:auto" lang="${0}" ns="${0}"> </foxy-spinner> `),"fail"===l?"error":"busy",this.lang,[this.ns,null!==(o=null===(s=customElements.get("foxy-customer"))||void 0===s?void 0:s.defaultNS)&&void 0!==o?o:"",null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:""].join(" ")),this.renderTemplateOrSlot(`${a}:after`))},this.__renderSubscriptions=(e,t)=>{const s="customer:subscriptions";return e(A||(A=P`
2
2
  ${0}
3
3
 
4
4
  <foxy-internal-customer-portal-subscriptions
@@ -161,4 +161,4 @@ import"./foxy-customer.js";import"./shared-73cfd096.js";import"./shared-c6ed5394
161
161
  .templates=${0}
162
162
  >
163
163
  </foxy-collection-page>
164
- `),r.ns,r.href,r.lang,r.group,this.__renderPageItem,r.templates)},this.__renderHeader=()=>r(me||(me=pe` ${0} <foxy-i18n class="block text-l font-semibold" lang="${0}" key="subscription_plural" ns="${0}"> </foxy-i18n> ${0} `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{var e;const t=this.disabledSelector.zoom("list"),s=this.readonlySelector.zoom("list"),o=[this.hiddenSelector.zoom("list").zoom("form").toString(),"end-date"];return r(he||(he=pe` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" header="update" parent="${0}" group="${0}" lang="${0}" ns="${0}" id="subscription-dialog" .form="${0}" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages class="block space-y-m" first="${0}" group="${0}" lang="${0}" ns="${0}" manual .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("list:before"),s.zoom("form").toString(),t.zoom("form").toString(),o.join(" ").trim(),f(null===(e=this.customer)||void 0===e?void 0:e._links["fx:subscriptions"].href),this.group,this.lang,this.ns,this.__renderForm,this.getNestedTemplates("list:form"),this.__activeSubscriptionsLink,this.group,this.lang,this.ns,this.__renderPage,this.getNestedTemplates("list:card"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{settings:{attribute:!1},customer:{attribute:!1},group:{type:String}})}render(){return r(ue||(ue=pe` <div class="space-y-s" data-testid="subscriptions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header",!0)?"":this.__renderHeader(),this.hiddenSelector.matches("list",!0)?"":this.__renderList())}get __subscriptionDialog(){return this.renderRoot.querySelector("#subscription-dialog")}get __activeSubscriptionsLink(){try{const e=new URL(this.customer._links["fx:subscriptions"].href);return e.searchParams.set("zoom","last_transaction,transaction_template:items"),e.toString()}catch(e){return""}}}),customElements.define("foxy-internal-customer-portal-transactions",class extends be{constructor(){super(...arguments),this.customer=null,this.group="",this.__renderHeader=()=>r(ge||(ge=ve` <div> ${0} <foxy-i18n class="text-l font-semibold" lang="${0}" key="transaction_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{let e="";if(this.customer){const t=new URL(this.customer._links["fx:transactions"].href);t.searchParams.set("zoom","items"),e=t.toString()}return r($e||($e=ve` <div> ${0} <foxy-collection-pages spinner="foxy-spinner" group="${0}" first="${0}" class="block divide-y divide-contrast-10 px-m border border-contrast-10 rounded-t-l rounded-b-l" page="foxy-transactions-table" lang="${0}" ns="${0}" manual .templates="${0}"> </foxy-collection-pages> ${0} </div> `),this.renderTemplateOrSlot("list:before"),this.group,e,this.lang,this.ns,this.getNestedTemplates("table"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{customer:{attribute:!1},group:{type:String}})}render(){return r(ye||(ye=ve` <div class="space-y-s" data-testid="transactions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header")?"":this.__renderHeader(),this.hiddenSelector.matches("list")?"":this.__renderList())}}),customElements.define("foxy-internal-customer-portal-change-password",class extends _{constructor(){super(...arguments),this.isErrorVisible=!1,this.disabled=!1,this.customer="",this.session="",this.email="",this.step=1,this.__handleTriggerClick=e=>{const t=e.currentTarget,s=this.renderRoot.querySelector("#dialog");this.isErrorVisible=!1,this.step=1,s.show(t)},this.__handleSignInFormUpdate=(e,t)=>{var s,r,o,i;t.handleUpdate(e);const n=e.currentTarget;!(null===(s=n.form.credential)||void 0===s?void 0:s.email)&&this.email&&n.edit({type:null!==(r=n.form.type)&&void 0!==r?r:"password",credential:{email:this.email,password:null!==(i=null===(o=n.form.credential)||void 0===o?void 0:o.password)&&void 0!==i?i:""}})},this.__handleSignInFormFetch=e=>{e.defaultPrevented||"POST"===e.request.method&&e.request.url===this.session&&(e.preventDefault(),e.stopImmediatePropagation(),e.respondWith(this.__getResponse(e.request)))},this.__renderSignInForm=e=>{const t=[],s=["email"];let o="bg-primary-10",i="text-primary",n="icons:lock-outline",a="password:before";return 2===this.step&&(s.push("password"),a="new-password:before",n="icons:lock-open"),3===this.step&&(t.push("new-password"),s.push("password","submit"),o="bg-success-10",i="text-success",a="new-password:before",n="icons:done-all"),this.isErrorVisible||s.push("error"),r(b||(b=x` <foxy-sign-in-form readonlycontrols="${0}" hiddencontrols="${0}" parent="${0}" class="mt-s sm-w-narrow-modal" lang="${0}" ns="${0}" @update="${0}" @fetch="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l ${0}" slot="${0}"> <iron-icon icon="${0}" class="m-auto ${0}"></iron-icon> </div> <foxy-i18n class="block text-center text-m text-secondary leading-m mb-m" lang="${0}" slot="${0}" key="change_password_step_${0}" ns="${0}"> </foxy-i18n> </foxy-sign-in-form> `),t.join(" "),s.join(" "),this.session,e.dialog.lang,e.dialog.ns,(t=>this.__handleSignInFormUpdate(t,e)),this.__handleSignInFormFetch,o,a,n,i,e.dialog.lang,a,this.step,e.dialog.ns)}}static get properties(){return e(e({},super.properties),{},{isErrorVisible:{attribute:!1},disabled:{type:Boolean},customer:{type:String},session:{type:String},email:{type:String},step:{attribute:!1},fail:{attribute:!1}})}render(){return r(S||(S=x` <foxy-form-dialog hiddencontrols="save-button" header="change_password" lang="${0}" ns="${0}" alert id="dialog" .form="${0}"> </foxy-form-dialog> <vaadin-button class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="change_password" ns="${0}"></foxy-i18n> </vaadin-button> `),this.lang,this.ns,this.__renderSignInForm,this.disabled,this.__handleTriggerClick,this.lang,this.ns)}async __getResponse(e){const t=await e.clone().json(),s=new m(this);if(this.isErrorVisible=!1,1===this.step){const r=await s.fetch(e.url,{method:e.method,body:JSON.stringify(t)});if(r.ok){this.step=2;const e={_embedded:{"fx:errors":[{code:"new_password_required_error"}]}};return new m.WHATWGResponse(JSON.stringify(e),{status:400})}return this.isErrorVisible=!0,r}if(2===this.step){const r=await s.fetch(this.customer,{method:"PATCH",body:JSON.stringify({password:t.credential.new_password,password_old:t.credential.password})});return r.ok?(this.step=3,t._links={self:{href:e.url}},new m.WHATWGResponse(JSON.stringify(t))):(this.isErrorVisible=!0,r)}return s.fetch(e)}}),customElements.define("foxy-internal-customer-portal-link",E),customElements.define("foxy-customer-portal",v);export{v as CustomerPortal};
164
+ `),r.ns,r.href,r.lang,r.group,this.__renderPageItem,r.templates)},this.__renderHeader=()=>r(me||(me=pe` ${0} <foxy-i18n class="block text-l font-semibold" lang="${0}" key="subscription_plural" ns="${0}"> </foxy-i18n> ${0} `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{var e;const t=this.disabledSelector.zoom("list"),s=this.readonlySelector.zoom("list"),o=[this.hiddenSelector.zoom("list").zoom("form").toString(),"end-date"];return r(he||(he=pe` ${0} <foxy-form-dialog readonlycontrols="${0}" disabledcontrols="${0}" hiddencontrols="${0}" header="update" parent="${0}" group="${0}" lang="${0}" ns="${0}" id="subscription-dialog" .form="${0}" .templates="${0}"> </foxy-form-dialog> <foxy-collection-pages class="block space-y-m" first="${0}" group="${0}" lang="${0}" ns="${0}" manual .page="${0}" .templates="${0}"> </foxy-collection-pages> ${0} `),this.renderTemplateOrSlot("list:before"),s.zoom("form").toString(),t.zoom("form").toString(),o.join(" ").trim(),f(null===(e=this.customer)||void 0===e?void 0:e._links["fx:subscriptions"].href),this.group,this.lang,this.ns,this.__renderForm,this.getNestedTemplates("list:form"),this.__activeSubscriptionsLink,this.group,this.lang,this.ns,this.__renderPage,this.getNestedTemplates("list:card"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{settings:{attribute:!1},customer:{attribute:!1},group:{type:String}})}render(){return r(ue||(ue=pe` <div class="space-y-s" data-testid="subscriptions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header",!0)?"":this.__renderHeader(),this.hiddenSelector.matches("list",!0)?"":this.__renderList())}get __subscriptionDialog(){return this.renderRoot.querySelector("#subscription-dialog")}get __activeSubscriptionsLink(){try{const e=new URL(this.customer._links["fx:subscriptions"].href);return e.searchParams.set("zoom","last_transaction,transaction_template:items"),e.toString()}catch(e){return""}}}),customElements.define("foxy-internal-customer-portal-transactions",class extends ve{constructor(){super(...arguments),this.customer=null,this.group="",this.__renderHeader=()=>r(ge||(ge=be` <div> ${0} <foxy-i18n class="text-l font-semibold" lang="${0}" key="transaction_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("header:before"),this.lang,this.ns,this.renderTemplateOrSlot("header:after")),this.__renderList=()=>{let e="";if(this.customer){const t=new URL(this.customer._links["fx:transactions"].href);t.searchParams.set("zoom","items"),e=t.toString()}return r($e||($e=be` <div> ${0} <foxy-collection-pages spinner="foxy-spinner" group="${0}" first="${0}" class="block divide-y divide-contrast-10 px-m border border-contrast-10 rounded-t-l rounded-b-l" page="foxy-transactions-table" lang="${0}" ns="${0}" manual .templates="${0}"> </foxy-collection-pages> ${0} </div> `),this.renderTemplateOrSlot("list:before"),this.group,e,this.lang,this.ns,this.getNestedTemplates("table"),this.renderTemplateOrSlot("list:after"))}}static get properties(){return e(e({},super.properties),{},{customer:{attribute:!1},group:{type:String}})}render(){return r(ye||(ye=be` <div class="space-y-s" data-testid="transactions"> ${0} ${0} </div> `),this.hiddenSelector.matches("header")?"":this.__renderHeader(),this.hiddenSelector.matches("list")?"":this.__renderList())}}),customElements.define("foxy-internal-customer-portal-change-password",class extends _{constructor(){super(...arguments),this.isErrorVisible=!1,this.disabled=!1,this.customer="",this.session="",this.email="",this.step=1,this.__handleTriggerClick=e=>{const t=e.currentTarget,s=this.renderRoot.querySelector("#dialog");this.isErrorVisible=!1,this.step=1,s.show(t)},this.__handleSignInFormUpdate=(e,t)=>{var s,r,o,i;t.handleUpdate(e);const n=e.currentTarget;!(null===(s=n.form.credential)||void 0===s?void 0:s.email)&&this.email&&n.edit({type:null!==(r=n.form.type)&&void 0!==r?r:"password",credential:{email:this.email,password:null!==(i=null===(o=n.form.credential)||void 0===o?void 0:o.password)&&void 0!==i?i:""}})},this.__handleSignInFormFetch=e=>{e.defaultPrevented||"POST"===e.request.method&&e.request.url===this.session&&(e.preventDefault(),e.stopImmediatePropagation(),e.respondWith(this.__getResponse(e.request)))},this.__renderSignInForm=e=>{const t=[],s=["email"];let o="bg-primary-10",i="text-primary",n="icons:lock-outline",a="password:before";return 2===this.step&&(s.push("password"),a="new-password:before",n="icons:lock-open"),3===this.step&&(t.push("new-password"),s.push("password","submit"),o="bg-success-10",i="text-success",a="new-password:before",n="icons:done-all"),this.isErrorVisible||s.push("error"),r(v||(v=x` <foxy-sign-in-form readonlycontrols="${0}" hiddencontrols="${0}" parent="${0}" class="mt-s sm-w-narrow-modal" lang="${0}" ns="${0}" @update="${0}" @fetch="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l ${0}" slot="${0}"> <iron-icon icon="${0}" class="m-auto ${0}"></iron-icon> </div> <foxy-i18n class="block text-center text-m text-secondary leading-m mb-m" lang="${0}" slot="${0}" key="change_password_step_${0}" ns="${0}"> </foxy-i18n> </foxy-sign-in-form> `),t.join(" "),s.join(" "),this.session,e.dialog.lang,e.dialog.ns,(t=>this.__handleSignInFormUpdate(t,e)),this.__handleSignInFormFetch,o,a,n,i,e.dialog.lang,a,this.step,e.dialog.ns)}}static get properties(){return e(e({},super.properties),{},{isErrorVisible:{attribute:!1},disabled:{type:Boolean},customer:{type:String},session:{type:String},email:{type:String},step:{attribute:!1},fail:{attribute:!1}})}render(){return r(S||(S=x` <foxy-form-dialog hiddencontrols="save-button" header="change_password" lang="${0}" ns="${0}" alert id="dialog" .form="${0}"> </foxy-form-dialog> <vaadin-button class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n lang="${0}" key="change_password" ns="${0}"></foxy-i18n> </vaadin-button> `),this.lang,this.ns,this.__renderSignInForm,this.disabled,this.__handleTriggerClick,this.lang,this.ns)}async __getResponse(e){const t=await e.clone().json(),s=new m(this);if(this.isErrorVisible=!1,1===this.step){const r=await s.fetch(e.url,{method:e.method,body:JSON.stringify(t)});if(r.ok){this.step=2;const e={_embedded:{"fx:errors":[{code:"new_password_required_error"}]}};return new m.WHATWGResponse(JSON.stringify(e),{status:400})}return this.isErrorVisible=!0,r}if(2===this.step){const r=await s.fetch(this.customer,{method:"PATCH",body:JSON.stringify({password:t.credential.new_password,password_old:t.credential.password})});return r.ok?(this.step=3,t._links={self:{href:e.url}},new m.WHATWGResponse(JSON.stringify(t))):(this.isErrorVisible=!0,r)}return s.fetch(e)}}),customElements.define("foxy-internal-customer-portal-link",E),customElements.define("foxy-customer-portal",b);export{b as CustomerPortal};
@@ -1,4 +1,4 @@
1
- import"./shared-4764b995.js";import"./shared-c6ed5394.js";import{h as t}from"./shared-abfe9262.js";import"./shared-73cfd096.js";import"./shared-e1c1e8e2.js";import"./foxy-payment-method-card.js";import"./foxy-subscription-form.js";import"./foxy-form-dialog.js";import"./foxy-transactions-table.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-customer-form.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-7a084a40.js";import{k as e}from"./shared-2eee69db.js";import{L as s,h as r,c as a}from"./shared-dc73b9a5.js";import{C as o}from"./shared-58a9174f.js";import"./shared-3b318016.js";import"./shared-f2a561f7.js";import{w as h,S as i,T as d,a as n}from"./shared-855a1983.js";import{c as l}from"./shared-4e709717.js";import"./shared-3e14ffe1.js";import"./shared-e21c712d.js";import{S as m}from"./shared-15d04c73.js";import"./shared-addf6302.js";import"./shared-8c41299f.js";import"./shared-78a2c66f.js";import"./shared-107acd1f.js";import{G as c}from"./shared-78adab3d.js";import{N as v}from"./shared-25ef9e09.js";import{S as p}from"./shared-e9967127.js";import{i as g}from"./shared-9803aa7c.js";import"./shared-cea659c8.js";import"./shared-0eb966c5.js";import"./shared-6eb57269.js";import"./foxy-nucleon-element.js";import"./shared-567c8c48.js";import"./shared-64657919.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./foxy-cancellation-form.js";import"./shared-c9757355.js";import"./shared-2061be9a.js";import"./shared-99940888.js";import"./shared-95b0cdf1.js";import"./shared-e0a54dfc.js";import"./shared-40315eea.js";import"./shared-f0ba30e8.js";import"./shared-af60799b.js";import"./shared-e6be392d.js";import"./shared-85618a7a.js";import"./shared-a0c6a159.js";import"./shared-5e228fca.js";import"./shared-b738ee96.js";let z,f,u,b=t=>t;class $ extends s{constructor(){super(...arguments),this.value=0,this.size=0}static get properties(){return{value:{type:Number},size:{type:Number}}}static get styles(){return h.styles}render(){const t=[],e=[];for(let s=0;s<this.size;++s)t.push(r(z||(z=b` <button id="tab-${0}" role="tab" class="${0}" aria-controls="panel-${0}" aria-selected="${0}" @click="${0}" @keydown="${0}"> <slot name="tab-${0}"></slot> </button> `),s,l({"text-l font-semibold px-s rounded focus-outline-none focus-shadow-outline":!0,"text-tertiary hover-text-body focus-text-body":this.value!==s}),s,this.value===s,(()=>this.value=s),this.__handleKeyDown,s)),e.push(r(f||(f=b` <slot id="panel-${0}" role="tabpanel" name="panel-${0}" class="${0}" aria-hidden="${0}" aria-labelledby="tab-${0}"> </slot> `),s,s,l({hidden:this.value!==s}),this.value!==s,s));return r(u||(u=b` <div role="tablist" aria-orientation="horizontal" class="-mx-s mb-s">${0}</div> ${0} `),t,e)}__handleKeyDown(t){if(t.key.startsWith("Arrow")){t.preventDefault();const e=t.target;let s=null;"ArrowRight"===t.key||"ArrowDown"===t.key?s=e.nextElementSibling:"ArrowLeft"!==t.key&&"ArrowUp"!==t.key||(s=e.previousElementSibling),null==s||s.click(),null==s||s.focus()}}}
1
+ import"./shared-fd001fd3.js";import"./shared-4fc53390.js";import{h as t}from"./shared-c13674cb.js";import"./shared-d539ee69.js";import"./shared-e1c1e8e2.js";import"./foxy-payment-method-card.js";import"./foxy-subscription-form.js";import"./foxy-form-dialog.js";import"./foxy-transactions-table.js";import"./foxy-collection-pages.js";import"./foxy-collection-page.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-customer-form.js";import"./foxy-address-card.js";import"./foxy-address-form.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-c73ca2c5.js";import{k as e}from"./shared-fadcb2e1.js";import{L as s,h as r,c as a}from"./shared-dc73b9a5.js";import{C as o}from"./shared-98497473.js";import"./shared-8936b109.js";import"./shared-dbdc2a38.js";import{w as h,S as i,T as d,a as n}from"./shared-33b47806.js";import{c as l}from"./shared-4e709717.js";import"./shared-97654b20.js";import"./shared-354e0ed8.js";import{S as m}from"./shared-80ca2f70.js";import"./shared-12f8034b.js";import"./shared-32b15545.js";import"./shared-a64ead08.js";import"./shared-c5a638d1.js";import{G as c}from"./shared-48ef8a04.js";import{N as v}from"./shared-ac44429d.js";import{S as p}from"./shared-18fa34a8.js";import{i as g}from"./shared-9803aa7c.js";import"./shared-e28fb2ef.js";import"./shared-0eb966c5.js";import"./shared-92327224.js";import"./foxy-nucleon-element.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./foxy-cancellation-form.js";import"./shared-7ed7818e.js";import"./shared-2061be9a.js";import"./shared-2b077e01.js";import"./shared-99940888.js";import"./shared-7b7b6065.js";import"./shared-6bcd6831.js";import"./shared-26ce8d23.js";import"./shared-1bbd9b73.js";import"./shared-93d93d79.js";import"./shared-0561e4c0.js";import"./shared-593c3727.js";import"./shared-a0c6a159.js";import"./shared-9f9cdbb0.js";import"./shared-b738ee96.js";import"./shared-d6dd67a5.js";let z,f,u,b=t=>t;class $ extends s{constructor(){super(...arguments),this.value=0,this.size=0}static get properties(){return{value:{type:Number},size:{type:Number}}}static get styles(){return h.styles}render(){const t=[],e=[];for(let s=0;s<this.size;++s)t.push(r(z||(z=b` <button id="tab-${0}" role="tab" class="${0}" aria-controls="panel-${0}" aria-selected="${0}" @click="${0}" @keydown="${0}"> <slot name="tab-${0}"></slot> </button> `),s,l({"text-l font-semibold px-s rounded focus-outline-none focus-shadow-outline":!0,"text-tertiary hover-text-body focus-text-body":this.value!==s}),s,this.value===s,(()=>this.value=s),this.__handleKeyDown,s)),e.push(r(f||(f=b` <slot id="panel-${0}" role="tabpanel" name="panel-${0}" class="${0}" aria-hidden="${0}" aria-labelledby="tab-${0}"> </slot> `),s,s,l({hidden:this.value!==s}),this.value!==s,s));return r(u||(u=b` <div role="tablist" aria-orientation="horizontal" class="-mx-s mb-s">${0}</div> ${0} `),t,e)}__handleKeyDown(t){if(t.key.startsWith("Arrow")){t.preventDefault();const e=t.target;let s=null;"ArrowRight"===t.key||"ArrowDown"===t.key?s=e.nextElementSibling:"ArrowLeft"!==t.key&&"ArrowUp"!==t.key||(s=e.previousElementSibling),null==s||s.click(),null==s||s.focus()}}}
2
2
  /**
3
3
  @license
4
4
  Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import"./shared-7a084a40.js";import{T as s}from"./shared-e6be392d.js";import{a}from"./shared-855a1983.js";import{h as e}from"./shared-dc73b9a5.js";import"./shared-4764b995.js";import"./shared-abfe9262.js";import"./shared-c6ed5394.js";import"./shared-2eee69db.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-58a9174f.js";import"./shared-9803aa7c.js";import"./foxy-nucleon-element.js";import"./shared-25ef9e09.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-4e709717.js";let t,n,o,r,d=s=>s;class m extends(a(s,"customers-table")){constructor(){super(...arguments),this.columns=[m.nameColumn,m.idColumn,m.dateColumn,m.emailColumn]}}m.nameColumn={cell:s=>e(t||(t=d` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},m.idColumn={hideBelow:"md",cell:s=>e(n||(n=d` <span role="presentation" class="text-m text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-m text-secondary font-tnum">${0}</span> `),s.data.id)},m.dateColumn={hideBelow:"md",cell:s=>e(o||(o=d` <span class="text-m text-secondary font-tnum"> <foxy-i18n data-testclass="i18n" lang="${0}" key="date_created" ns="${0}"> </foxy-i18n> <foxy-i18n data-testclass="dates i18n" lang="${0}" key="date" ns="${0}" .options="${0}"> </foxy-i18n> </span> `),s.lang,s.ns,s.lang,s.ns,{value:s.data.date_created})},m.emailColumn={cell:s=>e(r||(r=d`<span data-testclass="emails" class="text-m text-secondary">${0}</span>`),s.data.email)},m.__ns="customers-table",customElements.define("foxy-customers-table",m);export{m as CustomersTable};
1
+ import"./foxy-spinner.js";import"./shared-c73ca2c5.js";import{T as s}from"./shared-0561e4c0.js";import{a}from"./shared-33b47806.js";import{h as e}from"./shared-dc73b9a5.js";import"./shared-fd001fd3.js";import"./shared-c13674cb.js";import"./shared-4fc53390.js";import"./shared-fadcb2e1.js";import"./shared-92327224.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";import"./foxy-nucleon-element.js";import"./shared-ac44429d.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./shared-4e709717.js";let t,n,o,r,m=s=>s;class d extends(a(s,"customers-table")){constructor(){super(...arguments),this.columns=[d.nameColumn,d.idColumn,d.dateColumn,d.emailColumn]}}d.nameColumn={cell:s=>e(t||(t=m` <span data-testclass="names">${0} ${0}</span> `),s.data.first_name,s.data.last_name)},d.idColumn={hideBelow:"md",cell:s=>e(n||(n=m` <span role="presentation" class="text-m text-tertiary">ID&nbsp;</span> <span data-testclass="ids" class="text-m text-secondary font-tnum">${0}</span> `),s.data.id)},d.dateColumn={hideBelow:"md",cell:s=>e(o||(o=m` <span class="text-m text-secondary font-tnum"> <foxy-i18n data-testclass="i18n" lang="${0}" key="date_created" ns="${0}"> </foxy-i18n> <foxy-i18n data-testclass="dates i18n" lang="${0}" key="date" ns="${0}" .options="${0}"> </foxy-i18n> </span> `),s.lang,s.ns,s.lang,s.ns,{value:s.data.date_created})},d.emailColumn={cell:s=>e(r||(r=m`<span data-testclass="emails" class="text-m text-secondary">${0}</span>`),s.data.email)},d.__ns="customers-table",customElements.define("foxy-customers-table",d);export{d as CustomersTable};
@@ -1 +1 @@
1
- import{_ as e,I as t}from"./shared-2eee69db.js";import{h as s,L as i}from"./shared-dc73b9a5.js";import{r as n}from"./shared-a0c6a159.js";import{C as r}from"./shared-58a9174f.js";import{T as a,a as o}from"./shared-855a1983.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-f9f9ed5b.js";import"./shared-6eb57269.js";import"./shared-9803aa7c.js";let c,h,u,p,b,g,m,$,y=e=>e;const f=a(r(o(t(i),"discount-builder")));class v extends f{constructor(){super(...arguments),this.value=""}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){let e="",t="",s="quantity_amount";try{const[[i,n]]=Array.from(new URLSearchParams(this.value).entries()),r=i.substring("discount_".length);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(r)&&(s=r);const a=n.indexOf("{"),o=n.lastIndexOf("}");-1!==a&&-1!==o&&(e=n.substring(a,o),t=n.substring(0,a))}catch(e){}return{type:s,name:t,details:e}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var t;const i=this.parsedValue.details.split("|").filter((e=>!!e.trim())),r=null!==(t=/[-+]/.test(i[0])?null:i.shift())&&void 0!==t?t:"single",a="repeat"===r?[i[0]]:[...i,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return s(c||(c=y` <div class="space-y-s"> ${0} </div> `),n(a,((t,s)=>this.__renderTier({source:l,method:r,units:d,tier:t,onChange:n=>{var a,o,c;const h=null!==(a=n.method)&&void 0!==a?a:r,u=null!==(o=n.source)&&void 0!==o?o:l,p=null!==(c=n.units)&&void 0!==c?c:d,b=n.tier,g=[...i];if(b){const e=t?s:g.length,i=t?1:0;g.splice(e,i,b)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${u}_${p}`,details:`${h}|${g.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=i.filter(((e,t)=>t!==s)),n=`${r}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:n}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:t,options:i,onChange:n}){const r=!this.disabled&&!this.readonly;return s(h||(h=y` <label class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":r,"bg-primary-10 text-primary":r,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),this.lang,e,this.ns,this.t(i[t]),!r,(e=>{const t=e.currentTarget;n(t.options[t.selectedIndex].value)}),Object.entries(i).map((([e,i])=>s(u||(u=y` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===t,this.t(i)))))}__renderSwitch({value:e,options:t,onChange:i}){const n=!this.disabled&&!this.readonly,r=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return s(p||(p=y` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),l({"h-xs px-xs space-x-xs flex items-center rounded transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!n)return;t.currentTarget.querySelector("input").focus(),i(0===e?1:0)}),t.map(((t,a)=>s(b||(b=y` <label> <foxy-i18n class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),l({"sr-only":a!==e}),this.lang,t,this.ns,t,r,!n,a===e,(e=>{e.currentTarget.checked&&i(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:t,onChange:i}){const n=!this.disabled&&!this.readonly;return s(g||(g=y` <label> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <input data-testclass="interactive editable" class="${0}" type="number" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),this.lang,t,this.ns,l({"transition-colors border p-xs h-xs font-medium text-m rounded w-xl":!0,"ring-primary-50 text-body bg-contrast-10":n,"hover-bg-contrast-20":n,"focus-outline-none focus-ring-2":n,"text-disabled bg-contrast-5":this.disabled,"text-secondary":this.readonly&&!this.disabled,"border-transparent border-solid":!this.readonly,"border-dashed border-contrast-30":this.readonly}),!n,e,(e=>{const t=e.currentTarget;i(t.value)}))}__renderTier(e){var t;const i=null!==(t=e.tier)&&void 0!==t?t:"0-0",n=i.includes("+")?"+":"-",[r,a]=i.split(/[-+]/).map((e=>parseFloat(e)));return s(m||(m=y` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_if" ns="${0}"> </foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_then" ns="${0}"> </foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_by" ns="${0}"> </foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"flex items-start justify-between rounded-t-l rounded-b-l":!0,"border border-contrast-10":!0,"border-dashed":!e.tier}),l({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!this.disabled,"text-disabled":this.disabled}),this.lang,this.ns,this.__renderSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),d,this.__renderField({label:"from",value:String(r),onChange:t=>e.onChange({tier:`${t}${n}${a}`})}),this.lang,this.ns,this.__renderSwitch({options:["reduce","increase"],value:"-"===n?0:1,onChange:t=>e.onChange({tier:`${r}${t?"+":"-"}${a}`})}),this.__renderSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.lang,this.ns,this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${r}${n}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?s($||($=y` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),l({"w-s h-s m-s flex-shrink-0 rounded transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!this.disabled,"text-disabled cursor-default":this.disabled}),this.disabled,this.readonly,(()=>e.onDelete())):"")}}customElements.define("foxy-discount-builder",v);export{v as DiscountBuilder};
1
+ import"./shared-c73ca2c5.js";import{_ as e,I as t}from"./shared-fadcb2e1.js";import{h as s,L as r}from"./shared-dc73b9a5.js";import{r as i}from"./shared-a0c6a159.js";import{C as n}from"./shared-98497473.js";import{T as a,a as o}from"./shared-33b47806.js";import{c as l}from"./shared-4e709717.js";import{o as d}from"./shared-f9f9ed5b.js";import"./shared-92327224.js";import"./shared-9803aa7c.js";let c,u,h,p,b,m,y,f,g=e=>e;const v=a(n(o(t(r),"discount-builder")));class $ extends v{constructor(){super(...arguments),this.value=null}static get properties(){return e(e({},super.properties),{},{value:{type:String}})}get parsedValue(){var e;let t="",s="",r="quantity_amount";try{const[[i,n]]=Array.from(new URLSearchParams(null!==(e=this.value)&&void 0!==e?e:"").entries()),a=i.substring("discount_".length);["price_amount","price_percentage","quantity_amount","quantity_percentage"].includes(a)&&(r=a);const o=n.indexOf("{"),l=n.lastIndexOf("}");-1!==o&&-1!==l&&(t=n.substring(o+1,l),s=n.substring(0,o))}catch(e){}return 0===s.length&&(s="Discount"),{type:r,name:s,details:t}}set parsedValue({name:e,type:t,details:s}){this.value=new URLSearchParams([[`discount_${t}`,`${e}{${s}}`]]).toString()}render(){var t;const r=this.parsedValue.details.split("|").filter((e=>!!e.trim())),n=null!==(t=/[-+]/.test(r[0])?null:r.shift())&&void 0!==t?t:"single",a="repeat"===n?[r[0]]:[...r,void 0],o=this.parsedValue.type,[l,d]=o.split("_");return s(c||(c=g` <div class="space-y-s"> ${0} </div> `),i(a,((t,s)=>this.__renderTier({source:l,method:n,units:d,tier:t,onChange:i=>{var a,o,c;const u=null!==(a=i.method)&&void 0!==a?a:n,h=null!==(o=i.source)&&void 0!==o?o:l,p=null!==(c=i.units)&&void 0!==c?c:d,b=i.tier,m=[...r];if(b){const e=t?s:m.length,r=t?1:0;m.splice(e,r,b)}this.parsedValue=e(e({},this.parsedValue),{},{type:`${h}_${p}`,details:`${u}|${m.join("|")}`}),this.dispatchEvent(new CustomEvent("change"))},onDelete:()=>{const t=r.filter(((e,t)=>t!==s)),i=`${n}|${t.join("|")}`;this.parsedValue=e(e({},this.parsedValue),{},{details:i}),this.dispatchEvent(new CustomEvent("change"))}}))))}__renderSelect({label:e,value:t,options:r,onChange:i}){const n=!this.disabled&&!this.readonly;return s(u||(u=g` <label class="${0}"> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),l({"h-xs whitespace-nowrap block ring-primary-50 rounded pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),e,this.t(r[t]),!n,(e=>{const t=e.currentTarget;i(t.options[t.selectedIndex].value)}),Object.entries(r).map((([e,r])=>s(h||(h=g` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===t,this.t(r)))))}__renderSwitch({value:e,options:t,onChange:r}){const i=!this.disabled&&!this.readonly,n=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,a="width: 0.4rem; height: 0.4rem";return s(p||(p=g` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),l({"h-xs px-xs space-x-xs flex items-center rounded transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":i,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":i,"bg-contrast-5 text-disabled":this.disabled,"bg-contrast-5 text-secondary":this.readonly&&!this.disabled}),(t=>{if(!i)return;t.currentTarget.querySelector("input").focus(),r(0===e?1:0)}),t.map(((t,a)=>s(b||(b=g` <label> <foxy-i18n class="${0}" infer="" key="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),l({"sr-only":a!==e}),t,t,n,!i,a===e,(e=>{e.currentTarget.checked&&r(a)})))),e?"flex-col-reverse":"flex-col",a,a)}__renderField({value:e,label:t,onChange:r}){const i=!this.disabled&&!this.readonly;return s(m||(m=g` <label> <foxy-i18n class="sr-only" infer="" key="${0}"></foxy-i18n> <input data-testclass="interactive editable" class="${0}" type="number" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),t,l({"transition-colors border p-xs h-xs font-medium text-m rounded w-xl":!0,"ring-primary-50 text-body bg-contrast-10":i,"hover-bg-contrast-20":i,"focus-outline-none focus-ring-2":i,"text-disabled bg-contrast-5":this.disabled,"text-secondary":this.readonly&&!this.disabled,"border-transparent border-solid":!this.readonly,"border-dashed border-contrast-30":this.readonly}),!i,e,(e=>{const t=e.currentTarget;r(t.value)}))}__renderTier(e){var t;const r=null!==(t=e.tier)&&void 0!==t?t:"0-0",i=r.includes("+")?"+":"-",[n,a]=r.split(/[-+]/).map((e=>parseFloat(e)));return s(y||(y=g` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_if"></foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_then"></foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-semibold" infer="" key="tier_by"></foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),l({"flex items-start justify-between rounded-t-l rounded-b-l":!0,"border border-contrast-10":!0,"border-dashed":!e.tier}),l({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!this.disabled,"text-disabled":this.disabled}),this.__renderSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),d,this.__renderField({label:"from",value:String(n),onChange:t=>e.onChange({tier:`${t}${i}${a}`})}),this.__renderSwitch({options:["reduce","increase"],value:"-"===i?0:1,onChange:t=>e.onChange({tier:`${n}${t?"+":"-"}${a}`})}),this.__renderSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.__renderField({label:"adjustment",value:String(a),onChange:t=>e.onChange({tier:`${n}${i}${t}`})}),this.__renderSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?s(f||(f=g` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),l({"w-s h-s m-s flex-shrink-0 rounded transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!this.disabled,"text-disabled cursor-default":this.disabled}),this.disabled,this.readonly,(()=>e.onDelete())):"")}}customElements.define("foxy-discount-builder",$);export{$ as DiscountBuilder};
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-7a084a40.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-855a1983.js";import{T as e}from"./shared-85d4b53e.js";import"./shared-4764b995.js";import"./shared-abfe9262.js";import"./shared-c6ed5394.js";import"./shared-2eee69db.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-58a9174f.js";import"./shared-9803aa7c.js";import"./shared-25ef9e09.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-4e709717.js";let t,a,i=r=>r;class o extends(s(e,"discount-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:s=>r(t||(t=i`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>r(a||(a=i` <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({currencyDisplay:this.__currencyDisplay,amount:`${Math.abs(s.amount)} ${this.__currency}`}),this.lang,this.ns)})}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-discount-card",o);export{o as DiscountCard};
1
+ import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-c73ca2c5.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-33b47806.js";import{T as e}from"./shared-9d905cdc.js";import"./shared-fd001fd3.js";import"./shared-c13674cb.js";import"./shared-4fc53390.js";import"./shared-fadcb2e1.js";import"./shared-92327224.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";import"./shared-ac44429d.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./shared-4e709717.js";let t,a,c=r=>r;class i extends(s(e,"discount-card")){constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:s=>r(t||(t=c`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>r(a||(a=c` <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({currencyDisplay:this.__currencyDisplay,amount:`${Math.abs(s.amount)} ${this.__currency}`}),this.lang,this.ns)})}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-discount-card",i);export{i as DiscountCard};
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-7a084a40.js";import{h as r}from"./shared-dc73b9a5.js";import{a as e}from"./shared-855a1983.js";import{T as s}from"./shared-85d4b53e.js";import"./shared-4764b995.js";import"./shared-abfe9262.js";import"./shared-c6ed5394.js";import"./shared-2eee69db.js";import"./shared-64657919.js";import"./shared-6eb57269.js";import"./shared-58a9174f.js";import"./shared-9803aa7c.js";import"./shared-25ef9e09.js";import"./shared-567c8c48.js";import"./shared-7684cb05.js";import"./shared-968add7f.js";import"./shared-4e709717.js";let t,a,i=r=>r;const c=e(s,"discount-detail-card");class n extends c{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:e=>r(t||(t=i`${0}`),e.name),subtitle:e=>{let s;try{s=Math.abs(e.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){s="--"}return r(a||(a=i` <span class="${0}">${0}</span> `),e.amount_per>0?"text-success":"text-error",s)}})}async _sendGet(){const r=await super._sendGet(),[e,s]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=e.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-discount-detail-card",n);export{n as DiscountDetailCard};
1
+ import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-c73ca2c5.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-33b47806.js";import{T as e}from"./shared-9d905cdc.js";import"./shared-fd001fd3.js";import"./shared-c13674cb.js";import"./shared-4fc53390.js";import"./shared-fadcb2e1.js";import"./shared-92327224.js";import"./shared-98497473.js";import"./shared-9803aa7c.js";import"./shared-ac44429d.js";import"./shared-45feee83.js";import"./shared-7684cb05.js";import"./shared-7c8bb60c.js";import"./shared-4e709717.js";let t,c,a=r=>r;const i=s(e,"discount-detail-card");class n extends i{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:s=>r(t||(t=a`${0}`),s.name),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(c||(c=a` <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-discount-detail-card",n);export{n as DiscountDetailCard};