@foxy.io/elements 1.20.2 → 1.21.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (877) hide show
  1. package/README.md +6 -1
  2. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  3. package/dist/cdn/foxy-address-card.js +2 -2
  4. package/dist/cdn/foxy-address-form.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-card.js +1 -0
  6. package/dist/cdn/foxy-api-browser.js +3 -3
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -0
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -0
  9. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  10. package/dist/cdn/foxy-attribute-card.js +1 -1
  11. package/dist/cdn/foxy-attribute-form.js +1 -1
  12. package/dist/cdn/foxy-cancellation-form.js +1 -1
  13. package/dist/cdn/foxy-cart-card.js +1 -0
  14. package/dist/cdn/foxy-cart-form.js +1 -0
  15. package/dist/cdn/foxy-collection-page.js +1 -1
  16. package/dist/cdn/foxy-collection-pages.js +1 -1
  17. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  18. package/dist/cdn/foxy-coupon-card.js +1 -1
  19. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  20. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  21. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-form.js +1 -1
  23. package/dist/cdn/foxy-custom-field-card.js +1 -1
  24. package/dist/cdn/foxy-custom-field-form.js +1 -1
  25. package/dist/cdn/foxy-customer-api.js +1 -1
  26. package/dist/cdn/foxy-customer-card.js +1 -1
  27. package/dist/cdn/foxy-customer-form.js +1 -1
  28. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  29. package/dist/cdn/foxy-customer-portal.js +16 -15
  30. package/dist/cdn/foxy-customer.js +5 -5
  31. package/dist/cdn/foxy-customers-table.js +1 -1
  32. package/dist/cdn/foxy-discount-builder.js +1 -1
  33. package/dist/cdn/foxy-discount-card.js +1 -1
  34. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  35. package/dist/cdn/foxy-donation.js +1 -1
  36. package/dist/cdn/foxy-email-template-card.js +1 -0
  37. package/dist/cdn/foxy-email-template-form.js +1 -1
  38. package/dist/cdn/foxy-error-entry-card.js +1 -1
  39. package/dist/cdn/foxy-form-dialog.js +1 -1
  40. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  41. package/dist/cdn/foxy-gift-card-card.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  43. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -0
  44. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  45. package/dist/cdn/foxy-gift-card-form.js +1 -1
  46. package/dist/cdn/foxy-i18n-editor.js +2 -0
  47. package/dist/cdn/foxy-i18n.js +1 -1
  48. package/dist/cdn/foxy-integration-card.js +1 -0
  49. package/dist/cdn/foxy-integration-form.js +1 -0
  50. package/dist/cdn/foxy-item-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-card.js +1 -0
  52. package/dist/cdn/foxy-item-category-form.js +1 -0
  53. package/dist/cdn/foxy-item-form.js +1 -1
  54. package/dist/cdn/foxy-item-option-card.js +1 -1
  55. package/dist/cdn/foxy-item-option-form.js +1 -1
  56. package/dist/cdn/foxy-items-form.js +1 -1
  57. package/dist/cdn/foxy-nucleon-element.js +1 -1
  58. package/dist/cdn/foxy-pagination.js +1 -1
  59. package/dist/cdn/foxy-payment-card.js +1 -1
  60. package/dist/cdn/foxy-payment-method-card.js +1 -1
  61. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -0
  62. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -0
  63. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -0
  64. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -0
  65. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -0
  66. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -0
  67. package/dist/cdn/foxy-payments-api.js +1 -0
  68. package/dist/cdn/foxy-query-builder.js +1 -1
  69. package/dist/cdn/foxy-report-form.js +14 -14
  70. package/dist/cdn/foxy-reports-table.js +3 -3
  71. package/dist/cdn/foxy-shipment-card.js +1 -1
  72. package/dist/cdn/foxy-shipping-method-card.js +1 -0
  73. package/dist/cdn/foxy-sign-in-form.js +1 -1
  74. package/dist/cdn/foxy-spinner.js +2 -2
  75. package/dist/cdn/foxy-store-form.js +1 -0
  76. package/dist/cdn/foxy-store-shipping-method-form.js +1 -0
  77. package/dist/cdn/foxy-subscription-card.js +1 -1
  78. package/dist/cdn/foxy-subscription-form.js +4 -16
  79. package/dist/cdn/foxy-subscription-settings-form.js +1 -0
  80. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  81. package/dist/cdn/foxy-swipe-actions.js +1 -1
  82. package/dist/cdn/foxy-table.js +1 -1
  83. package/dist/cdn/foxy-tax-card.js +1 -1
  84. package/dist/cdn/foxy-tax-form.js +1 -1
  85. package/dist/cdn/foxy-template-config-form.js +1 -1
  86. package/dist/cdn/foxy-template-form.js +1 -1
  87. package/dist/cdn/foxy-template-set-card.js +1 -0
  88. package/dist/cdn/foxy-template-set-form.js +1 -0
  89. package/dist/cdn/foxy-transaction-card.js +1 -1
  90. package/dist/cdn/foxy-transaction.js +1 -1
  91. package/dist/cdn/foxy-transactions-table.js +60 -1
  92. package/dist/cdn/foxy-user-form.js +1 -1
  93. package/dist/cdn/foxy-users-table.js +1 -1
  94. package/dist/cdn/foxy-webhook-card.js +1 -1
  95. package/dist/cdn/foxy-webhook-form.js +1 -318
  96. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  97. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  98. package/dist/cdn/{shared-e1c1e8e2.js → shared-0479553e.js} +1 -1
  99. package/dist/cdn/{shared-d28ac9dc.js → shared-08156595.js} +5 -5
  100. package/dist/cdn/shared-0821cfdc.js +1 -0
  101. package/dist/cdn/shared-08e27fe9.js +25 -0
  102. package/dist/cdn/shared-09eb558f.js +1 -0
  103. package/dist/cdn/{shared-ae415a98.js → shared-0ce006b9.js} +1 -1
  104. package/dist/cdn/shared-1000b848.js +1 -0
  105. package/dist/cdn/{shared-ce24fef8.js → shared-101d1234.js} +13 -18
  106. package/dist/cdn/{shared-99940888.js → shared-11c2efc8.js} +1 -1
  107. package/dist/cdn/shared-181f51bd.js +1 -0
  108. package/dist/cdn/shared-1c94a156.js +1 -0
  109. package/dist/cdn/{shared-8e9a3bbb.js → shared-2092d86f.js} +1 -1
  110. package/dist/cdn/shared-21679ebd.js +1 -0
  111. package/dist/cdn/shared-2add595d.js +150 -0
  112. package/dist/cdn/shared-2cc638ad.js +29 -0
  113. package/dist/cdn/{shared-1ba08bcc.js → shared-2f7dcefa.js} +1 -1
  114. package/dist/cdn/shared-39c10b22.js +1 -0
  115. package/dist/cdn/shared-404aa9cc.js +6 -0
  116. package/dist/cdn/{shared-b791079c.js → shared-4393ad93.js} +5 -5
  117. package/dist/cdn/shared-43bcce74.js +1 -0
  118. package/dist/cdn/shared-4849ef5b.js +169 -0
  119. package/dist/cdn/shared-486d7bb5.js +1 -0
  120. package/dist/cdn/shared-4979dca4.js +1 -0
  121. package/dist/cdn/shared-4f037e43.js +1 -0
  122. package/dist/cdn/{shared-dd6d3c18.js → shared-5378bd8c.js} +1 -1
  123. package/dist/cdn/{shared-31c43743.js → shared-5a4829e3.js} +1 -1
  124. package/dist/cdn/shared-5ea18e60.js +1 -0
  125. package/dist/cdn/shared-62a54a6c.js +1 -0
  126. package/dist/cdn/{shared-2188d5f7.js → shared-62c088b7.js} +1 -1
  127. package/dist/cdn/shared-63139d9e.js +1 -0
  128. package/dist/cdn/shared-639c666f.js +553 -0
  129. package/dist/cdn/shared-6581241a.js +1 -0
  130. package/dist/cdn/{shared-a052131e.js → shared-6cb1015f.js} +27 -51
  131. package/dist/cdn/{shared-8d937ae4.js → shared-71d8d167.js} +3 -3
  132. package/dist/cdn/shared-71f2ef1f.js +1 -0
  133. package/dist/cdn/shared-744cf66b.js +64 -0
  134. package/dist/cdn/{shared-1bbd9b73.js → shared-75e78c70.js} +1 -1
  135. package/dist/cdn/{shared-c87447a4.js → shared-76b3d76a.js} +2 -2
  136. package/dist/cdn/{shared-dc23b751.js → shared-7d4fb1a2.js} +1 -1
  137. package/dist/cdn/{shared-dc73b9a5.js → shared-7f33a83a.js} +1 -1
  138. package/dist/cdn/shared-80fc2b6a.js +1 -0
  139. package/dist/cdn/{shared-3b2dedf9.js → shared-83596b46.js} +3 -3
  140. package/dist/cdn/shared-839dd3a8.js +1 -0
  141. package/dist/cdn/shared-868065de.js +1 -0
  142. package/dist/cdn/{shared-d699348f.js → shared-88c4cfec.js} +2 -2
  143. package/dist/cdn/shared-8b6addec.js +1 -0
  144. package/dist/cdn/{shared-0b65fb12.js → shared-8dd0af4d.js} +1 -1
  145. package/dist/cdn/shared-988ec916.js +1 -0
  146. package/dist/cdn/{shared-0eb966c5.js → shared-99065f2a.js} +1 -1
  147. package/dist/cdn/shared-9bdacf65.js +1 -0
  148. package/dist/cdn/{shared-f1317609.js → shared-9f436277.js} +1 -1
  149. package/dist/cdn/shared-a0c8faf2.js +1 -0
  150. package/dist/cdn/shared-a37abe4c.js +318 -0
  151. package/dist/cdn/{shared-86d93838.js → shared-a41234b4.js} +15 -15
  152. package/dist/cdn/shared-a85afa33.js +1 -0
  153. package/dist/cdn/shared-a8ced8bf.js +1 -0
  154. package/dist/cdn/shared-af226a9a.js +1 -0
  155. package/dist/cdn/shared-b40cf0dd.js +1 -0
  156. package/dist/cdn/shared-bb0e33c3.js +1 -0
  157. package/dist/cdn/shared-bc7f58ef.js +1 -0
  158. package/dist/cdn/{shared-c5c60417.js → shared-bc814810.js} +1 -1
  159. package/dist/cdn/shared-bcc6e13b.js +1 -0
  160. package/dist/cdn/{shared-4e201e09.js → shared-bd252323.js} +1 -1
  161. package/dist/cdn/{shared-195fd5af.js → shared-be66c2e7.js} +1 -1
  162. package/dist/cdn/shared-c774d080.js +1 -0
  163. package/dist/cdn/shared-c95c17e6.js +1 -0
  164. package/dist/cdn/shared-cba08e1c.js +1 -0
  165. package/dist/cdn/{shared-9803aa7c.js → shared-d3bf9ac0.js} +2 -2
  166. package/dist/cdn/shared-d518bd55.js +1 -0
  167. package/dist/cdn/{shared-a0c6a159.js → shared-d519a301.js} +2 -2
  168. package/dist/cdn/shared-d61b3e4f.js +1 -0
  169. package/dist/cdn/shared-d6276c83.js +1 -0
  170. package/dist/cdn/shared-d8dc97f0.js +1 -0
  171. package/dist/cdn/{shared-6cc99375.js → shared-de036570.js} +1 -1
  172. package/dist/cdn/{shared-f9f9ed5b.js → shared-e6f3e9f0.js} +1 -1
  173. package/dist/cdn/{shared-ca05dcb3.js → shared-ea67b3f3.js} +1 -1
  174. package/dist/cdn/shared-ed0dee03.js +134 -0
  175. package/dist/cdn/{shared-22ba9566.js → shared-f3b35364.js} +1 -1
  176. package/dist/cdn/shared-f7e4cd67.js +1 -0
  177. package/dist/cdn/{shared-321572bc.js → shared-f80f402a.js} +1 -1
  178. package/dist/cdn/translations/admin-subscription-card/en.json +27 -0
  179. package/dist/cdn/translations/api-browser/en.json +1 -0
  180. package/dist/cdn/translations/applied-coupon-code-card/en.json +7 -0
  181. package/dist/cdn/translations/applied-coupon-code-form/en.json +26 -0
  182. package/dist/cdn/translations/cart-card/en.json +15 -0
  183. package/dist/cdn/translations/cart-form/en.json +762 -0
  184. package/dist/cdn/translations/country/{zh-CN.json → zh-cn.json} +0 -0
  185. package/dist/cdn/translations/country/{zh-HK.json → zh-hk.json} +0 -0
  186. package/dist/cdn/translations/coupon-card/en.json +2 -2
  187. package/dist/cdn/translations/customer/en.json +2 -2
  188. package/dist/cdn/translations/customer-portal/de.json +1 -1
  189. package/dist/cdn/translations/customer-portal/en.json +10 -10
  190. package/dist/cdn/translations/customer-portal/es.json +1 -1
  191. package/dist/cdn/translations/customer-portal/fr.json +2 -2
  192. package/dist/cdn/translations/customer-portal/nl.json +1 -1
  193. package/dist/cdn/translations/customer-portal/pl.json +1 -1
  194. package/dist/cdn/translations/customer-portal/se.json +1 -1
  195. package/dist/cdn/translations/email-template-card/en.json +12 -0
  196. package/dist/cdn/translations/email-template-form/en.json +10 -0
  197. package/dist/cdn/translations/gift-card-code-form/en.json +35 -0
  198. package/dist/cdn/translations/gift-card-code-log-card/en.json +13 -0
  199. package/dist/cdn/translations/gift-card-form/en.json +58 -1
  200. package/dist/cdn/translations/i18n-editor/en.json +10 -0
  201. package/dist/cdn/translations/integration-card/en.json +10 -0
  202. package/dist/cdn/translations/integration-form/en.json +39 -0
  203. package/dist/cdn/translations/item-category-card/en.json +7 -0
  204. package/dist/cdn/translations/item-category-form/en.json +196 -0
  205. package/dist/cdn/translations/item-form/en.json +1 -1
  206. package/dist/cdn/translations/payments-api-fraud-protection-card/en.json +8 -0
  207. package/dist/cdn/translations/payments-api-fraud-protection-form/en.json +34 -0
  208. package/dist/cdn/translations/payments-api-payment-method-card/en.json +8 -0
  209. package/dist/cdn/translations/payments-api-payment-method-form/en.json +61 -0
  210. package/dist/cdn/translations/payments-api-payment-preset-card/en.json +9 -0
  211. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +84 -0
  212. package/dist/cdn/translations/shipment-card/en.json +1 -1
  213. package/dist/cdn/translations/shipping-method-card/en.json +9 -0
  214. package/dist/cdn/translations/store-form/en.json +316 -0
  215. package/dist/cdn/translations/store-shipping-method-form/en.json +90 -0
  216. package/dist/cdn/translations/subscription-form/en.json +116 -21
  217. package/dist/cdn/translations/subscription-settings-form/en.json +92 -0
  218. package/dist/cdn/translations/template-set-card/en.json +7 -0
  219. package/dist/cdn/translations/template-set-form/en.json +60 -0
  220. package/dist/cdn/translations/transaction/en.json +3 -3
  221. package/dist/cdn/translations/transaction-card/en.json +1 -1
  222. package/dist/cdn/translations/transactions-table/en.json +1 -1
  223. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.d.ts +6 -0
  224. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js +40 -13
  225. package/dist/elements/internal/InternalAsyncComboBoxControl/InternalAsyncComboBoxControl.js.map +1 -1
  226. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js +3 -1
  227. package/dist/elements/internal/InternalAsyncDetailsControl/InternalAsyncDetailsControl.js.map +1 -1
  228. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.d.ts +33 -0
  229. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +209 -0
  230. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -0
  231. package/dist/elements/internal/InternalAsyncListControl/index.d.ts +12 -0
  232. package/dist/elements/internal/InternalAsyncListControl/index.js +14 -0
  233. package/dist/elements/internal/InternalAsyncListControl/index.js.map +1 -0
  234. package/dist/elements/internal/InternalCard/InternalCard.d.ts +1 -0
  235. package/dist/elements/internal/InternalCard/InternalCard.js +12 -4
  236. package/dist/elements/internal/InternalCard/InternalCard.js.map +1 -1
  237. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.d.ts +17 -0
  238. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js +57 -0
  239. package/dist/elements/internal/InternalCheckboxGroupControl/InternalCheckboxGroupControl.js.map +1 -0
  240. package/dist/elements/internal/InternalCheckboxGroupControl/index.d.ts +6 -0
  241. package/dist/elements/internal/InternalCheckboxGroupControl/index.js +8 -0
  242. package/dist/elements/internal/InternalCheckboxGroupControl/index.js.map +1 -0
  243. package/dist/elements/internal/InternalCheckboxGroupControl/types.d.ts +6 -0
  244. package/dist/elements/internal/InternalCheckboxGroupControl/types.js +2 -0
  245. package/dist/elements/internal/InternalCheckboxGroupControl/types.js.map +1 -0
  246. package/dist/elements/internal/InternalControl/InternalControl.js +2 -1
  247. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  248. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js +1 -1
  249. package/dist/elements/internal/InternalDeleteControl/InternalDeleteControl.js.map +1 -1
  250. package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
  251. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
  252. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.d.ts +3 -0
  253. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js +24 -4
  254. package/dist/elements/internal/InternalEditableControl/InternalEditableControl.js.map +1 -1
  255. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +12 -0
  256. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +152 -0
  257. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -0
  258. package/dist/elements/internal/InternalEditableListControl/index.d.ts +3 -0
  259. package/dist/elements/internal/InternalEditableListControl/index.js +5 -0
  260. package/dist/elements/internal/InternalEditableListControl/index.js.map +1 -0
  261. package/dist/elements/internal/InternalEditableListControl/types.d.ts +9 -0
  262. package/dist/elements/internal/InternalEditableListControl/types.js +2 -0
  263. package/dist/elements/internal/InternalEditableListControl/types.js.map +1 -0
  264. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.d.ts +6 -1
  265. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +27 -13
  266. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  267. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +6 -1
  268. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +22 -1
  269. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  270. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +6 -1
  271. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +22 -1
  272. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  273. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.d.ts +13 -0
  274. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js +40 -0
  275. package/dist/elements/internal/InternalPasswordControl/InternalPasswordControl.js.map +1 -0
  276. package/dist/elements/internal/InternalPasswordControl/index.d.ts +4 -0
  277. package/dist/elements/internal/InternalPasswordControl/index.js +6 -0
  278. package/dist/elements/internal/InternalPasswordControl/index.js.map +1 -0
  279. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +32 -4
  280. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  281. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +18 -0
  282. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +61 -0
  283. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -0
  284. package/dist/elements/internal/InternalSelectControl/index.d.ts +5 -0
  285. package/dist/elements/internal/InternalSelectControl/index.js +7 -0
  286. package/dist/elements/internal/InternalSelectControl/index.js.map +1 -0
  287. package/dist/elements/internal/InternalSelectControl/types.d.ts +6 -0
  288. package/dist/elements/internal/InternalSelectControl/types.js +2 -0
  289. package/dist/elements/internal/InternalSelectControl/types.js.map +1 -0
  290. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.d.ts +13 -0
  291. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js +40 -0
  292. package/dist/elements/internal/InternalTextAreaControl/InternalTextAreaControl.js.map +1 -0
  293. package/dist/elements/internal/InternalTextAreaControl/index.d.ts +4 -0
  294. package/dist/elements/internal/InternalTextAreaControl/index.js +6 -0
  295. package/dist/elements/internal/InternalTextAreaControl/index.js.map +1 -0
  296. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +4 -1
  297. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +15 -0
  298. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  299. package/dist/elements/private/Dialog/Dialog.d.ts +2 -0
  300. package/dist/elements/private/Dialog/Dialog.js +7 -1
  301. package/dist/elements/private/Dialog/Dialog.js.map +1 -1
  302. package/dist/elements/private/Group/Group.js +1 -1
  303. package/dist/elements/private/Group/Group.js.map +1 -1
  304. package/dist/elements/private/I18N/I18N.js +3 -0
  305. package/dist/elements/private/I18N/I18N.js.map +1 -1
  306. package/dist/elements/private/Switch/Switch.js +1 -1
  307. package/dist/elements/private/Switch/Switch.js.map +1 -1
  308. package/dist/elements/private/Warning/Warning.js +1 -3
  309. package/dist/elements/private/Warning/Warning.js.map +1 -1
  310. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js +5 -5
  311. package/dist/elements/public/AccessRecoveryForm/AccessRecoveryForm.js.map +1 -1
  312. package/dist/elements/public/AddressForm/AddressForm.js +1 -1
  313. package/dist/elements/public/AddressForm/AddressForm.js.map +1 -1
  314. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.d.ts +52 -0
  315. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js +316 -0
  316. package/dist/elements/public/AdminSubscriptionCard/AdminSubscriptionCard.js.map +1 -0
  317. package/dist/elements/public/AdminSubscriptionCard/index.d.ts +5 -0
  318. package/dist/elements/public/AdminSubscriptionCard/index.js +7 -0
  319. package/dist/elements/public/AdminSubscriptionCard/index.js.map +1 -0
  320. package/dist/elements/public/AdminSubscriptionCard/types.d.ts +9 -0
  321. package/dist/elements/public/AdminSubscriptionCard/types.js +2 -0
  322. package/dist/elements/public/AdminSubscriptionCard/types.js.map +1 -0
  323. package/dist/elements/public/ApiBrowser/ApiBrowser.d.ts +2 -1
  324. package/dist/elements/public/ApiBrowser/ApiBrowser.js +38 -15
  325. package/dist/elements/public/ApiBrowser/ApiBrowser.js.map +1 -1
  326. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +20 -0
  327. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +47 -0
  328. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -0
  329. package/dist/elements/public/AppliedCouponCodeCard/index.d.ts +4 -0
  330. package/dist/elements/public/AppliedCouponCodeCard/index.js +6 -0
  331. package/dist/elements/public/AppliedCouponCodeCard/index.js.map +1 -0
  332. package/dist/elements/public/AppliedCouponCodeCard/types.d.ts +3 -0
  333. package/dist/elements/public/AppliedCouponCodeCard/types.js +2 -0
  334. package/dist/elements/public/AppliedCouponCodeCard/types.js.map +1 -0
  335. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.d.ts +37 -0
  336. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js +73 -0
  337. package/dist/elements/public/AppliedCouponCodeForm/AppliedCouponCodeForm.js.map +1 -0
  338. package/dist/elements/public/AppliedCouponCodeForm/index.d.ts +5 -0
  339. package/dist/elements/public/AppliedCouponCodeForm/index.js +7 -0
  340. package/dist/elements/public/AppliedCouponCodeForm/index.js.map +1 -0
  341. package/dist/elements/public/AppliedCouponCodeForm/types.d.ts +17 -0
  342. package/dist/elements/public/AppliedCouponCodeForm/types.js +2 -0
  343. package/dist/elements/public/AppliedCouponCodeForm/types.js.map +1 -0
  344. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
  345. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
  346. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
  347. package/dist/elements/public/AttributeCard/AttributeCard.js +30 -15
  348. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  349. package/dist/elements/public/AttributeForm/AttributeForm.js +1 -1
  350. package/dist/elements/public/AttributeForm/AttributeForm.js.map +1 -1
  351. package/dist/elements/public/CartCard/CartCard.d.ts +47 -0
  352. package/dist/elements/public/CartCard/CartCard.js +271 -0
  353. package/dist/elements/public/CartCard/CartCard.js.map +1 -0
  354. package/dist/elements/public/CartCard/index.d.ts +5 -0
  355. package/dist/elements/public/CartCard/index.js +7 -0
  356. package/dist/elements/public/CartCard/index.js.map +1 -0
  357. package/dist/elements/public/CartCard/types.d.ts +5 -0
  358. package/dist/elements/public/CartCard/types.js +2 -0
  359. package/dist/elements/public/CartCard/types.js.map +1 -0
  360. package/dist/elements/public/CartForm/CartForm.d.ts +164 -0
  361. package/dist/elements/public/CartForm/CartForm.js +733 -0
  362. package/dist/elements/public/CartForm/CartForm.js.map +1 -0
  363. package/dist/elements/public/CartForm/index.d.ts +21 -0
  364. package/dist/elements/public/CartForm/index.js +23 -0
  365. package/dist/elements/public/CartForm/index.js.map +1 -0
  366. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.d.ts +10 -0
  367. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js +83 -0
  368. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/InternalCartFormViewAsCustomerControl.js.map +1 -0
  369. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.d.ts +4 -0
  370. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js +6 -0
  371. package/dist/elements/public/CartForm/internal/InternalCartFormViewAsCustomerControl/index.js.map +1 -0
  372. package/dist/elements/public/CartForm/types.d.ts +67 -0
  373. package/dist/elements/public/CartForm/types.js +2 -0
  374. package/dist/elements/public/CartForm/types.js.map +1 -0
  375. package/dist/elements/public/CollectionPage/CollectionPage.js +11 -8
  376. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  377. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +1 -1
  378. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  379. package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
  380. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
  381. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
  382. package/dist/elements/public/CouponForm/CouponForm.js +14 -10
  383. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  384. package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
  385. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
  386. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
  387. package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
  388. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +7 -36
  389. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  390. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js +1 -1
  391. package/dist/elements/public/CustomFieldForm/CustomFieldForm.js.map +1 -1
  392. package/dist/elements/public/CustomerApi/CustomerApi.d.ts +2 -0
  393. package/dist/elements/public/CustomerApi/CustomerApi.js +14 -0
  394. package/dist/elements/public/CustomerApi/CustomerApi.js.map +1 -1
  395. package/dist/elements/public/CustomerCard/CustomerCard.js +1 -1
  396. package/dist/elements/public/CustomerCard/CustomerCard.js.map +1 -1
  397. package/dist/elements/public/CustomerForm/CustomerForm.js +1 -1
  398. package/dist/elements/public/CustomerForm/CustomerForm.js.map +1 -1
  399. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js +10 -23
  400. package/dist/elements/public/CustomerPortal/InternalCustomerPortalLoggedInView.js.map +1 -1
  401. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js +3 -1
  402. package/dist/elements/public/CustomerPortal/InternalCustomerPortalSubscriptions.js.map +1 -1
  403. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
  404. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
  405. package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
  406. package/dist/elements/public/DiscountCard/DiscountCard.js +4 -3
  407. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  408. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
  409. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
  410. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
  411. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +23 -0
  412. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +41 -0
  413. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -0
  414. package/dist/elements/public/EmailTemplateCard/index.d.ts +5 -0
  415. package/dist/elements/public/EmailTemplateCard/index.js +7 -0
  416. package/dist/elements/public/EmailTemplateCard/index.js.map +1 -0
  417. package/dist/elements/public/EmailTemplateCard/types.d.ts +3 -0
  418. package/dist/elements/public/EmailTemplateCard/types.js +2 -0
  419. package/dist/elements/public/EmailTemplateCard/types.js.map +1 -0
  420. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +4 -0
  421. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +40 -5
  422. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  423. package/dist/elements/public/EmailTemplateForm/index.d.ts +2 -0
  424. package/dist/elements/public/EmailTemplateForm/index.js +2 -0
  425. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  426. package/dist/elements/public/FormDialog/FormDialog.js +1 -1
  427. package/dist/elements/public/FormDialog/FormDialog.js.map +1 -1
  428. package/dist/elements/public/GiftCardCard/GiftCardCard.js +2 -2
  429. package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -1
  430. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +4 -0
  431. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +33 -1
  432. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -1
  433. package/dist/elements/public/GiftCardCodeForm/index.d.ts +7 -4
  434. package/dist/elements/public/GiftCardCodeForm/index.js +7 -4
  435. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -1
  436. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.d.ts +5 -0
  437. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js +23 -0
  438. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/InternalGiftCardCodeFormItemControl.js.map +1 -0
  439. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.d.ts +6 -0
  440. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js +8 -0
  441. package/dist/elements/public/GiftCardCodeForm/internal/InternalGiftCardCodeFormItemControl/index.js.map +1 -0
  442. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.d.ts +23 -0
  443. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js +98 -0
  444. package/dist/elements/public/GiftCardCodeLogCard/GiftCardCodeLogCard.js.map +1 -0
  445. package/dist/elements/public/GiftCardCodeLogCard/index.d.ts +5 -0
  446. package/dist/elements/public/GiftCardCodeLogCard/index.js +7 -0
  447. package/dist/elements/public/GiftCardCodeLogCard/index.js.map +1 -0
  448. package/dist/elements/public/GiftCardCodeLogCard/types.d.ts +3 -0
  449. package/dist/elements/public/GiftCardCodeLogCard/types.js +2 -0
  450. package/dist/elements/public/GiftCardCodeLogCard/types.js.map +1 -0
  451. package/dist/elements/public/GiftCardForm/GiftCardForm.js +29 -4
  452. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  453. package/dist/elements/public/GiftCardForm/index.d.ts +1 -2
  454. package/dist/elements/public/GiftCardForm/index.js +1 -2
  455. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  456. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +14 -0
  457. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +94 -0
  458. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +1 -0
  459. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +6 -0
  460. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +8 -0
  461. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +1 -0
  462. package/dist/elements/public/I18n/format/date.js +5 -4
  463. package/dist/elements/public/I18n/format/date.js.map +1 -1
  464. package/dist/elements/public/I18n/format/price.js +1 -0
  465. package/dist/elements/public/I18n/format/price.js.map +1 -1
  466. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +27 -0
  467. package/dist/elements/public/I18nEditor/I18nEditor.js +182 -0
  468. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -0
  469. package/dist/elements/public/I18nEditor/index.d.ts +7 -0
  470. package/dist/elements/public/I18nEditor/index.js +9 -0
  471. package/dist/elements/public/I18nEditor/index.js.map +1 -0
  472. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.d.ts +17 -0
  473. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js +169 -0
  474. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/InternalI18nEditorEntry.js.map +1 -0
  475. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.d.ts +6 -0
  476. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js +8 -0
  477. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/index.js.map +1 -0
  478. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.d.ts +3 -0
  479. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js +2 -0
  480. package/dist/elements/public/I18nEditor/internal/InternalI18nEditorEntry/types.js.map +1 -0
  481. package/dist/elements/public/I18nEditor/types.d.ts +4 -0
  482. package/dist/elements/public/I18nEditor/types.js +2 -0
  483. package/dist/elements/public/I18nEditor/types.js.map +1 -0
  484. package/dist/elements/public/IntegrationCard/IntegrationCard.d.ts +16 -0
  485. package/dist/elements/public/IntegrationCard/IntegrationCard.js +59 -0
  486. package/dist/elements/public/IntegrationCard/IntegrationCard.js.map +1 -0
  487. package/dist/elements/public/IntegrationCard/index.d.ts +4 -0
  488. package/dist/elements/public/IntegrationCard/index.js +6 -0
  489. package/dist/elements/public/IntegrationCard/index.js.map +1 -0
  490. package/dist/elements/public/IntegrationCard/types.d.ts +3 -0
  491. package/dist/elements/public/IntegrationCard/types.js +2 -0
  492. package/dist/elements/public/IntegrationCard/types.js.map +1 -0
  493. package/dist/elements/public/IntegrationForm/IntegrationForm.d.ts +53 -0
  494. package/dist/elements/public/IntegrationForm/IntegrationForm.js +212 -0
  495. package/dist/elements/public/IntegrationForm/IntegrationForm.js.map +1 -0
  496. package/dist/elements/public/IntegrationForm/index.d.ts +11 -0
  497. package/dist/elements/public/IntegrationForm/index.js +13 -0
  498. package/dist/elements/public/IntegrationForm/index.js.map +1 -0
  499. package/dist/elements/public/IntegrationForm/types.d.ts +21 -0
  500. package/dist/elements/public/IntegrationForm/types.js +2 -0
  501. package/dist/elements/public/IntegrationForm/types.js.map +1 -0
  502. package/dist/elements/public/ItemCard/ItemCard.d.ts +26 -4
  503. package/dist/elements/public/ItemCard/ItemCard.js +235 -45
  504. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  505. package/dist/elements/public/ItemCard/index.d.ts +1 -0
  506. package/dist/elements/public/ItemCard/index.js +1 -0
  507. package/dist/elements/public/ItemCard/index.js.map +1 -1
  508. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +22 -0
  509. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +26 -0
  510. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -0
  511. package/dist/elements/public/ItemCategoryCard/index.d.ts +4 -0
  512. package/dist/elements/public/ItemCategoryCard/index.js +6 -0
  513. package/dist/elements/public/ItemCategoryCard/index.js.map +1 -0
  514. package/dist/elements/public/ItemCategoryCard/types.d.ts +3 -0
  515. package/dist/elements/public/ItemCategoryCard/types.js +2 -0
  516. package/dist/elements/public/ItemCategoryCard/types.js.map +1 -0
  517. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +114 -0
  518. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +382 -0
  519. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -0
  520. package/dist/elements/public/ItemCategoryForm/index.d.ts +10 -0
  521. package/dist/elements/public/ItemCategoryForm/index.js +12 -0
  522. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -0
  523. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.d.ts +8 -0
  524. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +52 -0
  525. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -0
  526. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.d.ts +6 -0
  527. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js +8 -0
  528. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/index.js.map +1 -0
  529. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.d.ts +11 -0
  530. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +83 -0
  531. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -0
  532. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.d.ts +5 -0
  533. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js +7 -0
  534. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/index.js.map +1 -0
  535. package/dist/elements/public/ItemCategoryForm/types.d.ts +55 -0
  536. package/dist/elements/public/ItemCategoryForm/types.js +2 -0
  537. package/dist/elements/public/ItemCategoryForm/types.js.map +1 -0
  538. package/dist/elements/public/ItemForm/ItemForm.d.ts +3 -0
  539. package/dist/elements/public/ItemForm/ItemForm.js +58 -8
  540. package/dist/elements/public/ItemForm/ItemForm.js.map +1 -1
  541. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.d.ts +2 -2
  542. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js +2 -2
  543. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/InternalItemFormCartControl.js.map +1 -1
  544. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.d.ts +1 -1
  545. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js +1 -1
  546. package/dist/elements/public/ItemForm/internal/InternalItemFormCartControl/index.js.map +1 -1
  547. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.d.ts +2 -2
  548. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js +2 -2
  549. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/InternalItemFormInventoryControl.js.map +1 -1
  550. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.d.ts +1 -1
  551. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js +1 -1
  552. package/dist/elements/public/ItemForm/internal/InternalItemFormInventoryControl/index.js.map +1 -1
  553. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.d.ts +2 -2
  554. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js +2 -2
  555. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/InternalItemFormLineItemDiscountControl.js.map +1 -1
  556. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.d.ts +2 -2
  557. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js +2 -2
  558. package/dist/elements/public/ItemForm/internal/InternalItemFormLineItemDiscountControl/index.js.map +1 -1
  559. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.d.ts +2 -2
  560. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js +2 -2
  561. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/InternalItemFormShippingControl.js.map +1 -1
  562. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.d.ts +1 -1
  563. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js +1 -1
  564. package/dist/elements/public/ItemForm/internal/InternalItemFormShippingControl/index.js.map +1 -1
  565. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.d.ts +2 -2
  566. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js +2 -2
  567. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/InternalItemFormSubscriptionControl.js.map +1 -1
  568. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.d.ts +1 -1
  569. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js +1 -1
  570. package/dist/elements/public/ItemForm/internal/InternalItemFormSubscriptionControl/index.js.map +1 -1
  571. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +26 -6
  572. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +201 -18
  573. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  574. package/dist/elements/public/ItemOptionCard/index.d.ts +1 -0
  575. package/dist/elements/public/ItemOptionCard/index.js +1 -0
  576. package/dist/elements/public/ItemOptionCard/index.js.map +1 -1
  577. package/dist/elements/public/NucleonElement/API.js +1 -1
  578. package/dist/elements/public/NucleonElement/API.js.map +1 -1
  579. package/dist/elements/public/NucleonElement/NucleonElement.d.ts +8 -4
  580. package/dist/elements/public/NucleonElement/NucleonElement.js +123 -44
  581. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  582. package/dist/elements/public/NucleonElement/UpdateEvent.d.ts +10 -2
  583. package/dist/elements/public/NucleonElement/UpdateEvent.js +8 -2
  584. package/dist/elements/public/NucleonElement/UpdateEvent.js.map +1 -1
  585. package/dist/elements/public/Pagination/Pagination.js +2 -2
  586. package/dist/elements/public/Pagination/Pagination.js.map +1 -1
  587. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.d.ts +1 -1
  588. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js +2 -2
  589. package/dist/elements/public/PaymentMethodCard/PaymentMethodCard.js.map +1 -1
  590. package/dist/elements/public/PaymentsApi/PaymentsApi.d.ts +37 -0
  591. package/dist/elements/public/PaymentsApi/PaymentsApi.js +111 -0
  592. package/dist/elements/public/PaymentsApi/PaymentsApi.js.map +1 -0
  593. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.d.ts +6 -0
  594. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js +95 -0
  595. package/dist/elements/public/PaymentsApi/api/composers/available_fraud_protections.js.map +1 -0
  596. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.d.ts +11 -0
  597. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js +15 -0
  598. package/dist/elements/public/PaymentsApi/api/composers/available_payment_methods.js.map +1 -0
  599. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.d.ts +10 -0
  600. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js +20 -0
  601. package/dist/elements/public/PaymentsApi/api/composers/fraud_protection.js.map +1 -0
  602. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.d.ts +10 -0
  603. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js +39 -0
  604. package/dist/elements/public/PaymentsApi/api/composers/fraud_protections.js.map +1 -0
  605. package/dist/elements/public/PaymentsApi/api/composers/payment_method.d.ts +18 -0
  606. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js +25 -0
  607. package/dist/elements/public/PaymentsApi/api/composers/payment_method.js.map +1 -0
  608. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.d.ts +14 -0
  609. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js +59 -0
  610. package/dist/elements/public/PaymentsApi/api/composers/payment_methods.js.map +1 -0
  611. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.d.ts +8 -0
  612. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js +22 -0
  613. package/dist/elements/public/PaymentsApi/api/composers/payment_preset.js.map +1 -0
  614. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.d.ts +8 -0
  615. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js +36 -0
  616. package/dist/elements/public/PaymentsApi/api/composers/payment_presets.js.map +1 -0
  617. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.d.ts +12 -0
  618. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js +34 -0
  619. package/dist/elements/public/PaymentsApi/api/handlers/available_fraud_protections.js.map +1 -0
  620. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.d.ts +16 -0
  621. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js +44 -0
  622. package/dist/elements/public/PaymentsApi/api/handlers/available_payment_methods.js.map +1 -0
  623. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.d.ts +17 -0
  624. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js +68 -0
  625. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protection.js.map +1 -0
  626. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.d.ts +17 -0
  627. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js +77 -0
  628. package/dist/elements/public/PaymentsApi/api/handlers/fraud_protections.js.map +1 -0
  629. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.d.ts +22 -0
  630. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js +97 -0
  631. package/dist/elements/public/PaymentsApi/api/handlers/payment_method.js.map +1 -0
  632. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.d.ts +21 -0
  633. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js +113 -0
  634. package/dist/elements/public/PaymentsApi/api/handlers/payment_methods.js.map +1 -0
  635. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.d.ts +14 -0
  636. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js +42 -0
  637. package/dist/elements/public/PaymentsApi/api/handlers/payment_preset.js.map +1 -0
  638. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.d.ts +14 -0
  639. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js +47 -0
  640. package/dist/elements/public/PaymentsApi/api/handlers/payment_presets.js.map +1 -0
  641. package/dist/elements/public/PaymentsApi/api/index.d.ts +11 -0
  642. package/dist/elements/public/PaymentsApi/api/index.js +35 -0
  643. package/dist/elements/public/PaymentsApi/api/index.js.map +1 -0
  644. package/dist/elements/public/PaymentsApi/api/types.d.ts +154 -0
  645. package/dist/elements/public/PaymentsApi/api/types.js +2 -0
  646. package/dist/elements/public/PaymentsApi/api/types.js.map +1 -0
  647. package/dist/elements/public/PaymentsApi/api/utils.d.ts +1 -0
  648. package/dist/elements/public/PaymentsApi/api/utils.js +7 -0
  649. package/dist/elements/public/PaymentsApi/api/utils.js.map +1 -0
  650. package/dist/elements/public/PaymentsApi/index.d.ts +2 -0
  651. package/dist/elements/public/PaymentsApi/index.js +4 -0
  652. package/dist/elements/public/PaymentsApi/index.js.map +1 -0
  653. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +35 -0
  654. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +68 -0
  655. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -0
  656. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.d.ts +5 -0
  657. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js +7 -0
  658. package/dist/elements/public/PaymentsApiFraudProtectionCard/index.js.map +1 -0
  659. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.d.ts +1 -0
  660. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js +2 -0
  661. package/dist/elements/public/PaymentsApiFraudProtectionCard/types.js.map +1 -0
  662. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +55 -0
  663. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +275 -0
  664. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -0
  665. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +10 -0
  666. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +12 -0
  667. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -0
  668. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +18 -0
  669. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js +2 -0
  670. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -0
  671. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +35 -0
  672. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +68 -0
  673. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -0
  674. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.d.ts +5 -0
  675. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js +7 -0
  676. package/dist/elements/public/PaymentsApiPaymentMethodCard/index.js.map +1 -0
  677. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.d.ts +1 -0
  678. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js +2 -0
  679. package/dist/elements/public/PaymentsApiPaymentMethodCard/types.js.map +1 -0
  680. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +87 -0
  681. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +479 -0
  682. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -0
  683. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +12 -0
  684. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +14 -0
  685. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -0
  686. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +32 -0
  687. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js +2 -0
  688. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -0
  689. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +27 -0
  690. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +39 -0
  691. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -0
  692. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.d.ts +5 -0
  693. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js +7 -0
  694. package/dist/elements/public/PaymentsApiPaymentPresetCard/index.js.map +1 -0
  695. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.d.ts +1 -0
  696. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js +2 -0
  697. package/dist/elements/public/PaymentsApiPaymentPresetCard/types.js.map +1 -0
  698. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +61 -0
  699. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +164 -0
  700. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -0
  701. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.d.ts +10 -0
  702. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js +12 -0
  703. package/dist/elements/public/PaymentsApiPaymentPresetForm/index.js.map +1 -0
  704. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +15 -0
  705. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js +2 -0
  706. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -0
  707. package/dist/elements/public/QueryBuilder/components/Input.js +10 -8
  708. package/dist/elements/public/QueryBuilder/components/Input.js.map +1 -1
  709. package/dist/elements/public/QueryBuilder/components/RangeValue.js +7 -5
  710. package/dist/elements/public/QueryBuilder/components/RangeValue.js.map +1 -1
  711. package/dist/elements/public/QueryBuilder/components/Select.js +3 -1
  712. package/dist/elements/public/QueryBuilder/components/Select.js.map +1 -1
  713. package/dist/elements/public/ReportForm/ReportForm.js +5 -2
  714. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  715. package/dist/elements/public/ReportForm/utils.js +3 -2
  716. package/dist/elements/public/ReportForm/utils.js.map +1 -1
  717. package/dist/elements/public/ShipmentCard/ShipmentCard.js +1 -1
  718. package/dist/elements/public/ShipmentCard/ShipmentCard.js.map +1 -1
  719. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.d.ts +34 -0
  720. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js +96 -0
  721. package/dist/elements/public/ShippingMethodCard/ShippingMethodCard.js.map +1 -0
  722. package/dist/elements/public/ShippingMethodCard/index.d.ts +5 -0
  723. package/dist/elements/public/ShippingMethodCard/index.js +7 -0
  724. package/dist/elements/public/ShippingMethodCard/index.js.map +1 -0
  725. package/dist/elements/public/ShippingMethodCard/types.d.ts +10 -0
  726. package/dist/elements/public/ShippingMethodCard/types.js +2 -0
  727. package/dist/elements/public/ShippingMethodCard/types.js.map +1 -0
  728. package/dist/elements/public/StoreForm/StoreForm.d.ts +207 -0
  729. package/dist/elements/public/StoreForm/StoreForm.js +1186 -0
  730. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -0
  731. package/dist/elements/public/StoreForm/index.d.ts +16 -0
  732. package/dist/elements/public/StoreForm/index.js +18 -0
  733. package/dist/elements/public/StoreForm/index.js.map +1 -0
  734. package/dist/elements/public/StoreForm/types.d.ts +97 -0
  735. package/dist/elements/public/StoreForm/types.js +2 -0
  736. package/dist/elements/public/StoreForm/types.js.map +1 -0
  737. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +70 -0
  738. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +277 -0
  739. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -0
  740. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +10 -0
  741. package/dist/elements/public/StoreShippingMethodForm/index.js +12 -0
  742. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -0
  743. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +5 -0
  744. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +33 -0
  745. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -0
  746. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.d.ts +6 -0
  747. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js +8 -0
  748. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/index.js.map +1 -0
  749. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +19 -0
  750. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +96 -0
  751. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -0
  752. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.d.ts +5 -0
  753. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js +7 -0
  754. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/index.js.map +1 -0
  755. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +17 -0
  756. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +45 -0
  757. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +1 -0
  758. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.d.ts +3 -0
  759. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js +5 -0
  760. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/index.js.map +1 -0
  761. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +16 -0
  762. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +49 -0
  763. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +1 -0
  764. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.d.ts +3 -0
  765. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js +5 -0
  766. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/index.js.map +1 -0
  767. package/dist/elements/public/StoreShippingMethodForm/types.d.ts +37 -0
  768. package/dist/elements/public/StoreShippingMethodForm/types.js +2 -0
  769. package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -0
  770. package/dist/elements/public/SubscriptionCard/SubscriptionCard.js +1 -0
  771. package/dist/elements/public/SubscriptionCard/SubscriptionCard.js.map +1 -1
  772. package/dist/elements/public/SubscriptionForm/SubscriptionForm.d.ts +46 -14
  773. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js +300 -157
  774. package/dist/elements/public/SubscriptionForm/SubscriptionForm.js.map +1 -1
  775. package/dist/elements/public/SubscriptionForm/index.d.ts +9 -4
  776. package/dist/elements/public/SubscriptionForm/index.js +9 -4
  777. package/dist/elements/public/SubscriptionForm/index.js.map +1 -1
  778. package/dist/elements/public/SubscriptionForm/types.d.ts +2 -5
  779. package/dist/elements/public/SubscriptionForm/types.js.map +1 -1
  780. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +82 -0
  781. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +257 -0
  782. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -0
  783. package/dist/elements/public/SubscriptionSettingsForm/index.d.ts +9 -0
  784. package/dist/elements/public/SubscriptionSettingsForm/index.js +11 -0
  785. package/dist/elements/public/SubscriptionSettingsForm/index.js.map +1 -0
  786. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.d.ts +12 -0
  787. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js +128 -0
  788. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js.map +1 -0
  789. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.d.ts +2 -0
  790. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +26 -0
  791. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -0
  792. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +7 -0
  793. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +13 -0
  794. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -0
  795. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +35 -0
  796. package/dist/elements/public/SubscriptionSettingsForm/types.js +2 -0
  797. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -0
  798. package/dist/elements/public/SubscriptionsTable/SubscriptionsTable.js +1 -0
  799. package/dist/elements/public/SubscriptionsTable/SubscriptionsTable.js.map +1 -1
  800. package/dist/elements/public/TaxCard/TaxCard.d.ts +4 -4
  801. package/dist/elements/public/TaxCard/TaxCard.js +12 -8
  802. package/dist/elements/public/TaxCard/TaxCard.js.map +1 -1
  803. package/dist/elements/public/TaxCard/index.d.ts +1 -3
  804. package/dist/elements/public/TaxCard/index.js +1 -3
  805. package/dist/elements/public/TaxCard/index.js.map +1 -1
  806. package/dist/elements/public/TaxForm/TaxForm.js +1 -1
  807. package/dist/elements/public/TaxForm/TaxForm.js.map +1 -1
  808. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +6 -3
  809. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  810. package/dist/elements/public/TemplateForm/TemplateForm.js +11 -3
  811. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  812. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +22 -0
  813. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +26 -0
  814. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -0
  815. package/dist/elements/public/TemplateSetCard/index.d.ts +4 -0
  816. package/dist/elements/public/TemplateSetCard/index.js +6 -0
  817. package/dist/elements/public/TemplateSetCard/index.js.map +1 -0
  818. package/dist/elements/public/TemplateSetCard/types.d.ts +3 -0
  819. package/dist/elements/public/TemplateSetCard/types.js +2 -0
  820. package/dist/elements/public/TemplateSetCard/types.js.map +1 -0
  821. package/dist/elements/public/TemplateSetForm/TemplateSetForm.d.ts +67 -0
  822. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js +192 -0
  823. package/dist/elements/public/TemplateSetForm/TemplateSetForm.js.map +1 -0
  824. package/dist/elements/public/TemplateSetForm/index.d.ts +9 -0
  825. package/dist/elements/public/TemplateSetForm/index.js +11 -0
  826. package/dist/elements/public/TemplateSetForm/index.js.map +1 -0
  827. package/dist/elements/public/TemplateSetForm/types.d.ts +25 -0
  828. package/dist/elements/public/TemplateSetForm/types.js +2 -0
  829. package/dist/elements/public/TemplateSetForm/types.js.map +1 -0
  830. package/dist/elements/public/TransactionCard/TransactionCard.js +2 -1
  831. package/dist/elements/public/TransactionCard/TransactionCard.js.map +1 -1
  832. package/dist/elements/public/TransactionsTable/TransactionsTable.js +1 -0
  833. package/dist/elements/public/TransactionsTable/TransactionsTable.js.map +1 -1
  834. package/dist/elements/public/UserForm/UserForm.js +1 -1
  835. package/dist/elements/public/UserForm/UserForm.js.map +1 -1
  836. package/dist/elements/public/index.d.ts +25 -0
  837. package/dist/elements/public/index.defined.d.ts +25 -0
  838. package/dist/elements/public/index.defined.js +25 -0
  839. package/dist/elements/public/index.defined.js.map +1 -1
  840. package/dist/elements/public/index.js +25 -0
  841. package/dist/elements/public/index.js.map +1 -1
  842. package/dist/mixins/configurable.js +25 -8
  843. package/dist/mixins/configurable.js.map +1 -1
  844. package/dist/mixins/inferrable.js +25 -23
  845. package/dist/mixins/inferrable.js.map +1 -1
  846. package/dist/mixins/responsive.js +8 -6
  847. package/dist/mixins/responsive.js.map +1 -1
  848. package/dist/mixins/themeable.js +202 -6717
  849. package/dist/mixins/themeable.js.map +1 -1
  850. package/dist/utils/serialize-date.d.ts +1 -0
  851. package/dist/utils/serialize-date.js +7 -0
  852. package/dist/utils/serialize-date.js.map +1 -1
  853. package/package.json +5 -3
  854. package/dist/cdn/shared-1992ba56.js +0 -1
  855. package/dist/cdn/shared-2061be9a.js +0 -1
  856. package/dist/cdn/shared-47e4ea34.js +0 -1
  857. package/dist/cdn/shared-62169210.js +0 -29
  858. package/dist/cdn/shared-631dd765.js +0 -1
  859. package/dist/cdn/shared-68454b95.js +0 -1
  860. package/dist/cdn/shared-68871f75.js +0 -1
  861. package/dist/cdn/shared-6d104622.js +0 -1
  862. package/dist/cdn/shared-7684cb05.js +0 -1
  863. package/dist/cdn/shared-89d9d88a.js +0 -1
  864. package/dist/cdn/shared-8a980fae.js +0 -1
  865. package/dist/cdn/shared-92a6c959.js +0 -1
  866. package/dist/cdn/shared-a5e52b8f.js +0 -64
  867. package/dist/cdn/shared-a65bca62.js +0 -1
  868. package/dist/cdn/shared-ab008382.js +0 -1
  869. package/dist/cdn/shared-ba59c811.js +0 -1
  870. package/dist/cdn/shared-c89ba319.js +0 -1
  871. package/dist/cdn/shared-dd29b736.js +0 -1
  872. package/dist/cdn/shared-e575ce6f.js +0 -60
  873. package/dist/cdn/shared-e8564a0b.js +0 -1
  874. package/dist/cdn/shared-ed9d70f7.js +0 -302
  875. package/dist/cdn/shared-f7231d6a.js +0 -1
  876. package/dist/cdn/shared-fadcb2e1.js +0 -1
  877. package/dist/cdn/shared-ff649616.js +0 -1
@@ -1 +1 @@
1
- import"./shared-8e9a3bbb.js";import"./shared-2188d5f7.js";import"./shared-47e4ea34.js";import{_ as t,I as e}from"./shared-fadcb2e1.js";import{c as o,h as i,L as r}from"./shared-dc73b9a5.js";import{C as s}from"./shared-92a6c959.js";import{a}from"./shared-62169210.js";import"./shared-ae415a98.js";import"./shared-c87447a4.js";import"./shared-9803aa7c.js";let n,d,c=t=>t;const l=s(a(e(r),"copy-to-clipboard"));class h extends l{constructor(){super(...arguments),this.text=null,this.__state="idle"}static get properties(){return t(t({},super.properties),{},{text:{type:String},__state:{attribute:!1}})}static get styles(){return o(n||(n=c`button{position:relative;appearance:none;background:0 0;border:none;border-radius:var(--lumo-border-radius-s);color:inherit;font-size:inherit;padding:0;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center}button::before{position:absolute;inset:0;content:' ';display:block;background:currentColor;opacity:.08;transition:opacity .15s ease;border-radius:var(--lumo-border-radius-s)}button:focus{outline:0;box-shadow:0 0 0 2px currentColor}button:disabled{opacity:.5;cursor:default}@media (hover:hover){button:not(:disabled):hover{cursor:pointer}button:not(:disabled):hover::before{opacity:.16}}iron-icon{--iron-icon-height:1em;--iron-icon-width:1em}`))}render(){let t="",e="";return"busy"===this.__state?(t="copying",e="icons:hourglass-empty"):"fail"===this.__state?(t="failed_to_copy",e="icons:error-outline"):"done"===this.__state?(t="done",e="icons:done"):(t="click_to_copy",e="icons:content-copy"),i(d||(d=c` <button title="${0}" ?disabled="${0}" @click="${0}"> <iron-icon icon="${0}"></iron-icon> </button> `),this.t(t),this.disabled,(()=>{var t;"idle"===this.__state&&(this.__state="busy",navigator.clipboard.writeText(null!==(t=this.text)&&void 0!==t?t:"").then((()=>this.__state="done")).catch((()=>this.__state="fail")).then((()=>setTimeout((()=>this.__state="idle"),2e3))))}),e)}}customElements.define("foxy-copy-to-clipboard",h);export{h as CopyToClipboard};
1
+ import"./shared-2092d86f.js";import"./shared-62c088b7.js";import"./shared-0821cfdc.js";import{_ as t}from"./shared-a8ced8bf.js";import{c as e,h as o,L as r}from"./shared-7f33a83a.js";import{C as i}from"./shared-43bcce74.js";import{I as s}from"./shared-4f037e43.js";import{a}from"./shared-2cc638ad.js";import"./shared-0ce006b9.js";import"./shared-76b3d76a.js";import"./shared-d3bf9ac0.js";let n,c,d=t=>t;const h=i(a(s(r),"copy-to-clipboard"));class l extends h{constructor(){super(...arguments),this.text=null,this.__state="idle"}static get properties(){return t(t({},super.properties),{},{text:{type:String},__state:{attribute:!1}})}static get styles(){return e(n||(n=d`button{position:relative;appearance:none;background:0 0;border:none;border-radius:var(--lumo-border-radius-s);color:inherit;font-size:inherit;padding:0;width:1.5em;height:1.5em;display:flex;justify-content:center;align-items:center}button::before{position:absolute;inset:0;content:' ';display:block;background:currentColor;opacity:.08;transition:opacity .15s ease;border-radius:var(--lumo-border-radius-s)}button:focus{outline:0;box-shadow:0 0 0 2px currentColor}button:disabled{opacity:.5;cursor:default}@media (hover:hover){button:not(:disabled):hover{cursor:pointer}button:not(:disabled):hover::before{opacity:.16}}iron-icon{--iron-icon-height:1em;--iron-icon-width:1em}`))}render(){let t="",e="";return"busy"===this.__state?(t="copying",e="icons:hourglass-empty"):"fail"===this.__state?(t="failed_to_copy",e="icons:error-outline"):"done"===this.__state?(t="done",e="icons:done"):(t="click_to_copy",e="icons:content-copy"),o(c||(c=d` <button title="${0}" ?disabled="${0}" @click="${0}"> <iron-icon icon="${0}"></iron-icon> </button> `),this.t(t),this.disabled,(()=>{var t;"idle"===this.__state&&(this.__state="busy",navigator.clipboard.writeText(null!==(t=this.text)&&void 0!==t?t:"").then((()=>this.__state="done")).catch((()=>this.__state="fail")).then((()=>setTimeout((()=>this.__state="idle"),2e3))))}),e)}}customElements.define("foxy-copy-to-clipboard",l);export{l as CopyToClipboard};
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-47e4ea34.js";import{h as t}from"./shared-dc73b9a5.js";import{C as e}from"./shared-92a6c959.js";import{N as s}from"./shared-ba59c811.js";import{T as i,a}from"./shared-62169210.js";import{c as r}from"./shared-4e709717.js";import"./shared-2188d5f7.js";import"./shared-ae415a98.js";import"./shared-8e9a3bbb.js";import"./shared-fadcb2e1.js";import"./shared-c87447a4.js";import"./shared-9803aa7c.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";let n,o,d,l,c,p,h,u=t=>t;const m=i(e(a(s,"coupon-card")));class f extends m{constructor(){super(...arguments),this.templates={}}render(){var e,s;const i=this.hiddenSelector;return t(n||(n=u` <div aria-busy="${0}" aria-live="polite" class="relative leading-m font-lumo text-m"> <div class="${0}"> ${0} ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),r({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("description",!0)?"":this.__renderDescription(),i.matches("status",!0)?"":this.__renderStatus(),r({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(s=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"")}__renderTitle(){var e,s,i,a,r,n;const l=null!==(s=null===(e=this.data)||void 0===e?void 0:e.number_of_uses_to_date)&&void 0!==s?s:0,c=null!==(a=null===(i=this.data)||void 0===i?void 0:i.number_of_uses_allowed)&&void 0!==a?a:0;return t(o||(o=u` <div data-testid="title"> ${0} <div class="flex items-center justify-between"> <div class="font-semibold truncate">${0}</div> <foxy-i18n options="${0}" class="text-tertiary text-s flex-shrink-0" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),null!==(n=null===(r=this.data)||void 0===r?void 0:r.name)&&void 0!==n?n:t(d||(d=u`&ZeroWidthSpace;`)),JSON.stringify({count:l,total:c}),this.lang,0===c?"uses_count":"uses_to_total_count",this.ns,this.renderTemplateOrSlot("title:after"))}__renderDescription(){let e=null;if(this.data){const s=this.data.coupon_discount_details,i=this.data.coupon_discount_type,a=this.ns;e=t(l||(l=u` <foxy-i18n options="${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> `),JSON.stringify({params:{details:s,type:i,ns:a}}),this.lang,this.ns)}return t(c||(c=u` <div data-testid="description"> ${0} <div class="truncate text-s text-secondary">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("description:before"),null!=e?e:t(p||(p=u`&ZeroWidthSpace;`)),this.renderTemplateOrSlot("description:after"))}__renderStatus(){var e;const{start_date:s,end_date:i}=null!==(e=this.data)&&void 0!==e?e:{},a=s&&i?"complete":s?"from":i?"until":"any";return t(h||(h=u` <div data-testid="status"> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-tertiary" lang="${0}" key="date_range_${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),JSON.stringify({start:s,end:i}),this.lang,a,this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-coupon-card",f);export{f as CouponCard};
1
+ import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as t}from"./shared-7f33a83a.js";import{C as e}from"./shared-43bcce74.js";import{N as s}from"./shared-181f51bd.js";import{T as i,a}from"./shared-2cc638ad.js";import{c as r}from"./shared-4e709717.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let n,o,d,l,c,p,h,u=t=>t;const m=i(e(a(s,"coupon-card")));class f extends m{constructor(){super(...arguments),this.templates={}}render(){var e,s;const i=this.hiddenSelector;return t(n||(n=u` <div aria-busy="${0}" aria-live="polite" class="relative leading-m font-lumo text-m"> <div class="${0}"> ${0} ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),r({"transition-opacity":!0,"opacity-0":!this.data}),i.matches("title",!0)?"":this.__renderTitle(),i.matches("description",!0)?"":this.__renderDescription(),i.matches("status",!0)?"":this.__renderStatus(),r({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(s=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==s?s:"")}__renderTitle(){var e,s,i,a,r,n;const l=null!==(s=null===(e=this.data)||void 0===e?void 0:e.number_of_uses_to_date)&&void 0!==s?s:0,c=null!==(a=null===(i=this.data)||void 0===i?void 0:i.number_of_uses_allowed)&&void 0!==a?a:0;return t(o||(o=u` <div data-testid="title"> ${0} <div class="flex items-center justify-between"> <div class="font-semibold truncate">${0}</div> <foxy-i18n options="${0}" class="text-tertiary text-s flex-shrink-0" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("title:before"),null!==(n=null===(r=this.data)||void 0===r?void 0:r.name)&&void 0!==n?n:t(d||(d=u`&ZeroWidthSpace;`)),JSON.stringify({count:l,total:c}),this.lang,0===c?"uses_count":"uses_to_total_count",this.ns,this.renderTemplateOrSlot("title:after"))}__renderDescription(){let e=null;if(this.data){const s=this.data.coupon_discount_details,i=this.data.coupon_discount_type,a=this.ns;e=t(l||(l=u` <foxy-i18n options="${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> `),JSON.stringify({params:{details:s,type:i,ns:a}}),this.lang,this.ns)}return t(c||(c=u` <div data-testid="description"> ${0} <div class="truncate text-s text-secondary">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("description:before"),null!=e?e:t(p||(p=u`&ZeroWidthSpace;`)),this.renderTemplateOrSlot("description:after"))}__renderStatus(){var e;const{start_date:s,end_date:i}=null!==(e=this.data)&&void 0!==e?e:{},a=s&&i?"complete":s?"from":i?"until":"any";return t(h||(h=u` <div data-testid="status"> ${0} <foxy-i18n options="${0}" class="block truncate text-s text-tertiary" lang="${0}" key="date_range_${0}" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("status:before"),JSON.stringify({start:s,end:i}),this.lang,a,this.ns,this.renderTemplateOrSlot("status:after"))}}customElements.define("foxy-coupon-card",f);export{f as CouponCard};
@@ -1 +1 @@
1
- import"./shared-0b65fb12.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-47e4ea34.js";import"./shared-d28ac9dc.js";import"./shared-c5c60417.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-92a6c959.js";import{N as s}from"./shared-ba59c811.js";import"./shared-2188d5f7.js";import"./shared-195fd5af.js";import"./shared-31c43743.js";import{T as r,S as i,a}from"./shared-62169210.js";import{c as d}from"./shared-4e709717.js";import"./shared-ed9d70f7.js";import"./shared-ab008382.js";import"./shared-ce24fef8.js";import"./shared-4e201e09.js";import"./shared-dc23b751.js";import"./shared-a052131e.js";import{P as n}from"./shared-dd6d3c18.js";import{i as o}from"./shared-9803aa7c.js";import"./shared-fadcb2e1.js";import"./shared-8e9a3bbb.js";import"./shared-ae415a98.js";import"./shared-c87447a4.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";import"./shared-99940888.js";let l,m,h,c,p,f=e=>e;const u=t(r(i(a(s,"coupon-code-form"))));class _ extends u{constructor(){super(...arguments),this.templates={}}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":n}}static get v8n(){return[({code:e})=>!!e||"code_required",({code:e})=>!e||e.length<=50||"code_too_long"]}render(){var t,s;return e(l||(l=f` <div class="relative space-y-m"> ${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> `),this.__isCodeHidden?null:this.__renderCode(),this.__isTimestampsHidden?null:this.__renderTimestamps(),this.__isCreateHidden?null:this.__renderCreate(),this.__isDeleteHidden?null:this.__renderDelete(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}get __isCodeHidden(){return this.hiddenSelector.matches("code",!0)}get __isTimestampsHidden(){return!!this.hiddenSelector.matches("timestamps",!0)||!this.data}get __isCreateHidden(){return!!this.hiddenSelector.matches("create",!0)||!!this.data}get __isDeleteHidden(){return!!this.hiddenSelector.matches("delete",!0)||!this.data}__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)))}__renderCode(){return e(m||(m=f` <div> ${0} <vaadin-text-field data-testid="code" class="w-full" label="${0}" value="${0}" .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("code:before"),this.t("code"),o(this.form.code),this.__getValidator("code"),this.__getErrorMessage("code"),!this.in("idle")||this.disabledSelector.matches("code",!0),this.readonlySelector.matches("code",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({code:t})}),this.renderTemplateOrSlot("code:after"))}__renderTimestamps(){return e(h||(h=f` <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 t=this.in({idle:{template:{clean:"invalid"}}}),s=this.in({idle:{template:{dirty:"invalid"}}}),r=this.in({idle:{snapshot:{clean:"invalid"}}}),i=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=t||s||(r||i),d=this.in("idle");return e(c||(c=f` <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"),!d||a||this.disabledSelector.matches("create",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return e(p||(p=f` <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"))}}customElements.define("foxy-coupon-code-form",_);export{_ as CouponCodeForm};
1
+ import"./shared-8dd0af4d.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import"./shared-08156595.js";import"./shared-bc814810.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{N as s}from"./shared-181f51bd.js";import"./shared-62c088b7.js";import"./shared-be66c2e7.js";import"./shared-5a4829e3.js";import{T as r,S as i,a}from"./shared-2cc638ad.js";import{c as d}from"./shared-4e709717.js";import"./shared-1c94a156.js";import"./shared-62a54a6c.js";import"./shared-101d1234.js";import"./shared-bd252323.js";import"./shared-7d4fb1a2.js";import"./shared-4849ef5b.js";import"./shared-6cb1015f.js";import"./shared-5ea18e60.js";import{P as o}from"./shared-5378bd8c.js";import{i as n}from"./shared-d3bf9ac0.js";import"./shared-a8ced8bf.js";import"./shared-2092d86f.js";import"./shared-0ce006b9.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-ed0dee03.js";import"./shared-11c2efc8.js";import"./shared-404aa9cc.js";import"./shared-08e27fe9.js";let l,m,h,c,p,f=e=>e;const u=t(r(i(a(s,"coupon-code-form"))));class _ extends u{constructor(){super(...arguments),this.templates={}}static get scopedElements(){return{"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-property-table":o}}static get v8n(){return[({code:e})=>!!e||"code_required",({code:e})=>!e||e.length<=50||"code_too_long"]}render(){var t,s;return e(l||(l=f` <div class="relative space-y-m"> ${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> `),this.__isCodeHidden?null:this.__renderCode(),this.__isTimestampsHidden?null:this.__renderTimestamps(),this.__isCreateHidden?null:this.__renderCreate(),this.__isDeleteHidden?null:this.__renderDelete(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}get __isCodeHidden(){return this.hiddenSelector.matches("code",!0)}get __isTimestampsHidden(){return!!this.hiddenSelector.matches("timestamps",!0)||!this.data}get __isCreateHidden(){return!!this.hiddenSelector.matches("create",!0)||!!this.data}get __isDeleteHidden(){return!!this.hiddenSelector.matches("delete",!0)||!this.data}__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)))}__renderCode(){return e(m||(m=f` <div> ${0} <vaadin-text-field data-testid="code" class="w-full" label="${0}" value="${0}" .checkValidity="${0}" .errorMessage="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("code:before"),this.t("code"),n(this.form.code),this.__getValidator("code"),this.__getErrorMessage("code"),!this.in("idle")||this.disabledSelector.matches("code",!0),this.readonlySelector.matches("code",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({code:t})}),this.renderTemplateOrSlot("code:after"))}__renderTimestamps(){return e(h||(h=f` <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 t=this.in({idle:{template:{clean:"invalid"}}}),s=this.in({idle:{template:{dirty:"invalid"}}}),r=this.in({idle:{snapshot:{clean:"invalid"}}}),i=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=t||s||(r||i),d=this.in("idle");return e(c||(c=f` <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"),!d||a||this.disabledSelector.matches("create",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return e(p||(p=f` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}customElements.define("foxy-coupon-code-form",_);export{_ as CouponCodeForm};
@@ -1 +1 @@
1
- import"./shared-c5c60417.js";import"./shared-8e9a3bbb.js";import"./shared-2188d5f7.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-47e4ea34.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-92a6c959.js";import{E as s}from"./shared-68454b95.js";import{G as i}from"./shared-6d104622.js";import{N as o}from"./shared-ba59c811.js";import{T as n,S as r,a}from"./shared-62169210.js";import{c as d}from"./shared-4e709717.js";import"./shared-195fd5af.js";import"./shared-ae415a98.js";import"./shared-fadcb2e1.js";import"./shared-c87447a4.js";import"./shared-9803aa7c.js";import"./shared-22ba9566.js";import"./shared-a0c6a159.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";let l,c,m,h,p=e=>e;const u=t(n(r(a(o,"coupon-codes-form"))));class x extends u{constructor(){super(...arguments),this.templates={}}static get scopedElements(){return{"vaadin-button":customElements.get("vaadin-button"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-editable-list":s,"x-group":i}}static get v8n(){return[({coupon_codes:e})=>e&&e.length>0||"coupon_codes_required"]}render(){var t,s;const{hiddenSelector:i,lang:o,ns:n}=this,r=this.in("busy"),a=this.in("fail"),c=this.in({idle:"snapshot"}),m=this.in({idle:"template"}),h="transition-opacity duration-500",u="opacity-0 pointer-events-none";return e(l||(l=p` <div class="relative"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l bg-success"> <iron-icon icon="icons:done-all" class="m-auto text-success-contrast"></iron-icon> </div> <foxy-i18n class="block" lang="${0}" key="import_codes_done" ns="${0}"></foxy-i18n> </div> <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> `),d({"relative space-y-m":!0,[h]:!0,[u]:c}),i.matches("codes",!0)?"":this.__renderCodes(),i.matches("import",!0)?"":this.__renderImport(),d({"absolute inset-0 flex flex-col items-center justify-center":!0,"text-center text-m text-secondary leading-m":!0,[h]:!0,[u]:!c}),o,n,d({"absolute inset-0 flex":!0,[h]:!0,[u]:!r&&!a}),a?"error":m?"empty":"busy",o,n,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}__renderCodes(){var t;const s=null!==(t=this.form.coupon_codes)&&void 0!==t?t:[],i=s.length>16?s.slice(-16):s,o=s.length>16?s.slice(0,-16):[],n=i.map((t=>{let s;try{const e=new URL(this.parent);e.searchParams.set("code",t),s=e.toString()}catch(e){s=this.parent}return{value:t,label:e(c||(c=p` <foxy-internal-coupon-codes-form-list-item group="${0}" href="${0}" lang="${0}" ns="${0}"> </foxy-internal-coupon-codes-form-list-item> `),this.group,s,this.lang,this.ns)}}));return e(m||(m=p` <div data-testid="codes"> ${0} <x-group class="mb-xs" frame> <foxy-i18n slot="header" lang="${0}" key="code_plural" ns="${0}"></foxy-i18n> <x-editable-list data-testid="codes:list" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}" @paste="${0}"> <div class="ml-m py-s border-b border-contrast-10 font-lumo" ?hidden="${0}"> <foxy-i18n options="${0}" class="block text-body text-m mb-xs" lang="${0}" key="hidden_codes_header" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-xs text-tertiary" lang="${0}" key="hidden_codes_explainer" ns="${0}"> </foxy-i18n> </div> </x-editable-list> </x-group> <foxy-i18n class="block text-xs text-tertiary leading-s" lang="${0}" key="code_import_hint" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("codes:before"),this.lang,this.ns,this.lang,this.ns,!this.in("idle")||this.disabledSelector.matches("codes",!0),this.readonlySelector.matches("codes",!0),n,(e=>{const t=e.currentTarget,s=new Set([...o,...t.items.map((e=>e.value))]);this.edit({coupon_codes:[...s]})}),(e=>{var t,i;e.preventDefault();const o=(null!==(i=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text"))&&void 0!==i?i:"").split(/\s/).map((e=>e.trim())).filter((e=>e.length>0));this.edit({coupon_codes:Array.from(new Set([...s,...o]))})}),0===o.length,JSON.stringify({count:o.length}),this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("codes:after"))}__renderImport(){const t=this.in({idle:{template:{dirty:"valid"}}}),s=this.in({idle:{snapshot:{dirty:"valid"}}}),i=t||s;return e(h||(h=p` <div> ${0} <vaadin-button data-testid="import" class="w-full mb-xs" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="import" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("import:before"),!i||!this.in("idle")||this.disabledSelector.matches("import",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("import:after"))}}let f,y,b=e=>e;const g=a(n(o));customElements.define("foxy-coupon-codes-form",x),customElements.define("foxy-internal-coupon-codes-form-list-item",class extends g{render(){var t,s;let i;try{i=null!==(t=new URL(this.href).searchParams.get("code"))&&void 0!==t?t:""}catch(t){return e(f||(f=b``))}let o,n="text-tertiary bg-contrast-5",r="text-body";return this.in("fail")?o="loading_error":this.in("busy")?o="loading_busy":0===(null===(s=this.data)||void 0===s?void 0:s.returned_items)?(n="text-success bg-success-10",o="unique"):(n="text-error bg-error-10",o="duplicate",r="text-error"),e(y||(y=b` <div class="flex justify-between items-center font-lumo leading-m"> <div class="text-m ${0}">${0}</div> <foxy-i18n class="text-xs font-medium px-xs rounded ${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),r,i,n,this.lang,o,this.ns)}});export{x as CouponCodesForm};
1
+ import"./shared-bc814810.js";import"./shared-2092d86f.js";import"./shared-62c088b7.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{E as s}from"./shared-b40cf0dd.js";import{G as i}from"./shared-d8dc97f0.js";import{N as o}from"./shared-181f51bd.js";import{T as n,S as r,a}from"./shared-2cc638ad.js";import{c as d}from"./shared-4e709717.js";import"./shared-be66c2e7.js";import"./shared-0ce006b9.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-d3bf9ac0.js";import"./shared-f3b35364.js";import"./shared-d519a301.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let l,c,m,h,p=e=>e;const u=t(n(r(a(o,"coupon-codes-form"))));class f extends u{constructor(){super(...arguments),this.templates={}}static get scopedElements(){return{"vaadin-button":customElements.get("vaadin-button"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-editable-list":s,"x-group":i}}static get v8n(){return[({coupon_codes:e})=>e&&e.length>0||"coupon_codes_required"]}render(){var t,s;const{hiddenSelector:i,lang:o,ns:n}=this,r=this.in("busy"),a=this.in("fail"),c=this.in({idle:"snapshot"}),m=this.in({idle:"template"}),h="transition-opacity duration-500",u="opacity-0 pointer-events-none";return e(l||(l=p` <div class="relative"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l bg-success"> <iron-icon icon="icons:done-all" class="m-auto text-success-contrast"></iron-icon> </div> <foxy-i18n class="block" lang="${0}" key="import_codes_done" ns="${0}"></foxy-i18n> </div> <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> `),d({"relative space-y-m":!0,[h]:!0,[u]:c}),i.matches("codes",!0)?"":this.__renderCodes(),i.matches("import",!0)?"":this.__renderImport(),d({"absolute inset-0 flex flex-col items-center justify-center":!0,"text-center text-m text-secondary leading-m":!0,[h]:!0,[u]:!c}),o,n,d({"absolute inset-0 flex":!0,[h]:!0,[u]:!r&&!a}),a?"error":m?"empty":"busy",o,n,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}__renderCodes(){var t;const s=null!==(t=this.form.coupon_codes)&&void 0!==t?t:[],i=s.length>16?s.slice(-16):s,o=s.length>16?s.slice(0,-16):[],n=i.map((t=>{let s;try{const e=new URL(this.parent);e.searchParams.set("code",t),s=e.toString()}catch(e){s=this.parent}return{value:t,label:e(c||(c=p` <foxy-internal-coupon-codes-form-list-item group="${0}" href="${0}" lang="${0}" ns="${0}"> </foxy-internal-coupon-codes-form-list-item> `),this.group,s,this.lang,this.ns)}}));return e(m||(m=p` <div data-testid="codes"> ${0} <x-group class="mb-xs" frame> <foxy-i18n slot="header" lang="${0}" key="code_plural" ns="${0}"></foxy-i18n> <x-editable-list data-testid="codes:list" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}" @paste="${0}"> <div class="ml-m py-s border-b border-contrast-10 font-lumo" ?hidden="${0}"> <foxy-i18n options="${0}" class="block text-body text-m mb-xs" lang="${0}" key="hidden_codes_header" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-xs text-tertiary" lang="${0}" key="hidden_codes_explainer" ns="${0}"> </foxy-i18n> </div> </x-editable-list> </x-group> <foxy-i18n class="block text-xs text-tertiary leading-s" lang="${0}" key="code_import_hint" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("codes:before"),this.lang,this.ns,this.lang,this.ns,!this.in("idle")||this.disabledSelector.matches("codes",!0),this.readonlySelector.matches("codes",!0),n,(e=>{const t=e.currentTarget,s=new Set([...o,...t.items.map((e=>e.value))]);this.edit({coupon_codes:[...s]})}),(e=>{var t,i;e.preventDefault();const o=(null!==(i=null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text"))&&void 0!==i?i:"").split(/\s/).map((e=>e.trim())).filter((e=>e.length>0));this.edit({coupon_codes:Array.from(new Set([...s,...o]))})}),0===o.length,JSON.stringify({count:o.length}),this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("codes:after"))}__renderImport(){const t=this.in({idle:{template:{dirty:"valid"}}}),s=this.in({idle:{snapshot:{dirty:"valid"}}}),i=t||s;return e(h||(h=p` <div> ${0} <vaadin-button data-testid="import" class="w-full mb-xs" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="import" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("import:before"),!i||!this.in("idle")||this.disabledSelector.matches("import",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("import:after"))}}let x,y,b=e=>e;const g=a(n(o));customElements.define("foxy-coupon-codes-form",f),customElements.define("foxy-internal-coupon-codes-form-list-item",class extends g{render(){var t,s;let i;try{i=null!==(t=new URL(this.href).searchParams.get("code"))&&void 0!==t?t:""}catch(t){return e(x||(x=b``))}let o,n="text-tertiary bg-contrast-5",r="text-body";return this.in("fail")?o="loading_error":this.in("busy")?o="loading_busy":0===(null===(s=this.data)||void 0===s?void 0:s.returned_items)?(n="text-success bg-success-10",o="unique"):(n="text-error bg-error-10",o="duplicate",r="text-error"),e(y||(y=b` <div class="flex justify-between items-center font-lumo leading-m"> <div class="text-m ${0}">${0}</div> <foxy-i18n class="text-xs font-medium px-xs rounded ${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),r,i,n,this.lang,o,this.ns)}});export{f as CouponCodesForm};
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-47e4ea34.js";import{h as r}from"./shared-dc73b9a5.js";import{a as e}from"./shared-62169210.js";import{T as s}from"./shared-68871f75.js";import"./shared-2188d5f7.js";import"./shared-ae415a98.js";import"./shared-8e9a3bbb.js";import"./shared-fadcb2e1.js";import"./shared-c87447a4.js";import"./shared-92a6c959.js";import"./shared-9803aa7c.js";import"./shared-ba59c811.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";import"./shared-4e709717.js";let t,a,c=r=>r;const i=e(s,"coupon-detail-card");class o extends i{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}render(){return super.render({title:e=>r(t||(t=c`${0} &bull; ${0}`),e.name,e.code),subtitle:e=>{let s;try{s=Math.abs(e.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){s="--"}return r(a||(a=c` <span class="${0}">${0}</span> `),e.amount_per>0?"text-success":"text-error",s)}})}async _sendGet(){const r=await super._sendGet(),[e,s]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=e.currency_code,this.__currencyDisplay=s.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-coupon-detail-card",o);export{o as CouponDetailCard};
1
+ import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as r}from"./shared-7f33a83a.js";import{a as s}from"./shared-2cc638ad.js";import{T as e}from"./shared-868065de.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-43bcce74.js";import"./shared-d3bf9ac0.js";import"./shared-486d7bb5.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let t,a,c=r=>r;const i=s(e,"coupon-detail-card");class o extends i{constructor(){super(...arguments),this.__currencyDisplay="",this.__currency=""}renderBody(){return super.renderBody({title:s=>r(t||(t=c`${0} &bull; ${0}`),s.name,s.code),subtitle:s=>{let e;try{e=Math.abs(s.amount_per).toLocaleString(this.lang||"en",{maximumFractionDigits:2,minimumFractionDigits:2,currencyDisplay:this.__currencyDisplay,currency:this.__currency,style:"currency"})}catch(r){e="--"}return r(a||(a=c` <span class="${0}">${0}</span> `),s.amount_per>0?"text-success":"text-error",e)}})}async _sendGet(){const r=await super._sendGet(),[s,e]=await Promise.all([super._fetch(r._links["fx:transaction"].href),super._fetch(r._links["fx:store"].href)]);return this.__currency=s.currency_code,this.__currencyDisplay=e.use_international_currency_symbol?"code":"symbol",r}}customElements.define("foxy-coupon-detail-card",o);export{o as CouponDetailCard};
@@ -1 +1 @@
1
- import"./shared-4e201e09.js";import"./shared-d28ac9dc.js";import"./shared-dc23b751.js";import"./shared-86d93838.js";import"./shared-c5c60417.js";import"./shared-8e9a3bbb.js";import"./shared-2188d5f7.js";import"./shared-0b65fb12.js";import"./shared-e1c1e8e2.js";import"./foxy-generate-codes-form.js";import"./foxy-coupon-codes-form.js";import"./foxy-copy-to-clipboard.js";import"./foxy-coupon-code-form.js";import{T as e}from"./shared-a5e52b8f.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-47e4ea34.js";import{_ as t}from"./shared-fadcb2e1.js";import{h as s}from"./shared-dc73b9a5.js";import{C as i,a as n}from"./shared-f1317609.js";import{C as r}from"./shared-92a6c959.js";import{N as a}from"./shared-ba59c811.js";import{S as o,T as l,a as d,R as c}from"./shared-62169210.js";import{i as u}from"./shared-9803aa7c.js";import{c as m}from"./shared-4e709717.js";import{E as h}from"./shared-68454b95.js";import{G as p}from"./shared-6d104622.js";import{P as y}from"./shared-dd6d3c18.js";import{l as g}from"./shared-22ba9566.js";import{o as f}from"./shared-f9f9ed5b.js";import{r as $}from"./shared-a0c6a159.js";import{s as x}from"./shared-2061be9a.js";import"./shared-195fd5af.js";import"./shared-ae415a98.js";import"./shared-a052131e.js";import"./shared-ce24fef8.js";import"./shared-ed9d70f7.js";import"./shared-31c43743.js";import"./shared-c87447a4.js";import"./shared-99940888.js";import"./shared-1ba08bcc.js";import"./shared-ab008382.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-321572bc.js";import"./foxy-nucleon-element.js";let _,b=e=>e;const v=r(o(l(a)));class S extends v{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"x-checkbox":i}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){return s(_||(_=b` <div class="h-full flex items-center"> <x-checkbox data-testid="checkbox" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </x-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{e.detail?(this.edit({item_category_uri:this.itemCategory,coupon_uri:this.coupon}),this.submit()):this.delete()}))}}let k,w=e=>e;const T=r(o(l(a)));class j extends T{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":S}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:coupon_item_categories"][0],i=t?void 0:this.href,n=t?t._links.self.href:void 0;return s(k||(k=w` <x-category-restrictions-page-item-content item-category="${0}" data-testid="content" coupon="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.coupon,u(i),this.group,u(n),!this.in("idle")||this.disabled,this.readonly)}}let C,R,E,O=e=>e;const q=r(o(l(d(a))));class N extends q{constructor(){super(...arguments),this.couponItemCategories="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":j}}static get properties(){return t(t({},super.properties),{},{couponItemCategories:{type:String,attribute:"coupon-item-categories"},coupon:{type:String}})}render(){var e,t,i,n,r;const a=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:item_categories"])&&void 0!==t?t:[];let o=20;try{const e=parseInt(null!==(i=new URL(this.href).searchParams.get("limit"))&&void 0!==i?i:"");isNaN(e)||(o=e)}catch(e){}return s(C||(C=O` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),new Array(o).fill(0).map(((e,t)=>{const i=a[t];let n;if(i)try{const e=new URL(this.couponItemCategories),t=new URL(i._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),n=e.toString()}catch(e){}return n?s(E||(E=O` <x-category-restrictions-page-item data-testclass="item" item-category="${0}" coupon="${0}" class="h-l" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),i._links.self.href,this.coupon,this.group,n,!this.in("idle")||this.disabled,this.readonly,null==i?void 0:i.name):s(R||(R=O`<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!==(r=null===(n=customElements.get("foxy-spinner"))||void 0===n?void 0:n.defaultNS)&&void 0!==r?r:"")}}let D,P,U,I,z,J,M,Q,L,F,G,V,W,A,B,H,K,X,Y,Z,ee,te,se,ie,ne,re,ae,oe,le,de,ce,ue,me,he,pe=e=>e;const ye=o(l(r(c(d(a,"coupon-form")))));class ge extends ye{constructor(){super(...arguments),this.__codesTableColumns=[{header:e=>s(D||(D=pe`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>{const t=!this.in("idle")||this.disabledSelector.matches("codes",!0);return s(P||(P=pe` <div class="flex items-center gap-xs"> <vaadin-button theme="tertiary-inline contrast" class="p-0" ?disabled="${0}" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> <foxy-copy-to-clipboard ?disabled="${0}" text="${0}" lang="${0}" ns="${0} copy-to-clipboard"> </foxy-copy-to-clipboard> </div> `),t,(t=>{const s=this.renderRoot.querySelector("#code-dialog"),i=t.currentTarget;s.href=e.data._links.self.href,s.show(i)}),e.data.code,t,e.data.code,e.lang,e.ns)}},{header:e=>s(U||(U=pe`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(I||(I=pe` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_created}),e.lang,e.ns)},{hideBelow:"sm",header:e=>s(z||(z=pe`<foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(J||(J=pe` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_modified}),e.lang,e.ns)},{header:e=>s(M||(M=pe`<foxy-i18n lang="${0}" key="used_codes" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(Q||(Q=pe`${0}`),e.data.number_of_uses_to_date)}],this.__codesTableQuery=null,this.__itemCategories=""}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"iron-dropdown":customElements.get("iron-dropdown"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-copy-to-clipboard":customElements.get("foxy-copy-to-clipboard"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-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":N,"x-property-table":y,"x-editable-list":h,"x-checkbox":i,"x-group":p}}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 i=this.hiddenSelector;return s(L||(L=pe` <div class="relative space-y-l"> ${0} ${0} ${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="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i.matches("name",!0)?"":this.__renderName(),i.matches("rules",!0)?"":this.__renderRules(),i.matches("codes",!0)||!this.data?"":this.__renderCodes(),i.matches("usage",!0)?"":this.__renderUsage(),i.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),i.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),i.matches("options",!0)?"":this.__renderOptions(),i.matches("timestamps",!0)?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),m({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:store"].href),s=new URL(t._links["fx:item_categories"].href);return s.searchParams.set("limit","5"),this.__itemCategories=s.toString(),e}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){return s(F||(F=pe` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" data-testid="name" class="w-full" label="${0}" .checkValidity="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.__getErrorMessage("name"),this.t("coupon_name_helper_text"),this.t("name"),this.__getValidator("name"),this.form.name,!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderRulesPreset(){const e=!this.in("idle")||this.disabledSelector.matches("rules",!0),i=this.readonlySelector.matches("rules",!0),n=this.form.coupon_discount_details,r=this.form.coupon_discount_type,a=[{type:"quantity_amount",details:"allunits|2-2"},{type:"quantity_percentage",details:"allunits|5-10|10-20"},{type:"quantity_amount",details:"incremental|3-5"},{type:"quantity_percentage",details:"incremental|11-10|51-15|101-20"},{type:"quantity_percentage",details:"repeat|2-100"},{type:"quantity_percentage",details:"repeat|4-50"},{type:"quantity_amount",details:"single|5-10"},{type:"price_percentage",details:"single|99.99-10"}],o=a.find((e=>e.details===n&&e.type===r));return s(G||(G=pe` <label data-testid="rules:preset" class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="preset" ns="${0}"></foxy-i18n> <span class="relative font-medium flex items-center"> <span class="truncate"> ${0} </span> <iron-icon class="icon-inline text-xl ml-xs -mr-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" data-testid="rules:preset:select" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} <option value="custom" ?selected="${0}"> ${0} </option> </select> </span> </label> `),m({"whitespace-nowrap block ring-primary-50 rounded px-xs -mx-xs transition-colors":!0,"text-body hover-text-primary focus-within-ring-2":!e&&!i,"text-disabled":e,"text-secondary":i}),this.lang,this.ns,o?this.t("discount_summary",{params:t(t({},o),{},{ns:this.ns})}):this.t("custom_discount"),e||i,(e=>{var t,s;const i=e.currentTarget,n=a[i.selectedIndex];this.edit({coupon_discount_details:null!==(t=null==n?void 0:n.details)&&void 0!==t?t:"",coupon_discount_type:null!==(s=null==n?void 0:n.type)&&void 0!==s?s:"quantity_amount"})}),a.map((e=>s(V||(V=pe` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.details,e===o,this.t("discount_summary",{params:t(t({},e),{},{ns:this.ns})})))),!o,this.t("custom_discount"))}__renderRulesTierSelect({label:e,value:t,options:i,onChange:n}){const r=!this.in("idle")||this.disabledSelector.matches("rules",!0),a=this.readonlySelector.matches("rules",!0),o=!r&&!a;return s(W||(W=pe` <label class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),m({"h-xs whitespace-nowrap block ring-primary-50 rounded pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":o,"bg-primary-10 text-primary":o,"bg-contrast-5 text-disabled":r,"bg-contrast-5 text-secondary":a&&!r}),this.lang,e,this.ns,this.t(i[t]),!o,(e=>{const t=e.currentTarget;n(t.options[t.selectedIndex].value)}),Object.entries(i).map((([e,i])=>s(A||(A=pe` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===t,this.t(i)))))}__renderRulesTierSwitch({value:e,options:t,onChange:i}){const n=!this.in("idle")||this.disabledSelector.matches("rules",!0),r=this.readonlySelector.matches("rules",!0),a=!n&&!r,o=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,l="width: 0.4rem; height: 0.4rem";return s(B||(B=pe` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),m({"h-xs px-xs space-x-xs flex items-center rounded transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":a,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":a,"bg-contrast-5 text-disabled":n,"bg-contrast-5 text-secondary":r&&!n}),(t=>{if(!a)return;t.currentTarget.querySelector("input").focus(),i(0===e?1:0)}),t.map(((t,n)=>s(H||(H=pe` <label> <foxy-i18n class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),m({"sr-only":n!==e}),this.lang,t,this.ns,t,o,!a,n===e,(e=>{e.currentTarget.checked&&i(n)})))),e?"flex-col-reverse":"flex-col",l,l)}__renderRulesTierField({value:e,label:t,onChange:i}){const n=!this.in("idle")||this.disabledSelector.matches("rules",!0),r=this.readonlySelector.matches("rules",!0),a=!n&&!r;return s(K||(K=pe` <label> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <input data-testclass="interactive editable" class="${0}" type="number" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),this.lang,t,this.ns,m({"transition-colors border p-xs h-xs font-medium text-m rounded w-xl":!0,"ring-primary-50 text-body bg-contrast-10":a,"hover-bg-contrast-20":a,"focus-outline-none focus-ring-2":a,"text-disabled bg-contrast-5":n,"text-secondary":r&&!n,"border-transparent border-solid":!r,"border-dashed border-contrast-30":r}),!a,e,(e=>{const t=e.currentTarget;i(t.value)}))}__renderRulesTier(e){var t;const i=!this.in("idle")||this.disabledSelector.matches("rules",!0),n=this.readonlySelector.matches("rules",!0),r=null!==(t=e.tier)&&void 0!==t?t:"0-0",a=r.includes("+")?"+":"-",[o,l]=r.split(/[-+]/).map((e=>parseFloat(e)));return s(X||(X=pe` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_if" ns="${0}"> </foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_then" ns="${0}"> </foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_by" ns="${0}"> </foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),m({"flex items-start justify-between rounded-t-l rounded-b-l":!0,"border border-contrast-10":!0,"border-dashed":!e.tier}),m({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!i,"text-disabled":i}),this.lang,this.ns,this.__renderRulesTierSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),f,this.__renderRulesTierField({label:"from",value:String(o),onChange:t=>e.onChange({tier:`${t}${a}${l}`})}),this.lang,this.ns,this.__renderRulesTierSwitch({options:["reduce","increase"],value:"-"===a?0:1,onChange:t=>e.onChange({tier:`${o}${t?"+":"-"}${l}`})}),this.__renderRulesTierSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.lang,this.ns,this.__renderRulesTierField({label:"adjustment",value:String(l),onChange:t=>e.onChange({tier:`${o}${a}${t}`})}),this.__renderRulesTierSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?s(Y||(Y=pe` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),m({"w-s h-s m-s flex-shrink-0 rounded transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!i,"text-disabled cursor-default":i}),i,n,(()=>e.onDelete())):"")}__renderRulesUrlParameter(){var e,t,i;const n=null!==(e=this.form.name)&&void 0!==e?e:"",r=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount",a=null!==(i=this.form.coupon_discount_details)&&void 0!==i?i:"",o=`discount_${r}=${encodeURIComponent(`${n}{${a}}`)}`,l=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(Z||(Z=pe` <div data-testid="rules:url" class="text-xs flex space-x-xs"> <span class="${0}"> <foxy-i18n lang="${0}" key="url_parameter" ns="${0}"></foxy-i18n>&#58; </span> <code class="${0}"> ${0} </code> <foxy-copy-to-clipboard data-testid="rules:url:copy" text="${0}" lang="${0}" ns="${0} copy-to-clipboard" ?disabled="${0}"> </foxy-copy-to-clipboard> </div> `),m({"flex-shrink-0 transition-colors":!0,"text-tertiary":!l,"text-disabled":l}),this.lang,this.ns,m({"bg-contrast-5 transition-colors font-lumo truncate rounded px-xs":!0,"text-secondary":!l,"text-disabled":l}),o,o,this.lang,this.ns,l)}__renderRulesDescription(){var e,t;const i=null!==(e=this.form.coupon_discount_type)&&void 0!==e?e:"quantity_amount",n=null!==(t=this.form.coupon_discount_details)&&void 0!==t?t:"",r=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(ee||(ee=pe` <div data-testid="rules:description" class="text-xs leading-m"> <span class="transition-colors ${0}"> <foxy-i18n lang="${0}" key="description" ns="${0}"></foxy-i18n>&#58; </span> <foxy-i18n options="${0}" class="transition-colors ${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> </div> `),r?"text-disabled":"text-tertiary",this.lang,this.ns,JSON.stringify({params:{details:n,type:i,ns:this.ns}}),r?"text-disabled":"text-secondary",this.lang,this.ns)}__renderRules(){var e,t,i;const n=!this.in("idle")||this.disabledSelector.matches("rules",!0),r=(null!==(e=this.form.coupon_discount_details)&&void 0!==e?e:"").split("|").filter((e=>!!e.trim())),a=null!==(t=/[-+]/.test(r[0])?null:r.shift())&&void 0!==t?t:"single",o="repeat"===a?[r[0]]:[...r,void 0],l=null!==(i=this.form.coupon_discount_type)&&void 0!==i?i:"quantity_amount",[d,c]=l.split("_");return s(te||(te=pe` <div data-testid="rules"> ${0} <div> <div class="flex items-center justify-between space-x-m text-s mb-xs"> <foxy-i18n class="${0}" lang="${0}" key="rule_plural" ns="${0}"> </foxy-i18n> <div class="min-w-0">${0}</div> </div> <div class="space-y-s"> ${0} </div> <div class="space-y-xs mt-m"> ${0} ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot("rules:before"),m({"transition-colors font-medium flex-1":!0,"text-secondary":!n,"text-disabled":n}),this.lang,this.ns,this.__renderRulesPreset(),$(o,((e,t)=>this.__renderRulesTier({source:d,method:a,units:c,tier:e,onChange:s=>{var i,n,o;const l=null!==(i=s.method)&&void 0!==i?i:a,u=null!==(n=s.source)&&void 0!==n?n:d,m=null!==(o=s.units)&&void 0!==o?o:c,h=s.tier,p=[...r];if(h){const s=e?t:p.length,i=e?1:0;p.splice(s,i,h)}this.edit({coupon_discount_details:`${l}|${p.join("|")}`,coupon_discount_type:`${u}_${m}`})},onDelete:()=>{const e=r.filter(((e,s)=>s!==t));this.edit({coupon_discount_details:`${a}|${e.join("|")}`})}}))),this.__renderRulesUrlParameter(),this.__renderRulesDescription(),this.renderTemplateOrSlot("rules:after"))}__renderCodes(){var e,t,i,n,r;const{disabledSelector:a,group:o,data:l,lang:d,ns:c}=this,u=!this.in("idle")||a.matches("codes",!0),m=this.__codesTableQuery,h=new URL(l._links["fx:coupon_codes"].href);new URLSearchParams(null!=m?m:"").forEach(((e,t)=>h.searchParams.set(t,e))),h.searchParams.set("limit","5");const p=null===m?"filter":"clear_filters",y="icons:"+(null===m?"filter-list":"clear");return s(se||(se=pe` <div data-testid="codes"> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button current-balance ${0}" related="${0}" header="generate" parent="${0}" group="${0}" lang="${0}" form="foxy-generate-codes-form" ns="${0}" id="generate-codes-dialog" alert .related="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" header="code" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-code-form" ns="${0}" id="code-dialog"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> ${0} <div class="flex items-center justify-between mb-xs space-x-s"> <foxy-i18n class="text-s font-medium text-secondary leading-none flex-1" lang="${0}" key="code_plural" ns="${0}"> </foxy-i18n> <vaadin-button data-testid="codes:generate-button" theme="success tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="generate" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:add"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:import-button" theme="contrast tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="import" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:open-in-browser"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:filter-button" theme="contrast ${0} small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="${0}"></iron-icon> </vaadin-button> </div> <foxy-query-builder class="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> `),a.zoom("codes:generate:form").toString(),this.readonlySelector.zoom("codes:generate:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),JSON.stringify([h.toString()]),null!==(e=null==l?void 0:l._links["fx:generate_codes"].href)&&void 0!==e?e:"",o,d,c,[h.toString()],a.zoom("codes:form").toString(),this.readonlySelector.zoom("codes:form").toString(),this.hiddenSelector.zoom("codes:form").toString(),h.toString(),o,d,c,a.zoom("codes:import:form").toString(),this.readonlySelector.zoom("codes:import:form").toString(),this.hiddenSelector.zoom("codes:import:form").toString(),l._links["fx:coupon_codes"].href,o,d,c,this.renderTemplateOrSlot("codes:before"),d,c,u,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),s=e.currentTarget;null==t||t.show(s)}),d,c,u,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),s=e.currentTarget;null==t||t.show(s)}),d,c,null===m?"tertiary":"",u,(()=>this.__codesTableQuery=null===m?"":null),d,p,c,y,d,c,null!==(i=null===(t=customElements.get("foxy-query-builder"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"",u,null===m,ge.__codesQueryOptions,m,(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),h.toString(),d,c,null!==(r=null===(n=customElements.get("foxy-pagination"))||void 0===n?void 0:n.defaultNS)&&void 0!==r?r:"",u,o,d,c,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderUsage(){var e,t,i;const n=!this.in("idle")||this.disabledSelector.matches("usage",!0),r=this.readonlySelector.matches("usage",!0),a=null!==(e=this.form.number_of_uses_allowed)&&void 0!==e?e:0,o=null!==(t=this.form.number_of_uses_allowed_per_customer)&&void 0!==t?t:0,l=null!==(i=this.form.number_of_uses_allowed_per_code)&&void 0!==i?i:0;return s(ie||(ie=pe` <div data-testid="usage"> ${0} <div class="space-y-s"> <div class="grid gap-m grid-cols-3"> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon-code" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-customer" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> </div> <div class="${0}"> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_code_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_customer_summary${0}" ns="${0}"> </foxy-i18n> </div> </div> ${0} </div> `),this.renderTemplateOrSlot("usage:before"),this.t("unlimited"),this.t("uses_per_coupon"),a||"",n,r,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_coupon_code"),l||"",n,r,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_code:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_customer"),o||"",n,r,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_customer:parseInt(t.value)})}),m({"transition-colors text-xs leading-s":!0,"text-secondary":!n,"text-disabled":n}),JSON.stringify({count:a}),this.lang,a?"":"_0",this.ns,JSON.stringify({count:l}),this.lang,l?"":"_0",this.ns,JSON.stringify({count:o}),this.lang,o?"":"_0",this.ns,this.renderTemplateOrSlot("usage:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",i=!this.in("idle")||this.disabledSelector.matches(t,!0),n=this.readonlySelector.matches(t,!0),r=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",a=[{header:"allow",items:[]},{header:"block",items:[]}];return r&&r.split(",").forEach((e=>{const t=e.startsWith("-"),s=t?1:0,i=t?e.substring(1):e;a[s].items.push({label:i,value:e})})),s(ne||(ne=pe` <div data-testid="product-restrictions"> ${0} <div class="space-y-s"> <x-group frame> <foxy-i18n class="${0}" slot="header" lang="${0}" key="product_restrictions" ns="${0}"> </foxy-i18n> <div class="grid sm-grid-cols-2 bg-contrast-10" style="gap:1px"> ${0} </div> </x-group> <foxy-i18n class="${0}" lang="${0}" key="product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),i?"text-disabled":"text-secondary",this.lang,this.ns,a.map(((e,t)=>s(re||(re=pe` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list data-testid="product-restrictions:${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),i?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,e.header,this.lang,this.ns,i,n,e.items,(e=>{const s=[0===t?e.currentTarget.items:a[0].items,1===t?e.currentTarget.items:a[1].items].map((e=>e.map((e=>e.value.replace(/^[\s-]*/,"").trimEnd())))).map((e=>e.filter((e=>!!e)))).map((e=>Array.from(new Set(e)))),i=s[0].concat(s[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:i})})))),m({"block text-xs leading-s transition-colors":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e,t,i;const n="category-restrictions",r=!this.in("idle")||this.disabledSelector.matches(n,!0),a=this.readonlySelector.matches(n,!0);return s(ae||(ae=pe` <div data-testid="category-restrictions"> ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" lang="${0}" key="category_restrictions" ns="${0}"> </foxy-i18n> <x-category-restrictions-page coupon-item-categories="${0}" data-testid="category-restrictions:page" coupon="${0}" class="border border-contrast-10 rounded-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-tertiary" lang="${0}" key="category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("category-restrictions:before"),this.__itemCategories,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-pagination"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",r,this.lang,this.ns,u(null===(i=this.data)||void 0===i?void 0:i._links["fx:coupon_item_categories"].href),this.href,this.group,this.lang,this.ns,r,a,this.lang,this.ns,this.renderTemplateOrSlot("category-restrictions:after"))}__renderOptions(){const e=!this.in("idle")||this.disabledSelector.matches("options",!0),t=this.readonlySelector.matches("options",!0);return s(oe||(oe=pe` <div data-testid="options"> ${0} <x-group frame> <foxy-i18n class="transition-colors ${0}" slot="header" lang="${0}" key="option_plural" ns="${0}"> </foxy-i18n> ${0} <x-checkbox data-testclass="inputs" data-testid="options:dates" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="set_time_constraints" ns="${0}"></foxy-i18n> <foxy-i18n class="text-xs leading-s ${0}" lang="${0}" key="set_time_constraints_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </x-checkbox> </x-group> ${0} </div> `),this.renderTemplateOrSlot("options:before"),e?"text-disabled":"text-secondary",this.lang,this.ns,[{param:"multiple_codes_allowed"},{param:"combinable"},{param:"exclude_category_discounts",label:"combine_with_category_discounts",flip:!0},{param:"exclude_line_item_discounts",label:"combine_with_line_discounts",flip:!0},{param:"is_taxable",label:"apply_taxes_before_coupon"}].map((i=>{var n;const r=this.form[i.param],a=null!==(n=i.label)&&void 0!==n?n:i.param,o=e?"text-disabled":"text-secondary";return s(le||(le=pe` <x-checkbox data-testclass="inputs" data-testid="options:${0}" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <foxy-i18n class="transition-colors text-xs leading-s ${0}" lang="${0}" key="${0}_explainer" ns="${0}"> </foxy-i18n> </div> </x-checkbox> <div style="margin-left:calc(1.125rem + (var(--lumo-space-m) * 2))"> <div class="border-b border-contrast-10"></div> </div> `),i.param.replace(/_/g,"-"),e,t,i.flip?!r:r,(e=>{this.edit({[i.param]:i.flip?!e.detail:e.detail})}),this.lang,a,this.ns,o,this.lang,a,this.ns)})),e,t,this.form.start_date||this.form.end_date,(e=>{if(e instanceof n){let t=null,s=null;if(e.detail){const e=Date.now(),i=new Date(e).setMonth((new Date).getMonth()+1);t=x(new Date(e)),s=x(new Date(i))}this.edit({start_date:t,end_date:s})}}),this.lang,this.ns,e?"text-disabled":"text-secondary",this.lang,this.ns,this.form.start_date||this.form.end_date?s(de||(de=pe` <div class="grid grid-cols-2 gap-m mt-m" slot="content"> ${0} </div> `),["start_date","end_date"].map((i=>{const n=this.form[i],r=n?x(new Date(n)):"";return s(ce||(ce=pe` <vaadin-date-picker data-testclass="inputs" data-testid="options:${0}" placeholder="${0}" label="${0}" clear-button-visible ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </vaadin-date-picker> `),i.replace("_","-"),this.t("select"),this.t(i),e,t,g(r),(e=>{const t=e.currentTarget;this.edit({[i]:t.value})}))}))):"",this.renderTemplateOrSlot("options:after"))}__renderTimestamps(){return s(ue||(ue=pe` <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"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),n=this.in({idle:{snapshot:{dirty:"invalid"}}}),r=e||t||(i||n),a=this.in("idle");return s(me||(me=pe` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="create" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!a||r||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return s(he||(he=pe` <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"))}}ge.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"used_codes",path:"number_of_uses_to_date",type:e.Number},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-coupon-form",ge);export{ge as CouponForm};
1
+ import"./shared-bd252323.js";import"./shared-08156595.js";import"./shared-7d4fb1a2.js";import"./shared-a41234b4.js";import"./shared-bc814810.js";import"./shared-2092d86f.js";import"./shared-62c088b7.js";import"./shared-8dd0af4d.js";import"./shared-0479553e.js";import"./foxy-generate-codes-form.js";import"./foxy-coupon-codes-form.js";import"./foxy-copy-to-clipboard.js";import"./foxy-coupon-code-form.js";import{T as e}from"./shared-744cf66b.js";import"./foxy-pagination.js";import"./foxy-form-dialog.js";import"./foxy-spinner.js";import"./foxy-table.js";import"./shared-0821cfdc.js";import{_ as t}from"./shared-a8ced8bf.js";import{h as s}from"./shared-7f33a83a.js";import{C as i,a as r}from"./shared-9f436277.js";import{C as a}from"./shared-43bcce74.js";import{N as n}from"./shared-181f51bd.js";import{S as o,T as l,a as d,R as c}from"./shared-2cc638ad.js";import{i as u}from"./shared-d3bf9ac0.js";import{c as m}from"./shared-4e709717.js";import{E as h}from"./shared-b40cf0dd.js";import{G as p}from"./shared-d8dc97f0.js";import{P as f}from"./shared-5378bd8c.js";import{l as y}from"./shared-f3b35364.js";import{o as g}from"./shared-e6f3e9f0.js";import{r as $}from"./shared-d519a301.js";import{s as x}from"./shared-bc7f58ef.js";import"./shared-5ea18e60.js";import"./shared-0ce006b9.js";import"./shared-be66c2e7.js";import"./shared-6cb1015f.js";import"./shared-08e27fe9.js";import"./shared-101d1234.js";import"./shared-404aa9cc.js";import"./shared-1c94a156.js";import"./shared-5a4829e3.js";import"./shared-ed0dee03.js";import"./shared-4849ef5b.js";import"./shared-76b3d76a.js";import"./shared-4f037e43.js";import"./shared-11c2efc8.js";import"./shared-2f7dcefa.js";import"./shared-62a54a6c.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-f80f402a.js";import"./foxy-nucleon-element.js";let _,b=e=>e;const v=a(o(l(n)));class S extends v{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"x-checkbox":i}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){return s(_||(_=b` <div class="h-full flex items-center"> <x-checkbox data-testid="checkbox" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" @change="${0}"> <slot></slot> </x-checkbox> </div> `),!this.in("idle")||this.disabled,this.readonly,!!this.data,(e=>{e.detail?(this.edit({item_category_uri:this.itemCategory,coupon_uri:this.coupon}),this.submit()):this.delete()}))}}let k,w=e=>e;const j=a(o(l(n)));class T extends j{constructor(){super(...arguments),this.itemCategory="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item-content":S}}static get properties(){return t(t({},super.properties),{},{itemCategory:{type:String,attribute:"item-category"},coupon:{type:String}})}render(){var e;const t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:coupon_item_categories"][0],i=t?void 0:this.href,r=t?t._links.self.href:void 0;return s(k||(k=w` <x-category-restrictions-page-item-content item-category="${0}" data-testid="content" coupon="${0}" parent="${0}" class="h-full" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> <slot></slot> </x-category-restrictions-page-item-content> `),this.itemCategory,this.coupon,u(i),this.group,u(r),!this.in("idle")||this.disabled,this.readonly)}}let C,R,E,O=e=>e;const q=a(o(l(d(n))));class N extends q{constructor(){super(...arguments),this.couponItemCategories="",this.coupon=""}static get scopedElements(){return{"foxy-spinner":customElements.get("foxy-spinner"),"x-category-restrictions-page-item":T}}static get properties(){return t(t({},super.properties),{},{couponItemCategories:{type:String,attribute:"coupon-item-categories"},coupon:{type:String}})}render(){var e,t,i,r,a;const n=null!==(t=null===(e=this.data)||void 0===e?void 0:e._embedded["fx:item_categories"])&&void 0!==t?t:[];let o=20;try{const e=parseInt(null!==(i=new URL(this.href).searchParams.get("limit"))&&void 0!==i?i:"");isNaN(e)||(o=e)}catch(e){}return s(C||(C=O` <div class="relative"> <div class="relative divide-y divide-contrast-10 ml-m"> ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="vertical" state="${0}" class="m-auto p-m bg-base rounded-t-l rounded-b-l shadow-xs" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),new Array(o).fill(0).map(((e,t)=>{const i=n[t];let r;if(i)try{const e=new URL(this.couponItemCategories),t=new URL(i._links.self.href).pathname.split("/").pop();e.searchParams.set("item_category_id",t),e.searchParams.set("limit","1"),r=e.toString()}catch(e){}return r?s(E||(E=O` <x-category-restrictions-page-item data-testclass="item" item-category="${0}" coupon="${0}" class="h-l" group="${0}" href="${0}" ?disabled="${0}" ?readonly="${0}"> ${0} </x-category-restrictions-page-item> `),i._links.self.href,this.coupon,this.group,r,!this.in("idle")||this.disabled,this.readonly,null==i?void 0:i.name):s(R||(R=O`<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===(r=customElements.get("foxy-spinner"))||void 0===r?void 0:r.defaultNS)&&void 0!==a?a:"")}}let D,P,U,I,z,J,M,Q,L,F,G,V,W,A,B,H,K,X,Y,Z,ee,te,se,ie,re,ae,ne,oe,le,de,ce,ue,me,he,pe=e=>e;const fe=o(l(a(c(d(n,"coupon-form")))));class ye extends fe{constructor(){super(...arguments),this.__codesTableColumns=[{header:e=>s(D||(D=pe`<foxy-i18n lang="${0}" key="code" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>{const t=!this.in("idle")||this.disabledSelector.matches("codes",!0);return s(P||(P=pe` <div class="flex items-center gap-xs"> <vaadin-button theme="tertiary-inline contrast" class="p-0" ?disabled="${0}" @click="${0}"> <span class="font-tnum">${0}</span> </vaadin-button> <foxy-copy-to-clipboard ?disabled="${0}" text="${0}" lang="${0}" ns="${0} copy-to-clipboard"> </foxy-copy-to-clipboard> </div> `),t,(t=>{const s=this.renderRoot.querySelector("#code-dialog"),i=t.currentTarget;s.href=e.data._links.self.href,s.show(i)}),e.data.code,t,e.data.code,e.lang,e.ns)}},{header:e=>s(U||(U=pe`<foxy-i18n lang="${0}" key="date_created" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(I||(I=pe` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_created}),e.lang,e.ns)},{hideBelow:"sm",header:e=>s(z||(z=pe`<foxy-i18n lang="${0}" key="date_modified" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(J||(J=pe` <foxy-i18n options="${0}" class="text-tertiary" lang="${0}" key="date" ns="${0}"> </foxy-i18n> `),JSON.stringify({value:e.data.date_modified}),e.lang,e.ns)},{header:e=>s(M||(M=pe`<foxy-i18n lang="${0}" key="used_codes" ns="${0}"></foxy-i18n>`),e.lang,e.ns),cell:e=>s(Q||(Q=pe`${0}`),e.data.number_of_uses_to_date)}],this.__codesTableQuery=null,this.__itemCategories=""}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-date-picker":customElements.get("vaadin-date-picker"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-button":customElements.get("vaadin-button"),"iron-dropdown":customElements.get("iron-dropdown"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-copy-to-clipboard":customElements.get("foxy-copy-to-clipboard"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-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":N,"x-property-table":f,"x-editable-list":h,"x-checkbox":i,"x-group":p}}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 i=this.hiddenSelector;return s(L||(L=pe` <div class="relative space-y-l"> ${0} ${0} ${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="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),i.matches("name",!0)?"":this.__renderName(),i.matches("rules",!0)?"":this.__renderRules(),i.matches("codes",!0)||!this.data?"":this.__renderCodes(),i.matches("usage",!0)?"":this.__renderUsage(),i.matches("product-restrictions",!0)?"":this.__renderProductRestrictions(),i.matches("category-restrictions",!0)||!this.data?"":this.__renderCategoryRestrictions(),i.matches("options",!0)?"":this.__renderOptions(),i.matches("timestamps",!0)?"":this.__renderTimestamps(),i.matches("create",!0)||this.data?"":this.__renderCreate(),i.matches("delete",!0)||!this.data?"":this.__renderDelete(),m({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":this.in("idle")}),this.in("fail")?"error":this.in("busy")?"busy":"empty",this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}async _sendGet(){const e=await super._sendGet(),t=await super._fetch(e._links["fx:store"].href),s=new URL(t._links["fx:item_categories"].href);return s.searchParams.set("limit","5"),this.__itemCategories=s.toString(),e}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__getValidator(e){return()=>!this.errors.some((t=>t.startsWith(e)))}__renderName(){return s(F||(F=pe` <div> ${0} <vaadin-text-field error-message="${0}" helper-text="${0}" data-testid="name" class="w-full" label="${0}" .checkValidity="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" required @keydown="${0}" @input="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot("name:before"),this.__getErrorMessage("name"),this.t("coupon_name_helper_text"),this.t("name"),this.__getValidator("name"),this.form.name,!this.in("idle")||this.disabledSelector.matches("name",!0),this.readonlySelector.matches("name",!0),(e=>"Enter"===e.key&&this.submit()),(e=>{const t=e.currentTarget.value;this.edit({name:t})}),this.renderTemplateOrSlot("name:after"))}__renderRulesPreset(){const e=!this.in("idle")||this.disabledSelector.matches("rules",!0),i=this.readonlySelector.matches("rules",!0),r=this.form.coupon_discount_details,a=this.form.coupon_discount_type,n=[{type:"quantity_amount",details:"allunits|2-2"},{type:"quantity_percentage",details:"allunits|5-10|10-20"},{type:"quantity_amount",details:"incremental|3-5"},{type:"quantity_percentage",details:"incremental|11-10|51-15|101-20"},{type:"quantity_percentage",details:"repeat|2-100"},{type:"quantity_percentage",details:"repeat|4-50"},{type:"quantity_amount",details:"single|5-10"},{type:"price_percentage",details:"single|99.99-10"}],o=n.find((e=>e.details===r&&e.type===a));return s(G||(G=pe` <label data-testid="rules:preset" class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="preset" ns="${0}"></foxy-i18n> <span class="relative font-medium flex items-center"> <span class="truncate"> ${0} </span> <iron-icon class="icon-inline text-xl ml-xs -mr-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" data-testid="rules:preset:select" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} <option value="custom" ?selected="${0}"> ${0} </option> </select> </span> </label> `),m({"whitespace-nowrap block ring-primary-50 rounded px-xs -mx-xs transition-colors":!0,"text-body hover-text-primary focus-within-ring-2":!e&&!i,"text-disabled":e,"text-secondary":i}),this.lang,this.ns,o?this.t("discount_summary",{params:t(t({},o),{},{ns:this.ns})}):this.t("custom_discount"),e||i,(e=>{var t,s;const i=e.currentTarget,r=n[i.selectedIndex];this.edit({coupon_discount_details:null!==(t=null==r?void 0:r.details)&&void 0!==t?t:"",coupon_discount_type:null!==(s=null==r?void 0:r.type)&&void 0!==s?s:"quantity_amount"})}),n.map((e=>s(V||(V=pe` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.details,e===o,this.t("discount_summary",{params:t(t({},e),{},{ns:this.ns})})))),!o,this.t("custom_discount"))}__renderRulesTierSelect({label:e,value:t,options:i,onChange:r}){const a=!this.in("idle")||this.disabledSelector.matches("rules",!0),n=this.readonlySelector.matches("rules",!0),o=!a&&!n;return s(W||(W=pe` <label class="${0}"> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <span class="relative leading-none font-medium flex items-center h-full"> <span class="truncate">${0}</span> <iron-icon class="icon-inline text-xl ml-xs" icon="icons:expand-more"></iron-icon> <select data-testclass="interactive editable" class="opacity-0 absolute inset-0 focus-outline-none" ?disabled="${0}" @change="${0}"> ${0} </select> </span> </label> `),m({"h-xs whitespace-nowrap block ring-primary-50 rounded-s pl-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":o,"bg-primary-10 text-primary":o,"bg-contrast-5 text-disabled":a,"bg-contrast-5 text-secondary":n&&!a}),this.lang,e,this.ns,this.t(i[t]),!o,(e=>{const t=e.currentTarget;r(t.options[t.selectedIndex].value)}),Object.entries(i).map((([e,i])=>s(A||(A=pe` <option value="${0}" ?selected="${0}"> ${0} </option> `),e,e===t,this.t(i)))))}__renderRulesTierSwitch({value:e,options:t,onChange:i}){const r=!this.in("idle")||this.disabledSelector.matches("rules",!0),a=this.readonlySelector.matches("rules",!0),n=!r&&!a,o=`switch-${Math.floor(Math.random()*Math.pow(10,10))}`,l="width: 0.4rem; height: 0.4rem";return s(B||(B=pe` <div class="${0}" @click="${0}"> <div class="leading-none font-medium px-xs pointer-events-none"> ${0} </div> <div class="flex justify-evenly h-full ${0}"> <div style="${0}" class="bg-current rounded-full"></div> <div style="${0}" class="border border-current rounded-full"></div> </div> </div> `),m({"h-xs px-xs space-x-xs flex items-center rounded-s transition-colors":!0,"hover-bg-primary hover-text-primary-contrast focus-within-ring-2":n,"ring-primary-50 cursor-pointer bg-primary-10 text-primary":n,"bg-contrast-5 text-disabled":r,"bg-contrast-5 text-secondary":a&&!r}),(t=>{if(!n)return;t.currentTarget.querySelector("input").focus(),i(0===e?1:0)}),t.map(((t,r)=>s(H||(H=pe` <label> <foxy-i18n class="${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <input data-testclass="interactive editable" class="sr-only" value="${0}" name="${0}" type="radio" ?disabled="${0}" ?checked="${0}" @change="${0}"> </label> `),m({"sr-only":r!==e}),this.lang,t,this.ns,t,o,!n,r===e,(e=>{e.currentTarget.checked&&i(r)})))),e?"flex-col-reverse":"flex-col",l,l)}__renderRulesTierField({value:e,label:t,onChange:i}){const r=!this.in("idle")||this.disabledSelector.matches("rules",!0),a=this.readonlySelector.matches("rules",!0),n=!r&&!a;return s(K||(K=pe` <label> <foxy-i18n class="sr-only" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <input data-testclass="interactive editable" class="${0}" type="number" min="0" ?disabled="${0}" .value="${0}" @input="${0}"> </label> `),this.lang,t,this.ns,m({"transition-colors border p-xs h-xs font-medium text-m rounded-s w-xl":!0,"ring-primary-50 text-body bg-contrast-10":n,"hover-bg-contrast-20":n,"focus-outline-none focus-ring-2":n,"text-disabled bg-contrast-5":r,"text-secondary":a&&!r,"border-transparent border-solid":!a,"border-dashed border-contrast-30":a}),!n,e,(e=>{const t=e.currentTarget;i(t.value)}))}__renderRulesTier(e){var t;const i=!this.in("idle")||this.disabledSelector.matches("rules",!0),r=this.readonlySelector.matches("rules",!0),a=null!==(t=e.tier)&&void 0!==t?t:"0-0",n=a.includes("+")?"+":"-",[o,l]=a.split(/[-+]/).map((e=>parseFloat(e)));return s(X||(X=pe` <div data-testclass="rules:tier" aria-label="${0}" class="${0}"> <div class="${0}"> <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_if" ns="${0}"> </foxy-i18n> ${0} <div class="h-s w-s">${0}</div> ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_then" ns="${0}"> </foxy-i18n> ${0} ${0} <foxy-i18n class="uppercase text-s font-semibold" lang="${0}" key="tier_by" ns="${0}"> </foxy-i18n> ${0} ${0} </div> ${0} </div> `),this.t("tier"),m({"flex items-start justify-between rounded":!0,"border border-contrast-10":!0,"border-dashed":!e.tier}),m({"transition-colors flex flex-wrap items-center gap-s p-s":!0,"text-tertiary":!i,"text-disabled":i}),this.lang,this.ns,this.__renderRulesTierSwitch({options:["total","quantity"],value:"price"===e.source?0:1,onChange:t=>e.onChange({source:t?"quantity":"price"})}),g,this.__renderRulesTierField({label:"from",value:String(o),onChange:t=>e.onChange({tier:`${t}${n}${l}`})}),this.lang,this.ns,this.__renderRulesTierSwitch({options:["reduce","increase"],value:"-"===n?0:1,onChange:t=>e.onChange({tier:`${o}${t?"+":"-"}${l}`})}),this.__renderRulesTierSelect({options:{incremental:"tier_incremental",allunits:"tier_allunits",repeat:"tier_repeat",single:"tier_single"},value:e.method,label:"target",onChange:t=>e.onChange({method:t})}),this.lang,this.ns,this.__renderRulesTierField({label:"adjustment",value:String(l),onChange:t=>e.onChange({tier:`${o}${n}${t}`})}),this.__renderRulesTierSwitch({value:"percentage"===e.units?0:1,options:["%","¤"],onChange:t=>e.onChange({units:t?"amount":"percentage"})}),e.tier?s(Y||(Y=pe` <button data-testclass="interactive" aria-label="${0}" class="${0}" ?disabled="${0}" ?hidden="${0}" @click="${0}"> <iron-icon icon="lumo:cross"></iron-icon> </button> `),this.t("delete"),m({"w-s h-s m-s flex-shrink-0 rounded transition-colors ring-primary-50":!0,"text-tertiary hover-text-secondary focus-outline-none focus-ring-2":!i,"text-disabled cursor-default":i}),i,r,(()=>e.onDelete())):"")}__renderRulesUrlParameter(){var e,t,i;const r=null!==(e=this.form.name)&&void 0!==e?e:"",a=null!==(t=this.form.coupon_discount_type)&&void 0!==t?t:"quantity_amount",n=null!==(i=this.form.coupon_discount_details)&&void 0!==i?i:"",o=`discount_${a}=${encodeURIComponent(`${r}{${n}}`)}`,l=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(Z||(Z=pe` <div data-testid="rules:url" class="text-xs flex space-x-xs"> <span class="${0}"> <foxy-i18n lang="${0}" key="url_parameter" ns="${0}"></foxy-i18n>&#58; </span> <code class="${0}"> ${0} </code> <foxy-copy-to-clipboard data-testid="rules:url:copy" text="${0}" lang="${0}" ns="${0} copy-to-clipboard" ?disabled="${0}"> </foxy-copy-to-clipboard> </div> `),m({"flex-shrink-0 transition-colors":!0,"text-tertiary":!l,"text-disabled":l}),this.lang,this.ns,m({"bg-contrast-5 transition-colors font-lumo truncate rounded-s px-xs":!0,"text-secondary":!l,"text-disabled":l}),o,o,this.lang,this.ns,l)}__renderRulesDescription(){var e,t;const i=null!==(e=this.form.coupon_discount_type)&&void 0!==e?e:"quantity_amount",r=null!==(t=this.form.coupon_discount_details)&&void 0!==t?t:"",a=!this.in("idle")||this.disabledSelector.matches("rules",!0);return s(ee||(ee=pe` <div data-testid="rules:description" class="text-xs leading-m"> <span class="transition-colors ${0}"> <foxy-i18n lang="${0}" key="description" ns="${0}"></foxy-i18n>&#58; </span> <foxy-i18n options="${0}" class="transition-colors ${0}" lang="${0}" key="discount_summary" ns="${0}"> </foxy-i18n> </div> `),a?"text-disabled":"text-tertiary",this.lang,this.ns,JSON.stringify({params:{details:r,type:i,ns:this.ns}}),a?"text-disabled":"text-secondary",this.lang,this.ns)}__renderRules(){var e,t,i;const r=!this.in("idle")||this.disabledSelector.matches("rules",!0),a=(null!==(e=this.form.coupon_discount_details)&&void 0!==e?e:"").split("|").filter((e=>!!e.trim())),n=null!==(t=/[-+]/.test(a[0])?null:a.shift())&&void 0!==t?t:"single",o="repeat"===n?[a[0]]:[...a,void 0],l=null!==(i=this.form.coupon_discount_type)&&void 0!==i?i:"quantity_amount",[d,c]=l.split("_");return s(te||(te=pe` <div data-testid="rules"> ${0} <div> <div class="flex items-center justify-between space-x-m text-s mb-xs"> <foxy-i18n class="${0}" lang="${0}" key="rule_plural" ns="${0}"> </foxy-i18n> <div class="min-w-0">${0}</div> </div> <div class="space-y-s"> ${0} </div> <div class="space-y-xs mt-m"> ${0} ${0} </div> </div> ${0} </div> `),this.renderTemplateOrSlot("rules:before"),m({"transition-colors font-medium flex-1":!0,"text-secondary":!r,"text-disabled":r}),this.lang,this.ns,this.__renderRulesPreset(),$(o,((e,t)=>this.__renderRulesTier({source:d,method:n,units:c,tier:e,onChange:s=>{var i,r,o;const l=null!==(i=s.method)&&void 0!==i?i:n,u=null!==(r=s.source)&&void 0!==r?r:d,m=null!==(o=s.units)&&void 0!==o?o:c,h=s.tier,p=[...a];if(h){const s=e?t:p.length,i=e?1:0;p.splice(s,i,h)}this.edit({coupon_discount_details:`${l}|${p.join("|")}`,coupon_discount_type:`${u}_${m}`})},onDelete:()=>{const e=a.filter(((e,s)=>s!==t));this.edit({coupon_discount_details:`${n}|${e.join("|")}`})}}))),this.__renderRulesUrlParameter(),this.__renderRulesDescription(),this.renderTemplateOrSlot("rules:after"))}__renderCodes(){var e,t,i,r,a;const{disabledSelector:n,group:o,data:l,lang:d,ns:c}=this,u=!this.in("idle")||n.matches("codes",!0),m=this.__codesTableQuery,h=new URL(l._links["fx:coupon_codes"].href);new URLSearchParams(null!=m?m:"").forEach(((e,t)=>h.searchParams.set(t,e))),h.searchParams.set("limit","5");const p=null===m?"filter":"clear_filters",f="icons:"+(null===m?"filter-list":"clear");return s(se||(se=pe` <div data-testid="codes"> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button current-balance ${0}" related="${0}" header="generate" parent="${0}" group="${0}" lang="${0}" form="foxy-generate-codes-form" ns="${0}" id="generate-codes-dialog" alert .related="${0}"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="${0}" header="code" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-code-form" ns="${0}" id="code-dialog"> </foxy-form-dialog> <foxy-form-dialog disabledcontrols="${0}" readonlycontrols="${0}" hiddencontrols="save-button ${0}" header="import" parent="${0}" group="${0}" lang="${0}" form="foxy-coupon-codes-form" ns="${0}" id="import-dialog"> </foxy-form-dialog> ${0} <div class="flex items-center justify-between mb-xs space-x-s"> <foxy-i18n class="text-s font-medium text-secondary leading-none flex-1" lang="${0}" key="code_plural" ns="${0}"> </foxy-i18n> <vaadin-button data-testid="codes:generate-button" theme="success tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="generate" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:add"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:import-button" theme="contrast tertiary small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="import" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="icons:open-in-browser"></iron-icon> </vaadin-button> <vaadin-button data-testid="codes:filter-button" theme="contrast ${0} small" ?disabled="${0}" @click="${0}"> <foxy-i18n class="text-s" lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <iron-icon class="icon-inline text-s" icon="${0}"></iron-icon> </vaadin-button> </div> <foxy-query-builder class="my-s" lang="${0}" ns="${0} ${0}" ?disabled="${0}" ?hidden="${0}" .options="${0}" .value="${0}" @change="${0}"> </foxy-query-builder> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-table class="px-m mb-s border border-contrast-10 rounded" group="${0}" lang="${0}" ns="${0}" .columns="${0}"> </foxy-table> </foxy-pagination> ${0} </div> `),n.zoom("codes:generate:form").toString(),this.readonlySelector.zoom("codes:generate:form").toString(),this.hiddenSelector.zoom("codes:generate:form").toString(),JSON.stringify([h.toString()]),null!==(e=null==l?void 0:l._links["fx:generate_codes"].href)&&void 0!==e?e:"",o,d,c,[h.toString()],n.zoom("codes:form").toString(),this.readonlySelector.zoom("codes:form").toString(),this.hiddenSelector.zoom("codes:form").toString(),h.toString(),o,d,c,n.zoom("codes:import:form").toString(),this.readonlySelector.zoom("codes:import:form").toString(),this.hiddenSelector.zoom("codes:import:form").toString(),l._links["fx:coupon_codes"].href,o,d,c,this.renderTemplateOrSlot("codes:before"),d,c,u,(e=>{const t=this.renderRoot.querySelector("#generate-codes-dialog"),s=e.currentTarget;null==t||t.show(s)}),d,c,u,(e=>{const t=this.renderRoot.querySelector("#import-dialog"),s=e.currentTarget;null==t||t.show(s)}),d,c,null===m?"tertiary":"",u,(()=>this.__codesTableQuery=null===m?"":null),d,p,c,f,d,c,null!==(i=null===(t=customElements.get("foxy-query-builder"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"",u,null===m,ye.__codesQueryOptions,m,(e=>{const t=e.currentTarget;this.__codesTableQuery=t.value}),h.toString(),d,c,null!==(a=null===(r=customElements.get("foxy-pagination"))||void 0===r?void 0:r.defaultNS)&&void 0!==a?a:"",u,o,d,c,this.__codesTableColumns,this.renderTemplateOrSlot("codes:after"))}__renderUsage(){var e,t,i;const r=!this.in("idle")||this.disabledSelector.matches("usage",!0),a=this.readonlySelector.matches("usage",!0),n=null!==(e=this.form.number_of_uses_allowed)&&void 0!==e?e:0,o=null!==(t=this.form.number_of_uses_allowed_per_customer)&&void 0!==t?t:0,l=null!==(i=this.form.number_of_uses_allowed_per_code)&&void 0!==i?i:0;return s(ie||(ie=pe` <div data-testid="usage"> ${0} <div class="space-y-s"> <div class="grid gap-m grid-cols-3"> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-coupon-code" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> <vaadin-integer-field placeholder="${0}" data-testid="usage:per-customer" label="${0}" class="w-full" min="0" prevent-invalid-input has-controls .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> </vaadin-integer-field> </div> <div class="${0}"> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_coupon_code_summary${0}" ns="${0}"> </foxy-i18n> <foxy-i18n options="${0}" lang="${0}" key="uses_per_customer_summary${0}" ns="${0}"> </foxy-i18n> </div> </div> ${0} </div> `),this.renderTemplateOrSlot("usage:before"),this.t("unlimited"),this.t("uses_per_coupon"),n||"",r,a,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_coupon_code"),l||"",r,a,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_code:parseInt(t.value)})}),this.t("unlimited"),this.t("uses_per_customer"),o||"",r,a,(e=>{const t=e.currentTarget;this.edit({number_of_uses_allowed_per_customer:parseInt(t.value)})}),m({"transition-colors text-xs leading-s":!0,"text-secondary":!r,"text-disabled":r}),JSON.stringify({count:n}),this.lang,n?"":"_0",this.ns,JSON.stringify({count:l}),this.lang,l?"":"_0",this.ns,JSON.stringify({count:o}),this.lang,o?"":"_0",this.ns,this.renderTemplateOrSlot("usage:after"))}__renderProductRestrictions(){var e;const t="product-restrictions",i=!this.in("idle")||this.disabledSelector.matches(t,!0),r=this.readonlySelector.matches(t,!0),a=null!==(e=this.form.product_code_restrictions)&&void 0!==e?e:"",n=[{header:"allow",items:[]},{header:"block",items:[]}];return a&&a.split(",").forEach((e=>{const t=e.startsWith("-"),s=t?1:0,i=t?e.substring(1):e;n[s].items.push({label:i,value:e})})),s(re||(re=pe` <div data-testid="product-restrictions"> ${0} <div class="space-y-s"> <x-group frame> <foxy-i18n class="${0}" slot="header" lang="${0}" key="product_restrictions" ns="${0}"> </foxy-i18n> <div class="grid sm-grid-cols-2 bg-contrast-10" style="gap:1px"> ${0} </div> </x-group> <foxy-i18n class="${0}" lang="${0}" key="product_restrictions_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("product-restrictions:before"),i?"text-disabled":"text-secondary",this.lang,this.ns,n.map(((e,t)=>s(ae||(ae=pe` <x-group class="bg-base pt-m"> <foxy-i18n class="${0}" slot="header" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> <x-editable-list data-testid="product-restrictions:${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}"> </x-editable-list> </x-group> `),i?"text-disabled":"text-tertiary",this.lang,e.header,this.ns,e.header,this.lang,this.ns,i,r,e.items,(e=>{const s=[0===t?e.currentTarget.items:n[0].items,1===t?e.currentTarget.items:n[1].items].map((e=>e.map((e=>e.value.replace(/^[\s-]*/,"").trimEnd())))).map((e=>e.filter((e=>!!e)))).map((e=>Array.from(new Set(e)))),i=s[0].concat(s[1].map((e=>`-${e}`))).join(",");this.edit({product_code_restrictions:i})})))),m({"block text-xs leading-s transition-colors":!0,"text-secondary":!i,"text-disabled":i}),this.lang,this.ns,this.renderTemplateOrSlot("product-restrictions:after"))}__renderCategoryRestrictions(){var e,t,i;const r="category-restrictions",a=!this.in("idle")||this.disabledSelector.matches(r,!0),n=this.readonlySelector.matches(r,!0);return s(ne||(ne=pe` <div data-testid="category-restrictions"> ${0} <div class="space-y-xs"> <foxy-pagination first="${0}" lang="${0}" ns="${0} ${0}" ?disabled="${0}"> <foxy-i18n class="block text-s font-medium text-secondary leading-none mb-s" lang="${0}" key="category_restrictions" ns="${0}"> </foxy-i18n> <x-category-restrictions-page coupon-item-categories="${0}" data-testid="category-restrictions:page" coupon="${0}" class="border border-contrast-10 rounded mb-s" group="${0}" lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}"> </x-category-restrictions-page> </foxy-pagination> <foxy-i18n class="block text-xs leading-s text-tertiary" lang="${0}" key="category_restrictions_helper_text" ns="${0}"> </foxy-i18n> </div> ${0} </div> `),this.renderTemplateOrSlot("category-restrictions:before"),this.__itemCategories,this.lang,this.ns,null!==(t=null===(e=customElements.get("foxy-pagination"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"",a,this.lang,this.ns,u(null===(i=this.data)||void 0===i?void 0:i._links["fx:coupon_item_categories"].href),this.href,this.group,this.lang,this.ns,a,n,this.lang,this.ns,this.renderTemplateOrSlot("category-restrictions:after"))}__renderOptions(){const e=!this.in("idle")||this.disabledSelector.matches("options",!0),t=this.readonlySelector.matches("options",!0);return s(oe||(oe=pe` <div data-testid="options"> ${0} <x-group frame> <foxy-i18n class="transition-colors ${0}" slot="header" lang="${0}" key="option_plural" ns="${0}"> </foxy-i18n> ${0} <x-checkbox data-testclass="inputs" data-testid="options:dates" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="set_time_constraints" ns="${0}"></foxy-i18n> <foxy-i18n class="text-xs leading-s ${0}" lang="${0}" key="set_time_constraints_explainer" ns="${0}"> </foxy-i18n> </div> ${0} </x-checkbox> </x-group> ${0} </div> `),this.renderTemplateOrSlot("options:before"),e?"text-disabled":"text-secondary",this.lang,this.ns,[{param:"multiple_codes_allowed"},{param:"combinable"},{param:"exclude_category_discounts",label:"combine_with_category_discounts",flip:!0},{param:"exclude_line_item_discounts",label:"combine_with_line_discounts",flip:!0},{param:"is_taxable",label:"apply_taxes_before_coupon"}].map((i=>{var r;const a=this.form[i.param],n=null!==(r=i.label)&&void 0!==r?r:i.param,o=e?"text-disabled":"text-secondary";return s(le||(le=pe` <x-checkbox data-testclass="inputs" data-testid="options:${0}" ?disabled="${0}" ?readonly="${0}" ?checked="${0}" class="m-m" @change="${0}"> <div class="flex flex-col"> <foxy-i18n lang="${0}" key="${0}" ns="${0}"></foxy-i18n> <foxy-i18n class="transition-colors text-xs leading-s ${0}" lang="${0}" key="${0}_explainer" ns="${0}"> </foxy-i18n> </div> </x-checkbox> <div style="margin-left:calc(1.125rem + (var(--lumo-space-m) * 2))"> <div class="border-b border-contrast-10"></div> </div> `),i.param.replace(/_/g,"-"),e,t,i.flip?!a:a,(e=>{this.edit({[i.param]:i.flip?!e.detail:e.detail})}),this.lang,n,this.ns,o,this.lang,n,this.ns)})),e,t,this.form.start_date||this.form.end_date,(e=>{if(e instanceof r){let t=null,s=null;if(e.detail){const e=Date.now(),i=new Date(e).setMonth((new Date).getMonth()+1);t=x(new Date(e)),s=x(new Date(i))}this.edit({start_date:t,end_date:s})}}),this.lang,this.ns,e?"text-disabled":"text-secondary",this.lang,this.ns,this.form.start_date||this.form.end_date?s(de||(de=pe` <div class="grid grid-cols-2 gap-m mt-m" slot="content" style="--lumo-border-radius:var(--lumo-border-radius-s)"> ${0} </div> `),["start_date","end_date"].map((i=>{const r=this.form[i],a=r?x(new Date(r)):"";return s(ce||(ce=pe` <vaadin-date-picker data-testclass="inputs" data-testid="options:${0}" placeholder="${0}" label="${0}" clear-button-visible ?disabled="${0}" ?readonly="${0}" .value="${0}" @change="${0}"> </vaadin-date-picker> `),i.replace("_","-"),this.t("select"),this.t(i),e,t,y(a),(e=>{const t=e.currentTarget;this.edit({[i]:t.value})}))}))):"",this.renderTemplateOrSlot("options:after"))}__renderTimestamps(){return s(ue||(ue=pe` <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"}}}),i=this.in({idle:{snapshot:{clean:"invalid"}}}),r=this.in({idle:{snapshot:{dirty:"invalid"}}}),a=e||t||(i||r),n=this.in("idle");return s(me||(me=pe` <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"),!n||a||this.disabledSelector.matches("create",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}__renderDelete(){return s(he||(he=pe` <div> <foxy-internal-confirm-dialog data-testid="confirm" message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> ${0} <vaadin-button data-testid="delete" theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="delete" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.lang,this.ns,(e=>!e.detail.cancelled&&this.delete()),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}),this.ns,this.lang,this.renderTemplateOrSlot("delete:after"))}}ye.__codesQueryOptions=[{label:"code",path:"code",type:e.String},{label:"used_codes",path:"number_of_uses_to_date",type:e.Number},{label:"date_created",path:"date_created",type:e.Date},{label:"date_modified",path:"date_modified",type:e.Date}],customElements.define("foxy-coupon-form",ye);export{ye as CouponForm};
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import{h as r}from"./shared-dc73b9a5.js";import{a as s}from"./shared-62169210.js";import{T as e}from"./shared-68871f75.js";import"./shared-2188d5f7.js";import"./shared-ae415a98.js";import"./shared-8e9a3bbb.js";import"./shared-47e4ea34.js";import"./shared-fadcb2e1.js";import"./shared-c87447a4.js";import"./shared-92a6c959.js";import"./shared-9803aa7c.js";import"./shared-ba59c811.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";import"./shared-4e709717.js";let a,d,t=r=>r;class o extends(s(e,"custom-field-card")){render(){return super.render({title:s=>r(a||(a=t`${0}`),s.name),subtitle:s=>r(d||(d=t`${0}`),s.value)})}}customElements.define("foxy-custom-field-card",o);export{o as CustomFieldCard};
1
+ import"./shared-0479553e.js";import"./foxy-spinner.js";import{h as r}from"./shared-7f33a83a.js";import{a as s}from"./shared-2cc638ad.js";import{T as e}from"./shared-868065de.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-0821cfdc.js";import"./shared-a8ced8bf.js";import"./shared-76b3d76a.js";import"./shared-4f037e43.js";import"./shared-43bcce74.js";import"./shared-d3bf9ac0.js";import"./shared-486d7bb5.js";import"./shared-181f51bd.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-4e709717.js";let d,a,t=r=>r;class o extends(s(e,"custom-field-card")){renderBody(){return super.renderBody({title:s=>r(d||(d=t`${0}`),s.name),subtitle:s=>r(a||(a=t`${0}`),s.value)})}}customElements.define("foxy-custom-field-card",o);export{o as CustomFieldCard};
@@ -1 +1 @@
1
- import"./shared-d28ac9dc.js";import"./shared-d699348f.js";import"./shared-c5c60417.js";import"./shared-0b65fb12.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-47e4ea34.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-92a6c959.js";import{N as i}from"./shared-ba59c811.js";import"./shared-2188d5f7.js";import"./shared-195fd5af.js";import"./shared-31c43743.js";import{a as s,T as a,S as r}from"./shared-62169210.js";import{c as d}from"./shared-4e709717.js";import"./shared-ed9d70f7.js";import"./shared-ab008382.js";import"./shared-ce24fef8.js";import"./shared-4e201e09.js";import"./shared-dc23b751.js";import"./shared-a052131e.js";import{m as n}from"./shared-c87447a4.js";import{P as l}from"./shared-dd6d3c18.js";import{i as o}from"./shared-9803aa7c.js";import"./shared-ae415a98.js";import"./shared-fadcb2e1.js";import"./shared-8e9a3bbb.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";import"./shared-99940888.js";let h,c,m,p,f,u,b=e=>e;const _=s(t(a(r(i))),"custom-field-form");class v extends _{constructor(){super(...arguments),this.templates={},this.__getValidator=n((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=n((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:t})=>{var i,s;const a=t.replace(/_/,"-");return this.hiddenSelector.matches(a)?"":e(h||(h=b` <div> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t(t).toString(),o(null===(s=null===(i=this.form)||void 0===i?void 0:i[t])||void 0===s?void 0:s.toString()),this.__getErrorMessage(t),t,this.__getValidator(t),!this.in("idle")||this.disabledSelector.matches(a),this.readonlySelector.matches(a),this.__bindField(t),this.__handleKeyDown,this.renderTemplateOrSlot(`${a}:after`))},this.__renderVisibility=()=>{const{disabledSelector:t,form:i,lang:s,ns:a}=this,r=!this.in("idle")||t.matches("visibility",!0);return e(c||(c=b` <div data-testid="visibility"> ${0} <vaadin-checkbox ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="show_on_receipt" ns="${0}"></foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),r,!i.is_hidden,(e=>{const t=e.currentTarget;this.edit({is_hidden:!t.checked})}),s,a,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const t=["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])}):""}}));return e(m||(m=b` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),t,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>e(p||(p=b` <div> ${0} <vaadin-button class="w-full" data-testid="delete" theme="error primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="delete"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),this.__handleDeleteClick,this.ns,this.lang,this.renderTemplateOrSlot("delete:after")),this.__renderCreate=()=>{const t=this.in({idle:{template:{dirty:"valid"}}}),i=this.in({idle:{snapshot:{dirty:"valid"}}}),s=t||i;return e(f||(f=b` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="success primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="create"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!this.in("idle")||!s||this.disabledSelector.matches("create",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"x-property-table":l,"vaadin-button":customElements.get("vaadin-button"),"foxy-i18n":customElements.get("foxy-i18n"),"foxy-spinner":customElements.get("foxy-spinner")}}static get v8n(){return[({value:e})=>e&&e.length>0||"value_required",({value:e})=>e&&e.length<=1e3||"value_too_long",({name:e})=>e&&e.length>0||"name_required",({name:e})=>e&&e.length<=500||"name_too_long"]}render(){var t,i;const{hiddenSelector:s,data:a,lang:r,ns:n}=this,l=this.in("busy"),o=this.in("fail");return e(u||(u=b` <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="relative" aria-busy="${0}" aria-live="polite"> <div class="grid grid-cols-1 gap-l"> ${0} ${0} ${0} ${0} ${0} ${0} </div> <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> `),r,n,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),s.matches("visibility",!0)?"":this.__renderVisibility(),s.matches("timestamps",!0)||!a?"":this.__renderTimestamps(),s.matches("delete",!0)||!a?"":this.__renderDelete(),s.matches("create",!0)||a?"":this.__renderCreate(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!l&&!o}),o?"error":l?"busy":"empty",r,n,null!==(i=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t,i,s;super.disconnectedCallback(),null===(t=(e=this.__bindField.cache).clear)||void 0===t||t.call(e),null===(s=(i=this.__getValidator.cache).clear)||void 0===s||s.call(i)}get __confirmDialog(){return this.renderRoot.querySelector("#confirm")}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__handleDeleteClick(e){this.__confirmDialog.show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-custom-field-form",v);export{v as CustomFieldForm};
1
+ import"./shared-08156595.js";import"./shared-88c4cfec.js";import"./shared-bc814810.js";import"./shared-8dd0af4d.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{N as i}from"./shared-181f51bd.js";import"./shared-62c088b7.js";import"./shared-be66c2e7.js";import"./shared-5a4829e3.js";import{a as s,T as r,S as a}from"./shared-2cc638ad.js";import{c as d}from"./shared-4e709717.js";import"./shared-1c94a156.js";import"./shared-62a54a6c.js";import"./shared-101d1234.js";import"./shared-bd252323.js";import"./shared-7d4fb1a2.js";import"./shared-4849ef5b.js";import"./shared-6cb1015f.js";import{m as n}from"./shared-76b3d76a.js";import"./shared-5ea18e60.js";import{P as o}from"./shared-5378bd8c.js";import{i as l}from"./shared-d3bf9ac0.js";import"./shared-0ce006b9.js";import"./shared-a8ced8bf.js";import"./shared-2092d86f.js";import"./shared-4f037e43.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-ed0dee03.js";import"./shared-11c2efc8.js";import"./shared-404aa9cc.js";import"./shared-08e27fe9.js";let h,c,m,f,p,u,b=e=>e;const _=s(t(r(a(i))),"custom-field-form");class v extends _{constructor(){super(...arguments),this.templates={},this.__getValidator=n((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__bindField=n((e=>t=>{const i=t.target;this.edit({[e]:i.value})})),this.__maybeRenderTextField=({field:t})=>{var i,s;const r=t.replace(/_/,"-");return this.hiddenSelector.matches(r)?"":e(h||(h=b` <div> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${r}:before`),this.t(t).toString(),l(null===(s=null===(i=this.form)||void 0===i?void 0:i[t])||void 0===s?void 0:s.toString()),this.__getErrorMessage(t),t,this.__getValidator(t),!this.in("idle")||this.disabledSelector.matches(r),this.readonlySelector.matches(r),this.__bindField(t),this.__handleKeyDown,this.renderTemplateOrSlot(`${r}:after`))},this.__renderVisibility=()=>{const{disabledSelector:t,form:i,lang:s,ns:r}=this,a=!this.in("idle")||t.matches("visibility",!0);return e(c||(c=b` <div data-testid="visibility"> ${0} <vaadin-checkbox ?disabled="${0}" ?checked="${0}" @change="${0}"> <foxy-i18n lang="${0}" key="show_on_receipt" ns="${0}"></foxy-i18n> </vaadin-checkbox> ${0} </div> `),this.renderTemplateOrSlot("visibility:before"),a,!i.is_hidden,(e=>{const t=e.currentTarget;this.edit({is_hidden:!t.checked})}),s,r,this.renderTemplateOrSlot("visibility:after"))},this.__renderTimestamps=()=>{const t=["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])}):""}}));return e(m||(m=b` <div> ${0} <x-property-table .items="${0}" data-testid="timestamps"></x-property-table> ${0} </div> `),this.renderTemplateOrSlot("timestamps:before"),t,this.renderTemplateOrSlot("timestamps:after"))},this.__renderDelete=()=>e(f||(f=b` <div> ${0} <vaadin-button class="w-full" data-testid="delete" theme="error" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="delete"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("delete:before"),!this.in("idle")||this.disabledSelector.matches("delete",!0),this.__handleDeleteClick,this.ns,this.lang,this.renderTemplateOrSlot("delete:after")),this.__renderCreate=()=>{const t=this.in({idle:{template:{dirty:"valid"}}}),i=this.in({idle:{snapshot:{dirty:"valid"}}}),s=t||i;return e(p||(p=b` <div> ${0} <vaadin-button data-testid="create" class="w-full" theme="success primary" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" lang="${0}" key="create"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("create:before"),!this.in("idle")||!s||this.disabledSelector.matches("create",!0),(()=>this.submit()),this.ns,this.lang,this.renderTemplateOrSlot("create:after"))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"vaadin-checkbox":customElements.get("vaadin-checkbox"),"x-property-table":o,"vaadin-button":customElements.get("vaadin-button"),"foxy-i18n":customElements.get("foxy-i18n"),"foxy-spinner":customElements.get("foxy-spinner")}}static get v8n(){return[({value:e})=>e&&e.length>0||"value_required",({value:e})=>e&&e.length<=1e3||"value_too_long",({name:e})=>e&&e.length>0||"name_required",({name:e})=>e&&e.length<=500||"name_too_long"]}render(){var t,i;const{hiddenSelector:s,data:r,lang:a,ns:n}=this,o=this.in("busy"),l=this.in("fail");return e(u||(u=b` <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="relative" aria-busy="${0}" aria-live="polite"> <div class="grid grid-cols-1 gap-l"> ${0} ${0} ${0} ${0} ${0} ${0} </div> <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> `),a,n,this.__handleConfirmHide,this.in("busy"),this.__maybeRenderTextField({field:"name"}),this.__maybeRenderTextField({field:"value"}),s.matches("visibility",!0)?"":this.__renderVisibility(),s.matches("timestamps",!0)||!r?"":this.__renderTimestamps(),s.matches("delete",!0)||!r?"":this.__renderDelete(),s.matches("create",!0)||r?"":this.__renderCreate(),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!o&&!l}),l?"error":o?"busy":"empty",a,n,null!==(i=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t,i,s;super.disconnectedCallback(),null===(t=(e=this.__bindField.cache).clear)||void 0===t||t.call(e),null===(s=(i=this.__getValidator.cache).clear)||void 0===s||s.call(i)}get __confirmDialog(){return this.renderRoot.querySelector("#confirm")}__getErrorMessage(e){const t=this.errors.find((t=>t.startsWith(e)));return t?this.t(t.replace(e,"v8n")).toString():""}__handleKeyDown(e){"Enter"===e.key&&this.submit()}__handleDeleteClick(e){this.__confirmDialog.show(e.currentTarget)}__handleConfirmHide(e){e.detail.cancelled||this.delete()}}customElements.define("foxy-custom-field-form",v);export{v as CustomFieldForm};
@@ -1 +1 @@
1
- import{C as s}from"./shared-f7231d6a.js";export{C as CustomerApi}from"./shared-f7231d6a.js";import"./shared-fadcb2e1.js";import"./shared-dc73b9a5.js";import"./shared-ca05dcb3.js";import"./shared-c87447a4.js";import"./shared-1bbd9b73.js";import"./shared-92a6c959.js";import"./shared-9803aa7c.js";customElements.define("foxy-customer-api",s);
1
+ import{C as s}from"./shared-8b6addec.js";export{C as CustomerApi}from"./shared-8b6addec.js";import"./shared-a8ced8bf.js";import"./shared-7f33a83a.js";import"./shared-ea67b3f3.js";import"./shared-76b3d76a.js";import"./shared-75e78c70.js";import"./shared-43bcce74.js";import"./shared-d3bf9ac0.js";import"./shared-4f037e43.js";customElements.define("foxy-customer-api",s);
@@ -1 +1 @@
1
- import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-47e4ea34.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-92a6c959.js";import{N as a}from"./shared-ba59c811.js";import{T as s,a as r}from"./shared-62169210.js";import{c as i}from"./shared-4e709717.js";import"./shared-2188d5f7.js";import"./shared-ae415a98.js";import"./shared-8e9a3bbb.js";import"./shared-fadcb2e1.js";import"./shared-c87447a4.js";import"./shared-9803aa7c.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";let d,o,n,l,m,c,h,p=e=>e;const v=s(t(r(a,"customer-card")));class u extends v{constructor(){super(...arguments),this.templates={}}render(){var t,a;const s=this.hiddenSelector;return e(d||(d=p` <div aria-busy="${0}" aria-live="polite" class="relative leading-m font-lumo text-m"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i({"leading-xs transition-opacity":!0,"opacity-0":!this.data}),s.matches("name",!0)?"":this.__renderName(),s.matches("email",!0)?"":this.__renderEmail(),i({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(a=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==a?a:"")}__renderName(){var t,a;const s=this.data,r=`${null!==(t=null==s?void 0:s.first_name)&&void 0!==t?t:""} ${null!==(a=null==s?void 0:s.last_name)&&void 0!==a?a:""}`.trim()||"–",i=s?e(o||(o=p`${0}`),r):e(n||(n=p`&ZeroWidthSpace;`));return e(l||(l=p` <div data-testid="name"> ${0} <div class="font-semibold text-body truncate">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("name:before"),i,this.renderTemplateOrSlot("name:after"))}__renderEmail(){var t;const a=this.data,s=`${null!==(t=null==a?void 0:a.email)&&void 0!==t?t:""}`.trim()||"–",r=a?e(m||(m=p`${0}`),s):e(c||(c=p`&ZeroWidthSpace;`));return e(h||(h=p` <div data-testid="email"> ${0} <div class="text-tertiary truncate">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("email:before"),r,this.renderTemplateOrSlot("email:after"))}}customElements.define("foxy-customer-card",u);export{u as CustomerCard};
1
+ import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import{N as s}from"./shared-181f51bd.js";import{T as a,a as r}from"./shared-2cc638ad.js";import{c as i}from"./shared-4e709717.js";import"./shared-62c088b7.js";import"./shared-0ce006b9.js";import"./shared-2092d86f.js";import"./shared-a8ced8bf.js";import"./shared-4f037e43.js";import"./shared-76b3d76a.js";import"./shared-d3bf9ac0.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";let d,o,n,m,l,c,h,p=e=>e;const f=a(t(r(s,"customer-card")));class v extends f{constructor(){super(...arguments),this.templates={}}render(){var t,s;const a=this.hiddenSelector;return e(d||(d=p` <div aria-busy="${0}" aria-live="polite" class="relative leading-m font-lumo text-m"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <foxy-spinner data-testid="spinner" state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),this.in("busy"),i({"leading-xs transition-opacity":!0,"opacity-0":!this.data}),a.matches("name",!0)?"":this.__renderName(),a.matches("email",!0)?"":this.__renderEmail(),i({"pointer-events-none absolute inset-0 flex transition-opacity":!0,"opacity-0":!!this.data}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}__renderName(){var t,s;const a=this.data,r=`${null!==(t=null==a?void 0:a.first_name)&&void 0!==t?t:""} ${null!==(s=null==a?void 0:a.last_name)&&void 0!==s?s:""}`.trim()||"–",i=a?e(o||(o=p`${0}`),r):e(n||(n=p`&ZeroWidthSpace;`));return e(m||(m=p` <div data-testid="name"> ${0} <div class="font-semibold text-body truncate">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("name:before"),i,this.renderTemplateOrSlot("name:after"))}__renderEmail(){var t;const s=this.data,a=`${null!==(t=null==s?void 0:s.email)&&void 0!==t?t:""}`.trim()||"–",r=s?e(l||(l=p`${0}`),a):e(c||(c=p`&ZeroWidthSpace;`));return e(h||(h=p` <div data-testid="email"> ${0} <div class="text-secondary truncate text-s">${0}</div> ${0} </div> `),this.renderTemplateOrSlot("email:before"),r,this.renderTemplateOrSlot("email:after"))}}customElements.define("foxy-customer-card",v);export{v as CustomerCard};
@@ -1 +1 @@
1
- import"./shared-d28ac9dc.js";import"./shared-c5c60417.js";import"./shared-0b65fb12.js";import"./shared-e1c1e8e2.js";import"./foxy-spinner.js";import"./shared-47e4ea34.js";import{h as e}from"./shared-dc73b9a5.js";import{C as t}from"./shared-92a6c959.js";import"./foxy-nucleon-element.js";import"./shared-2188d5f7.js";import"./shared-195fd5af.js";import"./shared-31c43743.js";import{R as i,T as s,S as a,a as r}from"./shared-62169210.js";import{c as d}from"./shared-4e709717.js";import"./shared-ed9d70f7.js";import"./shared-ab008382.js";import"./shared-ce24fef8.js";import"./shared-4e201e09.js";import"./shared-dc23b751.js";import"./shared-a052131e.js";import{m as o}from"./shared-c87447a4.js";import{P as n}from"./shared-dd6d3c18.js";import{i as l}from"./shared-9803aa7c.js";import{v as m}from"./shared-b738ee96.js";import{N as h}from"./shared-ba59c811.js";import"./shared-ae415a98.js";import"./shared-fadcb2e1.js";import"./shared-8e9a3bbb.js";import"./shared-dd29b736.js";import"./shared-7684cb05.js";import"./shared-1ba08bcc.js";import"./shared-99940888.js";let c,p,f,u,b=e=>e;const v=i(t(s(a(r(h,"customer-form")))));class _ extends v{constructor(){super(...arguments),this.templates={},this.__getValidator=o((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__maybeRenderTextField=({field:t})=>{var i,s;const a=t.replace(/_/,"-"),r=this.errors.find((e=>e.startsWith(t)));return this.hiddenSelector.matches(a,!0)?"":e(c||(c=b` <div> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t(t).toString(),l(null===(s=null===(i=this.form)||void 0===i?void 0:i[t])||void 0===s?void 0:s.toString()),r?this.t(r.replace(t,"v8n")).toString():"",a,this.__getValidator(t),!this.in("idle")||this.disabledSelector.matches(a,!0),this.readonlySelector.matches(a,!0),(e=>this.edit({[t]:e.target.value})),(e=>"Enter"===e.key&&this.submit()),this.renderTemplateOrSlot(`${a}:after`))},this.__renderTimestamps=()=>e(p||(p=b` <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")),this.__renderAction=t=>{const{disabledSelector:i,href:s,lang:a,ns:r}=this,d=this.in({idle:{template:{dirty:"valid"}}}),o=this.in({idle:{snapshot:{dirty:"valid"}}}),n=!this.in("idle")||i.matches(t,!0),l=d||o;return e(f||(f=b` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${t}:before`),this.in("idle")?"primary "+(s?"error":"success"):"",t,this.in({idle:"template"})&&!l||n,(e=>{if("delete"===t){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}else this.submit()}),r,t,a,this.renderTemplateOrSlot(`${t}:after`))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"x-property-table":n,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({tax_id:e})=>!e||e.length<=50||"tax_id_too_long",({email:e})=>e&&e.length>0||"email_required",({email:e})=>e&&e.length<=100||"email_too_long",({email:e})=>e&&m(e)||"email_invalid_email"]}render(){var t,i;const{hiddenSelector:s,href:a,lang:r,ns:o}=this,n=a?"delete":"create",l=this.in("busy"),m=this.in("fail");return e(u||(u=b` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="grid grid-cols-1 sm-grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} </div> ${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> `),r,o,(e=>{e.detail.cancelled||this.delete()}),l,this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"email"}),this.__maybeRenderTextField({field:"tax_id"}),s.matches("timestamps",!0)||!a?"":this.__renderTimestamps(),s.matches(n)?"":this.__renderAction(n),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!l&&!m}),m?"error":l?"busy":"empty",r,o,null!==(i=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==i?i:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}}customElements.define("foxy-customer-form",_);export{_ as CustomerForm};
1
+ import"./shared-08156595.js";import"./shared-bc814810.js";import"./shared-8dd0af4d.js";import"./shared-0479553e.js";import"./foxy-spinner.js";import"./shared-0821cfdc.js";import{h as e}from"./shared-7f33a83a.js";import{C as t}from"./shared-43bcce74.js";import"./foxy-nucleon-element.js";import"./shared-62c088b7.js";import"./shared-be66c2e7.js";import"./shared-5a4829e3.js";import{R as s,T as i,S as a,a as r}from"./shared-2cc638ad.js";import{c as d}from"./shared-4e709717.js";import"./shared-1c94a156.js";import"./shared-62a54a6c.js";import"./shared-101d1234.js";import"./shared-bd252323.js";import"./shared-7d4fb1a2.js";import"./shared-4849ef5b.js";import"./shared-6cb1015f.js";import{m as o}from"./shared-76b3d76a.js";import"./shared-5ea18e60.js";import{P as n}from"./shared-5378bd8c.js";import{i as l}from"./shared-d3bf9ac0.js";import{v as m}from"./shared-b738ee96.js";import{N as h}from"./shared-181f51bd.js";import"./shared-0ce006b9.js";import"./shared-a8ced8bf.js";import"./shared-2092d86f.js";import"./shared-4f037e43.js";import"./shared-a85afa33.js";import"./shared-d6276c83.js";import"./shared-2f7dcefa.js";import"./shared-ed0dee03.js";import"./shared-11c2efc8.js";import"./shared-404aa9cc.js";import"./shared-08e27fe9.js";let c,p,f,u,b=e=>e;const v=s(t(i(a(r(h,"customer-form")))));class _ extends v{constructor(){super(...arguments),this.templates={},this.__getValidator=o((e=>()=>!this.errors.some((t=>t.startsWith(e))))),this.__maybeRenderTextField=({field:t})=>{var s,i;const a=t.replace(/_/,"-"),r=this.errors.find((e=>e.startsWith(t)));return this.hiddenSelector.matches(a,!0)?"":e(c||(c=b` <div> ${0} <vaadin-text-field class="w-full" label="${0}" value="${0}" error-message="${0}" data-testid="${0}" .checkValidity="${0}" ?disabled="${0}" ?readonly="${0}" @input="${0}" @keydown="${0}"> </vaadin-text-field> ${0} </div> `),this.renderTemplateOrSlot(`${a}:before`),this.t(t).toString(),l(null===(i=null===(s=this.form)||void 0===s?void 0:s[t])||void 0===i?void 0:i.toString()),r?this.t(r.replace(t,"v8n")).toString():"",a,this.__getValidator(t),!this.in("idle")||this.disabledSelector.matches(a,!0),this.readonlySelector.matches(a,!0),(e=>this.edit({[t]:e.target.value})),(e=>"Enter"===e.key&&this.submit()),this.renderTemplateOrSlot(`${a}:after`))},this.__renderTimestamps=()=>e(p||(p=b` <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")),this.__renderAction=t=>{const{disabledSelector:s,href:i,lang:a,ns:r}=this,d=this.in({idle:{template:{dirty:"valid"}}}),o=this.in({idle:{snapshot:{dirty:"valid"}}}),n=!this.in("idle")||s.matches(t,!0),l=d||o;return e(f||(f=b` <div> ${0} <vaadin-button class="w-full" theme="${0}" data-testid="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="${0}" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot(`${t}:before`),this.in("idle")?i?"error":"primary success":"",t,this.in({idle:"template"})&&!l||n,(e=>{if("delete"===t){this.renderRoot.querySelector("#confirm").show(e.currentTarget)}else this.submit()}),r,t,a,this.renderTemplateOrSlot(`${t}:after`))}}static get scopedElements(){return{"foxy-internal-confirm-dialog":customElements.get("foxy-internal-confirm-dialog"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"vaadin-text-field":customElements.get("vaadin-text-field"),"x-property-table":n,"vaadin-button":customElements.get("vaadin-button"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n")}}static get v8n(){return[({first_name:e})=>!e||e.length<=50||"first_name_too_long",({last_name:e})=>!e||e.length<=50||"last_name_too_long",({tax_id:e})=>!e||e.length<=50||"tax_id_too_long",({email:e})=>e&&e.length>0||"email_required",({email:e})=>e&&e.length<=100||"email_too_long",({email:e})=>e&&m(e)||"email_invalid_email"]}render(){var t,s;const{hiddenSelector:i,href:a,lang:r,ns:o}=this,n=a?"delete":"create",l=this.in("busy"),m=this.in("fail");return e(u||(u=b` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" lang="${0}" ns="${0}" id="confirm" data-testid="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <div data-testid="wrapper" aria-busy="${0}" aria-live="polite" class="space-y-l relative"> <div class="grid grid-cols-1 sm-grid-cols-2 gap-m"> ${0} ${0} ${0} ${0} </div> ${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> `),r,o,(e=>{e.detail.cancelled||this.delete()}),l,this.__maybeRenderTextField({field:"first_name"}),this.__maybeRenderTextField({field:"last_name"}),this.__maybeRenderTextField({field:"email"}),this.__maybeRenderTextField({field:"tax_id"}),i.matches("timestamps",!0)||!a?"":this.__renderTimestamps(),i.matches(n)?"":this.__renderAction(n),d({"transition duration-500 ease-in-out absolute inset-0 flex":!0,"opacity-0 pointer-events-none":!l&&!m}),m?"error":l?"busy":"empty",r,o,null!==(s=null===(t=customElements.get("foxy-spinner"))||void 0===t?void 0:t.defaultNS)&&void 0!==s?s:"")}disconnectedCallback(){var e,t;super.disconnectedCallback(),null===(t=(e=this.__getValidator.cache).clear)||void 0===t||t.call(e)}}customElements.define("foxy-customer-form",_);export{_ as CustomerForm};