@foxy.io/elements 1.18.0-beta.21 → 1.18.0-beta.23

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 (315) 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 +85 -3
  4. package/dist/cdn/foxy-address-form.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  6. package/dist/cdn/foxy-api-browser.js +1 -1
  7. package/dist/cdn/foxy-applied-coupon-code-card.js +1 -1
  8. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  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 -1
  14. package/dist/cdn/foxy-cart-form.js +1 -1
  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-card.js +1 -1
  26. package/dist/cdn/foxy-customer-form.js +1 -1
  27. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  28. package/dist/cdn/foxy-customer-portal.js +2 -2
  29. package/dist/cdn/foxy-customer.js +1 -1
  30. package/dist/cdn/foxy-customers-table.js +1 -1
  31. package/dist/cdn/foxy-discount-builder.js +1 -1
  32. package/dist/cdn/foxy-discount-card.js +1 -1
  33. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  34. package/dist/cdn/foxy-donation.js +1 -1
  35. package/dist/cdn/foxy-email-template-card.js +1 -1
  36. package/dist/cdn/foxy-email-template-form.js +1 -1
  37. package/dist/cdn/foxy-error-entry-card.js +1 -1
  38. package/dist/cdn/foxy-form-dialog.js +1 -1
  39. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  40. package/dist/cdn/foxy-gift-card-card.js +1 -1
  41. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  42. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  43. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  44. package/dist/cdn/foxy-gift-card-form.js +1 -1
  45. package/dist/cdn/foxy-i18n-editor.js +2 -2
  46. package/dist/cdn/foxy-i18n.js +1 -1
  47. package/dist/cdn/foxy-integration-card.js +1 -1
  48. package/dist/cdn/foxy-integration-form.js +1 -1
  49. package/dist/cdn/foxy-item-card.js +1 -1
  50. package/dist/cdn/foxy-item-category-card.js +1 -1
  51. package/dist/cdn/foxy-item-category-form.js +1 -1
  52. package/dist/cdn/foxy-item-form.js +1 -1
  53. package/dist/cdn/foxy-item-option-card.js +1 -1
  54. package/dist/cdn/foxy-item-option-form.js +1 -1
  55. package/dist/cdn/foxy-items-form.js +1 -1
  56. package/dist/cdn/foxy-pagination.js +1 -1
  57. package/dist/cdn/foxy-payment-card.js +1 -1
  58. package/dist/cdn/foxy-payment-method-card.js +1 -1
  59. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  60. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  61. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  62. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  63. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  64. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  65. package/dist/cdn/foxy-query-builder.js +1 -1
  66. package/dist/cdn/foxy-report-form.js +2 -2
  67. package/dist/cdn/foxy-reports-table.js +5 -5
  68. package/dist/cdn/foxy-shipment-card.js +1 -1
  69. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  70. package/dist/cdn/foxy-sign-in-form.js +1 -1
  71. package/dist/cdn/foxy-spinner.js +1 -1
  72. package/dist/cdn/foxy-store-form.js +1 -1
  73. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  74. package/dist/cdn/foxy-subscription-card.js +1 -1
  75. package/dist/cdn/foxy-subscription-form.js +1 -1
  76. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  77. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  78. package/dist/cdn/foxy-table.js +1 -1
  79. package/dist/cdn/foxy-tax-card.js +1 -1
  80. package/dist/cdn/foxy-tax-form.js +1 -1
  81. package/dist/cdn/foxy-template-config-form.js +1 -1
  82. package/dist/cdn/foxy-template-form.js +1 -1
  83. package/dist/cdn/foxy-template-set-card.js +1 -1
  84. package/dist/cdn/foxy-template-set-form.js +1 -1
  85. package/dist/cdn/foxy-transaction-card.js +1 -1
  86. package/dist/cdn/foxy-transaction.js +1 -1
  87. package/dist/cdn/foxy-transactions-table.js +7 -7
  88. package/dist/cdn/foxy-user-form.js +1 -1
  89. package/dist/cdn/foxy-users-table.js +1 -1
  90. package/dist/cdn/foxy-webhook-card.js +1 -1
  91. package/dist/cdn/foxy-webhook-form.js +1 -1
  92. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  93. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  94. package/dist/cdn/{shared-f69afa4b.js → shared-08156595.js} +1 -1
  95. package/dist/cdn/{shared-fedeb7b2.js → shared-0821cfdc.js} +1 -1
  96. package/dist/cdn/{shared-6ac71f60.js → shared-08e27fe9.js} +3 -3
  97. package/dist/cdn/{shared-13e6fe8a.js → shared-0ce006b9.js} +1 -1
  98. package/dist/cdn/shared-1000b848.js +1 -0
  99. package/dist/cdn/{shared-d7dfd3d8.js → shared-101d1234.js} +2 -2
  100. package/dist/cdn/{shared-9643b6c8.js → shared-1c94a156.js} +1 -1
  101. package/dist/cdn/{shared-e39be772.js → shared-2092d86f.js} +1 -1
  102. package/dist/cdn/shared-21679ebd.js +1 -0
  103. package/dist/cdn/{shared-8e6a8a88.js → shared-2add595d.js} +1 -1
  104. package/dist/cdn/{shared-459a5ec4.js → shared-2cc638ad.js} +1 -1
  105. package/dist/cdn/{shared-4817dcd1.js → shared-39c10b22.js} +1 -1
  106. package/dist/cdn/{shared-d0c5c38f.js → shared-404aa9cc.js} +1 -1
  107. package/dist/cdn/{shared-307382e5.js → shared-4849ef5b.js} +1 -1
  108. package/dist/cdn/shared-486d7bb5.js +1 -0
  109. package/dist/cdn/shared-4979dca4.js +1 -0
  110. package/dist/cdn/{shared-715ee51e.js → shared-4f9d2417.js} +1 -1
  111. package/dist/cdn/{shared-daab7e76.js → shared-5378bd8c.js} +1 -1
  112. package/dist/cdn/{shared-780ead03.js → shared-5a4829e3.js} +1 -1
  113. package/dist/cdn/{shared-7788977c.js → shared-5ea18e60.js} +1 -1
  114. package/dist/cdn/{shared-674c1c04.js → shared-62a54a6c.js} +1 -1
  115. package/dist/cdn/{shared-d7c271d2.js → shared-62c088b7.js} +1 -1
  116. package/dist/cdn/{shared-71beb422.js → shared-639c666f.js} +1 -1
  117. package/dist/cdn/{shared-9862ca28.js → shared-6581241a.js} +1 -1
  118. package/dist/cdn/{shared-206b4ae2.js → shared-6cb1015f.js} +1 -1
  119. package/dist/cdn/{shared-2bd47510.js → shared-71d8d167.js} +3 -3
  120. package/dist/cdn/{shared-45db2087.js → shared-71f2ef1f.js} +1 -1
  121. package/dist/cdn/{shared-25ecdf66.js → shared-744cf66b.js} +1 -1
  122. package/dist/cdn/{shared-80378a15.js → shared-7d4fb1a2.js} +1 -1
  123. package/dist/cdn/{shared-a4165acb.js → shared-80fc2b6a.js} +1 -1
  124. package/dist/cdn/{shared-ef98812b.js → shared-83596b46.js} +1 -1
  125. package/dist/cdn/shared-868065de.js +1 -0
  126. package/dist/cdn/{shared-02d4bc14.js → shared-88c4cfec.js} +1 -1
  127. package/dist/cdn/{shared-e7e0ee80.js → shared-8dd0af4d.js} +1 -1
  128. package/dist/cdn/{shared-46e22714.js → shared-988ec916.js} +1 -1
  129. package/dist/cdn/{shared-915e8780.js → shared-9bdacf65.js} +1 -1
  130. package/dist/cdn/{shared-72279946.js → shared-9f436277.js} +1 -1
  131. package/dist/cdn/shared-a0c8faf2.js +1 -0
  132. package/dist/cdn/{shared-0f29fba2.js → shared-a37abe4c.js} +2 -2
  133. package/dist/cdn/{shared-a6de944b.js → shared-a41234b4.js} +1 -1
  134. package/dist/cdn/{shared-0a40a749.js → shared-af226a9a.js} +1 -1
  135. package/dist/cdn/{shared-3b249b20.js → shared-b40cf0dd.js} +1 -1
  136. package/dist/cdn/{shared-7a739f89.js → shared-bb0e33c3.js} +1 -1
  137. package/dist/cdn/{shared-18d42566.js → shared-bc814810.js} +1 -1
  138. package/dist/cdn/{shared-1392183b.js → shared-bd252323.js} +1 -1
  139. package/dist/cdn/{shared-0d3bec9f.js → shared-be66c2e7.js} +1 -1
  140. package/dist/cdn/{shared-f821859e.js → shared-c774d080.js} +1 -1
  141. package/dist/cdn/{shared-78f6e15f.js → shared-c95c17e6.js} +1 -1
  142. package/dist/cdn/shared-cba08e1c.js +1 -0
  143. package/dist/cdn/{shared-33912f50.js → shared-d518bd55.js} +1 -1
  144. package/dist/cdn/shared-d61b3e4f.js +1 -0
  145. package/dist/cdn/{shared-3e8cd935.js → shared-d8dc97f0.js} +1 -1
  146. package/dist/cdn/{shared-2d2ce3b1.js → shared-de036570.js} +1 -1
  147. package/dist/cdn/{shared-7992035c.js → shared-ed0dee03.js} +3 -3
  148. package/dist/cdn/shared-f7e4cd67.js +1 -0
  149. package/dist/cdn/{shared-e0615601.js → shared-f80f402a.js} +1 -1
  150. package/dist/cdn/translations/payments-api-payment-preset-form/en.json +2 -2
  151. package/dist/cdn/translations/store-shipping-method-form/en.json +10 -10
  152. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js +10 -5
  153. package/dist/elements/internal/InternalAsyncListControl/InternalAsyncListControl.js.map +1 -1
  154. package/dist/elements/internal/InternalControl/InternalControl.js +2 -2
  155. package/dist/elements/internal/InternalControl/InternalControl.js.map +1 -1
  156. package/dist/elements/internal/InternalDetails/InternalDetails.js +3 -3
  157. package/dist/elements/internal/InternalDetails/InternalDetails.js.map +1 -1
  158. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js +1 -1
  159. package/dist/elements/internal/InternalRadioGroupControl/InternalRadioGroupControl.js.map +1 -1
  160. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +2 -1
  161. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  162. package/dist/elements/private/Group/Group.js +1 -1
  163. package/dist/elements/private/Group/Group.js.map +1 -1
  164. package/dist/elements/private/Warning/Warning.js +1 -3
  165. package/dist/elements/private/Warning/Warning.js.map +1 -1
  166. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.d.ts +2 -2
  167. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js +7 -8
  168. package/dist/elements/public/AppliedCouponCodeCard/AppliedCouponCodeCard.js.map +1 -1
  169. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.d.ts +1 -1
  170. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js +2 -2
  171. package/dist/elements/public/AppliedTaxCard/AppliedTaxCard.js.map +1 -1
  172. package/dist/elements/public/AttributeCard/AttributeCard.js +28 -14
  173. package/dist/elements/public/AttributeCard/AttributeCard.js.map +1 -1
  174. package/dist/elements/public/CartForm/CartForm.d.ts +106 -1
  175. package/dist/elements/public/CartForm/CartForm.js +167 -37
  176. package/dist/elements/public/CartForm/CartForm.js.map +1 -1
  177. package/dist/elements/public/CartForm/index.d.ts +2 -0
  178. package/dist/elements/public/CartForm/index.js +2 -0
  179. package/dist/elements/public/CartForm/index.js.map +1 -1
  180. package/dist/elements/public/CartForm/types.d.ts +64 -0
  181. package/dist/elements/public/CartForm/types.js.map +1 -1
  182. package/dist/elements/public/CouponDetailCard/CouponDetailCard.d.ts +1 -1
  183. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js +2 -2
  184. package/dist/elements/public/CouponDetailCard/CouponDetailCard.js.map +1 -1
  185. package/dist/elements/public/CouponForm/CouponForm.js +13 -9
  186. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  187. package/dist/elements/public/CustomFieldCard/CustomFieldCard.d.ts +1 -1
  188. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js +2 -2
  189. package/dist/elements/public/CustomFieldCard/CustomFieldCard.js.map +1 -1
  190. package/dist/elements/public/CustomFieldCard/TwoLineCard.d.ts +6 -12
  191. package/dist/elements/public/CustomFieldCard/TwoLineCard.js +5 -35
  192. package/dist/elements/public/CustomFieldCard/TwoLineCard.js.map +1 -1
  193. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js +4 -4
  194. package/dist/elements/public/DiscountBuilder/DiscountBuilder.js.map +1 -1
  195. package/dist/elements/public/DiscountCard/DiscountCard.d.ts +1 -1
  196. package/dist/elements/public/DiscountCard/DiscountCard.js +2 -2
  197. package/dist/elements/public/DiscountCard/DiscountCard.js.map +1 -1
  198. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.d.ts +1 -1
  199. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js +2 -2
  200. package/dist/elements/public/DiscountDetailCard/DiscountDetailCard.js.map +1 -1
  201. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.d.ts +1 -1
  202. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js +2 -2
  203. package/dist/elements/public/EmailTemplateCard/EmailTemplateCard.js.map +1 -1
  204. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +10 -2
  205. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  206. package/dist/elements/public/GiftCardForm/GiftCardForm.js +3 -3
  207. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  208. package/dist/elements/public/I18nEditor/I18nEditor.d.ts +9 -0
  209. package/dist/elements/public/I18nEditor/I18nEditor.js +13 -4
  210. package/dist/elements/public/I18nEditor/I18nEditor.js.map +1 -1
  211. package/dist/elements/public/ItemCard/ItemCard.js +14 -15
  212. package/dist/elements/public/ItemCard/ItemCard.js.map +1 -1
  213. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.d.ts +1 -1
  214. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js +2 -2
  215. package/dist/elements/public/ItemCategoryCard/ItemCategoryCard.js.map +1 -1
  216. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +84 -1
  217. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +88 -15
  218. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
  219. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js +1 -1
  220. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.js.map +1 -1
  221. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js +2 -2
  222. package/dist/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.js.map +1 -1
  223. package/dist/elements/public/ItemCategoryForm/types.d.ts +53 -1
  224. package/dist/elements/public/ItemCategoryForm/types.js.map +1 -1
  225. package/dist/elements/public/ItemOptionCard/ItemOptionCard.d.ts +1 -1
  226. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js +2 -2
  227. package/dist/elements/public/ItemOptionCard/ItemOptionCard.js.map +1 -1
  228. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.d.ts +1 -1
  229. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js +6 -3
  230. package/dist/elements/public/PaymentsApiFraudProtectionCard/PaymentsApiFraudProtectionCard.js.map +1 -1
  231. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.d.ts +41 -3
  232. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js +142 -84
  233. package/dist/elements/public/PaymentsApiFraudProtectionForm/PaymentsApiFraudProtectionForm.js.map +1 -1
  234. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.d.ts +2 -3
  235. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js +2 -3
  236. package/dist/elements/public/PaymentsApiFraudProtectionForm/index.js.map +1 -1
  237. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.d.ts +15 -0
  238. package/dist/elements/public/PaymentsApiFraudProtectionForm/types.js.map +1 -1
  239. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.d.ts +1 -1
  240. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js +6 -3
  241. package/dist/elements/public/PaymentsApiPaymentMethodCard/PaymentsApiPaymentMethodCard.js.map +1 -1
  242. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.d.ts +70 -3
  243. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js +314 -263
  244. package/dist/elements/public/PaymentsApiPaymentMethodForm/PaymentsApiPaymentMethodForm.js.map +1 -1
  245. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.d.ts +2 -0
  246. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js +2 -0
  247. package/dist/elements/public/PaymentsApiPaymentMethodForm/index.js.map +1 -1
  248. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.d.ts +29 -0
  249. package/dist/elements/public/PaymentsApiPaymentMethodForm/types.js.map +1 -1
  250. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.d.ts +1 -1
  251. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js +2 -2
  252. package/dist/elements/public/PaymentsApiPaymentPresetCard/PaymentsApiPaymentPresetCard.js.map +1 -1
  253. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.d.ts +40 -1
  254. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js +93 -74
  255. package/dist/elements/public/PaymentsApiPaymentPresetForm/PaymentsApiPaymentPresetForm.js.map +1 -1
  256. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.d.ts +14 -0
  257. package/dist/elements/public/PaymentsApiPaymentPresetForm/types.js.map +1 -1
  258. package/dist/elements/public/ReportForm/ReportForm.js +4 -1
  259. package/dist/elements/public/ReportForm/ReportForm.js.map +1 -1
  260. package/dist/elements/public/StoreForm/StoreForm.d.ts +153 -1
  261. package/dist/elements/public/StoreForm/StoreForm.js +191 -27
  262. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  263. package/dist/elements/public/StoreForm/index.d.ts +1 -0
  264. package/dist/elements/public/StoreForm/index.js +1 -0
  265. package/dist/elements/public/StoreForm/index.js.map +1 -1
  266. package/dist/elements/public/StoreForm/types.d.ts +94 -0
  267. package/dist/elements/public/StoreForm/types.js.map +1 -1
  268. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.d.ts +46 -1
  269. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js +85 -29
  270. package/dist/elements/public/StoreShippingMethodForm/StoreShippingMethodForm.js.map +1 -1
  271. package/dist/elements/public/StoreShippingMethodForm/index.d.ts +1 -3
  272. package/dist/elements/public/StoreShippingMethodForm/index.js +1 -3
  273. package/dist/elements/public/StoreShippingMethodForm/index.js.map +1 -1
  274. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.d.ts +1 -1
  275. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js +3 -3
  276. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesControl/InternalStoreShippingMethodFormServicesControl.js.map +1 -1
  277. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.d.ts +4 -4
  278. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js +6 -6
  279. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPage/InternalStoreShippingMethodFormServicesPage.js.map +1 -1
  280. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.d.ts +4 -4
  281. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js +3 -3
  282. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItem/InternalStoreShippingMethodFormServicesPageItem.js.map +1 -1
  283. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.d.ts +4 -4
  284. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js +3 -3
  285. package/dist/elements/public/StoreShippingMethodForm/internal/InternalStoreShippingMethodFormServicesPageItemContent/InternalStoreShippingMethodFormServicesPageItemContent.js.map +1 -1
  286. package/dist/elements/public/StoreShippingMethodForm/types.d.ts +33 -1
  287. package/dist/elements/public/StoreShippingMethodForm/types.js.map +1 -1
  288. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +50 -1
  289. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +49 -0
  290. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  291. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +1 -1
  292. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +1 -1
  293. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +1 -0
  294. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +1 -0
  295. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +1 -1
  296. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +33 -1
  297. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
  298. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js +4 -1
  299. package/dist/elements/public/TemplateConfigForm/TemplateConfigForm.js.map +1 -1
  300. package/dist/elements/public/TemplateForm/TemplateForm.js +10 -2
  301. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  302. package/dist/elements/public/TemplateSetCard/TemplateSetCard.d.ts +1 -1
  303. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js +2 -2
  304. package/dist/elements/public/TemplateSetCard/TemplateSetCard.js.map +1 -1
  305. package/dist/mixins/themeable.js +19 -8
  306. package/dist/mixins/themeable.js.map +1 -1
  307. package/package.json +2 -1
  308. package/dist/cdn/shared-0301f5c5.js +0 -1
  309. package/dist/cdn/shared-324f9551.js +0 -1
  310. package/dist/cdn/shared-4cbd9a4f.js +0 -1
  311. package/dist/cdn/shared-7304a1ab.js +0 -1
  312. package/dist/cdn/shared-9291d900.js +0 -1
  313. package/dist/cdn/shared-ad3c1ddc.js +0 -1
  314. package/dist/cdn/shared-c6567654.js +0 -1
  315. package/dist/cdn/shared-d6a78c23.js +0 -82
@@ -1,15 +1,98 @@
1
1
  import type { PropertyDeclarations } from 'lit-element';
2
+ import type { Templates, Data } from './types';
2
3
  import type { TemplateResult } from 'lit-html';
3
4
  import type { NucleonV8N } from '../NucleonElement/types';
4
- import type { Data } from './types';
5
5
  import { InternalForm } from '../../internal/InternalForm/InternalForm';
6
6
  declare const ItemCategoryForm_base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
7
7
  defaultNS: string;
8
8
  };
9
+ /**
10
+ * Form element for item categories (`fx:item_category`).
11
+ *
12
+ * @slot name:before
13
+ * @slot name:after
14
+ *
15
+ * @slot code:before
16
+ * @slot code:after
17
+ *
18
+ * @slot handling-fee-type:before
19
+ * @slot handling-fee-type:after
20
+ *
21
+ * @slot handling-fee:before
22
+ * @slot handling-fee:after
23
+ *
24
+ * @slot handling-fee-percentage:before
25
+ * @slot handling-fee-percentage:after
26
+ *
27
+ * @slot handling-fee-minimum:before
28
+ * @slot handling-fee-minimum:after
29
+ *
30
+ * @slot item-delivery-type:before
31
+ * @slot item-delivery-type:after
32
+ *
33
+ * @slot max-downloads-per-customer:before
34
+ * @slot max-downloads-per-customer:after
35
+ *
36
+ * @slot max-downloads-time-period:before
37
+ * @slot max-downloads-time-period:after
38
+ *
39
+ * @slot shipping-flat-rate:before
40
+ * @slot shipping-flat-rate:after
41
+ *
42
+ * @slot shipping-flat-rate-type:before
43
+ * @slot shipping-flat-rate-type:after
44
+ *
45
+ * @slot default-weight:before
46
+ * @slot default-weight:after
47
+ *
48
+ * @slot default-weight-unit:before
49
+ * @slot default-weight-unit:after
50
+ *
51
+ * @slot default-length-unit:before
52
+ * @slot default-length-unit:after
53
+ *
54
+ * @slot customs-value:before
55
+ * @slot customs-value:after
56
+ *
57
+ * @slot discount-name:before
58
+ * @slot discount-name:after
59
+ *
60
+ * @slot discount-builder:before
61
+ * @slot discount-builder:after
62
+ *
63
+ * @slot admin-email-template-uri:before
64
+ * @slot admin-email-template-uri:after
65
+ *
66
+ * @slot customer-email-template-uri:before
67
+ * @slot customer-email-template-uri:after
68
+ *
69
+ * @slot gift-recipient-email-template-uri:before
70
+ * @slot gift-recipient-email-template-uri:after
71
+ *
72
+ * @slot taxes:before
73
+ * @slot taxes:after
74
+ *
75
+ * @slot timestamps:before
76
+ * @slot timestamps:after
77
+ *
78
+ * @slot create:before
79
+ * @slot create:after
80
+ *
81
+ * @slot delete:before
82
+ * @slot delete:after
83
+ *
84
+ *
85
+ * @since 1.21.0
86
+ * @element foxy-item-category-form
87
+ */
9
88
  export declare class ItemCategoryForm extends ItemCategoryForm_base<Data> {
10
89
  static get properties(): PropertyDeclarations;
11
90
  static get v8n(): NucleonV8N<Data>;
91
+ /** URL of the `fx:email_templates` collection for a store. */
12
92
  emailTemplates: string | null;
93
+ /** Template render functions mapped to their name. */
94
+ templates: Templates;
95
+ /** URL of the `fx:taxes` collection for a store. */
13
96
  taxes: string | null;
14
97
  private static __shippingFlatRateTypeOptions;
15
98
  private static __defaultWeightUnitOptions;
@@ -2,17 +2,100 @@ import { TranslatableMixin } from "../../../mixins/translatable.js";
2
2
  import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
3
3
  import { ifDefined } from 'lit-html/directives/if-defined';
4
4
  import { html } from 'lit-html';
5
+ /**
6
+ * Form element for item categories (`fx:item_category`).
7
+ *
8
+ * @slot name:before
9
+ * @slot name:after
10
+ *
11
+ * @slot code:before
12
+ * @slot code:after
13
+ *
14
+ * @slot handling-fee-type:before
15
+ * @slot handling-fee-type:after
16
+ *
17
+ * @slot handling-fee:before
18
+ * @slot handling-fee:after
19
+ *
20
+ * @slot handling-fee-percentage:before
21
+ * @slot handling-fee-percentage:after
22
+ *
23
+ * @slot handling-fee-minimum:before
24
+ * @slot handling-fee-minimum:after
25
+ *
26
+ * @slot item-delivery-type:before
27
+ * @slot item-delivery-type:after
28
+ *
29
+ * @slot max-downloads-per-customer:before
30
+ * @slot max-downloads-per-customer:after
31
+ *
32
+ * @slot max-downloads-time-period:before
33
+ * @slot max-downloads-time-period:after
34
+ *
35
+ * @slot shipping-flat-rate:before
36
+ * @slot shipping-flat-rate:after
37
+ *
38
+ * @slot shipping-flat-rate-type:before
39
+ * @slot shipping-flat-rate-type:after
40
+ *
41
+ * @slot default-weight:before
42
+ * @slot default-weight:after
43
+ *
44
+ * @slot default-weight-unit:before
45
+ * @slot default-weight-unit:after
46
+ *
47
+ * @slot default-length-unit:before
48
+ * @slot default-length-unit:after
49
+ *
50
+ * @slot customs-value:before
51
+ * @slot customs-value:after
52
+ *
53
+ * @slot discount-name:before
54
+ * @slot discount-name:after
55
+ *
56
+ * @slot discount-builder:before
57
+ * @slot discount-builder:after
58
+ *
59
+ * @slot admin-email-template-uri:before
60
+ * @slot admin-email-template-uri:after
61
+ *
62
+ * @slot customer-email-template-uri:before
63
+ * @slot customer-email-template-uri:after
64
+ *
65
+ * @slot gift-recipient-email-template-uri:before
66
+ * @slot gift-recipient-email-template-uri:after
67
+ *
68
+ * @slot taxes:before
69
+ * @slot taxes:after
70
+ *
71
+ * @slot timestamps:before
72
+ * @slot timestamps:after
73
+ *
74
+ * @slot create:before
75
+ * @slot create:after
76
+ *
77
+ * @slot delete:before
78
+ * @slot delete:after
79
+ *
80
+ *
81
+ * @since 1.21.0
82
+ * @element foxy-item-category-form
83
+ */
5
84
  export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form') {
6
85
  constructor() {
7
86
  super(...arguments);
87
+ /** URL of the `fx:email_templates` collection for a store. */
8
88
  this.emailTemplates = null;
89
+ /** Template render functions mapped to their name. */
90
+ this.templates = {};
91
+ /** URL of the `fx:taxes` collection for a store. */
9
92
  this.taxes = null;
10
93
  }
11
94
  static get properties() {
12
95
  return {
13
96
  ...super.properties,
14
- emailTemplates: { type: String, attribute: 'email-templates' },
15
- taxes: { type: String },
97
+ emailTemplates: { attribute: 'email-templates' },
98
+ taxes: {},
16
99
  };
17
100
  }
18
101
  static get v8n() {
@@ -84,15 +167,11 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
84
167
  var _a, _b, _c, _d;
85
168
  const itemDeliveryType = this.form.item_delivery_type;
86
169
  const handlingFeeType = (_a = this.form.handling_fee_type) !== null && _a !== void 0 ? _a : 'none';
87
- const hasDividers = !this.hiddenSelector.matches('dividers', true);
88
- const divider = html `<div class="border-t border-contrast-10 col-span-2"></div>`;
89
170
  return html `
90
171
  <div class="grid grid-cols-2 gap-m">
91
172
  <foxy-internal-text-control infer="name" class="col-span-2"></foxy-internal-text-control>
92
173
  <foxy-internal-text-control infer="code" class="col-span-2"></foxy-internal-text-control>
93
174
 
94
- ${hasDividers ? divider : ''}
95
-
96
175
  <foxy-internal-select-control
97
176
  infer="handling-fee-type"
98
177
  class="col-span-2"
@@ -109,7 +188,6 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
109
188
  ? this.__renderHandlingFeeMinimum()
110
189
  : ''}
111
190
  `}
112
- ${hasDividers ? divider : ''}
113
191
 
114
192
  <foxy-internal-select-control
115
193
  infer="item-delivery-type"
@@ -121,20 +199,15 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
121
199
  ${itemDeliveryType === 'downloaded'
122
200
  ? this.__renderDownloadDeliveryControls()
123
201
  : itemDeliveryType === 'flat_rate'
124
- ? this.__renderFlatRateControls()
202
+ ? [this.__renderFlatRateControls(), this.__renderCustomsValue()]
125
203
  : itemDeliveryType === 'shipped'
126
- ? this.__renderShippingControls()
204
+ ? [this.__renderShippingControls(), this.__renderCustomsValue()]
127
205
  : ''}
128
- ${itemDeliveryType === 'shipped' || itemDeliveryType === 'flat_rate'
129
- ? this.__renderCustomsValue()
130
- : ''}
131
- ${hasDividers ? divider : ''}
132
206
 
133
207
  <foxy-internal-text-control infer="discount-name" class="col-span-2">
134
208
  </foxy-internal-text-control>
135
209
 
136
210
  ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}
137
- ${hasDividers ? divider : ''}
138
211
 
139
212
  <foxy-internal-async-combo-box-control
140
213
  item-label-path="description"
@@ -172,7 +245,7 @@ export class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-cate
172
245
  >
173
246
  </foxy-internal-async-combo-box-control>
174
247
 
175
- ${hasDividers ? divider : ''} ${this.data ? this.__renderTaxes() : ''}
248
+ ${this.data ? this.__renderTaxes() : ''}
176
249
  </div>
177
250
 
178
251
  ${super.renderBody()}
@@ -1 +1 @@
1
- {"version":3,"file":"ItemCategoryForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/ItemCategoryForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { TemplateResult } from 'lit-html';\nimport type { ParsedValue } from '../DiscountBuilder/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nexport class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n emailTemplates: { type: String, attribute: 'email-templates' },\n taxes: { type: String },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',\n\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',\n\n ({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',\n\n ({ item_delivery_type: t, max_downloads_per_customer: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-per-customer:v8n_required'\n );\n },\n\n ({ max_downloads_per_customer: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';\n },\n\n ({ item_delivery_type: t, max_downloads_time_period: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-time-period:v8n_required'\n );\n },\n\n ({ max_downloads_time_period: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';\n },\n\n ({ customs_value: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight: v }) => {\n return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';\n },\n\n ({ default_weight: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, default_length_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, shipping_flat_rate: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required'\n );\n },\n\n ({ shipping_flat_rate: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';\n },\n\n ({ item_delivery_type: t, shipping_flat_rate_type: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'string' : true) ||\n 'shipping-flat-rate-type:v8n_required'\n );\n },\n\n ({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',\n\n ({ handling_fee_type: t, handling_fee_minimum: v }) => {\n return (\n (t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||\n 'handling-fee-minimum:v8n_required'\n );\n },\n\n ({ handling_fee_minimum: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';\n },\n\n ({ handling_fee_type: t, handling_fee_percentage: v }) => {\n return (\n (t === 'flat_percent_with_minimum' || t === 'flat_percent'\n ? typeof v === 'number'\n : true) || 'handling-fee-percentage:v8n_required'\n );\n },\n\n ({ handling_fee_percentage: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';\n },\n\n ({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',\n ];\n }\n\n emailTemplates: string | null = null;\n\n taxes: string | null = null;\n\n private static __shippingFlatRateTypeOptions = [\n { label: 'option_per_order', value: 'per_order' },\n { label: 'option_per_shipment', value: 'per_shipment' },\n ];\n\n private static __defaultWeightUnitOptions = [\n { label: 'option_lbs', value: 'LBS' },\n { label: 'option_kgs', value: 'KGS' },\n ];\n\n private static __defaultLengthUnitOptions = [\n { label: 'option_in', value: 'IN' },\n { label: 'option_cm', value: 'CM' },\n ];\n\n private static __itemDeliveryTypeOptions = [\n { label: 'option_notshipped', value: 'notshipped' },\n { label: 'option_downloaded', value: 'downloaded' },\n { label: 'option_flat_rate', value: 'flat_rate' },\n { label: 'option_shipped', value: 'shipped' },\n { label: 'option_pickup', value: 'pickup' },\n ];\n\n private static __handlingFeeTypeOptions = [\n { label: 'option_none', value: 'none' },\n { label: 'option_flat_per_order', value: 'flat_per_order' },\n { label: 'option_flat_per_item', value: 'flat_per_item' },\n { label: 'option_flat_percent', value: 'flat_percent' },\n { label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },\n ];\n\n renderBody(): TemplateResult {\n const itemDeliveryType = this.form.item_delivery_type;\n const handlingFeeType = this.form.handling_fee_type ?? 'none';\n const hasDividers = !this.hiddenSelector.matches('dividers', true);\n const divider = html`<div class=\"border-t border-contrast-10 col-span-2\"></div>`;\n\n return html`\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control infer=\"name\" class=\"col-span-2\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\" class=\"col-span-2\"></foxy-internal-text-control>\n\n ${hasDividers ? divider : ''}\n\n <foxy-internal-select-control\n infer=\"handling-fee-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__handlingFeeTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${handlingFeeType === 'none'\n ? ''\n : html`\n ${this.__renderHandlingFee()}\n ${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}\n ${handlingFeeType === 'flat_percent_with_minimum'\n ? this.__renderHandlingFeeMinimum()\n : ''}\n `}\n ${hasDividers ? divider : ''}\n\n <foxy-internal-select-control\n infer=\"item-delivery-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__itemDeliveryTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${itemDeliveryType === 'downloaded'\n ? this.__renderDownloadDeliveryControls()\n : itemDeliveryType === 'flat_rate'\n ? this.__renderFlatRateControls()\n : itemDeliveryType === 'shipped'\n ? this.__renderShippingControls()\n : ''}\n ${itemDeliveryType === 'shipped' || itemDeliveryType === 'flat_rate'\n ? this.__renderCustomsValue()\n : ''}\n ${hasDividers ? divider : ''}\n\n <foxy-internal-text-control infer=\"discount-name\" class=\"col-span-2\">\n </foxy-internal-text-control>\n\n ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}\n ${hasDividers ? divider : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"admin-email-template-uri\"\n class=${this.form.send_admin_email ? '' : 'col-span-2'}\n @change=${(evt: CustomEvent) => {\n this.edit({\n send_admin_email: !!evt.detail,\n admin_email: evt.detail ? this.form.admin_email : '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.form.send_admin_email ? this.__renderAdminEmail() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"customer-email-template-uri\"\n class=\"col-span-2\"\n @change=${(evt: CustomEvent) => this.edit({ send_customer_email: !!evt.detail })}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"gift-recipient-email-template-uri\"\n class=\"col-span-2\"\n >\n </foxy-internal-async-combo-box-control>\n\n ${hasDividers ? divider : ''} ${this.data ? this.__renderTaxes() : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderHandlingFee() {\n return html`\n <foxy-internal-number-control\n infer=\"handling-fee\"\n class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeePercentage() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-percentage\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeeMinimum() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-minimum\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderDownloadDeliveryControls() {\n return html`\n <foxy-internal-integer-control infer=\"max-downloads-per-customer\">\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control infer=\"max-downloads-time-period\">\n </foxy-internal-integer-control>\n `;\n }\n\n private __renderFlatRateControls() {\n return html`\n <foxy-internal-number-control infer=\"shipping-flat-rate\"> </foxy-internal-number-control>\n\n <foxy-internal-select-control\n infer=\"shipping-flat-rate-type\"\n .options=${ItemCategoryForm.__shippingFlatRateTypeOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderShippingControls() {\n return html`\n <foxy-internal-integer-control infer=\"default-weight\" class=\"col-span-2\">\n </foxy-internal-integer-control>\n\n <foxy-internal-select-control\n infer=\"default-weight-unit\"\n .options=${ItemCategoryForm.__defaultWeightUnitOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"default-length-unit\"\n .options=${ItemCategoryForm.__defaultLengthUnitOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderCustomsValue() {\n return html`\n <foxy-internal-number-control infer=\"customs-value\" class=\"col-span-2\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDiscountBuilder() {\n const parsedValue: ParsedValue = {\n name: this.form.discount_name ?? '',\n type: this.form.discount_type || 'quantity_amount',\n details: this.form.discount_details ?? '',\n };\n\n return html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=\"col-span-2\"\n .parsedValue=${parsedValue}\n @change=${(evt: CustomEvent) => {\n const builder = evt.currentTarget as DiscountBuilder;\n\n this.edit({\n discount_name: builder.parsedValue.name,\n discount_type: builder.parsedValue.type,\n discount_details: builder.parsedValue.details,\n });\n }}\n >\n </foxy-discount-builder>\n `;\n }\n\n private __renderAdminEmail() {\n return html`<foxy-internal-text-control infer=\"admin-email\"> </foxy-internal-text-control>`;\n }\n\n private __renderTaxes() {\n return html`\n <foxy-internal-item-category-form-taxes-control\n taxes=${ifDefined(this.taxes ?? undefined)}\n class=\"col-span-2\"\n infer=\"taxes\"\n >\n </foxy-internal-item-category-form-taxes-control>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"ItemCategoryForm.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/ItemCategoryForm.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { DiscountBuilder } from '../DiscountBuilder/DiscountBuilder';\nimport type { Templates, Data } from './types';\nimport type { TemplateResult } from 'lit-html';\nimport type { ParsedValue } from '../DiscountBuilder/types';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\n/**\n * Form element for item categories (`fx:item_category`).\n *\n * @slot name:before\n * @slot name:after\n *\n * @slot code:before\n * @slot code:after\n *\n * @slot handling-fee-type:before\n * @slot handling-fee-type:after\n *\n * @slot handling-fee:before\n * @slot handling-fee:after\n *\n * @slot handling-fee-percentage:before\n * @slot handling-fee-percentage:after\n *\n * @slot handling-fee-minimum:before\n * @slot handling-fee-minimum:after\n *\n * @slot item-delivery-type:before\n * @slot item-delivery-type:after\n *\n * @slot max-downloads-per-customer:before\n * @slot max-downloads-per-customer:after\n *\n * @slot max-downloads-time-period:before\n * @slot max-downloads-time-period:after\n *\n * @slot shipping-flat-rate:before\n * @slot shipping-flat-rate:after\n *\n * @slot shipping-flat-rate-type:before\n * @slot shipping-flat-rate-type:after\n *\n * @slot default-weight:before\n * @slot default-weight:after\n *\n * @slot default-weight-unit:before\n * @slot default-weight-unit:after\n *\n * @slot default-length-unit:before\n * @slot default-length-unit:after\n *\n * @slot customs-value:before\n * @slot customs-value:after\n *\n * @slot discount-name:before\n * @slot discount-name:after\n *\n * @slot discount-builder:before\n * @slot discount-builder:after\n *\n * @slot admin-email-template-uri:before\n * @slot admin-email-template-uri:after\n *\n * @slot customer-email-template-uri:before\n * @slot customer-email-template-uri:after\n *\n * @slot gift-recipient-email-template-uri:before\n * @slot gift-recipient-email-template-uri:after\n *\n * @slot taxes:before\n * @slot taxes:after\n *\n * @slot timestamps:before\n * @slot timestamps:after\n *\n * @slot create:before\n * @slot create:after\n *\n * @slot delete:before\n * @slot delete:after\n *\n *\n * @since 1.21.0\n * @element foxy-item-category-form\n */\nexport class ItemCategoryForm extends TranslatableMixin(InternalForm, 'item-category-form')<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n emailTemplates: { attribute: 'email-templates' },\n taxes: {},\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [\n ({ code: v }) => !!v || 'code:v8n_required',\n ({ code: v }) => (v && v.length <= 50) || 'code:v8n_too_long',\n\n ({ name: v }) => !!v || 'name:v8n_required',\n ({ name: v }) => (v && v.length <= 50) || 'name:v8n_too_long',\n\n ({ item_delivery_type: v }) => !!v || 'item-delivery-type:v8n_required',\n\n ({ item_delivery_type: t, max_downloads_per_customer: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-per-customer:v8n_required'\n );\n },\n\n ({ max_downloads_per_customer: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-per-customer:v8n_negative';\n },\n\n ({ item_delivery_type: t, max_downloads_time_period: v }) => {\n return (\n (t === 'downloaded' ? typeof v === 'number' : true) ||\n 'max-downloads-time-period:v8n_required'\n );\n },\n\n ({ max_downloads_time_period: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'max-downloads-time-period:v8n_negative';\n },\n\n ({ customs_value: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'customs-value:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight: v }) => {\n return (t === 'shipped' ? typeof v === 'number' : true) || 'default-weight:v8n_required';\n },\n\n ({ default_weight: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'default-weight:v8n_negative';\n },\n\n ({ item_delivery_type: t, default_weight_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-weight-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, default_length_unit: v }) => {\n return (\n (t === 'shipped' ? typeof v === 'string' : true) || 'default-length-unit:v8n_required'\n );\n },\n\n ({ item_delivery_type: t, shipping_flat_rate: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'number' : true) || 'shipping-flat-rate:v8n_required'\n );\n },\n\n ({ shipping_flat_rate: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'shipping-flat-rate:v8n_negative';\n },\n\n ({ item_delivery_type: t, shipping_flat_rate_type: v }) => {\n return (\n (t === 'flat_rate' ? typeof v === 'string' : true) ||\n 'shipping-flat-rate-type:v8n_required'\n );\n },\n\n ({ handling_fee_type: v }) => !!v || 'handling-fee-type:v8n_required',\n\n ({ handling_fee_type: t, handling_fee_minimum: v }) => {\n return (\n (t === 'flat_percent_with_minimum' ? typeof v === 'number' : true) ||\n 'handling-fee-minimum:v8n_required'\n );\n },\n\n ({ handling_fee_minimum: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-minimum:v8n_negative';\n },\n\n ({ handling_fee_type: t, handling_fee_percentage: v }) => {\n return (\n (t === 'flat_percent_with_minimum' || t === 'flat_percent'\n ? typeof v === 'number'\n : true) || 'handling-fee-percentage:v8n_required'\n );\n },\n\n ({ handling_fee_percentage: v }) => {\n return (typeof v === 'number' ? v >= 0 : true) || 'handling-fee-percentage:v8n_negative';\n },\n\n ({ send_admin_email: s, admin_email: v }) => (s ? !!v : true) || 'admin-email:v8n_required',\n ];\n }\n\n /** URL of the `fx:email_templates` collection for a store. */\n emailTemplates: string | null = null;\n\n /** Template render functions mapped to their name. */\n templates: Templates = {};\n\n /** URL of the `fx:taxes` collection for a store. */\n taxes: string | null = null;\n\n private static __shippingFlatRateTypeOptions = [\n { label: 'option_per_order', value: 'per_order' },\n { label: 'option_per_shipment', value: 'per_shipment' },\n ];\n\n private static __defaultWeightUnitOptions = [\n { label: 'option_lbs', value: 'LBS' },\n { label: 'option_kgs', value: 'KGS' },\n ];\n\n private static __defaultLengthUnitOptions = [\n { label: 'option_in', value: 'IN' },\n { label: 'option_cm', value: 'CM' },\n ];\n\n private static __itemDeliveryTypeOptions = [\n { label: 'option_notshipped', value: 'notshipped' },\n { label: 'option_downloaded', value: 'downloaded' },\n { label: 'option_flat_rate', value: 'flat_rate' },\n { label: 'option_shipped', value: 'shipped' },\n { label: 'option_pickup', value: 'pickup' },\n ];\n\n private static __handlingFeeTypeOptions = [\n { label: 'option_none', value: 'none' },\n { label: 'option_flat_per_order', value: 'flat_per_order' },\n { label: 'option_flat_per_item', value: 'flat_per_item' },\n { label: 'option_flat_percent', value: 'flat_percent' },\n { label: 'option_flat_percent_with_minimum', value: 'flat_percent_with_minimum' },\n ];\n\n renderBody(): TemplateResult {\n const itemDeliveryType = this.form.item_delivery_type;\n const handlingFeeType = this.form.handling_fee_type ?? 'none';\n\n return html`\n <div class=\"grid grid-cols-2 gap-m\">\n <foxy-internal-text-control infer=\"name\" class=\"col-span-2\"></foxy-internal-text-control>\n <foxy-internal-text-control infer=\"code\" class=\"col-span-2\"></foxy-internal-text-control>\n\n <foxy-internal-select-control\n infer=\"handling-fee-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__handlingFeeTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${handlingFeeType === 'none'\n ? ''\n : html`\n ${this.__renderHandlingFee()}\n ${handlingFeeType.includes('percent') ? this.__renderHandlingFeePercentage() : ''}\n ${handlingFeeType === 'flat_percent_with_minimum'\n ? this.__renderHandlingFeeMinimum()\n : ''}\n `}\n\n <foxy-internal-select-control\n infer=\"item-delivery-type\"\n class=\"col-span-2\"\n .options=${ItemCategoryForm.__itemDeliveryTypeOptions}\n >\n </foxy-internal-select-control>\n\n ${itemDeliveryType === 'downloaded'\n ? this.__renderDownloadDeliveryControls()\n : itemDeliveryType === 'flat_rate'\n ? [this.__renderFlatRateControls(), this.__renderCustomsValue()]\n : itemDeliveryType === 'shipped'\n ? [this.__renderShippingControls(), this.__renderCustomsValue()]\n : ''}\n\n <foxy-internal-text-control infer=\"discount-name\" class=\"col-span-2\">\n </foxy-internal-text-control>\n\n ${this.form.discount_name ? this.__renderDiscountBuilder() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"admin-email-template-uri\"\n class=${this.form.send_admin_email ? '' : 'col-span-2'}\n @change=${(evt: CustomEvent) => {\n this.edit({\n send_admin_email: !!evt.detail,\n admin_email: evt.detail ? this.form.admin_email : '',\n });\n }}\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.form.send_admin_email ? this.__renderAdminEmail() : ''}\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"customer-email-template-uri\"\n class=\"col-span-2\"\n @change=${(evt: CustomEvent) => this.edit({ send_customer_email: !!evt.detail })}\n >\n </foxy-internal-async-combo-box-control>\n\n <foxy-internal-async-combo-box-control\n item-label-path=\"description\"\n item-value-path=\"_links.self.href\"\n first=${ifDefined(this.emailTemplates ?? undefined)}\n infer=\"gift-recipient-email-template-uri\"\n class=\"col-span-2\"\n >\n </foxy-internal-async-combo-box-control>\n\n ${this.data ? this.__renderTaxes() : ''}\n </div>\n\n ${super.renderBody()}\n `;\n }\n\n private __renderHandlingFee() {\n return html`\n <foxy-internal-number-control\n infer=\"handling-fee\"\n class=${this.form.handling_fee_type === 'flat_percent' ? '' : 'col-span-2'}\n >\n </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeePercentage() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-percentage\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderHandlingFeeMinimum() {\n return html`\n <foxy-internal-number-control infer=\"handling-fee-minimum\"> </foxy-internal-number-control>\n `;\n }\n\n private __renderDownloadDeliveryControls() {\n return html`\n <foxy-internal-integer-control infer=\"max-downloads-per-customer\">\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control infer=\"max-downloads-time-period\">\n </foxy-internal-integer-control>\n `;\n }\n\n private __renderFlatRateControls() {\n return html`\n <foxy-internal-number-control infer=\"shipping-flat-rate\"> </foxy-internal-number-control>\n\n <foxy-internal-select-control\n infer=\"shipping-flat-rate-type\"\n .options=${ItemCategoryForm.__shippingFlatRateTypeOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderShippingControls() {\n return html`\n <foxy-internal-integer-control infer=\"default-weight\" class=\"col-span-2\">\n </foxy-internal-integer-control>\n\n <foxy-internal-select-control\n infer=\"default-weight-unit\"\n .options=${ItemCategoryForm.__defaultWeightUnitOptions}\n >\n </foxy-internal-select-control>\n\n <foxy-internal-select-control\n infer=\"default-length-unit\"\n .options=${ItemCategoryForm.__defaultLengthUnitOptions}\n >\n </foxy-internal-select-control>\n `;\n }\n\n private __renderCustomsValue() {\n return html`\n <foxy-internal-number-control infer=\"customs-value\" class=\"col-span-2\">\n </foxy-internal-number-control>\n `;\n }\n\n private __renderDiscountBuilder() {\n const parsedValue: ParsedValue = {\n name: this.form.discount_name ?? '',\n type: this.form.discount_type || 'quantity_amount',\n details: this.form.discount_details ?? '',\n };\n\n return html`\n <foxy-discount-builder\n infer=\"discount-builder\"\n class=\"col-span-2\"\n .parsedValue=${parsedValue}\n @change=${(evt: CustomEvent) => {\n const builder = evt.currentTarget as DiscountBuilder;\n\n this.edit({\n discount_name: builder.parsedValue.name,\n discount_type: builder.parsedValue.type,\n discount_details: builder.parsedValue.details,\n });\n }}\n >\n </foxy-discount-builder>\n `;\n }\n\n private __renderAdminEmail() {\n return html`<foxy-internal-text-control infer=\"admin-email\"> </foxy-internal-text-control>`;\n }\n\n private __renderTaxes() {\n return html`\n <foxy-internal-item-category-form-taxes-control\n taxes=${ifDefined(this.taxes ?? undefined)}\n class=\"col-span-2\"\n infer=\"taxes\"\n >\n </foxy-internal-item-category-form-taxes-control>\n `;\n }\n}\n"]}
@@ -8,7 +8,7 @@ export class InternalItemCategoryFormTaxesControl extends InternalControl {
8
8
  static get properties() {
9
9
  return {
10
10
  ...super.properties,
11
- taxes: { type: String },
11
+ taxes: {},
12
12
  };
13
13
  }
14
14
  renderControl() {
@@ -1 +1 @@
1
- {"version":3,"file":"InternalItemCategoryFormTaxesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAAzE;;QAQE,UAAK,GAAkB,IAAI,CAAC;IAuC9B,CAAC;IA9CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACxB,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAsC,CAAC;QAC5D,IAAI,KAAa,CAAC;QAElB,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB;QAAC,WAAM;YACN,KAAK,SAAG,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;SAC1B;QAED,OAAO,IAAI,CAAA;;;;;;;;+BAQgB,KAAK;;;;;mBAKjB;YACP,qBAAqB,cAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,MAAM,0CAAG,wBAAwB,EAAE,IAAI,mCAAI,EAAE;YAClF,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SAC/B;;;;;;;KAON,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { Data } from '../../types';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { html } from 'lit-html';\n\nexport class InternalItemCategoryFormTaxesControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxes: { type: String },\n };\n }\n\n taxes: string | null = null;\n\n renderControl(): TemplateResult {\n const nucleon = this.nucleon as NucleonElement<Data> | null;\n let taxes: string;\n\n try {\n const url = new URL(this.taxes ?? '');\n url.searchParams.set('limit', '5');\n taxes = url.toString();\n } catch {\n taxes = this.taxes ?? '';\n }\n\n return html`\n <foxy-i18n\n class=\"block text-s font-medium text-secondary leading-none mb-s\"\n infer=\"\"\n key=\"title\"\n >\n </foxy-i18n>\n\n <foxy-pagination first=${taxes} infer=\"pagination\">\n <foxy-collection-page\n class=\"block mb-s divide-y divide-contrast-10 border border-contrast-10 rounded-t-l rounded-b-l\"\n infer=\"\"\n item=\"foxy-internal-item-category-form-taxes-control-item\"\n .props=${{\n 'tax-item-categories': nucleon?.form._links?.['fx:tax_item_categories'].href ?? '',\n 'item-category': nucleon?.href,\n }}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <foxy-i18n class=\"block text-xs text-secondary leading-xs mt-xs\" infer=\"\" key=\"helper_text\">\n </foxy-i18n>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalItemCategoryFormTaxesControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControl/InternalItemCategoryFormTaxesControl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,oCAAqC,SAAQ,eAAe;IAAzE;;QAQE,UAAK,GAAkB,IAAI,CAAC;IAuC9B,CAAC;IA9CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,OAAsC,CAAC;QAC5D,IAAI,KAAa,CAAC;QAElB,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC;YACtC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB;QAAC,WAAM;YACN,KAAK,SAAG,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;SAC1B;QAED,OAAO,IAAI,CAAA;;;;;;;;+BAQgB,KAAK;;;;;mBAKjB;YACP,qBAAqB,cAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,MAAM,0CAAG,wBAAwB,EAAE,IAAI,mCAAI,EAAE;YAClF,eAAe,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;SAC/B;;;;;;;KAON,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonElement } from '../../../NucleonElement/NucleonElement';\nimport type { Data } from '../../types';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { html } from 'lit-html';\n\nexport class InternalItemCategoryFormTaxesControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxes: {},\n };\n }\n\n taxes: string | null = null;\n\n renderControl(): TemplateResult {\n const nucleon = this.nucleon as NucleonElement<Data> | null;\n let taxes: string;\n\n try {\n const url = new URL(this.taxes ?? '');\n url.searchParams.set('limit', '5');\n taxes = url.toString();\n } catch {\n taxes = this.taxes ?? '';\n }\n\n return html`\n <foxy-i18n\n class=\"block text-s font-medium text-secondary leading-none mb-s\"\n infer=\"\"\n key=\"title\"\n >\n </foxy-i18n>\n\n <foxy-pagination first=${taxes} infer=\"pagination\">\n <foxy-collection-page\n class=\"block mb-s divide-y divide-contrast-10 border border-contrast-10 rounded-t-l rounded-b-l\"\n infer=\"\"\n item=\"foxy-internal-item-category-form-taxes-control-item\"\n .props=${{\n 'tax-item-categories': nucleon?.form._links?.['fx:tax_item_categories'].href ?? '',\n 'item-category': nucleon?.href,\n }}\n >\n </foxy-collection-page>\n </foxy-pagination>\n\n <foxy-i18n class=\"block text-xs text-secondary leading-xs mt-xs\" infer=\"\" key=\"helper_text\">\n </foxy-i18n>\n `;\n }\n}\n"]}
@@ -12,8 +12,8 @@ export class InternalItemCategoryFormTaxesControlItem extends TaxCard {
12
12
  static get properties() {
13
13
  return {
14
14
  ...super.properties,
15
- taxItemCategories: { type: String, attribute: 'tax-item-categories' },
16
- itemCategory: { type: String, attribute: 'item-category' },
15
+ taxItemCategories: { attribute: 'tax-item-categories' },
16
+ itemCategory: { attribute: 'item-category' },
17
17
  };
18
18
  }
19
19
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"InternalItemCategoryFormTaxesControlItem.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,oCAAiC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAKhC,MAAM,OAAO,wCAAyC,SAAQ,OAAO;IAArE;;QASE,sBAAiB,GAAkB,IAAI,CAAC;QAExC,iBAAY,GAAkB,IAAI,CAAC;QAE3B,4BAAuB,GAAG,KAAK,CAAC;QAEhC,uBAAkB,GAA6B,IAAI,CAAC;IAqE9D,CAAC;IAnFC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,iBAAiB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE;YACrE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE;SAC3D,CAAC;IACJ,CAAC;IAUD,MAAM;;QACJ,MAAM,eAAe,qBAAG,IAAI,CAAC,kBAAkB,0CAAE,SAAS,0CAAG,wBAAwB,2CAAI,CAAC,CAAC,CAAC;QAC5F,IAAI,iBAAqC,CAAC;QAE1C,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,OAAC,IAAI,CAAC,iBAAiB,mCAAI,EAAE,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAE/C,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;YAE3B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACnC,iBAAiB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACpC;QAAC,WAAM;YACN,iBAAiB,GAAG,SAAS,CAAC;SAC/B;QAED,OAAO,IAAI,CAAA;;eAEA,SAAS,CAAC,iBAAiB,CAAC;;kBAEzB,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAkD,CAAC;YACvE,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YACvC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;;;mBAGU,SAAS,OAAC,IAAI,CAAC,iBAAiB,mCAAI,SAAS,CAAC;iBAChD,SAAS,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;oBAEzC,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,GAAG,CAAC,aAAkD,CAAC;YACvE,IAAI,CAAC,uBAAuB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;;;;;;;oBAOS,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC,QAAQ;mBAC1E,CAAC,CAAC,eAAe;kBAClB,CAAC,GAAgB,EAAE,EAAE;YAG7B,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAgC,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAoB,CAAC;YAE/E,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI,CAAC,IAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;oBACpC,iBAAiB,EAAE,IAAI,CAAC,YAAa;iBACtC,CAAC,CAAC;gBAEH,QAAQ,CAAC,MAAM,EAAE,CAAC;aACnB;iBAAM;gBACL,QAAQ,CAAC,MAAM,EAAE,CAAC;aACnB;QACH,CAAC;;UAEC,KAAK,CAAC,MAAM,EAAE;;KAEnB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { NucleonElement } from '../../../NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { TaxCard } from '../../../TaxCard/TaxCard';\nimport { html } from 'lit-html';\n\ntype TaxItemCategories = Resource<Rels.TaxItemCategories>;\ntype TaxItemCategory = Resource<Rels.TaxItemCategory>;\n\nexport class InternalItemCategoryFormTaxesControlItem extends TaxCard {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxItemCategories: { type: String, attribute: 'tax-item-categories' },\n itemCategory: { type: String, attribute: 'item-category' },\n };\n }\n\n taxItemCategories: string | null = null;\n\n itemCategory: string | null = null;\n\n private __resourceElementIsBusy = false;\n\n private __queryElementData: TaxItemCategories | null = null;\n\n render(): TemplateResult {\n const taxItemCategory = this.__queryElementData?._embedded?.['fx:tax_item_categories']?.[0];\n let taxItemCategories: string | undefined;\n\n try {\n const url = new URL(this.taxItemCategories ?? '');\n const hrefAsUrl = new URL(this.href);\n const id = hrefAsUrl.pathname.split('/').pop();\n\n if (!id) throw new Error();\n\n url.searchParams.set('tax_id', id);\n url.searchParams.set('limit', '1');\n taxItemCategories = url.toString();\n } catch {\n taxItemCategories = undefined;\n }\n\n return html`\n <foxy-nucleon\n href=${ifDefined(taxItemCategories)}\n id=\"query\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__queryElementData = nucleon.data;\n this.requestUpdate();\n }}\n >\n <foxy-nucleon\n parent=${ifDefined(this.taxItemCategories ?? undefined)}\n href=${ifDefined(taxItemCategory?._links.self.href)}\n id=\"resource\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__resourceElementIsBusy = !nucleon.in('idle');\n this.requestUpdate();\n }}\n >\n </foxy-nucleon>\n </foxy-nucleon>\n\n <vaadin-checkbox\n class=\"px-m py-s block overflow-hidden\"\n ?disabled=${!this.__queryElementData || this.__resourceElementIsBusy || this.disabled}\n ?checked=${!!taxItemCategory}\n @change=${(evt: CustomEvent) => {\n type ResourceElement = NucleonElement<TaxItemCategory>;\n\n const checkbox = evt.currentTarget as CheckboxElement;\n const resource = this.renderRoot.querySelector('#resource') as ResourceElement;\n\n if (checkbox.checked) {\n resource.edit({\n tax_uri: this.data!._links.self.href,\n item_category_uri: this.itemCategory!,\n });\n\n resource.submit();\n } else {\n resource.delete();\n }\n }}\n >\n ${super.render()}\n </vaadin-checkbox>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalItemCategoryFormTaxesControlItem.js","sourceRoot":"","sources":["../../../../../../src/elements/public/ItemCategoryForm/internal/InternalItemCategoryFormTaxesControlItem/InternalItemCategoryFormTaxesControlItem.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { CheckboxElement } from '@vaadin/vaadin-checkbox';\nimport type { NucleonElement } from '../../../NucleonElement';\nimport type { TemplateResult } from 'lit-html';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { TaxCard } from '../../../TaxCard/TaxCard';\nimport { html } from 'lit-html';\n\ntype TaxItemCategories = Resource<Rels.TaxItemCategories>;\ntype TaxItemCategory = Resource<Rels.TaxItemCategory>;\n\nexport class InternalItemCategoryFormTaxesControlItem extends TaxCard {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n taxItemCategories: { attribute: 'tax-item-categories' },\n itemCategory: { attribute: 'item-category' },\n };\n }\n\n taxItemCategories: string | null = null;\n\n itemCategory: string | null = null;\n\n private __resourceElementIsBusy = false;\n\n private __queryElementData: TaxItemCategories | null = null;\n\n render(): TemplateResult {\n const taxItemCategory = this.__queryElementData?._embedded?.['fx:tax_item_categories']?.[0];\n let taxItemCategories: string | undefined;\n\n try {\n const url = new URL(this.taxItemCategories ?? '');\n const hrefAsUrl = new URL(this.href);\n const id = hrefAsUrl.pathname.split('/').pop();\n\n if (!id) throw new Error();\n\n url.searchParams.set('tax_id', id);\n url.searchParams.set('limit', '1');\n taxItemCategories = url.toString();\n } catch {\n taxItemCategories = undefined;\n }\n\n return html`\n <foxy-nucleon\n href=${ifDefined(taxItemCategories)}\n id=\"query\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__queryElementData = nucleon.data;\n this.requestUpdate();\n }}\n >\n <foxy-nucleon\n parent=${ifDefined(this.taxItemCategories ?? undefined)}\n href=${ifDefined(taxItemCategory?._links.self.href)}\n id=\"resource\"\n @update=${(evt: CustomEvent) => {\n const nucleon = evt.currentTarget as NucleonElement<TaxItemCategories>;\n this.__resourceElementIsBusy = !nucleon.in('idle');\n this.requestUpdate();\n }}\n >\n </foxy-nucleon>\n </foxy-nucleon>\n\n <vaadin-checkbox\n class=\"px-m py-s block overflow-hidden\"\n ?disabled=${!this.__queryElementData || this.__resourceElementIsBusy || this.disabled}\n ?checked=${!!taxItemCategory}\n @change=${(evt: CustomEvent) => {\n type ResourceElement = NucleonElement<TaxItemCategory>;\n\n const checkbox = evt.currentTarget as CheckboxElement;\n const resource = this.renderRoot.querySelector('#resource') as ResourceElement;\n\n if (checkbox.checked) {\n resource.edit({\n tax_uri: this.data!._links.self.href,\n item_category_uri: this.itemCategory!,\n });\n\n resource.submit();\n } else {\n resource.delete();\n }\n }}\n >\n ${super.render()}\n </vaadin-checkbox>\n `;\n }\n}\n"]}
@@ -1,3 +1,55 @@
1
- import type { Rels } from '@foxy.io/sdk/backend';
1
+ import type { ItemCategoryForm } from './ItemCategoryForm';
2
+ import type { Renderer } from '../../../mixins/configurable';
2
3
  import type { Resource } from '@foxy.io/sdk/core';
4
+ import type { Rels } from '@foxy.io/sdk/backend';
3
5
  export declare type Data = Resource<Rels.ItemCategory>;
6
+ export declare type Templates = {
7
+ 'name:before'?: Renderer<ItemCategoryForm>;
8
+ 'name:after'?: Renderer<ItemCategoryForm>;
9
+ 'code:before'?: Renderer<ItemCategoryForm>;
10
+ 'code:after'?: Renderer<ItemCategoryForm>;
11
+ 'handling-fee-type:before'?: Renderer<ItemCategoryForm>;
12
+ 'handling-fee-type:after'?: Renderer<ItemCategoryForm>;
13
+ 'handling-fee:before'?: Renderer<ItemCategoryForm>;
14
+ 'handling-fee:after'?: Renderer<ItemCategoryForm>;
15
+ 'handling-fee-percentage:before'?: Renderer<ItemCategoryForm>;
16
+ 'handling-fee-percentage:after'?: Renderer<ItemCategoryForm>;
17
+ 'handling-fee-minimum:before'?: Renderer<ItemCategoryForm>;
18
+ 'handling-fee-minimum:after'?: Renderer<ItemCategoryForm>;
19
+ 'item-delivery-type:before'?: Renderer<ItemCategoryForm>;
20
+ 'item-delivery-type:after'?: Renderer<ItemCategoryForm>;
21
+ 'max-downloads-per-customer:before'?: Renderer<ItemCategoryForm>;
22
+ 'max-downloads-per-customer:after'?: Renderer<ItemCategoryForm>;
23
+ 'max-downloads-time-period:before'?: Renderer<ItemCategoryForm>;
24
+ 'max-downloads-time-period:after'?: Renderer<ItemCategoryForm>;
25
+ 'shipping-flat-rate:before'?: Renderer<ItemCategoryForm>;
26
+ 'shipping-flat-rate:after'?: Renderer<ItemCategoryForm>;
27
+ 'shipping-flat-rate-type:before'?: Renderer<ItemCategoryForm>;
28
+ 'shipping-flat-rate-type:after'?: Renderer<ItemCategoryForm>;
29
+ 'default-weight:before'?: Renderer<ItemCategoryForm>;
30
+ 'default-weight:after'?: Renderer<ItemCategoryForm>;
31
+ 'default-weight-unit:before'?: Renderer<ItemCategoryForm>;
32
+ 'default-weight-unit:after'?: Renderer<ItemCategoryForm>;
33
+ 'default-length-unit:before'?: Renderer<ItemCategoryForm>;
34
+ 'default-length-unit:after'?: Renderer<ItemCategoryForm>;
35
+ 'customs-value:before'?: Renderer<ItemCategoryForm>;
36
+ 'customs-value:after'?: Renderer<ItemCategoryForm>;
37
+ 'discount-name:before'?: Renderer<ItemCategoryForm>;
38
+ 'discount-name:after'?: Renderer<ItemCategoryForm>;
39
+ 'discount-builder:before'?: Renderer<ItemCategoryForm>;
40
+ 'discount-builder:after'?: Renderer<ItemCategoryForm>;
41
+ 'admin-email-template-uri:before'?: Renderer<ItemCategoryForm>;
42
+ 'admin-email-template-uri:after'?: Renderer<ItemCategoryForm>;
43
+ 'customer-email-template-uri:before'?: Renderer<ItemCategoryForm>;
44
+ 'customer-email-template-uri:after'?: Renderer<ItemCategoryForm>;
45
+ 'gift-recipient-email-template-uri:before'?: Renderer<ItemCategoryForm>;
46
+ 'gift-recipient-email-template-uri:after'?: Renderer<ItemCategoryForm>;
47
+ 'taxes:before'?: Renderer<ItemCategoryForm>;
48
+ 'taxes:after'?: Renderer<ItemCategoryForm>;
49
+ 'timestamps:before'?: Renderer<ItemCategoryForm>;
50
+ 'timestamps:after'?: Renderer<ItemCategoryForm>;
51
+ 'create:before'?: Renderer<ItemCategoryForm>;
52
+ 'create:after'?: Renderer<ItemCategoryForm>;
53
+ 'delete:before'?: Renderer<ItemCategoryForm>;
54
+ 'delete:after'?: Renderer<ItemCategoryForm>;
55
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Rels } from '@foxy.io/sdk/backend';\nimport type { Resource } from '@foxy.io/sdk/core';\n\nexport type Data = Resource<Rels.ItemCategory>;\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemCategoryForm/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ItemCategoryForm } from './ItemCategoryForm';\nimport type { Renderer } from '../../../mixins/configurable';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nexport type Data = Resource<Rels.ItemCategory>;\nexport type Templates = {\n 'name:before'?: Renderer<ItemCategoryForm>;\n 'name:after'?: Renderer<ItemCategoryForm>;\n 'code:before'?: Renderer<ItemCategoryForm>;\n 'code:after'?: Renderer<ItemCategoryForm>;\n 'handling-fee-type:before'?: Renderer<ItemCategoryForm>;\n 'handling-fee-type:after'?: Renderer<ItemCategoryForm>;\n 'handling-fee:before'?: Renderer<ItemCategoryForm>;\n 'handling-fee:after'?: Renderer<ItemCategoryForm>;\n 'handling-fee-percentage:before'?: Renderer<ItemCategoryForm>;\n 'handling-fee-percentage:after'?: Renderer<ItemCategoryForm>;\n 'handling-fee-minimum:before'?: Renderer<ItemCategoryForm>;\n 'handling-fee-minimum:after'?: Renderer<ItemCategoryForm>;\n 'item-delivery-type:before'?: Renderer<ItemCategoryForm>;\n 'item-delivery-type:after'?: Renderer<ItemCategoryForm>;\n 'max-downloads-per-customer:before'?: Renderer<ItemCategoryForm>;\n 'max-downloads-per-customer:after'?: Renderer<ItemCategoryForm>;\n 'max-downloads-time-period:before'?: Renderer<ItemCategoryForm>;\n 'max-downloads-time-period:after'?: Renderer<ItemCategoryForm>;\n 'shipping-flat-rate:before'?: Renderer<ItemCategoryForm>;\n 'shipping-flat-rate:after'?: Renderer<ItemCategoryForm>;\n 'shipping-flat-rate-type:before'?: Renderer<ItemCategoryForm>;\n 'shipping-flat-rate-type:after'?: Renderer<ItemCategoryForm>;\n 'default-weight:before'?: Renderer<ItemCategoryForm>;\n 'default-weight:after'?: Renderer<ItemCategoryForm>;\n 'default-weight-unit:before'?: Renderer<ItemCategoryForm>;\n 'default-weight-unit:after'?: Renderer<ItemCategoryForm>;\n 'default-length-unit:before'?: Renderer<ItemCategoryForm>;\n 'default-length-unit:after'?: Renderer<ItemCategoryForm>;\n 'customs-value:before'?: Renderer<ItemCategoryForm>;\n 'customs-value:after'?: Renderer<ItemCategoryForm>;\n 'discount-name:before'?: Renderer<ItemCategoryForm>;\n 'discount-name:after'?: Renderer<ItemCategoryForm>;\n 'discount-builder:before'?: Renderer<ItemCategoryForm>;\n 'discount-builder:after'?: Renderer<ItemCategoryForm>;\n 'admin-email-template-uri:before'?: Renderer<ItemCategoryForm>;\n 'admin-email-template-uri:after'?: Renderer<ItemCategoryForm>;\n 'customer-email-template-uri:before'?: Renderer<ItemCategoryForm>;\n 'customer-email-template-uri:after'?: Renderer<ItemCategoryForm>;\n 'gift-recipient-email-template-uri:before'?: Renderer<ItemCategoryForm>;\n 'gift-recipient-email-template-uri:after'?: Renderer<ItemCategoryForm>;\n 'taxes:before'?: Renderer<ItemCategoryForm>;\n 'taxes:after'?: Renderer<ItemCategoryForm>;\n 'timestamps:before'?: Renderer<ItemCategoryForm>;\n 'timestamps:after'?: Renderer<ItemCategoryForm>;\n 'create:before'?: Renderer<ItemCategoryForm>;\n 'create:after'?: Renderer<ItemCategoryForm>;\n 'delete:before'?: Renderer<ItemCategoryForm>;\n 'delete:after'?: Renderer<ItemCategoryForm>;\n};\n"]}
@@ -26,7 +26,7 @@ export declare class ItemOptionCard extends Base<Data> {
26
26
  private readonly __templateSetLoaderId;
27
27
  private readonly __storeLoaderId;
28
28
  private readonly __cartLoaderId;
29
- render(): TemplateResult;
29
+ renderBody(): TemplateResult;
30
30
  private get __transactionTemplateHref();
31
31
  private get __defaultTemplateSetHref();
32
32
  private get __localeCodesHelperHref();
@@ -34,7 +34,7 @@ export class ItemOptionCard extends Base {
34
34
  localeCodes: { type: String, attribute: 'locale-codes' },
35
35
  };
36
36
  }
37
- render() {
37
+ renderBody() {
38
38
  var _a, _b, _c, _d, _e, _f;
39
39
  const currencyDisplay = ((_a = this.__store) === null || _a === void 0 ? void 0 : _a.use_international_currency_symbol) ? 'code' : 'symbol';
40
40
  const transaction = this.__transaction;
@@ -121,7 +121,7 @@ export class ItemOptionCard extends Base {
121
121
  >
122
122
  </foxy-nucleon>
123
123
 
124
- ${super.render({
124
+ ${super.renderBody({
125
125
  title: data => {
126
126
  if (!currencyCode || !currencyDisplay)
127
127
  return html `&ZeroWidthSpace;`;
@@ -1 +1 @@
1
- {"version":3,"file":"ItemOptionCard.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemOptionCard/ItemOptionCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'item-option-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Basic card displaying an item option.\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-item-option-card\n * @since 1.17.0\n */\nexport class ItemOptionCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n localeCodes: { type: String, attribute: 'locale-codes' },\n };\n }\n\n localeCodes: string | null = null;\n\n private readonly __transactionTemplateLoaderId = 'transactionTemplateLoader';\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __transactionLoaderId = 'transactionLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __cartLoaderId = 'cartLoader';\n\n render(): TemplateResult {\n const currencyDisplay = this.__store?.use_international_currency_symbol ? 'code' : 'symbol';\n const transaction = this.__transaction;\n\n let currencyCode: string | null = null;\n\n if (transaction) {\n currencyCode = transaction.currency_code;\n } else {\n const cart = this.__cart ?? this.__transactionTemplate;\n\n if (cart && 'currency_code' in cart) {\n // TODO: remove the directive below once the SDK is updated\n // @ts-expect-error SDK types are incomplete\n currencyCode = cart.currency_code;\n } else {\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n\n if (localeInfo) currencyCode = /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1] ?? null;\n }\n }\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__transactionTemplateHref)}\n id=${this.__transactionTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__transactionHref)}\n id=${this.__transactionLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__cartHref)}\n id=${this.__cartLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n ${super.render({\n title: data => {\n if (!currencyCode || !currencyDisplay) return html`&ZeroWidthSpace;`;\n\n let priceMod: string;\n\n try {\n priceMod = Math.abs(data.price_mod).toLocaleString(this.lang || 'en', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n currencyDisplay: currencyDisplay,\n currency: currencyCode,\n style: 'currency',\n });\n } catch {\n priceMod = '--';\n }\n\n return html`${data.name} &bull; ${priceMod} &bull; ${data.weight_mod}`;\n },\n subtitle: data => html`${data.value}`,\n })}\n `;\n }\n\n private get __transactionTemplateHref() {\n try {\n const links = this.data?._links as Partial<Record<string, { href: string }>> | undefined;\n const url = new URL(links?.['fx:subscription']?.href ?? '');\n url.searchParams.set('zoom', 'transaction_template');\n return url.toString();\n } catch {\n //\n }\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = (this.__cart ?? this.__transactionTemplate)?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __transactionHref() {\n return this.data?._links['fx:transaction']?.href;\n }\n\n private get __templateSetHref() {\n const cart = this.__cart ?? this.__transactionTemplate;\n // TODO: remove the directive below once SDK is updated\n // @ts-expect-error SDK types are incomplete\n const currencyCode = cart?.currency_code as string | undefined;\n\n if (!currencyCode) return cart?.template_set_uri || void 0;\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __cartHref() {\n const links = this.data?._links as Partial<Record<string, { href: string }>> | undefined;\n return links?.['fx:cart']?.href;\n }\n\n private get __transactionTemplate() {\n type Loader = NucleonElement<Resource<Rels.Subscription, { zoom: 'transaction_template' }>>;\n const selector = `#${this.__transactionTemplateLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:transaction_template'] ?? null;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __transaction() {\n type Loader = NucleonElement<Resource<Rels.Transaction>>;\n const selector = `#${this.__transactionLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __cart() {\n type Loader = NucleonElement<Resource<Rels.Cart>>;\n const selector = `#${this.__cartLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n}\n"]}
1
+ {"version":3,"file":"ItemOptionCard.js","sourceRoot":"","sources":["../../../../src/elements/public/ItemOptionCard/ItemOptionCard.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NucleonElement } from '../NucleonElement/NucleonElement';\nimport type { Resource } from '@foxy.io/sdk/core';\nimport type { Rels } from '@foxy.io/sdk/backend';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { TwoLineCard } from '../CustomFieldCard/TwoLineCard';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'item-option-card';\nconst Base = TranslatableMixin(TwoLineCard, NS);\n\n/**\n * Basic card displaying an item option.\n *\n * @slot title:before\n * @slot title:after\n *\n * @slot subtitle:before\n * @slot subtitle:after\n *\n * @element foxy-item-option-card\n * @since 1.17.0\n */\nexport class ItemOptionCard extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n localeCodes: { type: String, attribute: 'locale-codes' },\n };\n }\n\n localeCodes: string | null = null;\n\n private readonly __transactionTemplateLoaderId = 'transactionTemplateLoader';\n\n private readonly __defaultTemplateSetLoaderId = 'defaultTemplateSetLoader';\n\n private readonly __localeCodesHelperLoaderId = 'localeCodesLoader';\n\n private readonly __transactionLoaderId = 'transactionLoader';\n\n private readonly __templateSetLoaderId = 'templateSetLoader';\n\n private readonly __storeLoaderId = 'storeLoader';\n\n private readonly __cartLoaderId = 'cartLoader';\n\n renderBody(): TemplateResult {\n const currencyDisplay = this.__store?.use_international_currency_symbol ? 'code' : 'symbol';\n const transaction = this.__transaction;\n\n let currencyCode: string | null = null;\n\n if (transaction) {\n currencyCode = transaction.currency_code;\n } else {\n const cart = this.__cart ?? this.__transactionTemplate;\n\n if (cart && 'currency_code' in cart) {\n // TODO: remove the directive below once the SDK is updated\n // @ts-expect-error SDK types are incomplete\n currencyCode = cart.currency_code;\n } else {\n const allLocaleCodes = this.__localeCodesHelper;\n const localeCode = (this.__templateSet ?? this.__defaultTemplateSet)?.locale_code;\n const localeInfo = localeCode ? allLocaleCodes?.values[localeCode] : void 0;\n\n if (localeInfo) currencyCode = /Currency: ([A-Z]{3})/g.exec(localeInfo)?.[1] ?? null;\n }\n }\n\n return html`\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__transactionTemplateHref)}\n id=${this.__transactionTemplateLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__defaultTemplateSetHref)}\n id=${this.__defaultTemplateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__localeCodesHelperHref)}\n id=${this.__localeCodesHelperLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__transactionHref)}\n id=${this.__transactionLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__templateSetHref)}\n id=${this.__templateSetLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__storeHref)}\n id=${this.__storeLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.__cartHref)}\n id=${this.__cartLoaderId}\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n\n ${super.renderBody({\n title: data => {\n if (!currencyCode || !currencyDisplay) return html`&ZeroWidthSpace;`;\n\n let priceMod: string;\n\n try {\n priceMod = Math.abs(data.price_mod).toLocaleString(this.lang || 'en', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n currencyDisplay: currencyDisplay,\n currency: currencyCode,\n style: 'currency',\n });\n } catch {\n priceMod = '--';\n }\n\n return html`${data.name} &bull; ${priceMod} &bull; ${data.weight_mod}`;\n },\n subtitle: data => html`${data.value}`,\n })}\n `;\n }\n\n private get __transactionTemplateHref() {\n try {\n const links = this.data?._links as Partial<Record<string, { href: string }>> | undefined;\n const url = new URL(links?.['fx:subscription']?.href ?? '');\n url.searchParams.set('zoom', 'transaction_template');\n return url.toString();\n } catch {\n //\n }\n }\n\n private get __defaultTemplateSetHref() {\n const templateSetUri = (this.__cart ?? this.__transactionTemplate)?.template_set_uri;\n\n if (templateSetUri === '') {\n try {\n const url = new URL(this.__store?._links['fx:template_sets'].href ?? '');\n url.searchParams.set('code', 'DEFAULT');\n return url.toString();\n } catch {\n //\n }\n }\n }\n\n private get __localeCodesHelperHref() {\n if (this.__defaultTemplateSetHref || this.__templateSetHref) {\n return this.localeCodes ?? void 0;\n }\n }\n\n private get __transactionHref() {\n return this.data?._links['fx:transaction']?.href;\n }\n\n private get __templateSetHref() {\n const cart = this.__cart ?? this.__transactionTemplate;\n // TODO: remove the directive below once SDK is updated\n // @ts-expect-error SDK types are incomplete\n const currencyCode = cart?.currency_code as string | undefined;\n\n if (!currencyCode) return cart?.template_set_uri || void 0;\n }\n\n private get __storeHref() {\n return this.data?._links['fx:store']?.href;\n }\n\n private get __cartHref() {\n const links = this.data?._links as Partial<Record<string, { href: string }>> | undefined;\n return links?.['fx:cart']?.href;\n }\n\n private get __transactionTemplate() {\n type Loader = NucleonElement<Resource<Rels.Subscription, { zoom: 'transaction_template' }>>;\n const selector = `#${this.__transactionTemplateLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:transaction_template'] ?? null;\n }\n\n private get __defaultTemplateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSets>>;\n const selector = `#${this.__defaultTemplateSetLoaderId}`;\n const loader = this.renderRoot.querySelector<Loader>(selector);\n return loader?.data?._embedded['fx:template_sets'][0] ?? null;\n }\n\n private get __localeCodesHelper() {\n type Loader = NucleonElement<Resource<Rels.LocaleCodes>>;\n const selector = `#${this.__localeCodesHelperLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __transaction() {\n type Loader = NucleonElement<Resource<Rels.Transaction>>;\n const selector = `#${this.__transactionLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __templateSet() {\n type Loader = NucleonElement<Resource<Rels.TemplateSet>>;\n const selector = `#${this.__templateSetLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __store() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n const selector = `#${this.__storeLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n\n private get __cart() {\n type Loader = NucleonElement<Resource<Rels.Cart>>;\n const selector = `#${this.__cartLoaderId}`;\n return this.renderRoot.querySelector<Loader>(selector)?.data ?? null;\n }\n}\n"]}
@@ -30,6 +30,6 @@ export declare class PaymentsApiFraudProtectionCard extends Base<Data> {
30
30
  * If left `null`, the card will display the default image.
31
31
  */
32
32
  getImageSrc: ((type: string) => string) | null;
33
- render(): TemplateResult;
33
+ renderBody(): TemplateResult;
34
34
  }
35
35
  export {};