@foxy.io/elements 1.32.0-beta.7 → 1.33.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-admin-subscription-card.js +1 -1
  5. package/dist/cdn/foxy-admin-subscription-form.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-billing-address-card.js +1 -1
  13. package/dist/cdn/foxy-cancellation-form.js +1 -1
  14. package/dist/cdn/foxy-cart-card.js +1 -1
  15. package/dist/cdn/foxy-cart-form.js +2 -2
  16. package/dist/cdn/foxy-client-card.js +1 -1
  17. package/dist/cdn/foxy-client-form.js +1 -1
  18. package/dist/cdn/foxy-collection-page.js +1 -1
  19. package/dist/cdn/foxy-collection-pages.js +1 -1
  20. package/dist/cdn/foxy-copy-to-clipboard.js +1 -1
  21. package/dist/cdn/foxy-coupon-card.js +1 -1
  22. package/dist/cdn/foxy-coupon-code-card.js +1 -1
  23. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  24. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  25. package/dist/cdn/foxy-coupon-detail-card.js +1 -1
  26. package/dist/cdn/foxy-coupon-form.js +1 -1
  27. package/dist/cdn/foxy-custom-field-card.js +1 -1
  28. package/dist/cdn/foxy-custom-field-form.js +1 -1
  29. package/dist/cdn/foxy-customer-card.js +1 -1
  30. package/dist/cdn/foxy-customer-form.js +1 -1
  31. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  33. package/dist/cdn/foxy-customer-portal.js +8 -8
  34. package/dist/cdn/foxy-customer.js +1 -1
  35. package/dist/cdn/foxy-customers-table.js +1 -1
  36. package/dist/cdn/foxy-discount-builder.js +1 -1
  37. package/dist/cdn/foxy-discount-card.js +1 -1
  38. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  39. package/dist/cdn/foxy-donation.js +1 -1
  40. package/dist/cdn/foxy-downloadable-card.js +1 -1
  41. package/dist/cdn/foxy-downloadable-form.js +1 -1
  42. package/dist/cdn/foxy-email-template-card.js +1 -1
  43. package/dist/cdn/foxy-email-template-form.js +1 -1
  44. package/dist/cdn/foxy-error-entry-card.js +1 -1
  45. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  46. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  47. package/dist/cdn/foxy-form-dialog.js +1 -1
  48. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  49. package/dist/cdn/foxy-gift-card-card.js +1 -1
  50. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  51. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-form.js +1 -1
  55. package/dist/cdn/foxy-i18n-editor.js +3 -3
  56. package/dist/cdn/foxy-i18n.js +1 -1
  57. package/dist/cdn/foxy-integration-card.js +1 -1
  58. package/dist/cdn/foxy-integration-form.js +1 -1
  59. package/dist/cdn/foxy-item-card.js +1 -1
  60. package/dist/cdn/foxy-item-category-card.js +1 -1
  61. package/dist/cdn/foxy-item-category-form.js +1 -1
  62. package/dist/cdn/foxy-item-form.js +1 -1
  63. package/dist/cdn/foxy-item-option-card.js +1 -1
  64. package/dist/cdn/foxy-item-option-form.js +1 -1
  65. package/dist/cdn/foxy-items-form.js +1 -1
  66. package/dist/cdn/foxy-native-integration-card.js +1 -1
  67. package/dist/cdn/foxy-native-integration-form.js +1 -1
  68. package/dist/cdn/foxy-pagination.js +1 -1
  69. package/dist/cdn/foxy-passkey-card.js +1 -1
  70. package/dist/cdn/foxy-passkey-form.js +1 -1
  71. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  72. package/dist/cdn/foxy-payment-card.js +1 -1
  73. package/dist/cdn/foxy-payment-method-card.js +1 -1
  74. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  75. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  76. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  78. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  80. package/dist/cdn/foxy-query-builder.js +1 -1
  81. package/dist/cdn/foxy-report-form.js +1 -1
  82. package/dist/cdn/foxy-reports-table.js +1 -1
  83. package/dist/cdn/foxy-shipment-card.js +1 -1
  84. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  85. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  86. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  87. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  88. package/dist/cdn/foxy-sign-in-form.js +1 -1
  89. package/dist/cdn/foxy-spinner.js +2 -2
  90. package/dist/cdn/foxy-store-card.js +1 -1
  91. package/dist/cdn/foxy-store-form.js +1 -1
  92. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  93. package/dist/cdn/foxy-subscription-card.js +1 -1
  94. package/dist/cdn/foxy-subscription-form.js +1 -1
  95. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  96. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  97. package/dist/cdn/foxy-table.js +1 -1
  98. package/dist/cdn/foxy-tax-card.js +1 -1
  99. package/dist/cdn/foxy-tax-form.js +1 -1
  100. package/dist/cdn/foxy-template-config-form.js +1 -1
  101. package/dist/cdn/foxy-template-form.js +1 -1
  102. package/dist/cdn/foxy-template-set-card.js +1 -1
  103. package/dist/cdn/foxy-template-set-form.js +1 -1
  104. package/dist/cdn/foxy-transaction-card.js +1 -1
  105. package/dist/cdn/foxy-transaction.js +1 -1
  106. package/dist/cdn/foxy-transactions-table.js +7 -7
  107. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  108. package/dist/cdn/foxy-user-card.js +1 -1
  109. package/dist/cdn/foxy-user-form.js +1 -1
  110. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  111. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  112. package/dist/cdn/foxy-users-table.js +1 -1
  113. package/dist/cdn/foxy-webhook-card.js +1 -1
  114. package/dist/cdn/foxy-webhook-form.js +1 -1
  115. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  116. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  117. package/dist/cdn/{shared-e23f134b.js → shared-01cbaba9.js} +1 -1
  118. package/dist/cdn/shared-0203d3da.js +1 -0
  119. package/dist/cdn/{shared-d99621f5.js → shared-08be5c32.js} +1 -1
  120. package/dist/cdn/{shared-86535307.js → shared-0b4a62e9.js} +1 -1
  121. package/dist/cdn/{shared-b8983324.js → shared-0d43de87.js} +1 -1
  122. package/dist/cdn/shared-0e83a899.js +1 -0
  123. package/dist/cdn/{shared-0905537a.js → shared-0f4472d2.js} +1 -1
  124. package/dist/cdn/{shared-55b38934.js → shared-1024aa20.js} +1 -1
  125. package/dist/cdn/{shared-9f160fc4.js → shared-1220bf7d.js} +1 -1
  126. package/dist/cdn/shared-14179b23.js +1 -0
  127. package/dist/cdn/{shared-b211a5c1.js → shared-14bf37ae.js} +1 -1
  128. package/dist/cdn/{shared-d01bb075.js → shared-2dd497e5.js} +1 -1
  129. package/dist/cdn/{shared-9fbbe836.js → shared-30cc688f.js} +1 -1
  130. package/dist/cdn/{shared-bf34ec93.js → shared-317cb721.js} +1 -1
  131. package/dist/cdn/{shared-37d8eb8c.js → shared-3493737e.js} +1 -1
  132. package/dist/cdn/{shared-4358f1b1.js → shared-359793d4.js} +1 -1
  133. package/dist/cdn/{shared-83dd443e.js → shared-377e3168.js} +1 -1
  134. package/dist/cdn/{shared-e23ba6a5.js → shared-3a7db771.js} +1 -1
  135. package/dist/cdn/{shared-19520c9d.js → shared-3bfbd5af.js} +1 -1
  136. package/dist/cdn/{shared-315b7e61.js → shared-3ca58fb9.js} +1 -1
  137. package/dist/cdn/{shared-36a1e2b9.js → shared-455856d9.js} +2 -2
  138. package/dist/cdn/{shared-6636a5bf.js → shared-4b4c8ccf.js} +1 -1
  139. package/dist/cdn/{shared-cfa5d8f6.js → shared-4b52b410.js} +1 -1
  140. package/dist/cdn/{shared-9ecba892.js → shared-4beb6fef.js} +1 -1
  141. package/dist/cdn/{shared-a6e35e24.js → shared-4f852fd5.js} +1 -1
  142. package/dist/cdn/{shared-438ba90a.js → shared-51efaf53.js} +1 -1
  143. package/dist/cdn/shared-529f2b48.js +2 -0
  144. package/dist/cdn/{shared-17c503b1.js → shared-53443b27.js} +1 -1
  145. package/dist/cdn/{shared-2da66878.js → shared-5452fdfe.js} +1 -1
  146. package/dist/cdn/shared-54d7dfdb.js +1 -0
  147. package/dist/cdn/{shared-450227d6.js → shared-57164953.js} +1 -1
  148. package/dist/cdn/{shared-d9e5dcd8.js → shared-68f01c8d.js} +1 -1
  149. package/dist/cdn/{shared-f6dbf1f9.js → shared-6a8ccf0c.js} +1 -1
  150. package/dist/cdn/{shared-7bd9ac17.js → shared-6be8e65e.js} +1 -1
  151. package/dist/cdn/{shared-d65e8cc0.js → shared-6d7c1a2f.js} +2 -2
  152. package/dist/cdn/{shared-81dce3af.js → shared-7448fda4.js} +1 -1
  153. package/dist/cdn/{shared-ea538020.js → shared-78bfc71e.js} +1 -1
  154. package/dist/cdn/{shared-5508fdff.js → shared-81bf4ca2.js} +1 -1
  155. package/dist/cdn/{shared-9353023e.js → shared-838bd79c.js} +1 -1
  156. package/dist/cdn/{shared-20f8e346.js → shared-91321de3.js} +1 -1
  157. package/dist/cdn/{shared-6acd8127.js → shared-91500a0f.js} +1 -1
  158. package/dist/cdn/{shared-300253d2.js → shared-935adc3b.js} +1 -1
  159. package/dist/cdn/{shared-4631ca6a.js → shared-97627d50.js} +1 -1
  160. package/dist/cdn/{shared-55cad23d.js → shared-9b1b4c9d.js} +1 -1
  161. package/dist/cdn/{shared-c1ef5741.js → shared-a84befbf.js} +1 -1
  162. package/dist/cdn/{shared-4e5a4514.js → shared-ad3eea80.js} +1 -1
  163. package/dist/cdn/{shared-bafbd5de.js → shared-b14bf56d.js} +1 -1
  164. package/dist/cdn/{shared-768e7a47.js → shared-b2bc3a0e.js} +2 -2
  165. package/dist/cdn/{shared-a08d2529.js → shared-b384e653.js} +1 -1
  166. package/dist/cdn/{shared-5dc12ee6.js → shared-b3d36746.js} +1 -1
  167. package/dist/cdn/{shared-9a996ad7.js → shared-b7dc7e64.js} +5 -5
  168. package/dist/cdn/{shared-84a1b7ce.js → shared-bb9f0d8b.js} +1 -1
  169. package/dist/cdn/{shared-f5d4d7f4.js → shared-bbc53ef2.js} +1 -1
  170. package/dist/cdn/{shared-2b41da9e.js → shared-bdcf2d35.js} +1 -1
  171. package/dist/cdn/{shared-196a767a.js → shared-c24bc616.js} +1 -1
  172. package/dist/cdn/{shared-f3c77c1b.js → shared-c671d5c7.js} +1 -1
  173. package/dist/cdn/{shared-43a7fb95.js → shared-c86db2c0.js} +1 -1
  174. package/dist/cdn/{shared-c01f7219.js → shared-cacd4407.js} +1 -1
  175. package/dist/cdn/{shared-38dbd459.js → shared-ceafb6c3.js} +1 -1
  176. package/dist/cdn/{shared-04d5b361.js → shared-d6985b5f.js} +1 -1
  177. package/dist/cdn/{shared-b1798b31.js → shared-dbe8536b.js} +1 -1
  178. package/dist/cdn/{shared-8a54284b.js → shared-e0c93cfa.js} +1 -1
  179. package/dist/cdn/{shared-1c2aeca6.js → shared-e1dea184.js} +1 -1
  180. package/dist/cdn/{shared-85b3cc6a.js → shared-e231722c.js} +1 -1
  181. package/dist/cdn/{shared-334c421b.js → shared-e39760d5.js} +1 -1
  182. package/dist/cdn/{shared-efaf6205.js → shared-eecba1f5.js} +1 -1
  183. package/dist/cdn/{shared-1faa9f13.js → shared-f09454f9.js} +1 -1
  184. package/dist/cdn/{shared-2a819863.js → shared-fd1adc35.js} +1 -1
  185. package/dist/cdn/translations/admin-subscription-form/en.json +28 -20
  186. package/dist/cdn/translations/cart-form/en.json +28 -20
  187. package/dist/cdn/translations/coupon-code-form/en.json +11 -7
  188. package/dist/cdn/translations/coupon-form/en.json +11 -7
  189. package/dist/cdn/translations/email-template-form/en.json +99 -27
  190. package/dist/cdn/translations/gift-card-form/en.json +208 -201
  191. package/dist/cdn/translations/item-category-form/en.json +1 -1
  192. package/dist/cdn/translations/item-form/en.json +28 -20
  193. package/dist/cdn/translations/item-option-form/en.json +28 -20
  194. package/dist/cdn/translations/store-form/en.json +1 -1
  195. package/dist/cdn/translations/subscription-settings-form/en.json +6 -6
  196. package/dist/cdn/translations/template-form/en.json +67 -19
  197. package/dist/cdn/translations/transaction/en.json +28 -20
  198. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.d.ts +1 -2
  199. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js +0 -3
  200. package/dist/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.js.map +1 -1
  201. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js +6 -26
  202. package/dist/elements/internal/InternalSourceControl/InternalSourceControl.js.map +1 -1
  203. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js +1 -1
  204. package/dist/elements/internal/InternalTimestampsControl/InternalTimestampsControl.js.map +1 -1
  205. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js +0 -1
  206. package/dist/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.js.map +1 -1
  207. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js +4 -1
  208. package/dist/elements/public/CouponCodeForm/CouponCodeForm.js.map +1 -1
  209. package/dist/elements/public/CouponCodeForm/index.d.ts +1 -0
  210. package/dist/elements/public/CouponCodeForm/index.js +1 -0
  211. package/dist/elements/public/CouponCodeForm/index.js.map +1 -1
  212. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.d.ts +12 -20
  213. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js +100 -333
  214. package/dist/elements/public/EmailTemplateForm/EmailTemplateForm.js.map +1 -1
  215. package/dist/elements/public/EmailTemplateForm/index.d.ts +5 -7
  216. package/dist/elements/public/EmailTemplateForm/index.js +5 -7
  217. package/dist/elements/public/EmailTemplateForm/index.js.map +1 -1
  218. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/InternalEmailTemplateFormAsyncAction.d.ts +10 -0
  219. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/InternalEmailTemplateFormAsyncAction.js +49 -0
  220. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/InternalEmailTemplateFormAsyncAction.js.map +1 -0
  221. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/index.d.ts +5 -0
  222. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/index.js +7 -0
  223. package/dist/elements/public/EmailTemplateForm/internal/InternalEmailTemplateFormAsyncAction/index.js.map +1 -0
  224. package/dist/elements/public/EmailTemplateForm/types.d.ts +3 -1
  225. package/dist/elements/public/EmailTemplateForm/types.js.map +1 -1
  226. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +6 -0
  227. package/dist/elements/public/GiftCardForm/GiftCardForm.js +100 -14
  228. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -1
  229. package/dist/elements/public/GiftCardForm/index.d.ts +3 -1
  230. package/dist/elements/public/GiftCardForm/index.js +3 -1
  231. package/dist/elements/public/GiftCardForm/index.js.map +1 -1
  232. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js +12 -6
  233. package/dist/elements/public/ItemOptionForm/ItemOptionForm.js.map +1 -1
  234. package/dist/elements/public/ItemOptionForm/index.d.ts +1 -0
  235. package/dist/elements/public/ItemOptionForm/index.js +1 -0
  236. package/dist/elements/public/ItemOptionForm/index.js.map +1 -1
  237. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +6 -6
  238. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  239. package/dist/elements/public/TemplateForm/TemplateForm.d.ts +10 -18
  240. package/dist/elements/public/TemplateForm/TemplateForm.js +54 -305
  241. package/dist/elements/public/TemplateForm/TemplateForm.js.map +1 -1
  242. package/dist/elements/public/TemplateForm/index.d.ts +4 -6
  243. package/dist/elements/public/TemplateForm/index.js +4 -6
  244. package/dist/elements/public/TemplateForm/index.js.map +1 -1
  245. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/InternalTemplateFormAsyncAction.d.ts +10 -0
  246. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/InternalTemplateFormAsyncAction.js +49 -0
  247. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/InternalTemplateFormAsyncAction.js.map +1 -0
  248. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/index.d.ts +5 -0
  249. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/index.js +7 -0
  250. package/dist/elements/public/TemplateForm/internal/InternalTemplateFormAsyncAction/index.js.map +1 -0
  251. package/dist/elements/public/Transaction/Transaction.js +19 -24
  252. package/dist/elements/public/Transaction/Transaction.js.map +1 -1
  253. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js +3 -5
  254. package/dist/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.js.map +1 -1
  255. package/dist/mixins/themeable.js +0 -16
  256. package/dist/mixins/themeable.js.map +1 -1
  257. package/package.json +1 -1
  258. package/dist/cdn/shared-4784c497.js +0 -1
  259. package/dist/cdn/shared-69015a94.js +0 -1
  260. package/dist/cdn/shared-82c14038.js +0 -1
  261. package/dist/cdn/shared-dc2f3f55.js +0 -2
  262. package/dist/cdn/shared-fb3366b1.js +0 -1
  263. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.d.ts +0 -14
  264. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js +0 -94
  265. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.js.map +0 -1
  266. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.d.ts +0 -6
  267. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js +0 -8
  268. package/dist/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.js.map +0 -1
@@ -36,6 +36,12 @@
36
36
  "checked": "Yes",
37
37
  "unchecked": "No"
38
38
  },
39
+ "send-email-receipts-for-automated-billing": {
40
+ "label": "Send email receipts for automated billing",
41
+ "helper_text": "Unchecking this option will cause any email receipts related to automated billing renewals to not be sent. This setting will not impact the email receipt sent for the initial purchase of a subscription.",
42
+ "checked": "Yes",
43
+ "unchecked": "No"
44
+ },
39
45
  "prevent-customer-cancel-with-past-due": {
40
46
  "label": "Prevent modification or cancellation if past due is present",
41
47
  "helper_text": "If enabled, if the customer has a past due amount and wishes to cancel their subscription using a sub_token through the cart interface, they will be prevented from doing so until they first pay their past due amount.",
@@ -70,12 +76,6 @@
70
76
  "emails-group": {
71
77
  "label": "Emails",
72
78
  "helper_text": "",
73
- "send-email-receipts-for-automated-billing": {
74
- "label": "Send email receipts for automated billing",
75
- "helper_text": "When subscriptions run automatically to bill your customers, turning this setting off will prevent the normal receipt emails from being sent for their automated payment.",
76
- "checked": "Yes",
77
- "unchecked": "No"
78
- },
79
79
  "reminder-email-schedule": {
80
80
  "label": "Failed subscription payment email schedule",
81
81
  "placeholder": "Add period in days, e.g. 14",
@@ -1,23 +1,71 @@
1
1
  {
2
- "cache": "Sync",
3
- "cancel": "Cancel",
4
- "caption": "Create",
5
- "date": "{{value, date}}",
6
- "date_created": "Created on",
7
- "date_modified": "Last updated on",
8
- "default": "Default",
9
- "delete": "Delete",
10
- "delete_prompt": "This resource will be permanently removed. Are you sure?",
11
- "description": "Description",
12
- "template": "Template",
13
- "template_clipboard": "Upload source code",
14
- "template_default": "Use default template",
15
- "template_url": "Pull from public URL",
16
- "url": "URL",
17
- "url_source_label": "Cached source",
18
- "url_source_placeholder": "Template markup will appear here once cached",
19
- "clipboard_source_label": "Source",
20
- "clipboard_source_placeholder": "Enter your template markup here",
2
+ "header": {
3
+ "title": "{{ description }}",
4
+ "title_new": "New template",
5
+ "subtitle": "",
6
+ "copy-id": {
7
+ "failed_to_copy": "Failed to copy",
8
+ "click_to_copy": "Copy ID",
9
+ "copying": "Copying...",
10
+ "done": "Copied to clipboard"
11
+ },
12
+ "copy-json": {
13
+ "failed_to_copy": "Failed to copy",
14
+ "click_to_copy": "Copy source as JSON",
15
+ "copying": "Copying...",
16
+ "done": "Copied to clipboard"
17
+ }
18
+ },
19
+ "error": {
20
+ "failed_to_cache": "Failed to download the custom template from the remote source. Please check the URL and try again."
21
+ },
22
+ "general": {
23
+ "label": "",
24
+ "helper_text": "",
25
+ "description": {
26
+ "label": "Description",
27
+ "placeholder": "Required",
28
+ "helper_text": ""
29
+ }
30
+ },
31
+ "source": {
32
+ "label": "",
33
+ "helper_text": "",
34
+ "content-url": {
35
+ "label": "Template URL",
36
+ "placeholder": "None (use inline above)",
37
+ "helper_text": "Enter a URL to load a custom template from a remote source."
38
+ },
39
+ "cache": {
40
+ "idle": "Cache now",
41
+ "busy": "Caching...",
42
+ "fail": "Failed to cache"
43
+ }
44
+ },
45
+ "content": {
46
+ "label": "Custom template",
47
+ "placeholder": "None (use default)",
48
+ "helper_text": ""
49
+ },
50
+ "timestamps": {
51
+ "date_created": "Created on",
52
+ "date_modified": "Last updated on",
53
+ "date": "{{value, date}}"
54
+ },
55
+ "delete": {
56
+ "delete": "Delete",
57
+ "cancel": "Cancel",
58
+ "delete_prompt": "This action is irreversible. Are you sure you want to delete this template?"
59
+ },
60
+ "undo": {
61
+ "caption": "Undo"
62
+ },
63
+ "submit": {
64
+ "caption": "Save changes"
65
+ },
66
+ "create": {
67
+ "caption": "Create"
68
+ },
21
69
  "spinner": {
22
70
  "refresh": "Refresh",
23
71
  "loading_busy": "Loading",
@@ -465,29 +465,37 @@
465
465
  "done": "Copied to clipboard"
466
466
  }
467
467
  },
468
- "name": {
469
- "label": "Name",
468
+ "general": {
469
+ "label": "",
470
470
  "helper_text": "",
471
- "placeholder": "Color",
472
- "v8n_required": "Name is required",
473
- "v8n_too_long": "Name mustn't exceed 100 characters"
471
+ "name": {
472
+ "label": "Name",
473
+ "helper_text": "",
474
+ "placeholder": "Required",
475
+ "v8n_required": "Name is required",
476
+ "v8n_too_long": "Name mustn't exceed 100 characters"
477
+ },
478
+ "value": {
479
+ "label": "Value",
480
+ "helper_text": "",
481
+ "placeholder": "Required",
482
+ "v8n_required": "Value is required",
483
+ "v8n_too_long": "Value mustn't exceed 1024 characters"
484
+ }
474
485
  },
475
- "value": {
476
- "label": "Value",
486
+ "mods": {
487
+ "label": "",
477
488
  "helper_text": "",
478
- "placeholder": "Red",
479
- "v8n_required": "Value is required",
480
- "v8n_too_long": "Value mustn't exceed 1024 characters"
481
- },
482
- "price-mod": {
483
- "label": "Price",
484
- "helper_text": "Same currency as item",
485
- "placeholder": "10"
486
- },
487
- "weight-mod": {
488
- "label": "Weight",
489
- "helper_text": "Arbitrary units",
490
- "placeholder": "5"
489
+ "price-mod": {
490
+ "label": "Price (item currency)",
491
+ "helper_text": "",
492
+ "placeholder": "0"
493
+ },
494
+ "weight-mod": {
495
+ "label": "Weight (arbitrary units)",
496
+ "helper_text": "",
497
+ "placeholder": "0"
498
+ }
491
499
  },
492
500
  "timestamps": {
493
501
  "date_created": "Created on",
@@ -1,5 +1,5 @@
1
1
  import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
- import type { HALJSONResource, NucleonV8N } from '../../public/NucleonElement/types';
2
+ import type { HALJSONResource } from '../../public/NucleonElement/types';
3
3
  import { InternalForm } from '../InternalForm/InternalForm';
4
4
  declare type Data = HALJSONResource & {
5
5
  selection: string;
@@ -7,7 +7,6 @@ declare type Data = HALJSONResource & {
7
7
  };
8
8
  export declare class InternalResourcePickerControlForm extends InternalForm<Data> {
9
9
  static get properties(): PropertyDeclarations;
10
- static get v8n(): NucleonV8N<Data>;
11
10
  selectionProps: Record<PropertyKey, unknown>;
12
11
  renderBody(): TemplateResult;
13
12
  }
@@ -12,9 +12,6 @@ export class InternalResourcePickerControlForm extends InternalForm {
12
12
  selectionProps: { attribute: false },
13
13
  };
14
14
  }
15
- static get v8n() {
16
- return [({ selection: v }) => (v === undefined ? 'silent:selection_required' : true)];
17
- }
18
15
  renderBody() {
19
16
  return html `
20
17
  <foxy-internal-async-list-control
@@ -1 +1 @@
1
- {"version":3,"file":"InternalResourcePickerControlForm.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIhC,MAAM,OAAO,iCAAkC,SAAQ,YAAkB;IAAzE;;QAYE,mBAAc,GAAiC,EAAE,CAAC;IAmBpD,CAAC;IA9BC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;IAID,UAAU;QACR,OAAO,IAAI,CAAA;;;;;;qBAMM,CAAC,GAAwB,EAAE,EAAE;YACxC,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;cACK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;;KAGpC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { HALJSONResource, NucleonV8N } from '../../public/NucleonElement/types';\n\nimport { InternalForm } from '../InternalForm/InternalForm';\nimport { spread } from '@open-wc/lit-helpers';\nimport { html } from 'lit-html';\n\ntype Data = HALJSONResource & { selection: string; query: string };\n\nexport class InternalResourcePickerControlForm extends InternalForm<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n selectionProps: { attribute: false },\n };\n }\n\n static get v8n(): NucleonV8N<Data> {\n return [({ selection: v }) => (v === undefined ? 'silent:selection_required' : true)];\n }\n\n selectionProps: Record<PropertyKey, unknown> = {};\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-async-list-control\n infer=\"selection\"\n form=\"foxy-null\"\n hide-delete-button\n hide-create-button\n @itemclick=${(evt: CustomEvent<string>) => {\n evt.preventDefault();\n this.edit({ selection: evt.detail });\n this.submit();\n }}\n ...=${spread(this.selectionProps)}\n >\n </foxy-internal-async-list-control>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalResourcePickerControlForm.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalResourcePickerControl/InternalResourcePickerControlForm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,wCAAqC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAIhC,MAAM,OAAO,iCAAkC,SAAQ,YAAkB;IAAzE;;QAQE,mBAAc,GAAiC,EAAE,CAAC;IAmBpD,CAAC;IA1BC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,cAAc,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACrC,CAAC;IACJ,CAAC;IAID,UAAU;QACR,OAAO,IAAI,CAAA;;;;;;qBAMM,CAAC,GAAwB,EAAE,EAAE;YACxC,GAAG,CAAC,cAAc,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;cACK,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;;KAGpC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { HALJSONResource } from '../../public/NucleonElement/types';\n\nimport { InternalForm } from '../InternalForm/InternalForm';\nimport { spread } from '@open-wc/lit-helpers';\nimport { html } from 'lit-html';\n\ntype Data = HALJSONResource & { selection: string; query: string };\n\nexport class InternalResourcePickerControlForm extends InternalForm<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n selectionProps: { attribute: false },\n };\n }\n\n selectionProps: Record<PropertyKey, unknown> = {};\n\n renderBody(): TemplateResult {\n return html`\n <foxy-internal-async-list-control\n infer=\"selection\"\n form=\"foxy-null\"\n hide-delete-button\n hide-create-button\n @itemclick=${(evt: CustomEvent<string>) => {\n evt.preventDefault();\n this.edit({ selection: evt.detail });\n this.submit();\n }}\n ...=${spread(this.selectionProps)}\n >\n </foxy-internal-async-list-control>\n `;\n }\n}\n"]}
@@ -46,15 +46,11 @@ textarea::selection{
46
46
  renderControl() {
47
47
  var _a;
48
48
  let lineNumbersClass;
49
- let helperTextClass;
50
49
  let containerClass;
51
50
  let textAreaClass;
52
- let labelClass;
53
51
  if (this.disabled) {
54
52
  lineNumbersClass = 'bg-contrast-5 text-disabled';
55
- helperTextClass = 'text-disabled';
56
53
  textAreaClass = 'text-disabled';
57
- labelClass = 'text-disabled';
58
54
  if (this.readonly) {
59
55
  lineNumbersClass += ' border-dashed border-contrast-20';
60
56
  containerClass = 'border-dashed border-contrast-30';
@@ -66,33 +62,25 @@ textarea::selection{
66
62
  }
67
63
  else if (this.readonly) {
68
64
  lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';
69
- helperTextClass = 'text-secondary';
70
65
  containerClass = 'border-dashed border-contrast-30';
71
66
  textAreaClass = 'text-secondary';
72
- labelClass = 'text-secondary';
73
67
  if (this.__focused)
74
68
  containerClass += ' ring-2 ring-primary-50';
75
69
  }
76
70
  else if (this.__focused) {
77
71
  lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';
78
- helperTextClass = 'text-secondary';
79
72
  containerClass = 'border-primary-50 ring-1 ring-primary-50';
80
73
  textAreaClass = 'text-body';
81
- labelClass = 'text-primary';
82
74
  }
83
75
  else if (this.__hovered) {
84
76
  lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';
85
- helperTextClass = 'text-body';
86
77
  containerClass = 'border-contrast-20';
87
78
  textAreaClass = 'text-body';
88
- labelClass = 'text-body';
89
79
  }
90
80
  else {
91
81
  lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';
92
- helperTextClass = 'text-secondary';
93
82
  containerClass = 'border-contrast-10';
94
83
  textAreaClass = 'text-body';
95
- labelClass = 'text-secondary';
96
84
  }
97
85
  return html `
98
86
  <label
@@ -100,11 +88,11 @@ textarea::selection{
100
88
  @mouseenter=${() => (this.__hovered = true)}
101
89
  @mouseleave=${() => (this.__hovered = false)}
102
90
  >
103
- <div
104
- class="mb-xs transition-colors leading-none text-s font-medium ${labelClass}"
105
- part="label"
106
- >
107
- ${this.label}
91
+ <div class="mb-s leading-s" ?hidden=${!this.label && !this.helperText}>
92
+ <div class="transition-colors text-l font-medium" part="label">${this.label}</div>
93
+ <div class="transition-colors text-s text-secondary" part="helper-text">
94
+ ${this.helperText}
95
+ </div>
108
96
  </div>
109
97
 
110
98
  <div
@@ -140,15 +128,7 @@ textarea::selection{
140
128
  </div>
141
129
 
142
130
  <div
143
- class="mt-xs transition-colors leading-xs text-xs ${helperTextClass}"
144
- part="helper-text"
145
- ?hidden=${!this.helperText}
146
- >
147
- ${this.helperText}
148
- </div>
149
-
150
- <div
151
- class="mt-xs text-xs leading-xs text-error"
131
+ class="mt-s text-s leading-xs text-error"
152
132
  ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}
153
133
  >
154
134
  ${this._errorMessage}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalSourceControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSourceControl/InternalSourceControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\n\n/**\n * Internal control displaying editable source code.\n *\n * @since 1.23.0\n * @element foxy-internal-source-control\n */\nexport class InternalSourceControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __isErrorVisible: { attribute: false },\n __hovered: { attribute: false },\n __focused: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n .monospace {\n font-family: monospace;\n }\n\n .resize-none {\n resize: none;\n }\n\n .max-h-16em {\n max-height: 16em;\n }\n\n textarea::selection {\n background: var(--lumo-contrast-10pct);\n }\n `,\n ];\n }\n\n private __isErrorVisible = false;\n\n private __hovered = false;\n\n private __focused = false;\n\n renderControl(): TemplateResult {\n let lineNumbersClass: string;\n let helperTextClass: string;\n let containerClass: string;\n let textAreaClass: string;\n let labelClass: string;\n\n if (this.disabled) {\n lineNumbersClass = 'bg-contrast-5 text-disabled';\n helperTextClass = 'text-disabled';\n textAreaClass = 'text-disabled';\n labelClass = 'text-disabled';\n\n if (this.readonly) {\n lineNumbersClass += ' border-dashed border-contrast-20';\n containerClass = 'border-dashed border-contrast-30';\n } else {\n lineNumbersClass += ' border-transparent';\n containerClass = 'border-contrast-10';\n }\n } else if (this.readonly) {\n lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-dashed border-contrast-30';\n textAreaClass = 'text-secondary';\n labelClass = 'text-secondary';\n if (this.__focused) containerClass += ' ring-2 ring-primary-50';\n } else if (this.__focused) {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-primary-50 ring-1 ring-primary-50';\n textAreaClass = 'text-body';\n labelClass = 'text-primary';\n } else if (this.__hovered) {\n lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';\n helperTextClass = 'text-body';\n containerClass = 'border-contrast-20';\n textAreaClass = 'text-body';\n labelClass = 'text-body';\n } else {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n helperTextClass = 'text-secondary';\n containerClass = 'border-contrast-10';\n textAreaClass = 'text-body';\n labelClass = 'text-secondary';\n }\n\n return html`\n <label\n class=\"block h-full\"\n @mouseenter=${() => (this.__hovered = true)}\n @mouseleave=${() => (this.__hovered = false)}\n >\n <div\n class=\"mb-xs transition-colors leading-none text-s font-medium ${labelClass}\"\n part=\"label\"\n >\n ${this.label}\n </div>\n\n <div\n class=\"max-h-16em h-full transition-colors flex-1 flex bg-base rounded overflow-auto border ${containerClass}\"\n part=\"editor\"\n >\n <div\n class=\"h-full transition-colors monospace leading-s text-s text-right border-r ${lineNumbersClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${repeat(\n this._value.split('\\n') ?? [],\n (_, i) => String(i),\n (_, i) =>\n html`<div>${i < 9 ? html`<span class=\"opacity-0\">0</span>` : ''}${\n i < 99 ? html`<span class=\"opacity-0\">0</span>` : ''\n }<span>${i + 1}<span></div>`\n )}\n </div>\n\n <textarea\n placeholder=${this.placeholder}\n class=\"bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none block w-full select-text transition-colors ${textAreaClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n rows=\"1\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @focus=${() => (this.__focused = true)}\n @blur=${() => {\n this.__focused = false;\n this.__isErrorVisible = true;\n }}\n @input=${(evt: InputEvent) => {\n const textarea = evt.currentTarget as HTMLTextAreaElement;\n this._value = textarea.value;\n }}\n >\n </textarea>\n </div>\n\n <div\n class=\"mt-xs transition-colors leading-xs text-xs ${helperTextClass}\"\n part=\"helper-text\"\n ?hidden=${!this.helperText}\n >\n ${this.helperText}\n </div>\n\n <div\n class=\"mt-xs text-xs leading-xs text-error\"\n ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n </label>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderRoot.querySelectorAll('textarea').forEach(textarea => {\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n textarea.style.overflowY = 'hidden';\n });\n }\n\n protected get _value(): string {\n return (super._value as string | undefined) ?? '';\n }\n\n protected set _value(newValue: string) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalSourceControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalSourceControl/InternalSourceControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CSSResultArray, PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { html, css } from 'lit-element';\nimport { repeat } from 'lit-html/directives/repeat';\n\n/**\n * Internal control displaying editable source code.\n *\n * @since 1.23.0\n * @element foxy-internal-source-control\n */\nexport class InternalSourceControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __isErrorVisible: { attribute: false },\n __hovered: { attribute: false },\n __focused: { attribute: false },\n };\n }\n\n static get styles(): CSSResultArray {\n return [\n ...super.styles,\n css`\n .monospace {\n font-family: monospace;\n }\n\n .resize-none {\n resize: none;\n }\n\n .max-h-16em {\n max-height: 16em;\n }\n\n textarea::selection {\n background: var(--lumo-contrast-10pct);\n }\n `,\n ];\n }\n\n private __isErrorVisible = false;\n\n private __hovered = false;\n\n private __focused = false;\n\n renderControl(): TemplateResult {\n let lineNumbersClass: string;\n let containerClass: string;\n let textAreaClass: string;\n\n if (this.disabled) {\n lineNumbersClass = 'bg-contrast-5 text-disabled';\n textAreaClass = 'text-disabled';\n\n if (this.readonly) {\n lineNumbersClass += ' border-dashed border-contrast-20';\n containerClass = 'border-dashed border-contrast-30';\n } else {\n lineNumbersClass += ' border-transparent';\n containerClass = 'border-contrast-10';\n }\n } else if (this.readonly) {\n lineNumbersClass = 'border-dashed border-contrast-30 bg-transparent text-secondary';\n containerClass = 'border-dashed border-contrast-30';\n textAreaClass = 'text-secondary';\n if (this.__focused) containerClass += ' ring-2 ring-primary-50';\n } else if (this.__focused) {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n containerClass = 'border-primary-50 ring-1 ring-primary-50';\n textAreaClass = 'text-body';\n } else if (this.__hovered) {\n lineNumbersClass = 'border-transparent bg-contrast-20 text-tertiary';\n containerClass = 'border-contrast-20';\n textAreaClass = 'text-body';\n } else {\n lineNumbersClass = 'border-transparent bg-contrast-10 text-tertiary';\n containerClass = 'border-contrast-10';\n textAreaClass = 'text-body';\n }\n\n return html`\n <label\n class=\"block h-full\"\n @mouseenter=${() => (this.__hovered = true)}\n @mouseleave=${() => (this.__hovered = false)}\n >\n <div class=\"mb-s leading-s\" ?hidden=${!this.label && !this.helperText}>\n <div class=\"transition-colors text-l font-medium\" part=\"label\">${this.label}</div>\n <div class=\"transition-colors text-s text-secondary\" part=\"helper-text\">\n ${this.helperText}\n </div>\n </div>\n\n <div\n class=\"max-h-16em h-full transition-colors flex-1 flex bg-base rounded overflow-auto border ${containerClass}\"\n part=\"editor\"\n >\n <div\n class=\"h-full transition-colors monospace leading-s text-s text-right border-r ${lineNumbersClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${repeat(\n this._value.split('\\n') ?? [],\n (_, i) => String(i),\n (_, i) =>\n html`<div>${i < 9 ? html`<span class=\"opacity-0\">0</span>` : ''}${\n i < 99 ? html`<span class=\"opacity-0\">0</span>` : ''\n }<span>${i + 1}<span></div>`\n )}\n </div>\n\n <textarea\n placeholder=${this.placeholder}\n class=\"bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none block w-full select-text transition-colors ${textAreaClass}\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n rows=\"1\"\n .value=${this._value}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @focus=${() => (this.__focused = true)}\n @blur=${() => {\n this.__focused = false;\n this.__isErrorVisible = true;\n }}\n @input=${(evt: InputEvent) => {\n const textarea = evt.currentTarget as HTMLTextAreaElement;\n this._value = textarea.value;\n }}\n >\n </textarea>\n </div>\n\n <div\n class=\"mt-s text-s leading-xs text-error\"\n ?hidden=${!this.__isErrorVisible || !this._errorMessage || this.disabled || this.readonly}\n >\n ${this._errorMessage}\n </div>\n </label>\n `;\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n this.renderRoot.querySelectorAll('textarea').forEach(textarea => {\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n textarea.style.overflowY = 'hidden';\n });\n }\n\n protected get _value(): string {\n return (super._value as string | undefined) ?? '';\n }\n\n protected set _value(newValue: string) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
@@ -11,7 +11,7 @@ import { get } from 'lodash-es';
11
11
  export class InternalTimestampsControl extends InternalControl {
12
12
  renderControl() {
13
13
  return html `
14
- <p class="font-lumo text-xs leading-s text-secondary">
14
+ <p class="font-lumo text-s leading-s text-secondary">
15
15
  <foxy-i18n infer="" key="date_created"></foxy-i18n>
16
16
  <foxy-i18n
17
17
  .options=${{ value: get(this, 'nucleon.data.date_created') }}
@@ -1 +1 @@
1
- {"version":3,"file":"InternalTimestampsControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalTimestampsControl/InternalTimestampsControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,8CAA2C;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,aAAa;QACX,OAAO,IAAI,CAAA;;;;qBAIM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC,EAAE;;;;;;;;qBAQjD,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE;;;;;;KAMlE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\n\nimport { InternalControl } from '../InternalControl/InternalControl';\nimport { html } from 'lit-html';\nimport { get } from 'lodash-es';\n\n/**\n * Internal control displaying creation and last modification date\n * for a hAPI resource in a table.\n *\n * @element foxy-internal-timestamps-control\n * @since 1.17.0\n */\nexport class InternalTimestampsControl extends InternalControl {\n renderControl(): TemplateResult {\n return html`\n <p class=\"font-lumo text-xs leading-s text-secondary\">\n <foxy-i18n infer=\"\" key=\"date_created\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_created') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n <span>&bull;<span>\n <foxy-i18n infer=\"\" key=\"date_modified\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_modified') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n </p>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalTimestampsControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalTimestampsControl/InternalTimestampsControl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,8CAA2C;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAAe;IAC5D,aAAa;QACX,OAAO,IAAI,CAAA;;;;qBAIM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,2BAA2B,CAAC,EAAE;;;;;;;;qBAQjD,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,4BAA4B,CAAC,EAAE;;;;;;KAMlE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\n\nimport { InternalControl } from '../InternalControl/InternalControl';\nimport { html } from 'lit-html';\nimport { get } from 'lodash-es';\n\n/**\n * Internal control displaying creation and last modification date\n * for a hAPI resource in a table.\n *\n * @element foxy-internal-timestamps-control\n * @since 1.17.0\n */\nexport class InternalTimestampsControl extends InternalControl {\n renderControl(): TemplateResult {\n return html`\n <p class=\"font-lumo text-s leading-s text-secondary\">\n <foxy-i18n infer=\"\" key=\"date_created\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_created') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n <span>&bull;<span>\n <foxy-i18n infer=\"\" key=\"date_modified\"></foxy-i18n>\n <foxy-i18n\n .options=${{ value: get(this, 'nucleon.data.date_modified') }}\n infer=\"\"\n key=\"date\"\n >\n </foxy-i18n>\n </p>\n `;\n }\n}\n"]}
@@ -51,7 +51,6 @@ export class InternalCartFormCreateSessionAction extends InternalControl {
51
51
  }
52
52
  async __reloadSessionHref(href) {
53
53
  var _a;
54
- console.log('RELOAD SESSION HREF', href);
55
54
  if (((_a = this.__loader) === null || _a === void 0 ? void 0 : _a.href) === href)
56
55
  return;
57
56
  const nucleon = this.nucleon;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalCartFormCreateSessionAction.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAQhC,MAAM,OAAO,mCAAoC,SAAQ,eAAe;IAAxE;;QAQU,aAAQ,GAAkB,IAAI,CAAC;IAqEzC,CAAC;IA5EC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC/B,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,KAAK,SAAG,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;QACnC,MAAM,IAAI,SAAG,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;QAEnC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAA;;;;iBAIA,IAAI;;;;OAId,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAA;;kBAEC,QAAQ,CAAC;gBACf,uCAAuC,EAAE,IAAI;gBAC7C,eAAe,EAAE,KAAK,KAAK,MAAM;gBACjC,YAAY,EAAE,KAAK,KAAK,MAAM;aAC/B,CAAC;;oCAEwB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;;OAE3E,CAAC;SACH;IACH,CAAC;IAED,OAAO,CAAC,OAAiC;;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,MAAM,oBAAoB,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,mBAAmB,EAAE,IAAI,mCAAI,IAAI,CAAC;QAE5E,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAmB;;QACnD,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,OAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,IAAI;YAAE,OAAO;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAK,OAAO,CAAC,WAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAEpC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;YAAC,WAAM;gBACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;oBAAS;gBACR,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { CartForm } from '../../CartForm';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\n\ntype Loader = {\n result: string | null;\n state: 'idle' | 'busy' | 'fail';\n href: string;\n};\n\nexport class InternalCartFormCreateSessionAction extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __loader: { attribute: false },\n };\n }\n\n private __loader: Loader | null = null;\n\n renderControl(): TemplateResult {\n const state = this.__loader?.state;\n const href = this.__loader?.result;\n\n if (href) {\n return html`\n <a\n target=\"_blank\"\n class=\"rounded font-medium transition-colors text-body focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n <foxy-i18n infer=\"\" key=\"state_idle\"></foxy-i18n>\n </a>\n `;\n } else {\n return html`\n <div\n class=${classMap({\n 'transition-colors font-medium rounded': true,\n 'text-tertiary': state !== 'fail',\n 'text-error': state === 'fail',\n })}\n >\n <foxy-i18n infer=\"\" key=${state === 'fail' ? 'state_fail' : 'state_busy'}> </foxy-i18n>\n </div>\n `;\n }\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n const nucleon = this.nucleon as CartForm | null;\n const data = nucleon?.data;\n const newCreateSessionHref = data?._links['fx:create_session'].href ?? null;\n\n this.__reloadSessionHref(newCreateSessionHref);\n }\n\n private async __reloadSessionHref(href: string | null) {\n console.log('RELOAD SESSION HREF', href);\n if (this.__loader?.href === href) return;\n\n const nucleon = this.nucleon as CartForm | null;\n if (!nucleon) return;\n\n if (href) {\n const loader: Loader = { result: null, state: 'busy', href };\n const api = new (nucleon.constructor as typeof CartForm).API(this);\n\n this.__loader = loader;\n\n try {\n const response = await api.fetch(href, { method: 'POST' });\n if (!response.ok) throw new Error();\n\n loader.result = (await response.json()).cart_link;\n loader.state = 'idle';\n } catch {\n loader.state = 'fail';\n } finally {\n this.requestUpdate();\n }\n } else {\n this.__loader = null;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"InternalCartFormCreateSessionAction.js","sourceRoot":"","sources":["../../../../../../src/elements/public/CartForm/internal/InternalCartFormCreateSessionAction/InternalCartFormCreateSessionAction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,QAAQ,EAAE,0CAAuC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAQhC,MAAM,OAAO,mCAAoC,SAAQ,eAAe;IAAxE;;QAQU,aAAQ,GAAkB,IAAI,CAAC;IAoEzC,CAAC;IA3EC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC/B,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,KAAK,SAAG,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;QACnC,MAAM,IAAI,SAAG,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAC;QAEnC,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAA;;;;iBAIA,IAAI;;;;OAId,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAA;;kBAEC,QAAQ,CAAC;gBACf,uCAAuC,EAAE,IAAI;gBAC7C,eAAe,EAAE,KAAK,KAAK,MAAM;gBACjC,YAAY,EAAE,KAAK,KAAK,MAAM;aAC/B,CAAC;;oCAEwB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;;OAE3E,CAAC;SACH;IACH,CAAC;IAED,OAAO,CAAC,OAAiC;;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,MAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;QAC3B,MAAM,oBAAoB,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,mBAAmB,EAAE,IAAI,mCAAI,IAAI,CAAC;QAE5E,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAmB;;QACnD,IAAI,OAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,IAAI;YAAE,OAAO;QAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA0B,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,IAAI,EAAE;YACR,MAAM,MAAM,GAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAK,OAAO,CAAC,WAA+B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,EAAE,CAAC;gBAEpC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC;gBAClD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;YAAC,WAAM;gBACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;aACvB;oBAAS;gBACR,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;IACH,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { CartForm } from '../../CartForm';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { classMap } from '../../../../../utils/class-map';\nimport { html } from 'lit-html';\n\ntype Loader = {\n result: string | null;\n state: 'idle' | 'busy' | 'fail';\n href: string;\n};\n\nexport class InternalCartFormCreateSessionAction extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __loader: { attribute: false },\n };\n }\n\n private __loader: Loader | null = null;\n\n renderControl(): TemplateResult {\n const state = this.__loader?.state;\n const href = this.__loader?.result;\n\n if (href) {\n return html`\n <a\n target=\"_blank\"\n class=\"rounded font-medium transition-colors text-body focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n <foxy-i18n infer=\"\" key=\"state_idle\"></foxy-i18n>\n </a>\n `;\n } else {\n return html`\n <div\n class=${classMap({\n 'transition-colors font-medium rounded': true,\n 'text-tertiary': state !== 'fail',\n 'text-error': state === 'fail',\n })}\n >\n <foxy-i18n infer=\"\" key=${state === 'fail' ? 'state_fail' : 'state_busy'}> </foxy-i18n>\n </div>\n `;\n }\n }\n\n updated(changes: Map<keyof this, unknown>): void {\n super.updated(changes);\n\n const nucleon = this.nucleon as CartForm | null;\n const data = nucleon?.data;\n const newCreateSessionHref = data?._links['fx:create_session'].href ?? null;\n\n this.__reloadSessionHref(newCreateSessionHref);\n }\n\n private async __reloadSessionHref(href: string | null) {\n if (this.__loader?.href === href) return;\n\n const nucleon = this.nucleon as CartForm | null;\n if (!nucleon) return;\n\n if (href) {\n const loader: Loader = { result: null, state: 'busy', href };\n const api = new (nucleon.constructor as typeof CartForm).API(this);\n\n this.__loader = loader;\n\n try {\n const response = await api.fetch(href, { method: 'POST' });\n if (!response.ok) throw new Error();\n\n loader.result = (await response.json()).cart_link;\n loader.state = 'idle';\n } catch {\n loader.state = 'fail';\n } finally {\n this.requestUpdate();\n }\n } else {\n this.__loader = null;\n }\n }\n}\n"]}
@@ -49,7 +49,10 @@ export class CouponCodeForm extends Base {
49
49
  return html `
50
50
  ${this.renderHeader()}
51
51
 
52
- <foxy-internal-text-control infer="code"></foxy-internal-text-control>
52
+ <foxy-internal-summary-control infer="general">
53
+ <foxy-internal-text-control layout="summary-item" infer="code"></foxy-internal-text-control>
54
+ </foxy-internal-summary-control>
55
+
53
56
  <foxy-internal-async-list-control
54
57
  first=${ifDefined(transactions)}
55
58
  infer="transactions"
@@ -1 +1 @@
1
- {"version":3,"file":"CouponCodeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CouponCodeForm/CouponCodeForm.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,kBAAkB,CAAC;AAC9B,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAU;IAA9C;;QAgBE,2BAAsB,GAAqC,IAAI,CAAC;IAoClE,CAAC;IAnDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,sBAAsB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,mBAAmB;YAC5D,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,GAAG,EAAC,IAAI,qBAAqB;SAC5D,CAAC;IACJ,CAAC;IAID,IAAI,cAAc;QAChB,MAAM,WAAW,GAAa,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpD,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;;QACR,IAAI,YAAgC,CAAC;QAErC,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,6BAA6B,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACjF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtC,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SAC/B;QAAC,WAAM;YACN,YAAY,GAAG,SAAS,CAAC;SAC1B;QAED,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;gBAIX,SAAS,CAAC,YAAY,CAAC;;;;uBAIhB,IAAI,CAAC,sBAAsB;;;;;QAK1C,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { Data, TransactionPageHrefGetter } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'coupon-code-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for creating or editing coupon codes (`fx:coupon_code`).\n *\n * @element foxy-coupon-code-form\n * @since 1.15.0\n */\nexport class CouponCodeForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getTransactionPageHref: { attribute: false },\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 ({ code: v }) => !v?.includes(' ') || 'code:v8n_has_spaces',\n ];\n }\n\n getTransactionPageHref: TransactionPageHrefGetter | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch: string[] = [super.hiddenSelector.toString()];\n if (!this.href) alwaysMatch.unshift('transactions');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n let transactions: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:coupon_code_transactions'].href ?? '');\n url.searchParams.set('zoom', 'items');\n transactions = url.toString();\n } catch {\n transactions = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-text-control infer=\"code\"></foxy-internal-text-control>\n <foxy-internal-async-list-control\n first=${ifDefined(transactions)}\n infer=\"transactions\"\n limit=\"5\"\n item=\"foxy-transaction-card\"\n .getPageHref=${this.getTransactionPageHref}\n hide-delete-button\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"CouponCodeForm.js","sourceRoot":"","sources":["../../../../src/elements/public/CouponCodeForm/CouponCodeForm.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,kBAAkB,CAAC;AAC9B,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,IAAU;IAA9C;;QAgBE,2BAAsB,GAAqC,IAAI,CAAC;IAuClE,CAAC;IAtDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,sBAAsB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,OAAO;YACL,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,mBAAmB;YAC5D,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,CAAC,GAAG,EAAC,IAAI,qBAAqB;SAC5D,CAAC;IACJ,CAAC;IAID,IAAI,cAAc;QAChB,MAAM,WAAW,GAAa,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACpD,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;;QACR,IAAI,YAAgC,CAAC;QAErC,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,6BAA6B,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACjF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtC,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SAC/B;QAAC,WAAM;YACN,YAAY,GAAG,SAAS,CAAC;SAC1B;QAED,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;;;;gBAOX,SAAS,CAAC,YAAY,CAAC;;;;uBAIhB,IAAI,CAAC,sBAAsB;;;;;QAK1C,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { Data, TransactionPageHrefGetter } from './types';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { NucleonV8N } from '../NucleonElement/types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'coupon-code-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\n/**\n * Form element for creating or editing coupon codes (`fx:coupon_code`).\n *\n * @element foxy-coupon-code-form\n * @since 1.15.0\n */\nexport class CouponCodeForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n getTransactionPageHref: { attribute: false },\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 ({ code: v }) => !v?.includes(' ') || 'code:v8n_has_spaces',\n ];\n }\n\n getTransactionPageHref: TransactionPageHrefGetter | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch: string[] = [super.hiddenSelector.toString()];\n if (!this.href) alwaysMatch.unshift('transactions');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n renderBody(): TemplateResult {\n let transactions: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:coupon_code_transactions'].href ?? '');\n url.searchParams.set('zoom', 'items');\n transactions = url.toString();\n } catch {\n transactions = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-text-control layout=\"summary-item\" infer=\"code\"></foxy-internal-text-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-async-list-control\n first=${ifDefined(transactions)}\n infer=\"transactions\"\n limit=\"5\"\n item=\"foxy-transaction-card\"\n .getPageHref=${this.getTransactionPageHref}\n hide-delete-button\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import '../../internal/InternalAsyncListControl/index';
2
+ import '../../internal/InternalSummaryControl/index';
2
3
  import '../../internal/InternalTextControl/index';
3
4
  import '../../internal/InternalForm/index';
4
5
  import '../TransactionCard/index';
@@ -1,4 +1,5 @@
1
1
  import "../../internal/InternalAsyncListControl/index.js";
2
+ import "../../internal/InternalSummaryControl/index.js";
2
3
  import "../../internal/InternalTextControl/index.js";
3
4
  import "../../internal/InternalForm/index.js";
4
5
  import "../TransactionCard/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/CouponCodeForm/index.ts"],"names":[],"mappings":"AAAA,0DAAuD;AACvD,qDAAkD;AAClD,8CAA2C;AAC3C,qCAAkC;AAElC,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\nimport '../TransactionCard/index';\n\nimport { CouponCodeForm } from './CouponCodeForm';\n\ncustomElements.define('foxy-coupon-code-form', CouponCodeForm);\n\nexport { CouponCodeForm };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/elements/public/CouponCodeForm/index.ts"],"names":[],"mappings":"AAAA,0DAAuD;AACvD,wDAAqD;AACrD,qDAAkD;AAClD,8CAA2C;AAC3C,qCAAkC;AAElC,OAAO,EAAE,cAAc,EAAE,4BAAyB;AAElD,cAAc,CAAC,MAAM,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,CAAC","sourcesContent":["import '../../internal/InternalAsyncListControl/index';\nimport '../../internal/InternalSummaryControl/index';\nimport '../../internal/InternalTextControl/index';\nimport '../../internal/InternalForm/index';\nimport '../TransactionCard/index';\n\nimport { CouponCodeForm } from './CouponCodeForm';\n\ncustomElements.define('foxy-coupon-code-form', CouponCodeForm);\n\nexport { CouponCodeForm };\n"]}
@@ -1,12 +1,10 @@
1
- import type { PropertyDeclarations, TemplateResult } from 'lit-element';
2
- import type { ScopedElementsMap } from '@open-wc/scoped-elements';
1
+ import type { TemplateResult } from 'lit-element';
3
2
  import type { Data } from './types';
4
- import { NucleonElement } from '../NucleonElement/NucleonElement';
5
- declare const Base: typeof NucleonElement & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
3
+ import { BooleanSelector } from '@foxy.io/sdk/core';
4
+ import { InternalForm } from '../../internal/InternalForm/InternalForm';
5
+ declare const Base: typeof InternalForm & import("lit-element").Constructor<import("../../../mixins/translatable").TranslatableMixinHost> & {
6
6
  defaultNS: string;
7
- } & import("lit-element").Constructor<import("../../../mixins/configurable").ConfigurableMixinHost> & {
8
- styles: import("lit-element").CSSResultArray;
9
- } & import("@open-wc/dedupe-mixin").Constructor<import("@open-wc/scoped-elements/src/types").ScopedElementsHost>;
7
+ };
10
8
  /**
11
9
  * Form element for creating or editing email templates (`fx:email_template`).
12
10
  *
@@ -14,20 +12,14 @@ declare const Base: typeof NucleonElement & import("lit-element").Constructor<im
14
12
  * @since 1.14.0
15
13
  */
16
14
  export declare class EmailTemplateForm extends Base<Data> {
17
- static get properties(): PropertyDeclarations;
18
- static get scopedElements(): ScopedElementsMap;
19
- private __templateLanguageOptions;
20
- private __textContentChoice;
21
- private __htmlContentChoice;
22
- private __cacheState;
23
- render(): TemplateResult;
15
+ private readonly __templateLanguageOptions;
16
+ private readonly __toggleGetValue;
17
+ private readonly __toggleSetValue;
18
+ get readonlySelector(): BooleanSelector;
19
+ get disabledSelector(): BooleanSelector;
20
+ get hiddenSelector(): BooleanSelector;
21
+ renderBody(): TemplateResult;
24
22
  protected _sendPost(edits: Partial<Data>): Promise<Data>;
25
23
  protected _sendPatch(edits: Partial<Data>): Promise<Data>;
26
- private __renderDescription;
27
- private __renderContent;
28
- private __renderContentVariant;
29
- private __renderTimestamps;
30
- private __renderAction;
31
- private __cache;
32
24
  }
33
25
  export {};