@foxy.io/elements 1.15.0-beta.1 → 1.15.0-beta.10

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 (343) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +2 -2
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  5. package/dist/cdn/foxy-attribute-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-form.js +1 -1
  7. package/dist/cdn/foxy-cancellation-form.js +1 -1
  8. package/dist/cdn/foxy-collection-page.js +1 -1
  9. package/dist/cdn/foxy-collection-pages.js +1 -1
  10. package/dist/cdn/foxy-coupon-card.js +1 -0
  11. package/dist/cdn/foxy-coupon-code-form.js +1 -0
  12. package/dist/cdn/foxy-coupon-codes-form.js +1 -0
  13. package/dist/cdn/foxy-coupon-form.js +1 -0
  14. package/dist/cdn/foxy-custom-field-card.js +1 -1
  15. package/dist/cdn/foxy-custom-field-form.js +1 -1
  16. package/dist/cdn/foxy-customer-api.js +1 -1
  17. package/dist/cdn/foxy-customer-card.js +1 -1
  18. package/dist/cdn/foxy-customer-form.js +1 -1
  19. package/dist/cdn/foxy-customer-portal-settings.js +1 -972
  20. package/dist/cdn/foxy-customer-portal.js +13 -13
  21. package/dist/cdn/foxy-customer.js +2 -2
  22. package/dist/cdn/foxy-customers-table.js +1 -1
  23. package/dist/cdn/foxy-discount-card.js +1 -1
  24. package/dist/cdn/foxy-donation.js +1 -1
  25. package/dist/cdn/foxy-email-template-form.js +1 -1
  26. package/dist/cdn/foxy-error-entry-card.js +1 -1
  27. package/dist/cdn/foxy-form-dialog.js +1 -1
  28. package/dist/cdn/foxy-generate-codes-form.js +1 -0
  29. package/dist/cdn/foxy-gift-card-card.js +1 -0
  30. package/dist/cdn/foxy-gift-card-code-form.js +1 -0
  31. package/dist/cdn/foxy-gift-card-codes-form.js +1 -0
  32. package/dist/cdn/foxy-gift-card-form.js +1 -0
  33. package/dist/cdn/foxy-i18n.js +1 -1
  34. package/dist/cdn/foxy-items-form.js +1 -1
  35. package/dist/cdn/foxy-nucleon-element.js +1 -1
  36. package/dist/cdn/foxy-pagination.js +1 -0
  37. package/dist/cdn/foxy-payment-card.js +1 -1
  38. package/dist/cdn/foxy-payment-method-card.js +1 -1
  39. package/dist/cdn/foxy-query-builder.js +1 -69
  40. package/dist/cdn/foxy-sign-in-form.js +1 -1
  41. package/dist/cdn/foxy-spinner.js +2 -2
  42. package/dist/cdn/foxy-subscription-card.js +1 -1
  43. package/dist/cdn/foxy-subscription-form.js +4 -4
  44. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  45. package/dist/cdn/foxy-table.js +1 -1
  46. package/dist/cdn/foxy-tax-card.js +1 -1
  47. package/dist/cdn/foxy-tax-form.js +1 -1
  48. package/dist/cdn/foxy-template-config-form.js +1 -1
  49. package/dist/cdn/foxy-template-form.js +1 -1
  50. package/dist/cdn/foxy-transaction-card.js +1 -1
  51. package/dist/cdn/foxy-transactions-table.js +1 -1
  52. package/dist/cdn/foxy-user-form.js +1 -1
  53. package/dist/cdn/foxy-users-table.js +1 -1
  54. package/dist/cdn/shared-00d6a968.js +1 -0
  55. package/dist/cdn/shared-023a97c2.js +302 -0
  56. package/dist/cdn/{shared-91e768be.js → shared-027c537d.js} +1 -1
  57. package/dist/cdn/{shared-f0a83bd6.js → shared-073cb8e9.js} +1 -1
  58. package/dist/cdn/{shared-8a7bee0d.js → shared-09c5f9f1.js} +1 -1
  59. package/dist/cdn/{shared-94b0ae99.js → shared-0f38a631.js} +2 -2
  60. package/dist/cdn/{shared-200f613b.js → shared-1a67bc75.js} +2 -2
  61. package/dist/cdn/{shared-34b2c1e2.js → shared-21419f10.js} +1 -1
  62. package/dist/cdn/{shared-b5147166.js → shared-340f7584.js} +3 -3
  63. package/dist/cdn/{shared-44cfc617.js → shared-39e3ae67.js} +1 -1
  64. package/dist/cdn/shared-3f0a9c2c.js +1 -0
  65. package/dist/cdn/shared-3f965dce.js +1 -0
  66. package/dist/cdn/{shared-e7f8ffe9.js → shared-448781f9.js} +1 -1
  67. package/dist/cdn/{shared-1761daef.js → shared-5535f38f.js} +1 -1
  68. package/dist/cdn/{shared-0ced76a0.js → shared-5a54a9bc.js} +1 -1
  69. package/dist/cdn/shared-5e2fd1c7.js +1 -0
  70. package/dist/cdn/{shared-5c8b531d.js → shared-60d43523.js} +1 -1
  71. package/dist/cdn/shared-625c1272.js +69 -0
  72. package/dist/cdn/shared-65dfd512.js +131 -0
  73. package/dist/cdn/{shared-a46edf4b.js → shared-756034e4.js} +1 -1
  74. package/dist/cdn/{shared-00563cb0.js → shared-7f0a9790.js} +1 -1
  75. package/dist/cdn/shared-84d2d490.js +1 -0
  76. package/dist/cdn/{shared-df573cea.js → shared-8b20bc23.js} +0 -0
  77. package/dist/cdn/shared-8c8a910c.js +1 -0
  78. package/dist/cdn/{shared-5f54e916.js → shared-9cd49a3e.js} +4 -4
  79. package/dist/cdn/{shared-7a42073a.js → shared-9fc4a896.js} +1 -1
  80. package/dist/cdn/{shared-bb824ab4.js → shared-a040d79d.js} +2 -2
  81. package/dist/cdn/{shared-bc2bfe52.js → shared-ab71552b.js} +1 -1
  82. package/dist/cdn/shared-ae8cd227.js +1 -0
  83. package/dist/cdn/{shared-322e60b1.js → shared-ba39823e.js} +1 -1
  84. package/dist/cdn/shared-d58c947c.js +804 -0
  85. package/dist/cdn/{shared-593f7e2c.js → shared-df730f90.js} +1 -1
  86. package/dist/cdn/shared-e55088b4.js +1 -0
  87. package/dist/cdn/shared-ecfd3539.js +1 -0
  88. package/dist/cdn/shared-f2a69797.js +1 -0
  89. package/dist/cdn/{shared-16f72e27.js → shared-f4ad24f4.js} +1 -1
  90. package/dist/cdn/{shared-ec861f31.js → shared-fab8c705.js} +3 -3
  91. package/dist/cdn/translations/access-recovery-form/en.json +12 -0
  92. package/dist/cdn/translations/address-card/en.json +11 -0
  93. package/dist/cdn/translations/address-form/en.json +27 -0
  94. package/dist/cdn/translations/applied-tax-card/en.json +9 -0
  95. package/dist/cdn/translations/attribute-card/en.json +7 -0
  96. package/dist/cdn/translations/attribute-form/en.json +22 -0
  97. package/dist/cdn/translations/cancellation-form/en.json +10 -0
  98. package/dist/cdn/translations/country/pl.json +251 -0
  99. package/dist/cdn/translations/coupon-card/en.json +36 -0
  100. package/dist/cdn/translations/coupon-code-form/en.json +17 -0
  101. package/dist/cdn/translations/coupon-codes-form/en.json +20 -0
  102. package/dist/cdn/translations/coupon-form/en.json +186 -0
  103. package/dist/cdn/translations/custom-field-card/en.json +7 -0
  104. package/dist/cdn/translations/custom-field-form/en.json +19 -0
  105. package/dist/cdn/translations/customer/en.json +247 -0
  106. package/dist/cdn/translations/customer-card/en.json +7 -0
  107. package/dist/cdn/translations/customer-form/en.json +21 -0
  108. package/dist/cdn/translations/customer-portal/de.json +202 -14
  109. package/dist/cdn/translations/customer-portal/en.json +202 -14
  110. package/dist/cdn/translations/customer-portal/es.json +202 -14
  111. package/dist/cdn/translations/customer-portal/pl.json +223 -0
  112. package/dist/cdn/translations/customer-portal/zh-hk.json +202 -14
  113. package/dist/cdn/translations/customers-table/en.json +9 -0
  114. package/dist/cdn/translations/discount-card/en.json +8 -0
  115. package/dist/cdn/translations/email-template-form/en.json +25 -0
  116. package/dist/cdn/translations/error-entry-card/en.json +7 -0
  117. package/dist/cdn/translations/generate-codes-form/en.json +19 -0
  118. package/dist/cdn/translations/gift-card-card/en.json +9 -0
  119. package/dist/cdn/translations/gift-card-code-form/en.json +19 -0
  120. package/dist/cdn/translations/gift-card-codes-form/en.json +25 -0
  121. package/dist/cdn/translations/gift-card-form/en.json +314 -0
  122. package/dist/cdn/translations/pagination/en.json +7 -0
  123. package/dist/cdn/translations/payment-card/en.json +12 -0
  124. package/dist/cdn/translations/payment-method-card/en.json +13 -0
  125. package/dist/cdn/translations/query-builder/en.json +32 -0
  126. package/dist/cdn/translations/sign-in-form/en.json +21 -0
  127. package/dist/cdn/translations/spinner/en.json +7 -0
  128. package/dist/cdn/translations/subscription-card/en.json +26 -0
  129. package/dist/cdn/translations/subscription-form/en.json +76 -0
  130. package/dist/cdn/translations/subscriptions-table/en.json +26 -0
  131. package/dist/cdn/translations/tax-card/en.json +11 -0
  132. package/dist/cdn/translations/tax-form/en.json +38 -0
  133. package/dist/cdn/translations/template-config-form/en.json +107 -0
  134. package/dist/cdn/translations/template-form/en.json +23 -0
  135. package/dist/cdn/translations/transaction-card/en.json +25 -0
  136. package/dist/cdn/translations/transactions-table/en.json +22 -0
  137. package/dist/cdn/translations/user-form/en.json +26 -0
  138. package/dist/cdn/translations/users-table/en.json +44 -0
  139. package/dist/elements/private/Checkbox/Checkbox.js +36 -22
  140. package/dist/elements/private/Checkbox/Checkbox.js.map +1 -1
  141. package/dist/elements/private/Choice/Choice.js +1 -0
  142. package/dist/elements/private/Choice/Choice.js.map +1 -1
  143. package/dist/elements/private/EditableList/EditableList.d.ts +20 -0
  144. package/dist/elements/private/EditableList/EditableList.js +124 -0
  145. package/dist/elements/private/EditableList/EditableList.js.map +1 -0
  146. package/dist/elements/private/FrequencyInput/FrequencyInput.d.ts +7 -6
  147. package/dist/elements/private/FrequencyInput/FrequencyInput.js +10 -23
  148. package/dist/elements/private/FrequencyInput/FrequencyInput.js.map +1 -1
  149. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js +1 -1
  150. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js.map +1 -1
  151. package/dist/elements/public/AttributeCard/types.d.ts +3 -3
  152. package/dist/elements/public/AttributeCard/types.js.map +1 -1
  153. package/dist/elements/public/AttributeForm/AttributeForm.js +2 -1
  154. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  155. package/dist/elements/public/AttributeForm/types.d.ts +3 -3
  156. package/dist/elements/public/AttributeForm/types.js.map +1 -1
  157. package/dist/elements/public/CollectionPage/CollectionPage.js +3 -1
  158. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  159. package/dist/elements/public/CollectionPage/types.d.ts +2 -0
  160. package/dist/elements/public/CollectionPage/types.js.map +1 -1
  161. package/dist/elements/public/CouponCard/CouponCard.d.ts +29 -0
  162. package/dist/elements/public/CouponCard/CouponCard.js +131 -0
  163. package/dist/elements/public/CouponCard/CouponCard.js.map +1 -0
  164. package/dist/elements/public/CouponCard/index.d.ts +5 -0
  165. package/dist/elements/public/CouponCard/index.js +7 -0
  166. package/dist/elements/public/CouponCard/index.js.map +1 -0
  167. package/dist/elements/public/CouponCard/types.d.ts +15 -0
  168. package/dist/elements/public/CouponCard/types.js +2 -0
  169. package/dist/elements/public/CouponCard/types.js.map +1 -0
  170. package/dist/elements/public/CouponCodeForm/CouponCodeForm.d.ts +45 -0
  171. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +218 -0
  172. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -0
  173. package/dist/elements/public/CouponCodeForm/index.d.ts +8 -0
  174. package/dist/elements/public/CouponCodeForm/index.js +10 -0
  175. package/dist/elements/public/CouponCodeForm/index.js.map +1 -0
  176. package/dist/elements/public/CouponCodeForm/types.d.ts +15 -0
  177. package/dist/elements/public/CouponCodeForm/types.js +2 -0
  178. package/dist/elements/public/CouponCodeForm/types.js.map +1 -0
  179. package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +31 -0
  180. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +218 -0
  181. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -0
  182. package/dist/elements/public/CouponCodesForm/index.d.ts +8 -0
  183. package/dist/elements/public/CouponCodesForm/index.js +12 -0
  184. package/dist/elements/public/CouponCodesForm/index.js.map +1 -0
  185. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.d.ts +14 -0
  186. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js +48 -0
  187. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js.map +1 -0
  188. package/dist/elements/public/CouponCodesForm/types.d.ts +17 -0
  189. package/dist/elements/public/CouponCodesForm/types.js +2 -0
  190. package/dist/elements/public/CouponCodesForm/types.js.map +1 -0
  191. package/dist/elements/public/CouponForm/CouponForm.d.ts +77 -0
  192. package/dist/elements/public/CouponForm/CouponForm.js +1301 -0
  193. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -0
  194. package/dist/elements/public/CouponForm/index.d.ts +19 -0
  195. package/dist/elements/public/CouponForm/index.js +21 -0
  196. package/dist/elements/public/CouponForm/index.js.map +1 -0
  197. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.d.ts +20 -0
  198. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js +99 -0
  199. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPage.js.map +1 -0
  200. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.d.ts +18 -0
  201. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js +50 -0
  202. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItem.js.map +1 -0
  203. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.d.ts +18 -0
  204. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js +53 -0
  205. package/dist/elements/public/CouponForm/private/CategoryRestrictionsPageItemContent.js.map +1 -0
  206. package/dist/elements/public/CouponForm/types.d.ts +27 -0
  207. package/dist/elements/public/CouponForm/types.js +2 -0
  208. package/dist/elements/public/CouponForm/types.js.map +1 -0
  209. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +2 -1
  210. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  211. package/dist/elements/public/Customer/Customer.js +1 -1
  212. package/dist/elements/public/Customer/Customer.js.map +1 -1
  213. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +25 -8
  214. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  215. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js +20 -6
  216. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedOutView.js.map +1 -1
  217. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +2 -1
  218. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
  219. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.d.ts +43 -0
  220. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js +249 -0
  221. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js.map +1 -0
  222. package/dist/elements/public/GenerateCodesForm/index.d.ts +8 -0
  223. package/dist/elements/public/GenerateCodesForm/index.js +10 -0
  224. package/dist/elements/public/GenerateCodesForm/index.js.map +1 -0
  225. package/dist/elements/public/GenerateCodesForm/types.d.ts +24 -0
  226. package/dist/elements/public/GenerateCodesForm/types.js +2 -0
  227. package/dist/elements/public/GenerateCodesForm/types.js.map +1 -0
  228. package/dist/elements/public/GiftCardCard/GiftCardCard.d.ts +26 -0
  229. package/dist/elements/public/GiftCardCard/GiftCardCard.js +95 -0
  230. package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -0
  231. package/dist/elements/public/GiftCardCard/index.d.ts +5 -0
  232. package/dist/elements/public/GiftCardCard/index.js +7 -0
  233. package/dist/elements/public/GiftCardCard/index.js.map +1 -0
  234. package/dist/elements/public/GiftCardCard/types.d.ts +11 -0
  235. package/dist/elements/public/GiftCardCard/types.js +2 -0
  236. package/dist/elements/public/GiftCardCard/types.js.map +1 -0
  237. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +55 -0
  238. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +292 -0
  239. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -0
  240. package/dist/elements/public/GiftCardCodeForm/index.d.ts +10 -0
  241. package/dist/elements/public/GiftCardCodeForm/index.js +12 -0
  242. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -0
  243. package/dist/elements/public/GiftCardCodeForm/types.d.ts +19 -0
  244. package/dist/elements/public/GiftCardCodeForm/types.js +2 -0
  245. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -0
  246. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +37 -0
  247. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +264 -0
  248. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -0
  249. package/dist/elements/public/GiftCardCodesForm/index.d.ts +9 -0
  250. package/dist/elements/public/GiftCardCodesForm/index.js +13 -0
  251. package/dist/elements/public/GiftCardCodesForm/index.js.map +1 -0
  252. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.d.ts +19 -0
  253. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js +48 -0
  254. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js.map +1 -0
  255. package/dist/elements/public/GiftCardCodesForm/types.d.ts +17 -0
  256. package/dist/elements/public/GiftCardCodesForm/types.js +2 -0
  257. package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -0
  258. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +67 -0
  259. package/dist/elements/public/GiftCardForm/GiftCardForm.js +684 -0
  260. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -0
  261. package/dist/elements/public/GiftCardForm/currencies.d.ts +1 -0
  262. package/dist/elements/public/GiftCardForm/currencies.js +173 -0
  263. package/dist/elements/public/GiftCardForm/currencies.js.map +1 -0
  264. package/dist/elements/public/GiftCardForm/index.d.ts +18 -0
  265. package/dist/elements/public/GiftCardForm/index.js +20 -0
  266. package/dist/elements/public/GiftCardForm/index.js.map +1 -0
  267. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.d.ts +20 -0
  268. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js +99 -0
  269. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js.map +1 -0
  270. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.d.ts +18 -0
  271. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js +50 -0
  272. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js.map +1 -0
  273. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.d.ts +18 -0
  274. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js +53 -0
  275. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js.map +1 -0
  276. package/dist/elements/public/GiftCardForm/types.d.ts +28 -0
  277. package/dist/elements/public/GiftCardForm/types.js +2 -0
  278. package/dist/elements/public/GiftCardForm/types.js.map +1 -0
  279. package/dist/elements/public/I18n/I18n.js +1 -1
  280. package/dist/elements/public/I18n/I18n.js.map +1 -1
  281. package/dist/elements/public/I18n/format/date.js +7 -6
  282. package/dist/elements/public/I18n/format/date.js.map +1 -1
  283. package/dist/elements/public/I18n/format/discount.d.ts +6 -0
  284. package/dist/elements/public/I18n/format/discount.js +20 -0
  285. package/dist/elements/public/I18n/format/discount.js.map +1 -0
  286. package/dist/elements/public/I18n/format/index.js +6 -0
  287. package/dist/elements/public/I18n/format/index.js.map +1 -1
  288. package/dist/elements/public/I18n/format/ordinal.d.ts +6 -0
  289. package/dist/elements/public/I18n/format/ordinal.js +9 -0
  290. package/dist/elements/public/I18n/format/ordinal.js.map +1 -0
  291. package/dist/elements/public/I18n/format/relative.d.ts +6 -0
  292. package/dist/elements/public/I18n/format/relative.js +15 -0
  293. package/dist/elements/public/I18n/format/relative.js.map +1 -0
  294. package/dist/elements/public/NucleonElement/NucleonElement.js +4 -4
  295. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  296. package/dist/elements/public/Pagination/Pagination.d.ts +37 -0
  297. package/dist/elements/public/Pagination/Pagination.js +158 -0
  298. package/dist/elements/public/Pagination/Pagination.js.map +1 -0
  299. package/dist/elements/public/Pagination/index.d.ts +6 -0
  300. package/dist/elements/public/Pagination/index.js +8 -0
  301. package/dist/elements/public/Pagination/index.js.map +1 -0
  302. package/dist/elements/public/SignInForm/SignInForm.js +1 -1
  303. package/dist/elements/public/SignInForm/SignInForm.js.map +1 -1
  304. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +1 -1
  305. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  306. package/dist/elements/public/Table/Table.js +20 -5
  307. package/dist/elements/public/Table/Table.js.map +1 -1
  308. package/dist/elements/public/TaxForm/TaxForm.js +16 -14
  309. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  310. package/dist/elements/public/TemplateForm/TemplateForm.js +1 -1
  311. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  312. package/dist/elements/public/UserForm/UserForm.js +2 -1
  313. package/dist/elements/public/UserForm/UserForm.js.map +1 -1
  314. package/dist/elements/public/UsersTable/UsersTable.d.ts +5 -1
  315. package/dist/elements/public/UsersTable/UsersTable.js +2 -1
  316. package/dist/elements/public/UsersTable/UsersTable.js.map +1 -1
  317. package/dist/elements/public/index.d.ts +10 -0
  318. package/dist/elements/public/index.defined.d.ts +10 -0
  319. package/dist/elements/public/index.defined.js +10 -0
  320. package/dist/elements/public/index.defined.js.map +1 -1
  321. package/dist/elements/public/index.js +10 -0
  322. package/dist/elements/public/index.js.map +1 -1
  323. package/dist/mixins/themeable.js +96 -4
  324. package/dist/mixins/themeable.js.map +1 -1
  325. package/dist/mixins/translatable.js +1 -1
  326. package/dist/mixins/translatable.js.map +1 -1
  327. package/dist/utils/parse-duration.d.ts +1 -1
  328. package/dist/utils/parse-duration.js +7 -3
  329. package/dist/utils/parse-duration.js.map +1 -1
  330. package/package.json +3 -3
  331. package/dist/cdn/shared-07abcd7b.js +0 -1
  332. package/dist/cdn/shared-35dbd2c5.js +0 -1
  333. package/dist/cdn/shared-6b7602c7.js +0 -1
  334. package/dist/cdn/shared-87ca7818.js +0 -1
  335. package/dist/cdn/shared-9a40309d.js +0 -1
  336. package/dist/cdn/shared-ce1da35d.js +0 -1
  337. package/dist/cdn/shared-d01d809a.js +0 -1
  338. package/dist/cdn/shared-d8ffb279.js +0 -264
  339. package/dist/cdn/shared-e5cbf291.js +0 -1
  340. package/dist/cdn/shared-f1dc1c6c.js +0 -1
  341. package/dist/cdn/translations/shared/de.json +0 -271
  342. package/dist/cdn/translations/shared/en.json +0 -272
  343. package/dist/cdn/translations/shared/es.json +0 -272
@@ -0,0 +1 @@
1
+ import"./shared-a040d79d.js";import"./shared-fab8c705.js";import"./shared-5a54a9bc.js";import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-00d6a968.js";import"./shared-9221e6b2.js";import"./foxy-generate-codes-form.js";import"./foxy-gift-card-codes-form.js";import"./foxy-gift-card-code-form.js";import{T as e}from"./shared-625c1272.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-84d2d490.js";import{_ as t,h as r}from"./shared-63eaded9.js";import{C as s}from"./shared-5e2fd1c7.js";import{C as i}from"./shared-df730f90.js";import{N as a}from"./shared-39e3ae67.js";import{S as o,T as n,a as d,R as l}from"./shared-ae8cd227.js";import{i as c}from"./shared-6d45a07b.js";import{c as m}from"./shared-4e709717.js";import{E as h}from"./shared-3f965dce.js";import{F as f}from"./shared-023a97c2.js";import{G as g}from"./shared-027c537d.js";import{P as p}from"./shared-09c5f9f1.js";import"./shared-8b20bc23.js";import"./shared-ff79f3f9.js";import"./shared-3f0a9c2c.js";import"./shared-7f0a9790.js";import"./shared-5535f38f.js";import"./shared-65dfd512.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";import"./shared-07134f93.js";import"./shared-b710881a.js";import"./shared-d58c947c.js";import"./shared-340f7584.js";import"./shared-073cb8e9.js";import"./shared-b0f0e8b5.js";import"./shared-2061be9a.js";import"./shared-e55088b4.js";import"./foxy-nucleon-element.js";let u,y=e=>e;const $=i(o(n(a)));class x extends ${constructor(){super(...arguments),this.itemCategory="",this.giftCard=""}static get scopedElements(){return{"x-checkbox":s}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},giftCard:{type:String,attribute:"gift-card"}})}render(){return r(u||(u=y` <div class="h-full flex items-center"> <x-checkbox data-testid="checkbox" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </x-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{e.detail?(this.edit({item_category_uri:this.itemCategory,gift_card_uri:this.giftCard}),this.submit()):this.delete()}))}}let b,_=e=>e;const v=i(o(n(a)));class S extends v{constructor(){super(...arguments),this.itemCategory="",this.giftCard=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":x}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},giftCard:{type:String,attribute:"gift-card"}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:gift_card_item_categories"][0],s=t?void 0:this.href,i=t?t._links.self.href:void 0;return r(b||(b=_` <x-category-restrictions-page-item-content item-category="${0}" data-testid="content" gift-card="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.giftCard,c(s),this.group,c(i),!this.in("idle")||this.disabled,this.readonly)}}let k,j,w,C=e=>e;const T=i(o(n(d(a))));class E extends T{constructor(){super(...arguments),this.giftCardItemCategories="",this.giftCard=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":S}}static get properties(){return t(t({},super.properties),{},{giftCardItemCategories:{type:String,attribute:"gift-card-item-categories"},giftCard:{type:String,attribute:"gift-card"}})}render(){var e,t,s,i,a;const o=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:item_categories"])&&void 0!==t?t:[];let n=20;try{const e=parseInt(null!==(s=new URL(this.href).searchParams.get("limit"))&&void 0!==s?s:"");isNaN(e)||(n=e)}catch(e){}return r(k||(k=C` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),new Array(n).fill(0).map(((e,t)=>{const s=o[t];let i;if(s)try{const e=new URL(this.giftCardItemCategories),t=new URL(s._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),i=e.toString()}catch(e){}return i?r(w||(w=C` <x-category-restrictions-page-item data-testclass="item" item-category="${0}" gift-card="${0}" class="h-l" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),s._links.self.href,this.giftCard,this.group,i,!this.in("idle")||this.disabled,this.readonly,null==s?void 0:s.name):r(j||(j=C`<div class="h-l"></div>`))})),m({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(a=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==a?a:"")}}const O=["aed","afn","all","amd","ang","aoa","ars","aud","awg","azn","bam","bbd","bdt","bgn","bhd","bif","bmd","bnd","bob","brl","bsd","btc","btn","bwp","byn","bzd","cad","cdf","chf","clf","clp","cnh","cny","cop","crc","cuc","cup","cve","czk","djf","dkk","dop","dzd","egp","ern","etb","eur","fjd","fkp","gbp","gel","ggp","ghs","gip","gmd","gnf","gtq","gyd","hkd","hnl","hrk","htg","huf","idr","ils","imp","inr","iqd","irr","isk","jep","jmd","jod","jpy","kes","kgs","khr","kmf","kpw","krw","kwd","kyd","kzt","lak","lbp","lkr","lrd","lsl","lyd","mad","mdl","mga","mkd","mmk","mnt","mop","mru","mur","mvr","mwk","mxn","myr","mzn","nad","ngn","nio","nok","npr","nzd","omr","pab","pen","pgk","php","pkr","pln","pyg","qar","ron","rsd","rub","rwf","sar","sbd","scr","sdg","sek","sgd","shp","sll","sos","srd","ssp","std","stn","svc","syp","szl","thb","tjs","tmt","tnd","top","try","ttd","twd","tzs","uah","ugx","usd","uyu","uzs","vef","ves","vnd","vuv","wst","xaf","xag","xau","xcd","xdr","xof","xpd","xpf","xpt","yer","zar","zmw","zwl"];let z,q,R,N,D,P,L,Q,U,I,G,J,V,W,A,M,B,F,H,K,X,Y=e=>e;const Z=o(n(i(l(d(a,"gift-card-form")))));class ee extends Z{constructor(){super(...arguments),this.__codesTableColumns=[{header:e=>r(z||(z=Y`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(q||(q=Y` <vaadin-button theme="tertiary contrast" class="p-0" ?disabled="${0}" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> `),!this.in("idle")||this.disabledSelector.matches("codes",!0),(t=>{const r=this.renderRoot.querySelector("#code-dialog"),s=t.currentTarget;r.href=e.data._links.self.href,r.show(s)}),e.data.code)},{header:e=>r(R||(R=Y`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(N||(N=Y` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_created}),e.lang,e.ns)},{hideBelow:"sm",header:e=>r(D||(D=Y`<foxy-i18n lang="${0}" key="end_date" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>r(P||(P=Y` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.end_date}),e.lang,e.ns)},{header:e=>r(L||(L=Y`<foxy-i18n lang="${0}" key="current_balance" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>{var t;return r(Q||(Q=Y` <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"> </foxy-i18n> `),JSON.stringify({amount:`${e.data.current_balance} ${null===(t=this.data)||void 0===t?void 0:t.currency_code}`,currencyDisplay:this.__currencyDisplay}),e.lang,e.ns)}}],this.__codesTableQuery=null,this.__currencyDisplay="",this.__itemCategories=""}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"vaadin-button":customElements.get("vaadin-button"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-query-builder":customElements.get("foxy-query-builder"),"foxy-form-dialog":customElements.get("foxy-form-dialog"),"foxy-pagination":customElements.get("foxy-pagination"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-table":customElements.get("foxy-table"),"foxy-i18n":customElements.get("foxy-i18n"),"x-category-restrictions-page":E,"x-frequency-input":f,"x-property-table":p,"x-editable-list":h,"x-group":g}}static get properties(){return t(t({},super.properties),{},{__codesTableQuery:{attribute:!1},__itemCategories:{attribute:!1}})}static get v8n(){return[({name:e})=>!!e||"name_required",({name:e})=>!e||e.length<=50||"name_too_long"]}render(){var e,t;const s=this.hiddenSelector,i=s.matches("name",!0),a=s.matches("currency",!0),o=s.matches("expires",!0);return r(U||(U=Y` <div class="relative space-y-l"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i&&a&&o?"":r(I||(I=Y` <div class="grid grid-cols-1 sm-grid-cols-3 md-grid-cols-4 gap-m"> ${0} ${0} ${0} </div> `),i?"":r(G||(G=Y`<div class="md-col-span-2">${0}</div>`),this.__renderName()),a?"":this.__renderCurrency(),o?"":this.__renderExpires()),s.matches("codes",!0)||!this.data?"":this.__renderCodes(),s.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),s.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),s.matches("timestamps",!0)?"":this.__renderTimestamps(),s.matches("create",!0)||this.data?"":this.__renderCreate(),s.matches("delete",!0)||!this.data?"":this.__renderDelete(),m({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!this.in("busy")&&!this.in("fail")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:store"].href),r=new URL(t._links["fx:item_categories"].href);return r.searchParams.set("limit","5"),this.__currencyDisplay=t.use_international_currency_symbol?"code":"symbol",this.__itemCategories=r.toString(),e}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){var e;return r(J||(J=Y` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" data-testid="name" class="w-full" label="${0}" .checkValidity="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.__getErrorMessage("name"),this.t("gift_card_name_helper_text"),this.t("name"),this.__getValidator("name"),null!==(e=this.form.name)&&void 0!==e?e:"",!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderCurrency(){var e,t;return r(V||(V=Y` <div> ${0} <vaadin-combo-box item-label-path="label" item-value-path="value" item-id-path="value" data-testid="currency" class="w-full" label="${0}" ?disabled="${0}" ?readonly="${0}" .value="${0}" .items="${0}" @change="${0}"> </vaadin-combo-box> ${0} </div> `),this.renderTemplateOrSlot("currency:before"),this.t("currency"),!this.in("idle")||this.disabledSelector.matches("currency",!0),this.readonlySelector.matches("currency",!0),null!==(t=null===(e=this.form.currency_code)||void 0===e?void 0:e.toLowerCase())&&void 0!==t?t:"",O.map((e=>({label:`${this.t(`currency_${e}`)} (${e.toUpperCase()})`,value:e}))),(e=>{const t=e.currentTarget;this.edit({currency_code:t.value})}),this.renderTemplateOrSlot("currency:after"))}__renderExpires(){var e;return r(W||(W=Y` <div> ${0} <x-frequency-input placeholder="${0}" data-testid="expires" label="${0}" class="w-full" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </x-frequency-input> ${0} </div> `),this.renderTemplateOrSlot("expires:before"),this.t("select"),this.t("expires_after"),this.lang,this.ns,!this.in("idle")||this.disabledSelector.matches("expires",!0),this.readonlySelector.matches("expires",!0),null!==(e=this.form.expires_after)&&void 0!==e?e:"",(e=>{const t=e.currentTarget;this.edit({expires_after:t.value})}),this.renderTemplateOrSlot("expires:after"))}__renderCodes(){var e,t,s,i,a;const{disabledSelector:o,readonlySelector:n,hiddenSelector:d,group:l,data:c,lang:m,ns:h}=this,f=!this.in("idle")||o.matches("codes",!0),g=this.__codesTableQuery,p=new URL(c._links["fx:gift_card_codes"].href);new URLSearchParams(null!=g?g:"").forEach(((e,t)=>p.searchParams.set(t,e))),p.searchParams.set("limit","5");const u=null===g?"filter":"clear_filters",y="icons:"+(null===g?"filter-list":"clear");return r(A||(A=Y` <div data-testid="codes"> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="generate" parent="${0}" group="${0}" lang="${0}" form="foxy-generate-codes-form" ns="${0}" id="generate-codes-dialog" alert .related="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" header="code" parent="${0}" group="${0}" lang="${0}" form="foxy-gift-card-code-form" ns="${0}" id="code-dialog"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-gift-card-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> ${0} <div class="flex items-center justify-between mb-xs space-x-s"> <foxy-i18n class="text-s font-medium text-secondary leading-none flex-1" lang="${0}" key="code_plural" ns="${0}"> </foxy-i18n> <vaadin-button data-testid="codes:generate-button" theme="success tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="generate" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:add"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:import-button" theme="contrast tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="import" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:open-in-browser"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:filter-button" theme="contrast ${0} small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="${0}"></iron-icon> </vaadin-button> </div> <foxy-query-builder class="bg-contrast-5 rounded-tl-l rounded-tr-s rounded-b-l p-m mb-s" lang="${0}" ns="${0} ${0}" ?disabled="${0}" ?hidden="${0}" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-table class="px-m mb-s border border-contrast-10 rounded-t-l rounded-b-l" group="${0}" lang="${0}" ns="${0}" .columns="${0}"> </foxy-table> </foxy-pagination> ${0} </div> `),o.zoom("codes:generate:form").toString(),n.zoom("codes:generate:form").toString(),d.zoom("codes:generate:form").toString(),null!==(e=null==c?void 0:c._links["fx:generate_codes"].href)&&void 0!==e?e:"",l,m,h,[p.toString()],o.zoom("codes:form").toString(),n.zoom("codes:form").toString(),d.zoom("codes:form").toString(),p.toString(),l,m,h,o.zoom("codes:import:form").toString(),n.zoom("codes:import:form").toString(),d.zoom("codes:import:form").toString(),c._links["fx:gift_card_codes"].href,l,m,h,this.renderTemplateOrSlot("codes:before"),m,h,f,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),r=e.currentTarget;null==t||t.show(r)}),m,h,f,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),r=e.currentTarget;null==t||t.show(r)}),m,h,null===g?"tertiary":"",f,(()=>this.__codesTableQuery=null===g?"":null),m,u,h,y,m,h,null!==(s=null===(t=customElements.get("foxy-query-builder"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"",f,null===g,ee.__codesQueryOptions,null!=g?g:"",(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),p.toString(),m,h,null!==(a=null===(i=customElements.get("foxy-pagination"))||void 0===i?void 0:i.defaultNS)&&void 0!==a?a:"",f,l,m,h,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",s=!this.in("idle")||this.disabledSelector.matches(t,!0),i=this.readonlySelector.matches(t,!0),a=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",o=[{header:"allow",items:[]},{header:"block",items:[]}];return a&&a.split(",").forEach((e=>{const t=e.startsWith("-"),r=t?1:0,s=t?e.substring(1):e;o[r].items.push({label:s,value:e})})),r(M||(M=Y` <div data-testid="product-restrictions"> ${0} <div class="space-y-s"> <x-group frame> <foxy-i18n class="${0}" slot="header" lang="${0}" key="product_restrictions" ns="${0}"> </foxy-i18n> <div class="grid sm-grid-cols-2 bg-contrast-10" style="gap:1px"> ${0} </div> </x-group> <foxy-i18n class="${0}" lang="${0}" key="gift_card_product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),s?"text-disabled":"text-secondary",this.lang,this.ns,o.map(((e,t)=>r(B||(B=Y` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list data-testid="product-restrictions:${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),s?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,e.header,this.lang,this.ns,s,i,e.items,(e=>{const r=[0===t?e.currentTarget.items:o[0].items,1===t?e.currentTarget.items:o[1].items].map((e=>e.map((e=>e.value.replace(/^[\s-]*/,"").trimEnd())))).map((e=>e.filter((e=>!!e)))).map((e=>Array.from(new Set(e)))),s=r[0].concat(r[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:s})})))),m({"block text-xs leading-s transition-colors":!0,"text-secondary":!s,"text-disabled":s}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e,t,s;const i="category-restrictions",a=!this.in("idle")||this.disabledSelector.matches(i,!0),o=this.readonlySelector.matches(i,!0),n=null===(e=this.data)||void 0===e?void 0:e._links["fx:gift_card_item_categories"].href;return r(F||(F=Y` <div data-testid="category-restrictions"> ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" lang="${0}" key="category_restrictions" ns="${0}"> </foxy-i18n> <x-category-restrictions-page gift-card-item-categories="${0}" data-testid="category-restrictions:page" gift-card="${0}" class="border border-contrast-10 rounded-t-l rounded-b-l mb-s" group="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> </x-category-restrictions-page> </foxy-pagination> <foxy-i18n class="block text-xs leading-s text-secondary" lang="${0}" key="gift_card_category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),this.__itemCategories,this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-pagination"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"",a,this.lang,this.ns,c(n),this.href,this.group,this.lang,this.ns,a,o,this.lang,this.ns,this.renderTemplateOrSlot(`${i}:after`))}__renderTimestamps(){return r(H||(H=Y` <div> ${0} <x-property-table data-testid="timestamps" .items="${0}"> </x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),["date_modified","date_created"].map((e=>{var t;return{name:this.t(e),value:(null===(t=this.data)||void 0===t?void 0:t[e])?this.t("date",{value:new Date(this.data[e])}):""}})),this.renderTemplateOrSlot("timestamps:after"))}__renderCreate(){const e=this.in({idle:{template:{clean:"invalid"}}}),t=this.in({idle:{template:{dirty:"invalid"}}}),s=this.in({idle:{snapshot:{clean:"invalid"}}}),i=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=e||t||(s||i),o=this.in("busy");return r(K||(K=Y` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),o||a||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return r(X||(X=Y` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="primary error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}ee.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"current_balance",path:"current_balance",type:e.Number},{label:"end_date",path:"end_date",type:e.Date},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-gift-card-form",ee);export{ee as GiftCardForm};
@@ -1 +1 @@
1
- import{L as e,_ as t,h as r}from"./shared-63eaded9.js";import{i as n,a as s}from"./shared-9a40309d.js";import{F as a,A as o}from"./shared-1761daef.js";const i={type:"backend",init:()=>{},read:(e,t,r)=>{const n=async e=>{const t=e.ok?null:new Error(await e.text()),n=!!e.ok&&await e.json();r(t,n)},s=e=>{const t=e instanceof Error?e:new Error(String(e));r(t,!1)},i=new a("fetch",{cancelable:!0,composed:!0,bubbles:!0,request:new o.WHATWGRequest(`foxy://i18n/${t}/${e}`),resolve:n,reject:s});dispatchEvent(i),i.defaultPrevented||fetch(i.request).then(n).catch(s)},create:()=>{throw new Error("foxy-i18n does not support resource creation")}},c={percent:(e,t,r)=>{let n=null;try{"number"==typeof e&&(n=e.toLocaleString(r,{style:"percent"}))}catch(e){console.warn(`i18next formatter error: ${e.message}`)}return n||String(e)},price:(e,t,r,n)=>{var s;try{const[t,a]=e.split(" ");return parseFloat(t).toLocaleString(r,{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:null!==(s=null==n?void 0:n.currencyDisplay)&&void 0!==s?s:"symbol",style:"currency",currency:a})}catch(t){return e}},date:(e,t,r)=>{const n=new Date(e);return n.toLocaleDateString(r,{month:"long",year:(new Date).getFullYear()===n.getFullYear()?void 0:"numeric",day:"numeric"})},time:(e,t,r)=>new Date(e).toLocaleTimeString(r,{hour:"numeric",minute:"numeric"})};let l,u=e=>e;class d extends(s(e,"")){constructor(){super(...arguments),this.options={},this.key=""}static onTranslationChange(e){const t=["initialized","loaded"],r=["removed","added"];return t.forEach((t=>d.i18next.on(t,e))),r.forEach((t=>d.i18next.store.on(t,e))),()=>{t.forEach((t=>d.i18next.off(t,e))),r.forEach((t=>d.i18next.store.off(t,e)))}}static onResourceFetch(e){const t=t=>{if(t instanceof a&&t.request.url.startsWith("foxy://i18n/")){const[r,n]=t.request.url.split("/").reverse();t.respondWith(e(n,r))}};return addEventListener("fetch",t),()=>removeEventListener("fetch",t)}static setGateways({values:e}){for(const t in e)this.i18next.addResource("en","gateways",`gateways.${t}`,e[t].name)}static get properties(){return t(t({},super.properties),{},{options:{type:Object},key:{type:String}})}connectedCallback(){super.connectedCallback(),this.__unsubscribe=d.onTranslationChange((()=>this.requestUpdate()))}render(){return r(l||(l=u`<span>${0}</span>`),this.t(this.key,t(t({},this.options),{},{lng:this.lang})))}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.__unsubscribe)||void 0===e||e.call(this)}}d.FetchEvent=a,d.i18next=n.createInstance().use(i),d.i18next.init({interpolation:{format:(e,t="",r="en",n={})=>t.split(" ").filter((e=>!!e.trim())).reduce(((e,t)=>{var s,a;return null!==(a=null===(s=c[t])||void 0===s?void 0:s.call(c,e,t,r,n))&&void 0!==a?a:e}),e)},fallbackLng:"en",fallbackNS:"shared",defaultNS:"shared",ns:["shared"]}),customElements.define("foxy-i18n",d);export{d as I18n};
1
+ export{I as I18n}from"./shared-84d2d490.js";import"./shared-63eaded9.js";import"./shared-ae8cd227.js";import"./shared-5535f38f.js";
@@ -1 +1 @@
1
- export{a as Item,I as ItemsForm}from"./shared-35dbd2c5.js";import"./shared-63eaded9.js";import"./shared-0ced76a0.js";import"./shared-df573cea.js";import"./shared-ff79f3f9.js";import"./shared-87ca7818.js";import"./shared-46ee137f.js";import"./shared-f0a83bd6.js";import"./shared-9a40309d.js";import"./shared-d8ffb279.js";import"./shared-bb824ab4.js";import"./shared-ec861f31.js";import"./foxy-i18n.js";import"./shared-1761daef.js";import"./shared-b0f0e8b5.js";import"./shared-a46edf4b.js";import"./shared-07abcd7b.js";import"./shared-00563cb0.js";import"./shared-593f7e2c.js";import"./shared-6d45a07b.js";import"./shared-4e709717.js";import"./shared-b5147166.js";import"./shared-5c8b531d.js";import"./shared-60126eee.js";
1
+ export{a as Item,I as ItemsForm}from"./shared-8c8a910c.js";import"./shared-63eaded9.js";import"./shared-5a54a9bc.js";import"./shared-8b20bc23.js";import"./shared-ff79f3f9.js";import"./shared-84d2d490.js";import"./shared-ae8cd227.js";import"./shared-5535f38f.js";import"./shared-46ee137f.js";import"./shared-073cb8e9.js";import"./shared-023a97c2.js";import"./shared-65dfd512.js";import"./shared-a040d79d.js";import"./shared-fab8c705.js";import"./shared-b0f0e8b5.js";import"./shared-756034e4.js";import"./shared-3f0a9c2c.js";import"./shared-7f0a9790.js";import"./shared-df730f90.js";import"./shared-6d45a07b.js";import"./shared-4e709717.js";import"./shared-340f7584.js";import"./shared-60d43523.js";import"./shared-60126eee.js";
@@ -1 +1 @@
1
- import{N as e}from"./shared-44cfc617.js";export{N as NucleonElement}from"./shared-44cfc617.js";import"./shared-63eaded9.js";import"./shared-1761daef.js";import"./shared-00563cb0.js";import"./shared-7684cb05.js";import"./shared-a46edf4b.js";customElements.define("foxy-nucleon",e);
1
+ import{N as e}from"./shared-39e3ae67.js";export{N as NucleonElement}from"./shared-39e3ae67.js";import"./shared-63eaded9.js";import"./shared-5535f38f.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";customElements.define("foxy-nucleon",e);
@@ -0,0 +1 @@
1
+ import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-5a54a9bc.js";import"./shared-84d2d490.js";import{_ as e,h as t,L as s}from"./shared-63eaded9.js";import{C as i}from"./shared-df730f90.js";import{N as n}from"./shared-39e3ae67.js";import{R as a,T as r,a as o}from"./shared-ae8cd227.js";import{c as l}from"./shared-4e709717.js";import{a7 as c}from"./shared-5535f38f.js";import"./shared-ff79f3f9.js";import"./shared-8b20bc23.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let d,_=e=>e;const m=a(i(r(o(s,"pagination"))));class h extends m{constructor(){super(...arguments),this.__pageElement=null,this.__rerender=()=>this.requestUpdate(),this.__first=""}static get properties(){return e(e({},super.properties),{},{first:{type:String},__pageElement:{attribute:!1}})}get first(){return this.__first}set first(e){this.__first=e,this.__pageElement&&(this.__pageElement.href=e)}connectedCallback(){super.connectedCallback(),this.__connectPageElement()}render(){var e;const s=null===(e=this.__pageElement)||void 0===e?void 0:e.data,{disabled:i,lang:n,ns:a}=this,r=Number(c(s,"returned_items")),o=Number.isNaN(r)?0:r,m=Number(c(s,"total_items")),h=Number.isNaN(m)?0:m,f=Number(c(s,"offset")),p=Number.isNaN(f)?0:f,g=!i&&p>0,u=!i&&p+o<h,v="sr-only sm-not-sr-only";return t(d||(d=_` <slot @slotchange="${0}"></slot> <div class="grid grid-cols-3 gap-s items-center"> <div class="flex items-center space-x-s"> <vaadin-button data-testid="first" theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <iron-icon class="icon-inline text-s" icon="icons:first-page"></iron-icon> <foxy-i18n class="${0}" lang="${0}" key="first" ns="${0}"></foxy-i18n> </vaadin-button> <vaadin-button data-testid="prev" theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <iron-icon class="icon-inline text-s" icon="icons:chevron-left"></iron-icon> <foxy-i18n class="${0}" lang="${0}" key="previous" ns="${0}"></foxy-i18n> </vaadin-button> </div> <foxy-i18n options="${0}" class="${0}" lang="${0}" key="pagination" ns="${0}"> </foxy-i18n> <div class="flex items-center justify-end space-x-s"> <vaadin-button data-testid="next" theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n class="${0}" lang="${0}" key="next" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:chevron-right"></iron-icon> </vaadin-button> <vaadin-button data-testid="last" theme="contrast tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n class="${0}" lang="${0}" key="last" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:last-page"></iron-icon> </vaadin-button> </div> </div> `),this.__connectPageElement,!g,(()=>this.__goTo("first")),v,n,a,!g,(()=>this.__goTo("prev")),v,n,a,JSON.stringify({total:h,from:p?p+1:0,to:p+o}),l({"flex-1 text-xs text-tertiary text-center leading-xs":!0,"opacity-0":!s}),n,a,!u,(()=>this.__goTo("next")),v,n,a,!u,(()=>this.__goTo("last")),v,n,a)}disconnectedCallback(){super.disconnectedCallback(),this.__disconnectPageElement()}__goTo(e){var t;this.__pageElement.href=String(c(null===(t=this.__pageElement)||void 0===t?void 0:t.data,`_links.${e}.href`))}__disconnectPageElement(){var e;null===(e=this.__pageElement)||void 0===e||e.removeEventListener("update",this.__rerender),this.__pageElement=null}__connectPageElement(){var e;this.__disconnectPageElement();const t=this.renderRoot.querySelector("slot"),s=(null!==(e=null==t?void 0:t.assignedElements())&&void 0!==e?e:[]).find((e=>e instanceof n));s&&(this.__pageElement=s,this.__pageElement.addEventListener("update",this.__rerender),this.__pageElement.href=this.first)}}customElements.define("foxy-pagination",h);export{h as Pagination};
@@ -1 +1 @@
1
- import"./shared-9221e6b2.js";import"./foxy-i18n.js";import"./foxy-spinner.js";import{l as e,u as t}from"./shared-218ba06e.js";import{h as s}from"./shared-63eaded9.js";import{C as r}from"./shared-593f7e2c.js";import{N as i}from"./shared-44cfc617.js";import{T as a,a as n}from"./shared-9a40309d.js";import{c as o}from"./shared-4e709717.js";import"./shared-1761daef.js";import"./shared-46ee137f.js";import"./shared-ff79f3f9.js";import"./shared-60126eee.js";import"./shared-6d45a07b.js";import"./shared-00563cb0.js";import"./shared-7684cb05.js";import"./shared-a46edf4b.js";let d,l,c,p,u,f,h,m=e=>e;const v=a(r(n(i,"payment-card")));class y extends v{constructor(){super(...arguments),this.templates={},this.__currencyDisplay="",this.__currency=""}render(){var e,t;const r=this.hiddenSelector,i=r.matches("card-info",!0),a=r.matches("fraud-risk",!0);return s(d||(d=m` <div aria-busy="${0}" aria-live="polite" class="relative text-body text-m font-lumo leading-m focus-outline-none"> <div class="${0}"> ${0} ${0} ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),!this.data&&this.in("busy"),o({"relative transition duration-250 ease-in-out":!0,"opacity-0 pointer-events-none":!this.data}),r.matches("title",!0)?"":this.__renderTitle(),r.matches("subtitle",!0)?"":this.__renderSubtitle(),i&&a?"":s(l||(l=m` <div class="my-s flex space-x-s"> ${0} ${0} </div> `),i?"":this.__renderCardInfo(),a?"":this.__renderFraudRisk()),r.matches("processor-response",!0)?"":this.__renderProcessorResponse(),o({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),[t,s]=await Promise.all([super._fetch(e._links["fx:transaction"].href),super._fetch(e._links["fx:store"].href)]);return this.__currency=t.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",e}__renderTitle(){const e=this.data?`gateways.${this.data.gateway_type}`:"",t=`${this.ns} gateways`;return s(c||(c=m` <div class="text-m flex text-secondary" data-testid="title"> ${0} <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n>&ZeroWidthSpace; ${0} </div> `),this.renderTemplateOrSlot("title:before"),this.lang,e,t,this.renderTemplateOrSlot("title:after"))}__renderSubtitle(){var e,t,r,i;const a=`${null!==(t=null===(e=this.data)||void 0===e?void 0:e.amount)&&void 0!==t?t:""} ${this.__currency}`,n=JSON.stringify({amount:a,currencyDisplay:this.__currencyDisplay}),o=null!==(i=null===(r=this.data)||void 0===r?void 0:r.date_created)&&void 0!==i?i:"",d=JSON.stringify({value:o}),l=this.lang,c=this.ns;return s(p||(p=m` <div class="flex font-semibold text-m" data-testid="subtitle"> ${0} <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"></foxy-i18n> <span>&nbsp;&bull;&nbsp;</span> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"></foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("subtitle:before"),n,l,c,d,l,c,this.renderTemplateOrSlot("subtitle:after"))}__renderCardInfo(){var r,i,a,n;const o=this.data,d=(null!==(r=null==o?void 0:o.cc_type)&&void 0!==r?r:"unknown").toLowerCase(),l=null===(i=null==o?void 0:o.cc_exp_year)||void 0===i?void 0:i.substring(2),c=null==o?void 0:o.cc_exp_month,p=null===(a=null==o?void 0:o.cc_number_masked)||void 0===a?void 0:a.replace(/x/gi,"");if(c&&l&&p)return s(u||(u=m` <div class="flex" data-testid="card-info"> ${0} <div class="truncate flex items-center h-s rounded overflow-hidden bg-contrast-5"> <div class="h-s">${0}</div> <div class="text-m font-semibold px-s">•••• ${0} ${0}/${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("card-info:before"),null!==(n=e[d])&&void 0!==n?n:t,p,c,l,this.renderTemplateOrSlot("card-info:after"))}__renderFraudRisk(){var e,t;const r=null!==(t=null===(e=this.data)||void 0===e?void 0:e.fraud_protection_score)&&void 0!==t?t:0,i=r>0?"text-error":"text-success",a=r>0?"bg-error-10":"bg-success-10";return s(f||(f=m` <div class="flex" data-testid="fraud-risk"> ${0} <foxy-i18n options="${0}" class="truncate flex font-semibold h-s items-center px-s rounded text-m ${0} ${0}" lang="${0}" key="fraud_risk" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("fraud-risk:before"),JSON.stringify({score:r}),i,a,this.lang,this.ns,this.renderTemplateOrSlot("fraud-risk:after"))}__renderProcessorResponse(){var e;return s(h||(h=m` <div class="text-m text-tertiary" data-testid="processor-response"> ${0} ${0}&ZeroWidthSpace; ${0} </div> `),this.renderTemplateOrSlot("processor-response:before"),null===(e=this.data)||void 0===e?void 0:e.processor_response,this.renderTemplateOrSlot("processor-response:after"))}}customElements.define("foxy-payment-card",y);export{y as PaymentCard};
1
+ import"./shared-9221e6b2.js";import"./shared-84d2d490.js";import"./foxy-spinner.js";import{l as e,u as t}from"./shared-218ba06e.js";import{h as s}from"./shared-63eaded9.js";import{C as r}from"./shared-df730f90.js";import{N as i}from"./shared-39e3ae67.js";import{T as a,a as n}from"./shared-ae8cd227.js";import{c as o}from"./shared-4e709717.js";import"./shared-5535f38f.js";import"./shared-46ee137f.js";import"./shared-ff79f3f9.js";import"./shared-60126eee.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let d,l,c,p,u,f,h,m=e=>e;const v=a(r(n(i,"payment-card")));class _ extends v{constructor(){super(...arguments),this.templates={},this.__currencyDisplay="",this.__currency=""}render(){var e,t;const r=this.hiddenSelector,i=r.matches("card-info",!0),a=r.matches("fraud-risk",!0);return s(d||(d=m` <div aria-busy="${0}" aria-live="polite" class="relative text-body text-m font-lumo leading-m focus-outline-none"> <div class="${0}"> ${0} ${0} ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" class="m-auto" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),!this.data&&this.in("busy"),o({"relative transition duration-250 ease-in-out":!0,"opacity-0 pointer-events-none":!this.data}),r.matches("title",!0)?"":this.__renderTitle(),r.matches("subtitle",!0)?"":this.__renderSubtitle(),i&&a?"":s(l||(l=m` <div class="my-s flex space-x-s"> ${0} ${0} </div> `),i?"":this.__renderCardInfo(),a?"":this.__renderFraudRisk()),r.matches("processor-response",!0)?"":this.__renderProcessorResponse(),o({"transition duration-250 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),[t,s]=await Promise.all([super._fetch(e._links["fx:transaction"].href),super._fetch(e._links["fx:store"].href)]);return this.__currency=t.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",e}__renderTitle(){const e=this.data?`gateways.${this.data.gateway_type}`:"",t=`${this.ns} gateways`;return s(c||(c=m` <div class="text-m flex text-secondary" data-testid="title"> ${0} <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n>&ZeroWidthSpace; ${0} </div> `),this.renderTemplateOrSlot("title:before"),this.lang,e,t,this.renderTemplateOrSlot("title:after"))}__renderSubtitle(){var e,t,r,i;const a=`${null!==(t=null===(e=this.data)||void 0===e?void 0:e.amount)&&void 0!==t?t:""} ${this.__currency}`,n=JSON.stringify({amount:a,currencyDisplay:this.__currencyDisplay}),o=null!==(i=null===(r=this.data)||void 0===r?void 0:r.date_created)&&void 0!==i?i:"",d=JSON.stringify({value:o}),l=this.lang,c=this.ns;return s(p||(p=m` <div class="flex font-semibold text-m" data-testid="subtitle"> ${0} <foxy-i18n options="${0}" lang="${0}" key="price" ns="${0}"></foxy-i18n> <span>&nbsp;&bull;&nbsp;</span> <foxy-i18n options="${0}" lang="${0}" key="date" ns="${0}"></foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("subtitle:before"),n,l,c,d,l,c,this.renderTemplateOrSlot("subtitle:after"))}__renderCardInfo(){var r,i,a,n;const o=this.data,d=(null!==(r=null==o?void 0:o.cc_type)&&void 0!==r?r:"unknown").toLowerCase(),l=null===(i=null==o?void 0:o.cc_exp_year)||void 0===i?void 0:i.substring(2),c=null==o?void 0:o.cc_exp_month,p=null===(a=null==o?void 0:o.cc_number_masked)||void 0===a?void 0:a.replace(/x/gi,"");if(c&&l&&p)return s(u||(u=m` <div class="flex" data-testid="card-info"> ${0} <div class="truncate flex items-center h-s rounded overflow-hidden bg-contrast-5"> <div class="h-s">${0}</div> <div class="text-m font-semibold px-s">•••• ${0} ${0}/${0}</div> </div> ${0} </div> `),this.renderTemplateOrSlot("card-info:before"),null!==(n=e[d])&&void 0!==n?n:t,p,c,l,this.renderTemplateOrSlot("card-info:after"))}__renderFraudRisk(){var e,t;const r=null!==(t=null===(e=this.data)||void 0===e?void 0:e.fraud_protection_score)&&void 0!==t?t:0,i=r>0?"text-error":"text-success",a=r>0?"bg-error-10":"bg-success-10";return s(f||(f=m` <div class="flex" data-testid="fraud-risk"> ${0} <foxy-i18n options="${0}" class="truncate flex font-semibold h-s items-center px-s rounded text-m ${0} ${0}" lang="${0}" key="fraud_risk" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("fraud-risk:before"),JSON.stringify({score:r}),i,a,this.lang,this.ns,this.renderTemplateOrSlot("fraud-risk:after"))}__renderProcessorResponse(){var e;return s(h||(h=m` <div class="text-m text-tertiary" data-testid="processor-response"> ${0} ${0}&ZeroWidthSpace; ${0} </div> `),this.renderTemplateOrSlot("processor-response:before"),null===(e=this.data)||void 0===e?void 0:e.processor_response,this.renderTemplateOrSlot("processor-response:after"))}}customElements.define("foxy-payment-card",_);export{_ as PaymentCard};
@@ -1 +1 @@
1
- import"./shared-46ee137f.js";import"./shared-60126eee.js";import"./shared-0ced76a0.js";import"./shared-e5cbf291.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{l as e,u as t}from"./shared-218ba06e.js";import{x as s,h as i,j as a}from"./shared-63eaded9.js";import{B as r}from"./shared-1761daef.js";import{C as n}from"./shared-593f7e2c.js";import"./foxy-nucleon-element.js";import{T as o,a as d}from"./shared-9a40309d.js";import{c as l}from"./shared-4e709717.js";import{N as c}from"./shared-44cfc617.js";import"./shared-ff79f3f9.js";import"./shared-df573cea.js";import"./shared-07abcd7b.js";import"./shared-00563cb0.js";import"./shared-6d45a07b.js";import"./shared-7684cb05.js";import"./shared-a46edf4b.js";const m=s("\n repeating-radial-gradient(\n circle at -100% 500%,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 0.05) 4px\n )\n"),h=s(Object.entries({unknown:"#797c85",amex:"#2557d6",diners:"#0079be",discover:"#4d4d4d",jcb:"#0e4c96",maestro:"#181818",mastercard:"#16366f",unionpay:"#0dadb5",visa:"#0e4595"}).map((([e,t])=>`.bg-${e} { background: ${t} ${m} }`)).join(" "));let p,f,u,b,v,y,_,g=e=>e;const x=o(n(d(c,"payment-method-card")));class j extends x{constructor(){super(...arguments),this.templates={},this.__renderActionsDelete=()=>i(p||(p=g` <div class="flex"> ${0} <vaadin-button class="px-xs rounded" theme="icon" style="--lumo-primary-text-color:#fff;--lumo-primary-color-50pct:rgba(255, 255, 255, 0.5);--lumo-contrast-5pct:rgba(255, 255, 255, 0.05)" aria-label="${0}" data-testid="actions:delete" ?disabled="${0}" @click="${0}"> <iron-icon icon="icons:delete"></iron-icon> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("actions:delete:before"),this.t("delete").toString(),this.disabledSelector.matches("actions:delete",!0),this.__handleDelete,this.renderTemplateOrSlot("actions:delete:after")),this.__renderActions=()=>i(f||(f=g` <div class="flex" data-testid="actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("actions:before"),this.hiddenSelector.matches("actions:delete",!0)?"":this.__renderActionsDelete(),this.renderTemplateOrSlot("actions:after"))}static get styles(){return[super.styles,h,a(u||(u=g`.ratio-card{padding-top:63%;position:relative;height:0}.ratio-card>*{position:absolute;top:0;right:0;bottom:0;left:0}`))]}render(){var s,a,n,o,d,c;const{data:m,lang:h,ns:p}=this;if(this.in({idle:"template"})||!(null==m?void 0:m.save_cc)||!this.in("idle")){const e=this.in("fail")?"error":this.in("busy")?"busy":"empty";return i(b||(b=g` <div class="ratio-card" aria-live="polite" aria-busy="${0}" data-testid="wrapper"> <div class="h-full bg-contrast-5"></div> <div class="absolute inset-0 flex items-center justify-center"> <foxy-spinner data-testid="spinner" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),e,this.lang,p,null!==(a=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"")}const f=null!==(o=null===(n=m.cc_type)||void 0===n?void 0:n.toLowerCase())&&void 0!==o?o:"unknown",u=null!==(d=e[f])&&void 0!==d?d:t,x=null===(c=m.cc_number_masked)||void 0===c?void 0:c.substring(m.cc_number_masked.length-4);return i(v||(v=g` <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="ratio-card" data-testid="wrapper" aria-busy="${0}" aria-live="polite"> <div class="flex flex-col justify-between text-base text-m leading-m font-lumo p-m bg-unknown bg-${0}"> <div class="${0}"> ${0} <div class="ml-auto rounded h-m">${0}</div> </div> <div class="font-tnum leading-none flex justify-between"> <div data-testid="expiry"> ${0} </div> <div data-testid="number"> ${0} </div> </div> </div> </div> `),h,p,this.__handleConfirmHide,this.in("busy"),f,l({"flex items-start":!0,"justify-between":this.readonlyControls===r.False,"justify-end":this.readonlyControls===r.True}),this.hiddenSelector.matches("actions",!0)?"":this.__renderActions(),u,m.cc_exp_month&&m.cc_exp_year?i(y||(y=g` <span class="sr-only">${0}&nbsp;</span> <span>${0} / ${0}</span> `),this.t("expires").toString(),m.cc_exp_month,m.cc_exp_year):"",x?i(_||(_=g` <span class="sr-only">${0}&nbsp;</span> <span aria-hidden="true">••••</span> <span>${0}</span> `),this.t("last_4_digits").toString(),x):"")}async _sendDelete(){const e=JSON.stringify({save_cc:!1}),t=await this._fetch(this.href,{method:"PATCH",body:e});return c.Rumour(this.group).share({data:null,source:this.href,related:[this.parent]}),t}__handleDelete(e){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-payment-method-card",j);export{j as PaymentMethodCard};
1
+ import"./shared-46ee137f.js";import"./shared-60126eee.js";import"./shared-5a54a9bc.js";import"./shared-00d6a968.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./shared-84d2d490.js";import{l as e,u as t}from"./shared-218ba06e.js";import{x as s,h as i,j as a}from"./shared-63eaded9.js";import{B as r}from"./shared-5535f38f.js";import{C as n}from"./shared-df730f90.js";import"./foxy-nucleon-element.js";import{T as o,a as d}from"./shared-ae8cd227.js";import{c as l}from"./shared-4e709717.js";import{N as c}from"./shared-39e3ae67.js";import"./shared-ff79f3f9.js";import"./shared-8b20bc23.js";import"./shared-3f0a9c2c.js";import"./shared-7f0a9790.js";import"./shared-6d45a07b.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";const m=s("\n repeating-radial-gradient(\n circle at -100% 500%,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 0.05) 4px\n )\n"),h=s(Object.entries({unknown:"#797c85",amex:"#2557d6",diners:"#0079be",discover:"#4d4d4d",jcb:"#0e4c96",maestro:"#181818",mastercard:"#16366f",unionpay:"#0dadb5",visa:"#0e4595"}).map((([e,t])=>`.bg-${e} { background: ${t} ${m} }`)).join(" "));let p,f,u,b,v,y,_,g=e=>e;const j=o(n(d(c,"payment-method-card")));class x extends j{constructor(){super(...arguments),this.templates={},this.__renderActionsDelete=()=>i(p||(p=g` <div class="flex"> ${0} <vaadin-button class="px-xs rounded" theme="icon" style="--lumo-primary-text-color:#fff;--lumo-primary-color-50pct:rgba(255, 255, 255, 0.5);--lumo-contrast-5pct:rgba(255, 255, 255, 0.05)" aria-label="${0}" data-testid="actions:delete" ?disabled="${0}" @click="${0}"> <iron-icon icon="icons:delete"></iron-icon> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("actions:delete:before"),this.t("delete").toString(),this.disabledSelector.matches("actions:delete",!0),this.__handleDelete,this.renderTemplateOrSlot("actions:delete:after")),this.__renderActions=()=>i(f||(f=g` <div class="flex" data-testid="actions"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("actions:before"),this.hiddenSelector.matches("actions:delete",!0)?"":this.__renderActionsDelete(),this.renderTemplateOrSlot("actions:after"))}static get styles(){return[super.styles,h,a(u||(u=g`.ratio-card{padding-top:63%;position:relative;height:0}.ratio-card>*{position:absolute;top:0;right:0;bottom:0;left:0}`))]}render(){var s,a,n,o,d,c;const{data:m,lang:h,ns:p}=this;if(this.in({idle:"template"})||!(null==m?void 0:m.save_cc)||!this.in("idle")){const e=this.in("fail")?"error":this.in("busy")?"busy":"empty";return i(b||(b=g` <div class="ratio-card" aria-live="polite" aria-busy="${0}" data-testid="wrapper"> <div class="h-full bg-contrast-5"></div> <div class="absolute inset-0 flex items-center justify-center"> <foxy-spinner data-testid="spinner" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),e,this.lang,p,null!==(a=null===(s=customElements.get("foxy-spinner"))||void 0===s?void 0:s.defaultNS)&&void 0!==a?a:"")}const f=null!==(o=null===(n=m.cc_type)||void 0===n?void 0:n.toLowerCase())&&void 0!==o?o:"unknown",u=null!==(d=e[f])&&void 0!==d?d:t,j=null===(c=m.cc_number_masked)||void 0===c?void 0:c.substring(m.cc_number_masked.length-4);return i(v||(v=g` <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div class="ratio-card" data-testid="wrapper" aria-busy="${0}" aria-live="polite"> <div class="flex flex-col justify-between text-base text-m leading-m font-lumo p-m bg-unknown bg-${0}"> <div class="${0}"> ${0} <div class="ml-auto rounded h-m">${0}</div> </div> <div class="font-tnum leading-none flex justify-between"> <div data-testid="expiry"> ${0} </div> <div data-testid="number"> ${0} </div> </div> </div> </div> `),h,p,this.__handleConfirmHide,this.in("busy"),f,l({"flex items-start":!0,"justify-between":this.readonlyControls===r.False,"justify-end":this.readonlyControls===r.True}),this.hiddenSelector.matches("actions",!0)?"":this.__renderActions(),u,m.cc_exp_month&&m.cc_exp_year?i(y||(y=g` <span class="sr-only">${0}&nbsp;</span> <span>${0} / ${0}</span> `),this.t("expires").toString(),m.cc_exp_month,m.cc_exp_year):"",j?i(_||(_=g` <span class="sr-only">${0}&nbsp;</span> <span aria-hidden="true">••••</span> <span>${0}</span> `),this.t("last_4_digits").toString(),j):"")}async _sendDelete(){const e=JSON.stringify({save_cc:!1}),t=await this._fetch(this.href,{method:"PATCH",body:e});return c.Rumour(this.group).share({data:null,source:this.href,related:[this.parent]}),t}__handleDelete(e){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-payment-method-card",x);export{x as PaymentMethodCard};
@@ -1,69 +1 @@
1
- import"./shared-60126eee.js";import"./shared-46ee137f.js";import{s as e,h as l,_ as t,j as n,L as s}from"./shared-63eaded9.js";import{c as a}from"./shared-4e709717.js";import{i}from"./shared-6d45a07b.js";import{s as o}from"./shared-2061be9a.js";import{r}from"./shared-b710881a.js";import{R as d,T as u,a as c}from"./shared-9a40309d.js";import"./shared-ff79f3f9.js";var v,p;!function(e){e.Attribute="attribute",e.Boolean="boolean",e.String="string",e.Number="number",e.Date="date",e.Any="any"}(v||(v={})),function(e){e.LessThanOrEqual="lessthanorequal",e.LessThan="lessthan",e.GreaterThanOrEqual="greaterthanorequal",e.GreaterThan="greaterthan",e.IsDefined="isdefined",e.Not="not",e.In="in"}(p||(p={}));let f;const h=e(f||(f=(e=>e)`
2
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
3
- <path d="M26.4 14.7399C26.4 15.2922 25.9523 15.7399 25.4 15.7399H10.6C10.0477 15.7399 9.60001 15.2922 9.60001 14.7399V14.2C9.60001 13.6477 10.0477 13.2 10.6 13.2H25.4C25.9523 13.2 26.4 13.6477 26.4 14.2V14.7399ZM26.4 21.8C26.4 22.3523 25.9523 22.8 25.4 22.8H10.6C10.0477 22.8 9.60001 22.3523 9.60001 21.8V21.2601C9.60001 20.7078 10.0477 20.2601 10.6 20.2601H25.4C25.9523 20.2601 26.4 20.7078 26.4 21.2601V21.8Z" class="fill-current"/>
4
- </svg>
5
- `));let g;const C=e(g||(g=(e=>e)`
6
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
7
- <path d="M12.8656 14.6695C12.3425 14.4581 12 13.9503 12 13.386C12 12.3748 13.0489 11.7048 13.9663 12.1299L23.8937 16.7295C24.5323 17.0254 24.941 17.6652 24.941 18.369C24.941 19.0735 24.5316 19.7137 23.8921 20.0092L13.971 24.5938C13.0509 25.019 12 24.347 12 23.3334C12 22.7709 12.3394 22.264 12.8594 22.0496L21.341 18.3046L12.8656 14.6695Z" class="fill-current"/>
8
- </svg>
9
- `));let b;const m=e(b||(b=(e=>e)`
10
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
11
- <path d="M13.1293 19.569C12.6063 19.7786 12.264 20.2821 12.264 20.8416C12.264 21.8442 13.3124 22.5086 14.2296 22.0871L24.1531 17.5264C24.7915 17.233 25.2 16.5986 25.2 15.9008C25.2 15.2022 24.7907 14.5674 24.1515 14.2744L14.2342 9.72862C13.3144 9.30703 12.264 9.97337 12.264 10.9784C12.264 11.5361 12.6032 12.0388 13.1231 12.2513L21.6014 15.9646L13.1293 19.569Z" class="fill-current"/>
12
- <path fill-rule="evenodd" clip-rule="evenodd" d="M25.0832 20.8977C24.7867 20.2374 24.0068 19.9404 23.3411 20.2344L13.1498 24.7352C12.4841 25.0292 12.1847 25.8028 12.4811 26.4632C12.7775 27.1235 13.5575 27.4205 14.2232 27.1265L24.4144 22.6257C25.0802 22.3317 25.3796 21.5581 25.0832 20.8977Z" class="fill-current"/>
13
- </svg>
14
- `));let w;const x=e(w||(w=(e=>e)`
15
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
16
- <path d="M12.5 9.8C11.0088 9.8 9.8 11.0088 9.8 12.5V23.5C9.8 24.9912 11.0088 26.2 12.5 26.2H14C14.6627 26.2 15.2 25.6627 15.2 25C15.2 24.3373 14.6627 23.8 14 23.8H13.5C12.782 23.8 12.2 23.218 12.2 22.5V13.5C12.2 12.782 12.782 12.2 13.5 12.2H14C14.6627 12.2 15.2 11.6627 15.2 11C15.2 10.3373 14.6627 9.8 14 9.8H12.5Z" class="fill-current"/>
17
- <path d="M22 9.8C21.3373 9.8 20.8 10.3373 20.8 11C20.8 11.6627 21.3373 12.2 22 12.2H22.5C23.218 12.2 23.8 12.782 23.8 13.5V22.5C23.8 23.218 23.218 23.8 22.5 23.8H22C21.3373 23.8 20.8 24.3373 20.8 25C20.8 25.6627 21.3373 26.2 22 26.2H23.5C24.9912 26.2 26.2 24.9912 26.2 23.5V12.5C26.2 11.0088 24.9912 9.8 23.5 9.8H22Z" class="fill-current"/>
18
- </svg>
19
- `));let V;const H=e(V||(V=(e=>e)`
20
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
21
- <path fill-rule="evenodd" clip-rule="evenodd" d="M20.05 23.58L20.04 23.59L17.64 21.19L18.7 20.13L20.05 21.48L22.54 19L23.6 20.06L20.06 23.6L20.05 23.58ZM18 8C12.5 8 8 12.5 8 18C8 23.5 12.5 28 18 28C23.5 28 28 23.5 28 18C28 12.5 23.5 8 18 8ZM13.34 12.28L14.75 13.69L16.16 12.28L17.22 13.34L15.81 14.75L17.22 16.16L16.16 17.22L14.75 15.81L13.34 17.22L12.28 16.16L13.69 14.75L12.28 13.34L13.34 12.28ZM18 26C15.8 26 13.8 25.1 12.3 23.7L23.7 12.3C25.1 13.8 26 15.8 26 18C26 22.4 22.4 26 18 26Z" class="fill-current"/>
22
- </svg>
23
- `));let $;const L=e($||($=(e=>e)`
24
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
25
- <path d="M22.8754 22.054C23.3985 22.2655 23.741 22.7733 23.741 23.3375C23.741 24.3487 22.6922 25.0187 21.7747 24.5936L11.8473 19.994C11.2087 19.6981 10.8 19.0583 10.8 18.3545C10.8 17.65 11.2094 17.0098 11.8489 16.7143L21.7701 12.1297C22.6902 11.7045 23.741 12.3765 23.741 13.3902C23.741 13.9526 23.4017 14.4596 22.8816 14.6739L14.4 18.4189L22.8754 22.054Z" class="fill-current"/>
26
- </svg>
27
- `));let y;const M=e(y||(y=(e=>e)`
28
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
29
- <path d="M22.8754 19.654C23.3985 19.8655 23.741 20.3733 23.741 20.9375C23.741 21.9487 22.6922 22.6187 21.7747 22.1936L11.8473 17.594C11.2087 17.2981 10.8 16.6584 10.8 15.9545C10.8 15.25 11.2094 14.6098 11.8489 14.3143L21.7701 9.72971C22.6902 9.30453 23.741 9.97655 23.741 10.9902C23.741 11.5527 23.4017 12.0596 22.8816 12.2739L14.4 16.0189L22.8754 19.654Z" class="fill-current"/>
30
- <path fill-rule="evenodd" clip-rule="evenodd" d="M10.9169 20.9941C11.2134 20.3281 11.9937 20.0286 12.6597 20.3251L22.8548 24.8643C23.5208 25.1608 23.8203 25.9411 23.5238 26.6071C23.2273 27.2731 22.447 27.5726 21.781 27.2761L11.5859 22.7369C10.9199 22.4404 10.6204 21.6601 10.9169 20.9941Z" class="fill-current"/>
31
- </svg>
32
- `));let Z;const N=e(Z||(Z=(e=>e)`
33
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
34
- <path fill-rule="evenodd" clip-rule="evenodd" d="M24.0049 7.11C24.6649 7.49107 24.8911 8.33507 24.51 8.99511L13.1621 28.6503C12.781 29.3103 11.937 29.5365 11.277 29.1554C10.6169 28.7743 10.3908 27.9303 10.7719 27.2703L22.1198 7.61511C22.5009 6.95507 23.3448 6.72892 24.0049 7.11Z" class="fill-current"/>
35
- <path d="M17.5097 13.2H10.8C10.1373 13.2 9.60001 13.7373 9.60001 14.4V14.5399C9.60001 15.2026 10.1373 15.7399 10.8 15.7399H16.0433L17.5097 13.2Z" class="fill-current"/>
36
- <path d="M13.4336 20.2601H10.8C10.1373 20.2601 9.60001 20.7973 9.60001 21.4601V21.6C9.60001 22.2627 10.1373 22.8 10.8 22.8H11.9671L13.4336 20.2601Z" class="fill-current"/>
37
- <path d="M17.9254 22.8H25.2C25.8627 22.8 26.4 22.2627 26.4 21.6V21.4601C26.4 20.7973 25.8627 20.2601 25.2 20.2601H19.3918L17.9254 22.8Z" class="fill-current"/>
38
- <path d="M22.0015 15.7399H25.2C25.8627 15.7399 26.4 15.2026 26.4 14.5399V14.4C26.4 13.7373 25.8627 13.2 25.2 13.2H23.468L22.0015 15.7399Z" class="fill-current"/>
39
- </svg>
40
- `));let I;const j=e(I||(I=(e=>e)`
41
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
42
- <path fill-rule="evenodd" clip-rule="evenodd" d="M18 8C12.48 8 8 12.48 8 18C8 23.52 12.48 28 18 28C23.52 28 28 23.52 28 18C28 12.48 23.52 8 18 8ZM18 26C13.59 26 10 22.41 10 18C10 13.59 13.59 10 18 10C22.41 10 26 13.59 26 18C26 22.41 22.41 26 18 26Z" class="fill-current"/>
43
- <path fill-rule="evenodd" clip-rule="evenodd" d="M19.49 17.38C19.92 16.16 19.66 14.74 18.68 13.76C17.57 12.65 15.89 12.46 14.58 13.17L16.93 15.52L15.52 16.93L13.17 14.58C12.46 15.9 12.65 17.57 13.76 18.68C14.74 19.66 16.16 19.92 17.38 19.49L20.79 22.9C20.99 23.1 21.3 23.1 21.5 22.9L22.9 21.5C23.1 21.3 23.1 20.99 22.9 20.79L19.49 17.38Z" class="fill-current"/>
44
- </svg>
45
- `));let B;const A=e(B||(B=(e=>e)`
46
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
47
- <path d="M10 13V15C10 15.55 9.55 16 9 16H8V20H9C9.55 20 10 20.45 10 21V23C10 24.65 11.35 26 13 26H16V24H13C12.45 24 12 23.55 12 23V21C12 19.7 11.16 18.58 10 18.17V17.83C11.16 17.42 12 16.3 12 15V13C12 12.45 12.45 12 13 12H16V10H13C11.35 10 10 11.35 10 13Z" class="fill-current"/>
48
- <path d="M27 16C26.45 16 26 15.55 26 15V13C26 11.35 24.65 10 23 10H20V12H23C23.55 12 24 12.45 24 13V15C24 16.3 24.84 17.42 26 17.83V18.17C24.84 18.58 24 19.69 24 21V23C24 23.55 23.55 24 23 24H20V26H23C24.65 26 26 24.65 26 23V21C26 20.45 26.45 20 27 20H28V16H27Z" class="fill-current"/>
49
- </svg>
50
- `));let T;const D=e(T||(T=(e=>e)`
51
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
52
- <path d="M23.8333 17.0588H22.0833V11.7647H20.3333V10H23.8333V17.0588Z" class="fill-current"/>
53
- <path d="M15.6667 10H12.1667C11.525 10 11 10.5294 11 11.1765V15.8824C11 16.5294 11.525 17.0588 12.1667 17.0588H15.6667C16.3083 17.0588 16.8333 16.5294 16.8333 15.8824V11.1765C16.8333 10.5294 16.3083 10 15.6667 10ZM15.0833 15.2941H12.75V11.7647H15.0833V15.2941Z" class="fill-current"/>
54
- <path d="M15.6667 26.4706H13.9167V21.1765H12.1667V19.4118H15.6667V26.4706Z" class="fill-current"/>
55
- <path d="M23.8333 19.4118H20.3333C19.6917 19.4118 19.1667 19.9412 19.1667 20.5882V25.2941C19.1667 25.9412 19.6917 26.4706 20.3333 26.4706H23.8333C24.475 26.4706 25 25.9412 25 25.2941V20.5882C25 19.9412 24.475 19.4118 23.8333 19.4118ZM23.25 24.7059H20.9167V21.1765H23.25V24.7059Z" class="fill-current"/>
56
- </svg>
57
- `));let _;const O=e(_||(_=(e=>e)`
58
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
59
- <path d="M25 10H24V8H22V10H14V8H12V10H11C9.89 10 9.01 10.9 9.01 12L9 26C9 27.1 9.89 28 11 28H25C26.1 28 27 27.1 27 26V12C27 10.9 26.1 10 25 10ZM25 26H11V16H25V26ZM25 14H11V12H25V14ZM23 19H18V24H23V19Z" class="fill-current"/>
60
- </svg>
61
- `));let q;const E=e(q||(q=(e=>e)`
62
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
63
- <path d="M26.5 16L27 14H23L24 10H22L21 14H17L18 10H16L15 14H11L10.5 16H14.5L13.5 20H9.5L9 22H13L12 26H14L15 22H19L18 26H20L21 22H25L25.5 20H21.5L22.5 16H26.5ZM19.5 20H15.5L16.5 16H20.5L19.5 20Z" class="fill-current"/>
64
- </svg>
65
- `));let S;const k=e(S||(S=(e=>e)`
66
- <svg class="w-full h-full" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
67
- <path d="M11 11V14H16.5V26H19.5V14H25V11H11Z" class="fill-current"/>
68
- </svg>
69
- `));let z,R,G,U,F,W=e=>e;function J(e){var t,n,s;const i=null===(n=null===(t=e.list)||void 0===t?void 0:t.every((l=>l.value!==e.value)))||void 0===n||n;return l(z||(z=W` <label class="flex items-center cursor-pointer transition-colors group text-tertiary hover-bg-contrast-5"> <div class="relative flex-1 min-w-0 overflow-hidden"> <select class="${0}" @change="${0}"> ${0} ${0} </select> </div> ${0} </label> `),a({"cursor-pointer bg-transparent relative appearance-none flex h-m px-s":!0,"font-medium w-full max-w-full whitespace-nowrap focus-outline-none":!0,"text-tertiary":i,"text-body":!i}),(l=>{const t=l.currentTarget,n=t.options[t.options.selectedIndex].value;e.onChange(n)}),i?l(R||(R=W`<option value disabled="disabled" ?selected="${0}">${0}</option>`),i,e.t(e.label)):"",null===(s=e.list)||void 0===s?void 0:s.map((({label:t,value:n})=>l(G||(G=W` <option value="${0}" ?selected="${0}"> ${0} </option> `),n,n===e.value,e.t(t)))),i?"":l(U||(U=W` <span class="font-tnum text-xs font-medium border mr-s px-xs rounded-s border-current inline-block"> ${0} </span> ${0} `),e.t(e.label),e.clearable?l(F||(F=W` <button aria-label="${0}" class="w-s h-s mr-xs text-body flex items-center justify-center transition-colors rounded-full focus-outline-none focus-ring-2 focus-ring-primary-50 hover-bg-contrast-5 hover-text-error" @click="${0}"> <iron-icon aria-hidden="true" class="icon-inline text-l" icon="icons:remove-circle-outline"> </iron-icon> </button> `),e.t("delete"),(()=>e.onChange(""))):""))}let K,P,Q,X,Y,ee=e=>e;function le(e){var t;const n=`${null!==(t=e.id)&&void 0!==t?t:String(Math.floor(Math.random()*Math.pow(10,8)))}-list`,s=!!e.displayValue;let r=e.value;if("date"===e.type){const l=new Date(e.value);isNaN(l.getTime())||(r=o(l))}return l(K||(K=ee` <label class="relative flex items-center cursor-text group text-tertiary"> <div class="relative flex-1 min-w-0 overflow-hidden"> ${0} <input placeholder="${0}" class="${0}" list="${0}" type="${0}" .value="${0}" ?disabled="${0}" @input="${0}"> </div> <span class="${0}"> ${0} </span> ${0} ${0} </label> `),s?l(P||(P=ee` <div aria-hidden="true" class="absolute inset-0 h-m px-s font-medium text-body flex items-center"> <div class="truncate">${0}</div> </div> `),e.t(e.displayValue)):"",r||"date"===e.type?"":e.t(e.label),a({"bg-base text-body relative appearance-none flex h-m px-s font-medium w-full":!0,"flex max-w-full whitespace-nowrap":!0,"focus-outline-none":!0,"opacity-0 focus-opacity-100":s}),i(e.list?n:void 0),e.type,r,e.disabled,(l=>{var t,n;const s=l.currentTarget;"date"===e.type?e.onChange(null!==(n=null===(t=s.valueAsDate)||void 0===t?void 0:t.toISOString())&&void 0!==n?n:s.value):e.onChange(s.value)}),a({"font-tnum text-xs font-medium border border-current mr-s px-xs rounded-s":!0,"inline-block":!!r||"date"===e.type,"sr-only":!r&&"date"!==e.type}),e.t(e.label),e.list?l(Q||(Q=ee` <datalist id="${0}"> ${0} </datalist> `),n,e.list.map((({label:t,value:n})=>l(X||(X=ee`<option value="${0}">${0}</option>`),n,e.t(t))))):"",e.disabled?"":l(Y||(Y=ee` <div class="absolute inset-0 transition-colors bg-transparent group-hover-bg-contrast-5 pointer-events-none"></div> `)))}let te,ne,se=e=>e;let ae,ie=e=>e;function oe({parsedValue:e,option:l,options:n,t:s,onChange:a}){return le({displayValue:null==l?void 0:l.label,value:e.path,label:"field",list:n.map((e=>t(t({},e),{},{value:e.path}))),type:"text",id:"path",t:s,onChange:e=>a({operator:null,value:"",path:e})})}let re,de=e=>e;let ue,ce,ve=e=>e;function pe(e){var n,s;const{parsedValue:i,options:o,t:d,isNested:u,isFullSize:c,onChange:f,onDelete:g,onConvert:b}=e,w=null!==(n=o.find((e=>e.path===i.path)))&&void 0!==n?n:null,V=null!==(s=null==w?void 0:w.type)&&void 0!==s?s:v.Any,$=i.operator,y={parsedValue:i,option:w,options:o,t:d,onChange:f},Z={[v.Attribute]:A,[v.Boolean]:D,[v.Number]:E,[v.String]:k,[v.Date]:O,[v.Any]:j};return l(ue||(ue=ve` <div class="flex items-center space-x-s" aria-label="${0}"> <div class="${0}"> <div class="bg-contrast-10"> <div class="grid gap-1px grid-vertical sm-grid-horizontal"> <div class="bg-base" title="${0}"> <div class="w-m h-m text-tertiary" aria-hidden="true"> ${0} </div> </div> <div class="bg-base"> ${0} </div> <div class="bg-base">${0}</div> <div class="bg-base"> ${0} </div> </div> </div> </div> <div class="${0}"> <button aria-label="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <iron-icon aria-hidden="true" class="m-auto icon-inline text-xl" icon="icons:remove-circle-outline"> </iron-icon> </button> <button aria-label="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <iron-icon aria-hidden="true" class="m-auto icon-inline text-xl" icon="icons:add-circle-outline"> </iron-icon> </button> </div> </div> `),d("query_builder_rule"),a({"flex-1 bg-base rounded overflow-hidden border":!0,"border-contrast-10":!u,"border-contrast-50":!!u}),d(`type_${V}`),w?Z[V]:j,i.path&&(V===v.Attribute||i.name)?l(ce||(ce=ve` <div class="bg-contrast-10 grid gap-1px grid-cols-1 sm-grid-cols-2"> <div class="bg-base">${0}</div> <div class="bg-base">${0}</div> </div> `),oe(y),function(e){var l;return le({value:null!==(l=e.parsedValue.name)&&void 0!==l?l:"",label:"name",type:"text",t:e.t,onChange:l=>e.onChange(t(t({},e.parsedValue),{},{name:l}))})}(y)):oe(y),function(e){const n=e.parsedValue.operator,s={[p.GreaterThan]:C,[p.GreaterThanOrEqual]:m,[p.In]:x,[p.IsDefined]:H,[p.LessThan]:L,[p.LessThanOrEqual]:M,[p.Not]:N},i={[v.Attribute]:[p.In,p.Not,p.IsDefined],[v.Boolean]:[],[v.String]:[p.In,p.Not],[v.Number]:[p.In,p.Not,p.GreaterThan,p.LessThan,p.GreaterThanOrEqual,p.LessThanOrEqual],[v.Date]:[p.In,p.Not],[v.Any]:Object.values(p)},o=e.option?i[e.option.type]:e.parsedValue.name?Object.values(p):Object.values(p).filter((e=>e!==p.IsDefined)),r=0===o.length||!e.parsedValue.path;return l(ae||(ae=ie` <button title="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <div aria-hidden="true">${0}</div> </button> `),e.t(`operator_${null!=n?n:"equal"}`),a({"flex items-center justify-center w-m h-m transition-colors":!0,"focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50":!0,"text-tertiary cursor-default":r,"hover-bg-contrast-5":!r}),r,(()=>{var l;const s=n?o.indexOf(n):-1,a=null!==(l=o[s+1])&&void 0!==l?l:null;e.onChange(t(t({},e.parsedValue),{},{operator:a,value:e.parsedValue.value}))}),n?s[n]:h)}(y),$===p.In?function(e){var n,s,a,i;const o=(null===(n=e.option)||void 0===n?void 0:n.list)?J:le,d=e.parsedValue.value.split(","),u=null!==(a=null===(s=e.option)||void 0===s?void 0:s.type)&&void 0!==a?a:v.Any,c=u===v.Number?"number":u===v.Date?"date":"text",p=null===(i=e.option)||void 0===i?void 0:i.list;return l(te||(te=se` <div class="bg-contrast-10 grid grid-cols-1 gap-1px"> ${0} </div> `),r([...d.filter((e=>!!e)),null],((e,l)=>l),((n,s)=>{var a;return l(ne||(ne=se` <div class="bg-base"> ${0} </div> `),o({type:c,list:p,t:e.t,value:null!=n?n:"",label:n?String(s+1):"add_value",clearable:!0,displayValue:null===(a=null==p?void 0:p.find((e=>e.value===n)))||void 0===a?void 0:a.label,onChange:l=>{l?d[s]=l:d.splice(s,1),e.onChange(t(t({},e.parsedValue),{},{value:d.join(",")}))}}))})))}(y):$===p.IsDefined?function(e){return J({value:e.parsedValue.value,label:"value",list:[{label:"is_defined_true",value:"true"},{label:"is_defined_false",value:"false"}],t:e.t,onChange:l=>e.onChange(t(t({},e.parsedValue),{},{value:l}))})}(y):V===v.Boolean?function(e){var l,n,s,a,i,o;const{parsedValue:r,option:d,t:u,onChange:c}=e,v=null!==(s=null===(n=null===(l=null==d?void 0:d.list)||void 0===l?void 0:l.find((e=>"false"===e.value)))||void 0===n?void 0:n.label)&&void 0!==s?s:"false",p=[{label:null!==(o=null===(i=null===(a=null==d?void 0:d.list)||void 0===a?void 0:a.find((e=>"true"===e.value)))||void 0===i?void 0:i.label)&&void 0!==o?o:"true",value:"true"},{label:v,value:"false"}];return J({value:r.value,label:"value",list:p,t:u,onChange:e=>c(t(t({},r),{},{value:e}))})}(y):null===$&&[v.Number,v.Date].includes(V)?function(e){var n,s,a;const{t:i,parsedValue:o,option:r,onChange:d}=e,[u,c]=o.value.split(".."),p=(null==r?void 0:r.list)?J:le,f=null!==(n=null==r?void 0:r.type)&&void 0!==n?n:v.Any,h=f===v.Number?"number":f===v.Date?"date":"text",g=null==r?void 0:r.list;return l(re||(re=de` <div class="grid bg-contrast-10 gap-1px grid-cols-1 grid-rows-2 sm-grid-cols-2 sm-grid-rows-1"> <div class="bg-base"> ${0} </div> <div class="bg-base"> ${0} </div> </div> `),p({displayValue:null===(s=null==g?void 0:g.find((e=>e.value===u)))||void 0===s?void 0:s.label,value:u,label:"range_from",type:h,list:g,t:i,onChange:e=>d(t(t({},o),{},{value:`${e}..${c}`}))}),p({displayValue:null===(a=null==g?void 0:g.find((e=>e.value===c)))||void 0===a?void 0:a.label,label:"range_to",value:c,type:h,list:g,t:i,onChange:e=>d(t(t({},o),{},{value:`${u}..${e}`}))}))}(y):function(e){var l,n,s,a;const{t:i,option:o,parsedValue:r,onChange:d}=e,u=(null==o?void 0:o.list)?J:le,c=null!==(l=null==o?void 0:o.type)&&void 0!==l?l:v.Any;return u({displayValue:null===(s=null===(n=null==o?void 0:o.list)||void 0===n?void 0:n.find((e=>e.value===r.value)))||void 0===s?void 0:s.label,disabled:!r.path,value:null!==(a=r.value)&&void 0!==a?a:"",label:"value",type:c===v.Number?"number":c===v.Date?"date":"text",list:null==o?void 0:o.list,t:i,onChange:e=>d(t(t({},r),{},{value:e}))})}(y),a({"-mr-s self-start flex-col sm-flex-row flex-shrink-0 items-center":!0,"border-t border-b border-transparent divide-y divide-transparent":!0,hidden:!!c,flex:!c}),d("delete"),a({"box-content flex w-m h-m rounded-full transition-colors":!0,"text-secondary hover-bg-contrast-5 hover-text-error":!0,"focus-outline-none focus-ring-2 ring-primary-50":!0,"opacity-0":!i.path}),!i.path,g,d("add_or_clause"),a({"box-content flex w-m h-m rounded-full transition-colors text-success":!0,"hover-bg-contrast-5 focus-outline-none focus-ring-2 ring-primary-50":!0,"opacity-0":!i.path||!!u}),!i.path,b)}let fe,he,ge,Ce,be=e=>e;function me(e){const n=l(fe||(fe=be`<div class="h-xs"></div>`)),s=l(he||(he=be` <div class="flex items-center h-s"> <div class="w-m text-center leading-none uppercase font-semibold text-xs text-contrast-30"> ${0} </div> <div class="flex-1 border-t border-contrast-20"></div> <div class="w-m ml-s flex-shrink-0"></div> <div class="hidden sm-block w-m flex-shrink-0"></div> </div> `),e.t("or"));return l(ge||(ge=be` <div aria-label="${0}"> ${0} </div> `),e.t("query_builder_group"),r([...e.parsedValues,null],((e,l)=>String(l)),((a,i)=>{const o=i>0?e.isNested?s:n:"";return null===a?[o,pe({isFullSize:!e.isNested&&0===e.parsedValues.length,isNested:e.isNested,options:e.options,parsedValue:{path:"",operator:null,value:""},t:e.t,onChange:l=>e.onChange([...e.parsedValues,l])})]:Array.isArray(a)?[o,l(Ce||(Ce=be` <div class="bg-contrast-10 rounded-t-l rounded-b-l p-s -m-s"> ${0} </div> `),me({parsedValues:a,isNested:!0,options:e.options,t:e.t,onChange:l=>{const t=[...e.parsedValues],n=l;t[i]=l.length>1?n:n[0],e.onChange(t)}}))]:[o,pe({parsedValue:a,isNested:e.isNested,options:e.options,t:e.t,onChange:l=>{const t=[...e.parsedValues];t[i]=l,e.onChange(t)},onDelete:()=>{const l=e.parsedValues.filter(((e,l)=>l!==i));e.onChange(l)},onConvert:()=>{const l=[...e.parsedValues];l[i]=[a,t(t({},a),{},{operator:null,value:""})],e.onChange(l)}})]})))}function we(e){var l;const[t,n]=e.split("=").map(decodeURIComponent),s=null!==(l=Object.values(p).find((e=>t.endsWith(`:${e}`))))&&void 0!==l?l:null;let a,i=t.substring(0,s?t.lastIndexOf(":"):void 0);const o=t.lastIndexOf("[");return i.endsWith("]")&&-1!==o&&(a=i.substring(o+1,i.length-1),i=i.substring(0,o)),{name:a,path:i,value:n,operator:s}}function xe(e){let l=e.path;return e.name&&(l+=`[${e.name}]`),e.operator&&(l+=`:${e.operator}`),l=`${encodeURIComponent(l)}=${encodeURIComponent(e.value)}`,"="===l?"":l}let Ve;const He=n(Ve||(Ve=(e=>e)`.gap-1px{gap:1px}.grid-vertical{grid-template:auto/var(--lumo-size-m) 1fr}:host([sm]) .sm-grid-horizontal{grid-template:auto/var(--lumo-size-m) 1fr var(--lumo-size-m) 1fr}`)),$e=d(u(c(s,"query-builder")));class Le extends $e{constructor(){super(...arguments),this.options=null,this.value=null}static get properties(){return t(t({},super.properties),{},{options:{type:Array},value:{type:String}})}static get styles(){return[super.styles,He]}render(){var e,l,t;return me({parsedValues:(t=null!==(e=this.value)&&void 0!==e?e:"",t.split("&").filter((e=>!!e)).map((e=>{const[l,t]=e.split("=").map(decodeURIComponent);return(null==t?void 0:t.includes("|"))?`${encodeURIComponent(l)}=${t}`.split("|").map((e=>we(e))):we(e)}))),options:null!==(l=this.options)&&void 0!==l?l:[],t:this.t.bind(this),onChange:e=>{this.value=function(e){return e.map((e=>{if(Array.isArray(e)){const l=[e[0].value,e.slice(1).map((e=>xe(e)))].join("|");return`${e[0].path}=${encodeURIComponent(l)}`}return xe(e)})).join("&")}(e),this.dispatchEvent(new Le.ChangeEvent("change"))}})}}Le.ChangeEvent=class extends CustomEvent{},Le.Operator=p,Le.Type=v,customElements.define("foxy-query-builder",Le);export{Le as QueryBuilder};
1
+ import"./shared-60126eee.js";import"./shared-46ee137f.js";export{Q as QueryBuilder}from"./shared-625c1272.js";import"./shared-ff79f3f9.js";import"./shared-63eaded9.js";import"./shared-4e709717.js";import"./shared-6d45a07b.js";import"./shared-2061be9a.js";import"./shared-b710881a.js";import"./shared-ae8cd227.js";
@@ -1 +1 @@
1
- import"./shared-200f613b.js";import"./shared-bb824ab4.js";import"./shared-94b0ae99.js";import"./shared-16f72e27.js";import"./shared-0ced76a0.js";import"./shared-df573cea.js";import"./shared-46ee137f.js";import"./shared-f0a83bd6.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as e,_ as t}from"./shared-63eaded9.js";import{C as r}from"./shared-593f7e2c.js";import{N as i}from"./shared-44cfc617.js";import{T as n,a as o}from"./shared-9a40309d.js";import{c as a}from"./shared-4e709717.js";import{i as s}from"./shared-6d45a07b.js";import{v as d}from"./shared-b738ee96.js";import"./shared-ff79f3f9.js";import"./shared-60126eee.js";import"./shared-1761daef.js";import"./shared-00563cb0.js";import"./shared-7684cb05.js";import"./shared-a46edf4b.js";!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var i,n;void 0===(n="function"==typeof(i=function(){for(var e=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],t=/^\d*$/,r=/^[A-Za-z0-9 $%*+\-.\/:]*$/,i=/^[A-Z0-9 $%*+\-.\/:]*$/,n=[],o=[-1],a=0,s=1;a<255;++a)n.push(s),o[s]=a,s=2*s^(s>=128?285:0);var d=[[]];for(a=0;a<30;++a){for(var l=d[a],u=[],c=0;c<=a;++c){var f=c<a?n[l[c]]:0,h=n[(a+(l[c-1]||0))%255];u.push(o[f^h])}d.push(u)}var m={};for(a=0;a<45;++a)m["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(a)]=a;var p=[function(e,t){return(e+t)%2==0},function(e,t){return e%2==0},function(e,t){return t%3==0},function(e,t){return(e+t)%3==0},function(e,t){return((e/2|0)+(t/3|0))%2==0},function(e,t){return e*t%2+e*t%3==0},function(e,t){return(e*t%2+e*t%3)%2==0},function(e,t){return((e+t)%2+e*t%3)%2==0}],v=function(e){return e>6},b=function(t,r){var i=-8&function(t){var r=e[t],i=16*t*t+128*t+64;return v(t)&&(i-=36),r[2].length&&(i-=25*r[2].length*r[2].length-10*r[2].length-55),i}(t),n=e[t];return i-8*n[0][r]*n[1][r]},g=function(e,t){switch(t){case 1:return e<10?10:e<27?12:14;case 2:return e<10?9:e<27?11:13;case 4:return e<10?8:16;case 8:return e<10?8:e<27?10:12}},y=function(e,t,r){var i=b(e,r)-4-g(e,t);switch(t){case 1:return 3*(i/10|0)+(i%10<4?0:i%10<7?1:2);case 2:return 2*(i/11|0)+(i%11<6?0:1);case 4:return i/8|0;case 8:return i/13|0}},_=function(e,t){for(var r=e.slice(0),i=e.length,a=t.length,s=0;s<a;++s)r.push(0);for(s=0;s<i;){var d=o[r[s++]];if(d>=0)for(var l=0;l<a;++l)r[s+l]^=n[(d+t[l])%255]}return r.slice(i)},w=function(e,t,r,i){for(var n=e<<i,o=t-1;o>=0;--o)n>>i+o&1&&(n^=r<<o);return e<<i|n},$=function(e,t,r){for(var i=p[r],n=e.length,o=0;o<n;++o)for(var a=0;a<n;++a)t[o][a]||(e[o][a]^=i(o,a));return e},S=function(e,t,r,i){for(var n=e.length,o=21522^w(r<<3|i,5,1335,10),a=0;a<15;++a){var s=[n-1,n-2,n-3,n-4,n-5,n-6,n-7,n-8,7,5,4,3,2,1,0][a];e[[0,1,2,3,4,5,7,8,n-7,n-6,n-5,n-4,n-3,n-2,n-1][a]][8]=e[8][s]=o>>a&1}return e},x=function(e){for(var t=function(e){for(var t=0,r=0;r<e.length;++r)e[r]>=5&&(t+=e[r]-5+3);for(r=5;r<e.length;r+=2){var i=e[r];e[r-1]==i&&e[r-2]==3*i&&e[r-3]==i&&e[r-4]==i&&(e[r-5]>=4*i||e[r+1]>=4*i)&&(t+=40)}return t},r=e.length,i=0,n=0,o=0;o<r;++o){var a,s=e[o];a=[0];for(var d=0;d<r;){for(l=0;d<r&&s[d];++l)++d;for(a.push(l),l=0;d<r&&!s[d];++l)++d;a.push(l)}i+=t(a),a=[0];for(d=0;d<r;){var l;for(l=0;d<r&&e[d][o];++l)++d;for(a.push(l),l=0;d<r&&!e[d][o];++l)++d;a.push(l)}i+=t(a);var u=e[o+1]||[];n+=s[0];for(d=1;d<r;++d){var c=s[d];n+=c,s[d-1]==c&&u[d]===c&&u[d-1]===c&&(i+=3)}}return i+10*(Math.abs(n/r/r-.5)/.05|0)},k=function(t,r,i,n,o){var a=e[r],s=function(e,t,r,i){var n=[],o=0,a=8,s=r.length,d=function(e,t){if(t>=a){for(n.push(o|e>>(t-=a));t>=8;)n.push(e>>(t-=8)&255);o=0,a=8}t>0&&(o|=(e&(1<<t)-1)<<(a-=t))},l=g(e,t);switch(d(t,4),d(s,l),t){case 1:for(var u=2;u<s;u+=3)d(parseInt(r.substring(u-2,u+1),10),10);d(parseInt(r.substring(u-2),10),[0,4,7][s%3]);break;case 2:for(u=1;u<s;u+=2)d(45*m[r.charAt(u-1)]+m[r.charAt(u)],11);s%2==1&&d(m[r.charAt(u-1)],6);break;case 4:for(u=0;u<s;++u)d(r[u],8)}for(d(0,4),a<8&&n.push(o);n.length+1<i;)n.push(236,17);return n.length<i&&n.push(236),n}(r,i,t,b(r,n)>>3);s=function(e,t,r){for(var i=[],n=e.length/t|0,o=0,a=t-e.length%t,s=0;s<a;++s)i.push(o),o+=n;for(s=a;s<t;++s)i.push(o),o+=n+1;i.push(o);var d=[];for(s=0;s<t;++s)d.push(_(e.slice(i[s],i[s+1]),r));var l=[],u=e.length/t|0;for(s=0;s<u;++s)for(var c=0;c<t;++c)l.push(e[i[c]+s]);for(c=a;c<t;++c)l.push(e[i[c+1]-1]);for(s=0;s<r.length;++s)for(c=0;c<t;++c)l.push(d[c][s]);return l}(s,a[1][n],d[a[0][n]]);var l=function(t){for(var r=e[t],i=function(e){return 4*e+17}(t),n=[],o=[],a=0;a<i;++a)n.push([]),o.push([]);var s=function(e,t,r,i,a){for(var s=0;s<r;++s)for(var d=0;d<i;++d)n[e+s][t+d]=a[s]>>d&1,o[e+s][t+d]=1};s(0,0,9,9,[127,65,93,93,93,65,383,0,64]),s(i-8,0,8,9,[256,127,65,93,93,93,65,127]),s(0,i-8,9,8,[254,130,186,186,186,130,254,0,0]);for(a=9;a<i-8;++a)n[6][a]=n[a][6]=1&~a,o[6][a]=o[a][6]=1;var d=r[2],l=d.length;for(a=0;a<l;++a)for(var u=0==a?l-1:l,c=0==a||a==l-1?1:0;c<u;++c)s(d[a],d[c],5,5,[31,17,21,17,31]);if(v(t)){var f=w(t,6,7973,12),h=0;for(a=0;a<6;++a)for(c=0;c<3;++c)n[a][i-11+c]=n[i-11+c][a]=f>>h++&1,o[a][i-11+c]=o[i-11+c][a]=1}return{matrix:n,reserved:o}}(r),u=l.matrix,c=l.reserved;if(function(e,t,r){for(var i=e.length,n=0,o=-1,a=i-1;a>=0;a-=2){6==a&&--a;for(var s=o<0?i-1:0,d=0;d<i;++d){for(var l=a;l>a-2;--l)t[s][l]||(e[s][l]=r[n>>3]>>(7&~n)&1,++n);s+=o}o=-o}}(u,c,s),o<0){$(u,c,0),S(u,0,n,0);var f=0,h=x(u);for($(u,c,0),o=1;o<8;++o){$(u,c,o),S(u,0,n,o);var p=x(u);h>p&&(h=p,f=o),$(u,c,o)}o=f}return $(u,c,o),S(u,0,n,o),u},j={generate:function(e,n){var o=(n=n||{}).version||-1,a={L:1,M:0,Q:3,H:2}[(n.ecclevel||"L").toUpperCase()],s=n.mode?{numeric:1,alphanumeric:2,octet:4}[n.mode.toLowerCase()]:-1,d="mask"in n?n.mask:-1;if(s<0)s="string"==typeof e?e.match(t)?1:e.match(i)?2:4:4;else if(1!=s&&2!=s&&4!=s)throw"invalid or unsupported mode";if(null===(e=function(e,i){switch(e){case 1:return i.match(t)?i:null;case 2:return i.match(r)?i.toUpperCase():null;case 4:if("string"==typeof i){for(var n=[],o=0;o<i.length;++o){var a=i.charCodeAt(o);a<128?n.push(a):a<2048?n.push(192|a>>6,128|63&a):a<65536?n.push(224|a>>12,128|a>>6&63,128|63&a):n.push(240|a>>18,128|a>>12&63,128|a>>6&63,128|63&a)}return n}return i}}(s,e)))throw"invalid data format";if(a<0||a>3)throw"invalid ECC level";if(o<0){for(o=1;o<=40&&!(e.length<=y(o,s,a));++o);if(o>40)throw"too large data"}else if(o<1||o>40)throw"invalid version";if(-1!=d&&(d<0||d>8))throw"invalid mask";return k(e,o,s,a,d)},generateHTML:function(e,t){t=t||{};for(var r=j.generate(e,t),i=Math.max(t.modulesize||5,.5),n=Math.max(null!==t.margin?t.margin:4,0),o=document.createElement("div"),a=r.length,s=['<table border="0" cellspacing="0" cellpadding="0" style="border:'+i*n+'px solid #fff;background:#fff">'],d=0;d<a;++d){s.push("<tr>");for(var l=0;l<a;++l)s.push('<td style="width:'+i+"px;height:"+i+"px"+(r[d][l]?";background:#000":"")+'"></td>');s.push("</tr>")}return o.className="qrcode",o.innerHTML=s.join("")+"</table>",o},generateSVG:function(e,t){t=t||{};var r=j.generate(e,t),i=r.length,n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=n*(i+2*o),s=' class= "fg" width="'+n+'" height="'+n+'"/>',d=document.createElementNS("http://www.w3.org/2000/svg","svg");d.setAttribute("viewBox","0 0 "+a+" "+a),d.setAttribute("style","shape-rendering:crispEdges"),t.modulesize&&(d.setAttribute("width",a),d.setAttribute("height",a));for(var l=["<style scoped>.bg{fill:#FFF}.fg{fill:#000}</style>",'<rect class="bg" x="0" y="0"','width="'+a+'" height="'+a+'"/>'],u=o*n,c=0;c<i;++c){for(var f=o*n,h=0;h<i;++h)r[c][h]&&l.push('<rect x="'+f+'" y="'+u+'"',s),f+=n;u+=n}return d.innerHTML=l.join(""),d},generatePNG:function(e,t){t=t||{};var r,i=j.generate(e,t),n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=i.length,s=n*(a+2*o),d=document.createElement("canvas");if(d.width=d.height=s,!(r=d.getContext("2d")))throw"canvas support is needed for PNG output";r.fillStyle="#fff",r.fillRect(0,0,s,s),r.fillStyle="#000";for(var l=0;l<a;++l)for(var u=0;u<a;++u)i[l][u]&&r.fillRect(n*(o+u),n*(o+l),n,n);return d.toDataURL()}};return j})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,r){r.r(t);var i=r(0),n=r.n(i);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return l(e,arguments,c(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),u(i,e)})(e)}function l(e,t,r){return(l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&u(n,r.prototype),n}).apply(null,arguments)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var f=function(e){function t(){var e,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this,(e=!(r=c(t).call(this))||"object"!==o(r)&&"function"!=typeof r?s(this):r)._defineProperty=e._defineProperty.bind(s(e)),e.attachShadow({mode:"open"}),Object.keys(t.defaultAttributes).map(e._defineProperty),e}var r,i,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(t,d(HTMLElement)),r=t,l=[{key:"defaultAttributes",get:function(){return{data:null,format:"png",modulesize:5,margin:4}}},{key:"observedAttributes",get:function(){return Object.keys(t.defaultAttributes)}}],(i=[{key:"attributeChangedCallback",value:function(e,t,r){var i=this[e+"Changed"];i&&"function"==typeof i&&i.call(this,t,r),this.generate()}},{key:"_defineProperty",value:function(e){var r=this;Object.defineProperty(this,e,{get:function(){var i=r.getAttribute(e);return null===i?t.defaultAttributes[e]:i},set:function(t){r.setAttribute(e,t)}})}},{key:"getOptions",value:function(){var e=this.modulesize,t=this.margin;return{modulesize:null!==e?parseInt(e):e,margin:null!==t?parseInt(t):t}}},{key:"generate",value:function(){null!==this.data?"png"===this.format?this.generatePNG():"html"===this.format?this.generateHTML():"svg"===this.format?this.generateSVG():this.shadowRoot.innerHTML="<div>qr-code: "+this.format+" not supported!</div>":this.shadowRoot.innerHTML="<div>qr-code: no data!</div>"}},{key:"generatePNG",value:function(){try{var e=document.createElement("img");e.src=n.a.generatePNG(this.data,this.getOptions()),this.clear(),this.shadowRoot.appendChild(e)}catch(e){this.shadowRoot.innerHTML="<div>qr-code: no canvas support!</div>"}}},{key:"generateHTML",value:function(){var e=n.a.generateHTML(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"generateSVG",value:function(){var e=n.a.generateSVG(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"clear",value:function(){for(;this.shadowRoot.lastChild;)this.shadowRoot.removeChild(this.shadowRoot.lastChild)}}])&&a(r.prototype,i),l&&a(r,l),t}();customElements.define("qr-code",f)}]);let l,u,c,f,h,m,p,v,b,g=e=>e;const y=n(r(o(i,"sign-in-form")));class _ extends y{constructor(){super(...arguments),this.templates={},this.issuer="Unknown",this.__emailValidator=()=>!this.errors.some((e=>e.startsWith("email"))),this.__passwordValidator=()=>!this.errors.some((e=>e.startsWith("password"))),this.__newPasswordValidator=()=>!this.errors.some((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),this.__mfaTotpCodeValidator=()=>!this.errors.some((e=>e.startsWith("mfa_totp_code")&&!e.endsWith("_error"))),this.__renderEmail=()=>{var t;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("email"))),a=null==o?void 0:o.replace("email","v8n"),d=a?this.t(a).toString():"",u=this.in("busy");return e(l||(l=g` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),d,this.t("email").toString(),s(null===(t=this.form.credential)||void 0===t?void 0:t.email),u||r.matches("email",!0),i.matches("email",!0),this.__emailValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=e.target.value,n=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.password)&&void 0!==r?r:"";this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("email:after"))},this.__renderPassword=()=>{var t;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("password"))),a=null==o?void 0:o.replace("password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return e(u||(u=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("password:before"),d,this.t("password").toString(),s(null===(t=this.form.credential)||void 0===t?void 0:t.password),l||r.matches("password",!0),i.matches("password",!0),this.__passwordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",n=e.target.value;this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("password:after"))},this.__renderNewPassword=()=>{var t;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),a=null==o?void 0:o.replace("new_password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return e(c||(c=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="new-password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("new-password:before"),d,this.t("new_password").toString(),s(null===(t=this.form.credential)||void 0===t?void 0:t.new_password),l||r.matches("new-password",!0),i.matches("new-password",!0),this.__newPasswordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r,i,n;this.edit({type:"password",credential:{email:null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",password:null!==(n=null===(i=this.form.credential)||void 0===i?void 0:i.password)&&void 0!==n?n:"",new_password:e.target.value}})}),this.renderTemplateOrSlot("new-password:after"))},this.__renderMfaTotpCode=()=>{var r;const{disabledSelector:i,readonlySelector:n,errors:o}=this,a=this.__mfaSecretCode,d="mfa_totp_code",l="mfa-totp-code",u=o.find((e=>e.startsWith(d)&&!e.endsWith("_error"))),c=null==u?void 0:u.replace(d,"v8n"),h=c?this.t(c).toString():"",m=this.in("busy");return e(f||(f=g` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" placeholder="123456" data-testid="${0}" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" autofocus @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${l}:before`),h,a?this.t("mfa_totp_code_hint"):"",l,this.t(d).toString(),s(null===(r=this.form.credential)||void 0===r?void 0:r.mfa_totp_code),m||i.matches(l,!0),n.matches(l,!0),this.__mfaTotpCodeValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{const r=e.target.value,i=t(t({},this.form.credential),{},{mfa_totp_code:r});a&&(i.mfa_secret_code=a),this.edit({type:"password",credential:i})}),this.renderTemplateOrSlot(`${l}:after`))},this.__renderMfaSecretCode=()=>{var t,r;const i="mfa-secret-code",n=this.__mfaSecretCode,o=encodeURIComponent(this.issuer),a=encodeURIComponent(null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:""),s=new URL(`otpauth://totp/${o}:${a}`);return s.searchParams.set("secret",n),s.searchParams.set("issuer",this.issuer),e(h||(h=g` <div> ${0} <div data-testid="${0}" class="flex space-x-m overflow-hidden rounded border p-m mb-m border-contrast-10" style="background:#fff;color:#000"> <qr-code modulesize="2" margin="0" format="svg" class="inline-flex" data="${0}"> </qr-code> <div class="break-all font-semibold leading-s text-xs tracking-widest"> ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),i,s.toString(),n,this.renderTemplateOrSlot(`${i}:after`))},this.__renderMfaRememberDevice=()=>{var r;const{__mfaSecretCode:i,form:n,lang:o,ns:a}=this,s="mfa-remember-device",d=this.in("busy")||this.disabledSelector.matches(s,!0);return e(m||(m=g` <div> ${0} <vaadin-checkbox data-testid="${0}" class="mb-m" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block" lang="${0}" key="mfa_remember_device" ns="${0}"></foxy-i18n> <foxy-i18n class="block text-xs ${0}" lang="${0}" key="mfa_remember_device_hint" ns="${0}"> </foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),s,d,!!(null===(r=n.credential)||void 0===r?void 0:r.mfa_remember_device),(e=>{var r,o;const a=e.currentTarget,s=t(t({},n.credential),{},{mfa_remember_device:a.checked,mfa_totp_code:null!==(o=null===(r=n.credential)||void 0===r?void 0:r.mfa_totp_code)&&void 0!==o?o:""});i&&(s.mfa_secret_code=i),this.edit({credential:s})}),o,a,d?"text-disabled":"text-secondary",o,a,this.renderTemplateOrSlot(`${s}:after`))},this.__renderError=()=>e(p||(p=g` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s bg-error-10 text-error"> <iron-icon class="flex-shrink-0 mr-s" icon="lumo:error"></iron-icon> <foxy-i18n data-testid="error" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("error:before"),this.lang,this.errors[0],this.ns,this.renderTemplateOrSlot("error:after")),this.__renderSubmit=()=>{const t=this.in({idle:{snapshot:{dirty:"valid"}}})||this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{template:{dirty:"valid"}}})||this.in({idle:{template:{clean:"valid"}}});return e(v||(v=g` <div> ${0} <vaadin-button data-testid="submit" class="w-full mt-m" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="sign_in"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!t||this.in("busy")||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get properties(){return t(t({},super.properties),{},{issuer:{type:String}})}static get v8n(){return[({credential:e})=>!!(null==e?void 0:e.email)||"email_required",({credential:e})=>{var t;return d(null!==(t=null==e?void 0:e.email)&&void 0!==t?t:"")||"email_invalid_email"},({credential:e})=>!!(null==e?void 0:e.password)||"password_required",({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.new_password)||void 0===t?void 0:t.length)||"new_password_required"},({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.mfa_totp_code)||void 0===t?void 0:t.length)||"mfa_totp_code_required"}]}render(){var t,r,i,n;const{hiddenSelector:o,errors:s,lang:d,form:l,ns:u}=this,c=this.__mfaSecretCode,f=null===(t=l.credential)||void 0===t?void 0:t.mfa_totp_code,h=!!c||!!f||s.some((e=>e.startsWith("mfa"))),m="string"==typeof(null===(r=this.form.credential)||void 0===r?void 0:r.new_password)||s.some((e=>e.startsWith("new_password_"))),p=!h&&!f||o.matches("mfa-totp-code",!0),v=!h||h&&c||o.matches("mfa-remember-device",!0),y=!c||o.matches("mfa-secret-code",!0),_=h||o.matches("new-password",!0),w=s.some((e=>e.endsWith("_error"))),$=this.in("busy");return e(b||(b=g` <main aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),$,o.matches("email",!0)?"":this.__renderEmail(),h||o.matches("password",!0)?"":this.__renderPassword(),_||!m?"":this.__renderNewPassword(),p?"":this.__renderMfaTotpCode(),y?"":this.__renderMfaSecretCode(),v?"":this.__renderMfaRememberDevice(),o.matches("error",!0)||!w?"":this.__renderError(),o.matches("submit",!0)?"":this.__renderSubmit(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!$}),d,u,null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:"")}async _fetch(...e){try{return await super._fetch(...e)}catch(e){let t="unknown_error";try{const r=(await e.json())._embedded["fx:errors"][0].code;"string"==typeof r&&(t=r)}catch(e){}throw[t]}}get __mfaSecretCode(){var e;const t=null===(e=this.form.credential)||void 0===e?void 0:e.mfa_secret_code;if(t)return t;const r="mfa_required",i=this.errors.find((e=>e.startsWith(r)));return null==i?void 0:i.replace(r,"").trim()}}customElements.define("foxy-sign-in-form",_);export{_ as SignInForm};
1
+ import"./shared-1a67bc75.js";import"./shared-a040d79d.js";import"./shared-0f38a631.js";import"./shared-f4ad24f4.js";import"./shared-5a54a9bc.js";import"./shared-8b20bc23.js";import"./shared-46ee137f.js";import"./shared-073cb8e9.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./shared-84d2d490.js";import{h as e,_ as t}from"./shared-63eaded9.js";import{C as r}from"./shared-df730f90.js";import{N as i}from"./shared-39e3ae67.js";import{T as n,a as o}from"./shared-ae8cd227.js";import{c as a}from"./shared-4e709717.js";import{i as s}from"./shared-6d45a07b.js";import{v as d}from"./shared-b738ee96.js";import"./shared-ff79f3f9.js";import"./shared-60126eee.js";import"./shared-5535f38f.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";!function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t,r){var i,n;void 0===(n="function"==typeof(i=function(){for(var e=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],t=/^\d*$/,r=/^[A-Za-z0-9 $%*+\-.\/:]*$/,i=/^[A-Z0-9 $%*+\-.\/:]*$/,n=[],o=[-1],a=0,s=1;a<255;++a)n.push(s),o[s]=a,s=2*s^(s>=128?285:0);var d=[[]];for(a=0;a<30;++a){for(var l=d[a],u=[],c=0;c<=a;++c){var f=c<a?n[l[c]]:0,h=n[(a+(l[c-1]||0))%255];u.push(o[f^h])}d.push(u)}var m={};for(a=0;a<45;++a)m["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(a)]=a;var p=[function(e,t){return(e+t)%2==0},function(e,t){return e%2==0},function(e,t){return t%3==0},function(e,t){return(e+t)%3==0},function(e,t){return((e/2|0)+(t/3|0))%2==0},function(e,t){return e*t%2+e*t%3==0},function(e,t){return(e*t%2+e*t%3)%2==0},function(e,t){return((e+t)%2+e*t%3)%2==0}],v=function(e){return e>6},b=function(t,r){var i=-8&function(t){var r=e[t],i=16*t*t+128*t+64;return v(t)&&(i-=36),r[2].length&&(i-=25*r[2].length*r[2].length-10*r[2].length-55),i}(t),n=e[t];return i-8*n[0][r]*n[1][r]},g=function(e,t){switch(t){case 1:return e<10?10:e<27?12:14;case 2:return e<10?9:e<27?11:13;case 4:return e<10?8:16;case 8:return e<10?8:e<27?10:12}},y=function(e,t,r){var i=b(e,r)-4-g(e,t);switch(t){case 1:return 3*(i/10|0)+(i%10<4?0:i%10<7?1:2);case 2:return 2*(i/11|0)+(i%11<6?0:1);case 4:return i/8|0;case 8:return i/13|0}},_=function(e,t){for(var r=e.slice(0),i=e.length,a=t.length,s=0;s<a;++s)r.push(0);for(s=0;s<i;){var d=o[r[s++]];if(d>=0)for(var l=0;l<a;++l)r[s+l]^=n[(d+t[l])%255]}return r.slice(i)},w=function(e,t,r,i){for(var n=e<<i,o=t-1;o>=0;--o)n>>i+o&1&&(n^=r<<o);return e<<i|n},$=function(e,t,r){for(var i=p[r],n=e.length,o=0;o<n;++o)for(var a=0;a<n;++a)t[o][a]||(e[o][a]^=i(o,a));return e},S=function(e,t,r,i){for(var n=e.length,o=21522^w(r<<3|i,5,1335,10),a=0;a<15;++a){var s=[n-1,n-2,n-3,n-4,n-5,n-6,n-7,n-8,7,5,4,3,2,1,0][a];e[[0,1,2,3,4,5,7,8,n-7,n-6,n-5,n-4,n-3,n-2,n-1][a]][8]=e[8][s]=o>>a&1}return e},x=function(e){for(var t=function(e){for(var t=0,r=0;r<e.length;++r)e[r]>=5&&(t+=e[r]-5+3);for(r=5;r<e.length;r+=2){var i=e[r];e[r-1]==i&&e[r-2]==3*i&&e[r-3]==i&&e[r-4]==i&&(e[r-5]>=4*i||e[r+1]>=4*i)&&(t+=40)}return t},r=e.length,i=0,n=0,o=0;o<r;++o){var a,s=e[o];a=[0];for(var d=0;d<r;){for(l=0;d<r&&s[d];++l)++d;for(a.push(l),l=0;d<r&&!s[d];++l)++d;a.push(l)}i+=t(a),a=[0];for(d=0;d<r;){var l;for(l=0;d<r&&e[d][o];++l)++d;for(a.push(l),l=0;d<r&&!e[d][o];++l)++d;a.push(l)}i+=t(a);var u=e[o+1]||[];n+=s[0];for(d=1;d<r;++d){var c=s[d];n+=c,s[d-1]==c&&u[d]===c&&u[d-1]===c&&(i+=3)}}return i+10*(Math.abs(n/r/r-.5)/.05|0)},k=function(t,r,i,n,o){var a=e[r],s=function(e,t,r,i){var n=[],o=0,a=8,s=r.length,d=function(e,t){if(t>=a){for(n.push(o|e>>(t-=a));t>=8;)n.push(e>>(t-=8)&255);o=0,a=8}t>0&&(o|=(e&(1<<t)-1)<<(a-=t))},l=g(e,t);switch(d(t,4),d(s,l),t){case 1:for(var u=2;u<s;u+=3)d(parseInt(r.substring(u-2,u+1),10),10);d(parseInt(r.substring(u-2),10),[0,4,7][s%3]);break;case 2:for(u=1;u<s;u+=2)d(45*m[r.charAt(u-1)]+m[r.charAt(u)],11);s%2==1&&d(m[r.charAt(u-1)],6);break;case 4:for(u=0;u<s;++u)d(r[u],8)}for(d(0,4),a<8&&n.push(o);n.length+1<i;)n.push(236,17);return n.length<i&&n.push(236),n}(r,i,t,b(r,n)>>3);s=function(e,t,r){for(var i=[],n=e.length/t|0,o=0,a=t-e.length%t,s=0;s<a;++s)i.push(o),o+=n;for(s=a;s<t;++s)i.push(o),o+=n+1;i.push(o);var d=[];for(s=0;s<t;++s)d.push(_(e.slice(i[s],i[s+1]),r));var l=[],u=e.length/t|0;for(s=0;s<u;++s)for(var c=0;c<t;++c)l.push(e[i[c]+s]);for(c=a;c<t;++c)l.push(e[i[c+1]-1]);for(s=0;s<r.length;++s)for(c=0;c<t;++c)l.push(d[c][s]);return l}(s,a[1][n],d[a[0][n]]);var l=function(t){for(var r=e[t],i=function(e){return 4*e+17}(t),n=[],o=[],a=0;a<i;++a)n.push([]),o.push([]);var s=function(e,t,r,i,a){for(var s=0;s<r;++s)for(var d=0;d<i;++d)n[e+s][t+d]=a[s]>>d&1,o[e+s][t+d]=1};s(0,0,9,9,[127,65,93,93,93,65,383,0,64]),s(i-8,0,8,9,[256,127,65,93,93,93,65,127]),s(0,i-8,9,8,[254,130,186,186,186,130,254,0,0]);for(a=9;a<i-8;++a)n[6][a]=n[a][6]=1&~a,o[6][a]=o[a][6]=1;var d=r[2],l=d.length;for(a=0;a<l;++a)for(var u=0==a?l-1:l,c=0==a||a==l-1?1:0;c<u;++c)s(d[a],d[c],5,5,[31,17,21,17,31]);if(v(t)){var f=w(t,6,7973,12),h=0;for(a=0;a<6;++a)for(c=0;c<3;++c)n[a][i-11+c]=n[i-11+c][a]=f>>h++&1,o[a][i-11+c]=o[i-11+c][a]=1}return{matrix:n,reserved:o}}(r),u=l.matrix,c=l.reserved;if(function(e,t,r){for(var i=e.length,n=0,o=-1,a=i-1;a>=0;a-=2){6==a&&--a;for(var s=o<0?i-1:0,d=0;d<i;++d){for(var l=a;l>a-2;--l)t[s][l]||(e[s][l]=r[n>>3]>>(7&~n)&1,++n);s+=o}o=-o}}(u,c,s),o<0){$(u,c,0),S(u,0,n,0);var f=0,h=x(u);for($(u,c,0),o=1;o<8;++o){$(u,c,o),S(u,0,n,o);var p=x(u);h>p&&(h=p,f=o),$(u,c,o)}o=f}return $(u,c,o),S(u,0,n,o),u},j={generate:function(e,n){var o=(n=n||{}).version||-1,a={L:1,M:0,Q:3,H:2}[(n.ecclevel||"L").toUpperCase()],s=n.mode?{numeric:1,alphanumeric:2,octet:4}[n.mode.toLowerCase()]:-1,d="mask"in n?n.mask:-1;if(s<0)s="string"==typeof e?e.match(t)?1:e.match(i)?2:4:4;else if(1!=s&&2!=s&&4!=s)throw"invalid or unsupported mode";if(null===(e=function(e,i){switch(e){case 1:return i.match(t)?i:null;case 2:return i.match(r)?i.toUpperCase():null;case 4:if("string"==typeof i){for(var n=[],o=0;o<i.length;++o){var a=i.charCodeAt(o);a<128?n.push(a):a<2048?n.push(192|a>>6,128|63&a):a<65536?n.push(224|a>>12,128|a>>6&63,128|63&a):n.push(240|a>>18,128|a>>12&63,128|a>>6&63,128|63&a)}return n}return i}}(s,e)))throw"invalid data format";if(a<0||a>3)throw"invalid ECC level";if(o<0){for(o=1;o<=40&&!(e.length<=y(o,s,a));++o);if(o>40)throw"too large data"}else if(o<1||o>40)throw"invalid version";if(-1!=d&&(d<0||d>8))throw"invalid mask";return k(e,o,s,a,d)},generateHTML:function(e,t){t=t||{};for(var r=j.generate(e,t),i=Math.max(t.modulesize||5,.5),n=Math.max(null!==t.margin?t.margin:4,0),o=document.createElement("div"),a=r.length,s=['<table border="0" cellspacing="0" cellpadding="0" style="border:'+i*n+'px solid #fff;background:#fff">'],d=0;d<a;++d){s.push("<tr>");for(var l=0;l<a;++l)s.push('<td style="width:'+i+"px;height:"+i+"px"+(r[d][l]?";background:#000":"")+'"></td>');s.push("</tr>")}return o.className="qrcode",o.innerHTML=s.join("")+"</table>",o},generateSVG:function(e,t){t=t||{};var r=j.generate(e,t),i=r.length,n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=n*(i+2*o),s=' class= "fg" width="'+n+'" height="'+n+'"/>',d=document.createElementNS("http://www.w3.org/2000/svg","svg");d.setAttribute("viewBox","0 0 "+a+" "+a),d.setAttribute("style","shape-rendering:crispEdges"),t.modulesize&&(d.setAttribute("width",a),d.setAttribute("height",a));for(var l=["<style scoped>.bg{fill:#FFF}.fg{fill:#000}</style>",'<rect class="bg" x="0" y="0"','width="'+a+'" height="'+a+'"/>'],u=o*n,c=0;c<i;++c){for(var f=o*n,h=0;h<i;++h)r[c][h]&&l.push('<rect x="'+f+'" y="'+u+'"',s),f+=n;u+=n}return d.innerHTML=l.join(""),d},generatePNG:function(e,t){t=t||{};var r,i=j.generate(e,t),n=Math.max(t.modulesize||5,.5),o=Math.max(null!==t.margin?t.margin:4,0),a=i.length,s=n*(a+2*o),d=document.createElement("canvas");if(d.width=d.height=s,!(r=d.getContext("2d")))throw"canvas support is needed for PNG output";r.fillStyle="#fff",r.fillRect(0,0,s,s),r.fillStyle="#000";for(var l=0;l<a;++l)for(var u=0;u<a;++u)i[l][u]&&r.fillRect(n*(o+u),n*(o+l),n,n);return d.toDataURL()}};return j})?i.apply(t,[]):i)||(e.exports=n)},function(e,t,r){r.r(t);var i=r(0),n=r.n(i);function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function s(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){var t="function"==typeof Map?new Map:void 0;return(d=function(e){if(null===e||(r=e,-1===Function.toString.call(r).indexOf("[native code]")))return e;var r;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,i)}function i(){return l(e,arguments,c(this).constructor)}return i.prototype=Object.create(e.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),u(i,e)})(e)}function l(e,t,r){return(l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,t,r){var i=[null];i.push.apply(i,t);var n=new(Function.bind.apply(e,i));return r&&u(n,r.prototype),n}).apply(null,arguments)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var f=function(e){function t(){var e,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this,(e=!(r=c(t).call(this))||"object"!==o(r)&&"function"!=typeof r?s(this):r)._defineProperty=e._defineProperty.bind(s(e)),e.attachShadow({mode:"open"}),Object.keys(t.defaultAttributes).map(e._defineProperty),e}var r,i,l;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&u(e,t)}(t,d(HTMLElement)),r=t,l=[{key:"defaultAttributes",get:function(){return{data:null,format:"png",modulesize:5,margin:4}}},{key:"observedAttributes",get:function(){return Object.keys(t.defaultAttributes)}}],(i=[{key:"attributeChangedCallback",value:function(e,t,r){var i=this[e+"Changed"];i&&"function"==typeof i&&i.call(this,t,r),this.generate()}},{key:"_defineProperty",value:function(e){var r=this;Object.defineProperty(this,e,{get:function(){var i=r.getAttribute(e);return null===i?t.defaultAttributes[e]:i},set:function(t){r.setAttribute(e,t)}})}},{key:"getOptions",value:function(){var e=this.modulesize,t=this.margin;return{modulesize:null!==e?parseInt(e):e,margin:null!==t?parseInt(t):t}}},{key:"generate",value:function(){null!==this.data?"png"===this.format?this.generatePNG():"html"===this.format?this.generateHTML():"svg"===this.format?this.generateSVG():this.shadowRoot.innerHTML="<div>qr-code: "+this.format+" not supported!</div>":this.shadowRoot.innerHTML="<div>qr-code: no data!</div>"}},{key:"generatePNG",value:function(){try{var e=document.createElement("img");e.src=n.a.generatePNG(this.data,this.getOptions()),this.clear(),this.shadowRoot.appendChild(e)}catch(e){this.shadowRoot.innerHTML="<div>qr-code: no canvas support!</div>"}}},{key:"generateHTML",value:function(){var e=n.a.generateHTML(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"generateSVG",value:function(){var e=n.a.generateSVG(this.data,this.getOptions());this.clear(),this.shadowRoot.appendChild(e)}},{key:"clear",value:function(){for(;this.shadowRoot.lastChild;)this.shadowRoot.removeChild(this.shadowRoot.lastChild)}}])&&a(r.prototype,i),l&&a(r,l),t}();customElements.define("qr-code",f)}]);let l,u,c,f,h,m,p,v,b,g=e=>e;const y=n(r(o(i,"sign-in-form")));class _ extends y{constructor(){super(...arguments),this.templates={},this.issuer="Unknown",this.__emailValidator=()=>!this.errors.some((e=>e.startsWith("email"))),this.__passwordValidator=()=>!this.errors.some((e=>e.startsWith("password"))),this.__newPasswordValidator=()=>!this.errors.some((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),this.__mfaTotpCodeValidator=()=>!this.errors.some((e=>e.startsWith("mfa_totp_code")&&!e.endsWith("_error"))),this.__renderEmail=()=>{var t;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("email"))),a=null==o?void 0:o.replace("email","v8n"),d=a?this.t(a).toString():"",u=this.in("busy");return e(l||(l=g` <div> ${0} <vaadin-email-field error-message="${0}" data-testid="email" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-email-field> ${0} </div> `),this.renderTemplateOrSlot("email:before"),d,this.t("email").toString(),s(null===(t=this.form.credential)||void 0===t?void 0:t.email),u||r.matches("email",!0),i.matches("email",!0),this.__emailValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=e.target.value,n=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.password)&&void 0!==r?r:"";this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("email:after"))},this.__renderPassword=()=>{var t;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("password"))),a=null==o?void 0:o.replace("password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return e(u||(u=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("password:before"),d,this.t("password").toString(),s(null===(t=this.form.credential)||void 0===t?void 0:t.password),l||r.matches("password",!0),i.matches("password",!0),this.__passwordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r;const i=null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",n=e.target.value;this.edit({credential:{email:i,password:n},type:"password"})}),this.renderTemplateOrSlot("password:after"))},this.__renderNewPassword=()=>{var t;const{disabledSelector:r,readonlySelector:i,errors:n}=this,o=n.find((e=>e.startsWith("new_password")&&!e.endsWith("_error"))),a=null==o?void 0:o.replace("new_password","v8n"),d=a?this.t(a).toString():"",l=this.in("busy");return e(c||(c=g` <div> ${0} <vaadin-password-field error-message="${0}" data-testid="new-password" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" @keydown="${0}" @input="${0}"> </vaadin-password-field> ${0} </div> `),this.renderTemplateOrSlot("new-password:before"),d,this.t("new_password").toString(),s(null===(t=this.form.credential)||void 0===t?void 0:t.new_password),l||r.matches("new-password",!0),i.matches("new-password",!0),this.__newPasswordValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{var t,r,i,n;this.edit({type:"password",credential:{email:null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:"",password:null!==(n=null===(i=this.form.credential)||void 0===i?void 0:i.password)&&void 0!==n?n:"",new_password:e.target.value}})}),this.renderTemplateOrSlot("new-password:after"))},this.__renderMfaTotpCode=()=>{var r;const{disabledSelector:i,readonlySelector:n,errors:o}=this,a=this.__mfaSecretCode,d="mfa_totp_code",l="mfa-totp-code",u=o.find((e=>e.startsWith(d)&&!e.endsWith("_error"))),c=null==u?void 0:u.replace(d,"v8n"),h=c?this.t(c).toString():"",m=this.in("busy");return e(f||(f=g` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" placeholder="123456" data-testid="${0}" class="w-full mb-m" label="${0}" value="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" autofocus @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${l}:before`),h,a?this.t("mfa_totp_code_hint"):"",l,this.t(d).toString(),s(null===(r=this.form.credential)||void 0===r?void 0:r.mfa_totp_code),m||i.matches(l,!0),n.matches(l,!0),this.__mfaTotpCodeValidator,(e=>"Enter"===e.key&&this.submit()),(e=>{const r=e.target.value,i=t(t({},this.form.credential),{},{mfa_totp_code:r});a&&(i.mfa_secret_code=a),this.edit({type:"password",credential:i})}),this.renderTemplateOrSlot(`${l}:after`))},this.__renderMfaSecretCode=()=>{var t,r;const i="mfa-secret-code",n=this.__mfaSecretCode,o=encodeURIComponent(this.issuer),a=encodeURIComponent(null!==(r=null===(t=this.form.credential)||void 0===t?void 0:t.email)&&void 0!==r?r:""),s=new URL(`otpauth://totp/${o}:${a}`);return s.searchParams.set("secret",n),s.searchParams.set("issuer",this.issuer),e(h||(h=g` <div> ${0} <div data-testid="${0}" class="flex space-x-m overflow-hidden rounded border p-m mb-m border-contrast-10" style="background:#fff;color:#000"> <qr-code modulesize="2" margin="0" format="svg" class="inline-flex" data="${0}"> </qr-code> <div class="break-all font-semibold leading-s text-xs tracking-widest"> ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot(`${i}:before`),i,s.toString(),n,this.renderTemplateOrSlot(`${i}:after`))},this.__renderMfaRememberDevice=()=>{var r;const{__mfaSecretCode:i,form:n,lang:o,ns:a}=this,s="mfa-remember-device",d=this.in("busy")||this.disabledSelector.matches(s,!0);return e(m||(m=g` <div> ${0} <vaadin-checkbox data-testid="${0}" class="mb-m" ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n class="block" lang="${0}" key="mfa_remember_device" ns="${0}"></foxy-i18n> <foxy-i18n class="block text-xs ${0}" lang="${0}" key="mfa_remember_device_hint" ns="${0}"> </foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot(`${s}:before`),s,d,!!(null===(r=n.credential)||void 0===r?void 0:r.mfa_remember_device),(e=>{var r,o;const a=e.currentTarget,s=t(t({},n.credential),{},{mfa_remember_device:a.checked,mfa_totp_code:null!==(o=null===(r=n.credential)||void 0===r?void 0:r.mfa_totp_code)&&void 0!==o?o:""});i&&(s.mfa_secret_code=i),this.edit({credential:s})}),o,a,d?"text-disabled":"text-secondary",o,a,this.renderTemplateOrSlot(`${s}:after`))},this.__renderError=()=>e(p||(p=g` <div> ${0} <p class="leading-s flex items-start text-s rounded p-s bg-error-10 text-error"> <iron-icon class="flex-shrink-0 mr-s icon-inline text-l" icon="lumo:error"></iron-icon> <foxy-i18n data-testid="error" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </p> ${0} </div> `),this.renderTemplateOrSlot("error:before"),this.lang,this.errors[0],this.ns,this.renderTemplateOrSlot("error:after")),this.__renderSubmit=()=>{const t=this.in({idle:{snapshot:{dirty:"valid"}}})||this.in({idle:{snapshot:{clean:"valid"}}})||this.in({idle:{template:{dirty:"valid"}}})||this.in({idle:{template:{clean:"valid"}}});return e(v||(v=g` <div> ${0} <vaadin-button data-testid="submit" class="w-full mt-m" theme="primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="sign_in"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("submit:before"),!t||this.in("busy")||this.disabledSelector.matches("submit",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("submit:after"))}}static get properties(){return t(t({},super.properties),{},{issuer:{type:String}})}static get v8n(){return[({credential:e})=>!!(null==e?void 0:e.email)||"email_required",({credential:e})=>{var t;return d(null!==(t=null==e?void 0:e.email)&&void 0!==t?t:"")||"email_invalid_email"},({credential:e})=>!!(null==e?void 0:e.password)||"password_required",({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.new_password)||void 0===t?void 0:t.length)||"new_password_required"},({credential:e})=>{var t;return 0!==(null===(t=null==e?void 0:e.mfa_totp_code)||void 0===t?void 0:t.length)||"mfa_totp_code_required"}]}render(){var t,r,i,n;const{hiddenSelector:o,errors:s,lang:d,form:l,ns:u}=this,c=this.__mfaSecretCode,f=null===(t=l.credential)||void 0===t?void 0:t.mfa_totp_code,h=!!c||!!f||s.some((e=>e.startsWith("mfa"))),m="string"==typeof(null===(r=this.form.credential)||void 0===r?void 0:r.new_password)||s.some((e=>e.startsWith("new_password_"))),p=!h&&!f||o.matches("mfa-totp-code",!0),v=!h||h&&c||o.matches("mfa-remember-device",!0),y=!c||o.matches("mfa-secret-code",!0),_=h||o.matches("new-password",!0),w=s.some((e=>e.endsWith("_error"))),$=this.in("busy");return e(b||(b=g` <main aria-live="polite" aria-busy="${0}" class="relative font-lumo text-m leading-m"> ${0} ${0} ${0} ${0} ${0} ${0} ${0} ${0} <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="busy" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </main> `),$,o.matches("email",!0)?"":this.__renderEmail(),h||o.matches("password",!0)?"":this.__renderPassword(),_||!m?"":this.__renderNewPassword(),p?"":this.__renderMfaTotpCode(),y?"":this.__renderMfaSecretCode(),v?"":this.__renderMfaRememberDevice(),o.matches("error",!0)||!w?"":this.__renderError(),o.matches("submit",!0)?"":this.__renderSubmit(),a({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!$}),d,u,null!==(n=null===(i=customElements.get("foxy-spinner"))||void 0===i?void 0:i.defaultNS)&&void 0!==n?n:"")}async _fetch(...e){try{return await super._fetch(...e)}catch(e){let t="unknown_error";try{const r=(await e.json())._embedded["fx:errors"][0].code;"string"==typeof r&&(t=r)}catch(e){}throw[t]}}get __mfaSecretCode(){var e;const t=null===(e=this.form.credential)||void 0===e?void 0:e.mfa_secret_code;if(t)return t;const r="mfa_required",i=this.errors.find((e=>e.startsWith(r)));return null==i?void 0:i.replace(r,"").trim()}}customElements.define("foxy-sign-in-form",_);export{_ as SignInForm};
@@ -1,5 +1,5 @@
1
- import"./shared-46ee137f.js";import"./shared-60126eee.js";import"./foxy-i18n.js";import{L as t,_ as e,h as s,s as i}from"./shared-63eaded9.js";import{a as o,T as r}from"./shared-9a40309d.js";import"./shared-ff79f3f9.js";import"./shared-1761daef.js";let n,a,l,c,d,x,p=t=>t;class h extends(o(r(t),"spinner")){constructor(){super(...arguments),this.layout="horizontal",this.state="busy"}static get properties(){return e(e({},super.properties),{},{layout:{type:String},state:{type:String}})}render(){let t,e,o,r;return"end"===this.state?(e=s(n||(n=p`<iron-icon data-testid="icon" icon="icons:done-all"></iron-icon>`)),o="loading_end",r="text-tertiary"):"error"===this.state?(e=s(a||(a=p`<iron-icon data-testid="icon" icon="icons:error-outline"></iron-icon>`)),o="loading_error",r="text-error"):"paused"===this.state?(e=s(l||(l=p`<iron-icon data-testid="icon" icon="icons:more-horiz"></iron-icon>`)),o="loading_paused",r="text-tertiary"):"empty"===this.state?(e=s(c||(c=p`<iron-icon data-testid="icon" icon="icons:info-outline"></iron-icon>`)),o="loading_empty",r="text-tertiary"):(e=i(d||(d=p`
1
+ import"./shared-46ee137f.js";import"./shared-60126eee.js";import"./shared-84d2d490.js";import{L as t,_ as e,h as s,s as i}from"./shared-63eaded9.js";import{a as r,T as o}from"./shared-ae8cd227.js";import"./shared-ff79f3f9.js";import"./shared-5535f38f.js";let n,a,l,c,d,p,x=t=>t;class h extends(r(o(t),"spinner")){constructor(){super(...arguments),this.layout="horizontal",this.state="busy"}static get properties(){return e(e({},super.properties),{},{layout:{type:String},state:{type:String}})}render(){let t,e,r,o;return"end"===this.state?(e=s(n||(n=x`<iron-icon data-testid="icon" icon="icons:done-all"></iron-icon>`)),r="loading_end",o="text-tertiary"):"error"===this.state?(e=s(a||(a=x`<iron-icon data-testid="icon" icon="icons:error-outline"></iron-icon>`)),r="loading_error",o="text-error"):"paused"===this.state?(e=s(l||(l=x`<iron-icon data-testid="icon" icon="icons:more-horiz"></iron-icon>`)),r="loading_paused",o="text-tertiary"):"empty"===this.state?(e=s(c||(c=x`<iron-icon data-testid="icon" icon="icons:info-outline"></iron-icon>`)),r="loading_empty",o="text-tertiary"):(e=i(d||(d=x`
2
2
  <svg data-testid="icon" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 22 22" preserveAspectRatio="xMidYMid" class="animate-spin h-full w-full">
3
3
  <circle cx="11" cy="11" fill="none" stroke="#e15b64" stroke-width="2" r="8" stroke-dasharray="24 12" class="stroke-current"></circle>
4
4
  </svg>
5
- `)),o="loading_busy",r="text-tertiary"),t="horizontal"===this.layout?"flex items-center space-x-s h-xxs":"flex flex-col items-center space-y-s",s(x||(x=p` <div class="font-lumo leading-none text-s ${0} ${0}"> <div class="w-xxs h-xss flex items-center justify-center">${0}</div> <foxy-i18n data-testid="text" class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),t,r,e,"no-label"===this.layout?"sr-only":"",this.lang,o,this.ns)}}customElements.define("foxy-spinner",h);export{h as Spinner};
5
+ `)),r="loading_busy",o="text-tertiary"),t="horizontal"===this.layout?"flex items-center space-x-s h-xxs":"flex flex-col items-center space-y-s",s(p||(p=x` <div class="font-lumo leading-none text-s ${0} ${0}"> <div class="w-xxs h-xss flex items-center justify-center">${0}</div> <foxy-i18n data-testid="text" class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),t,o,e,"no-label"===this.layout?"sr-only":"",this.lang,r,this.ns)}}customElements.define("foxy-spinner",h);export{h as Spinner};
@@ -1 +1 @@
1
- import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{h as t,_ as s}from"./shared-63eaded9.js";import{C as e}from"./shared-593f7e2c.js";import{N as i}from"./shared-44cfc617.js";import{R as a,T as n,a as r}from"./shared-9a40309d.js";import{c as o}from"./shared-4e709717.js";import{p as d}from"./shared-6b7602c7.js";import"./shared-ff79f3f9.js";import"./shared-1761daef.js";import"./shared-6d45a07b.js";import"./shared-00563cb0.js";import"./shared-7684cb05.js";import"./shared-a46edf4b.js";import"./shared-87ca7818.js";let l,c=t=>t;const m=e(a(n(r(i,"subscription-card"))));class f extends m{render(){var s,e,i,a,n;const r=!!(null===(s=this.data)||void 0===s?void 0:s.is_active),d=!!(null===(e=this.data)||void 0===e?void 0:e.first_failed_transaction_date);return t(l||(l=c` <div class="relative text-left"> <div class="${0}"> <div class="${0}"> <iron-icon class="m-auto" icon="${0}"> </iron-icon> </div> <div class="flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center"> <div class="order-1 sm-order-0"> <div class="text-body font-semibold origin-top-left text-m"> <foxy-i18n data-testid="summary" options="${0}" lang="${0}" key="transaction_summary" ns="${0}"> </foxy-i18n> &#8203; </div> <div class="${0}"> <foxy-i18n data-testid="status" options="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> <div class="flex-1 font-semibold leading-xs mb-xs sm-mb-0 sm-text-right text-xxs sm-text-l tracking-wide sm-tracking-normal uppercase sm-normal-case order-0 sm-order-1 font-tnum text-secondary sm-text-body"> <foxy-i18n data-testid="price" options="${0}" lang="${0}" key="price_${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> </div> <div data-testid="spinner" class="${0}"> <foxy-spinner state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> ${0} `),o({"flex items-start sm-items-center space-x-m transition duration-150 ease-in-out":!0,"opacity-0":!this.in({idle:"snapshot"})}),o({"min-w-0 flex-shrink-0 rounded-full relative flex p-s":!0,"text-success bg-success-10":r&&!d,"text-body bg-contrast-5":!r&&!d,"text-error bg-error-10":d}),d?"error-outline":r?"done":"done-all",JSON.stringify(this.__getSummaryOptions()),this.lang,this.ns,o({"text-m":!0,"text-tertiary":!r&&!d,"text-success":r&&!d,"text-error":d}),JSON.stringify(this.__getStatusOptions()),this.lang,this.__getStatusKey(),this.ns,JSON.stringify(this.__getPriceOptions()),this.lang,".5m"===(null===(i=this.data)||void 0===i?void 0:i.frequency)?"twice_a_month":"recurring",this.ns,o({"pointer-events-none absolute inset-0 flex transition ease-in-out duration-150":!0,"opacity-0":this.in({idle:"snapshot"})}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(n=null===(a=customElements.get("foxy-spinner"))||void 0===a?void 0:a.defaultNS)&&void 0!==n?n:"",this.renderTemplateOrSlot())}__getSummaryOptions(){if(!this.in({idle:"snapshot"}))return{};const t=this.data._embedded["fx:transaction_template"]._embedded["fx:items"];return{most_expensive_item:[...t].sort(((t,s)=>t.price-s.price))[0],count:t.length}}__getStatusOptions(){var t,s;return this.in({idle:"snapshot"})?{date:null!==(s=null!==(t=this.data.first_failed_transaction_date)&&void 0!==t?t:this.data.end_date)&&void 0!==s?s:this.data.next_transaction_date}:{}}__getPriceOptions(){if(!this.in({idle:"snapshot"}))return{};const t=this.data._embedded["fx:last_transaction"],e=`${t.total_order} ${t.currency_code}`;return s(s({},d(this.data.frequency)),{},{amount:e})}__getStatusKey(){var t,s,e;if(null===(t=this.data)||void 0===t?void 0:t.first_failed_transaction_date)return"subscription_failed";if(null===(s=this.data)||void 0===s?void 0:s.end_date){return new Date(this.data.end_date).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}return"subscription_"+((null===(e=this.data)||void 0===e?void 0:e.is_active)?"active":"inactive")}}customElements.define("foxy-subscription-card",f);export{f as SubscriptionCard};
1
+ import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./shared-84d2d490.js";import{h as t,_ as s}from"./shared-63eaded9.js";import{C as e}from"./shared-df730f90.js";import{N as i}from"./shared-39e3ae67.js";import{R as a,T as n,a as r}from"./shared-ae8cd227.js";import{c as o}from"./shared-4e709717.js";import{p as d}from"./shared-f2a69797.js";import"./shared-ff79f3f9.js";import"./shared-5535f38f.js";import"./shared-6d45a07b.js";import"./shared-7f0a9790.js";import"./shared-7684cb05.js";import"./shared-756034e4.js";let l,c=t=>t;const m=e(a(n(r(i,"subscription-card"))));class f extends m{render(){var s,e,i,a,n;const r=!!(null===(s=this.data)||void 0===s?void 0:s.is_active),d=!!(null===(e=this.data)||void 0===e?void 0:e.first_failed_transaction_date);return t(l||(l=c` <div class="relative text-left"> <div class="${0}"> <div class="${0}"> <iron-icon class="m-auto" icon="${0}"> </iron-icon> </div> <div class="flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center"> <div class="order-1 sm-order-0"> <div class="text-body font-semibold origin-top-left text-m"> <foxy-i18n data-testid="summary" options="${0}" lang="${0}" key="transaction_summary" ns="${0}"> </foxy-i18n> &#8203; </div> <div class="${0}"> <foxy-i18n data-testid="status" options="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> <div class="flex-1 font-semibold leading-xs mb-xs sm-mb-0 sm-text-right text-xxs sm-text-l tracking-wide sm-tracking-normal uppercase sm-normal-case order-0 sm-order-1 font-tnum text-secondary sm-text-body"> <foxy-i18n data-testid="price" options="${0}" lang="${0}" key="price_${0}" ns="${0}"> </foxy-i18n> &#8203; </div> </div> </div> <div data-testid="spinner" class="${0}"> <foxy-spinner state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> ${0} `),o({"flex items-start sm-items-center space-x-m transition duration-150 ease-in-out":!0,"opacity-0":!this.in({idle:"snapshot"})}),o({"min-w-0 flex-shrink-0 rounded-full relative flex p-s":!0,"text-success bg-success-10":r&&!d,"text-body bg-contrast-5":!r&&!d,"text-error bg-error-10":d}),d?"error-outline":r?"done":"done-all",JSON.stringify(this.__getSummaryOptions()),this.lang,this.ns,o({"text-m":!0,"text-tertiary":!r&&!d,"text-success":r&&!d,"text-error":d}),JSON.stringify(this.__getStatusOptions()),this.lang,this.__getStatusKey(),this.ns,JSON.stringify(this.__getPriceOptions()),this.lang,".5m"===(null===(i=this.data)||void 0===i?void 0:i.frequency)?"twice_a_month":"recurring",this.ns,o({"pointer-events-none absolute inset-0 flex transition ease-in-out duration-150":!0,"opacity-0":this.in({idle:"snapshot"})}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(n=null===(a=customElements.get("foxy-spinner"))||void 0===a?void 0:a.defaultNS)&&void 0!==n?n:"",this.renderTemplateOrSlot())}__getSummaryOptions(){if(!this.in({idle:"snapshot"}))return{};const t=this.data._embedded["fx:transaction_template"]._embedded["fx:items"];return{most_expensive_item:[...t].sort(((t,s)=>t.price-s.price))[0],count:t.length}}__getStatusOptions(){var t,s;return this.in({idle:"snapshot"})?{date:null!==(s=null!==(t=this.data.first_failed_transaction_date)&&void 0!==t?t:this.data.end_date)&&void 0!==s?s:this.data.next_transaction_date}:{}}__getPriceOptions(){if(!this.in({idle:"snapshot"}))return{};const t=this.data._embedded["fx:last_transaction"],e=`${t.total_order} ${t.currency_code}`;return s(s({},d(this.data.frequency)),{},{amount:e})}__getStatusKey(){var t,s,e;if(null===(t=this.data)||void 0===t?void 0:t.first_failed_transaction_date)return"subscription_failed";if(null===(s=this.data)||void 0===s?void 0:s.end_date){return new Date(this.data.end_date).getTime()>Date.now()?"subscription_will_be_cancelled":"subscription_cancelled"}return"subscription_"+((null===(e=this.data)||void 0===e?void 0:e.is_active)?"active":"inactive")}}customElements.define("foxy-subscription-card",f);export{f as SubscriptionCard};