@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
@@ -290,32 +290,27 @@ export class Transaction extends Base {
290
290
  >
291
291
  </foxy-internal-async-list-control>
292
292
 
293
- <div
294
- class="grid gap-m sm-grid-cols-2"
295
- ?hidden=${hidden.matches('custom-fields', true) && hidden.matches('attributes', true)}
293
+ <foxy-internal-async-list-control
294
+ infer="custom-fields"
295
+ class="min-w-0"
296
+ first=${ifDefined((_l = this.data) === null || _l === void 0 ? void 0 : _l._links['fx:custom_fields'].href)}
297
+ limit="5"
298
+ form="foxy-custom-field-form"
299
+ item="foxy-custom-field-card"
300
+ alert
296
301
  >
297
- <foxy-internal-async-list-control
298
- infer="custom-fields"
299
- class="min-w-0"
300
- first=${ifDefined((_l = this.data) === null || _l === void 0 ? void 0 : _l._links['fx:custom_fields'].href)}
301
- limit="5"
302
- form="foxy-custom-field-form"
303
- item="foxy-custom-field-card"
304
- alert
305
- >
306
- </foxy-internal-async-list-control>
302
+ </foxy-internal-async-list-control>
307
303
 
308
- <foxy-internal-async-list-control
309
- infer="attributes"
310
- class="min-w-0"
311
- first=${ifDefined((_m = this.data) === null || _m === void 0 ? void 0 : _m._links['fx:attributes'].href)}
312
- limit="5"
313
- form="foxy-attribute-form"
314
- item="foxy-attribute-card"
315
- alert
316
- >
317
- </foxy-internal-async-list-control>
318
- </div>
304
+ <foxy-internal-async-list-control
305
+ infer="attributes"
306
+ class="min-w-0"
307
+ first=${ifDefined((_m = this.data) === null || _m === void 0 ? void 0 : _m._links['fx:attributes'].href)}
308
+ limit="5"
309
+ form="foxy-attribute-form"
310
+ item="foxy-attribute-card"
311
+ alert
312
+ >
313
+ </foxy-internal-async-list-control>
319
314
 
320
315
  <foxy-internal-async-list-control
321
316
  infer="shipments"
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/elements/public/Transaction/Transaction.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 { Data } from './types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nconst NS = 'transaction';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Transaction summary page (`fx:transaction`).\n *\n * @element foxy-transaction\n * @since 1.17.0\n */\nexport class Transaction extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n hostedPaymentGatewaysHelper: { attribute: 'hosted-payment-gateways-helper' },\n paymentGatewaysHelper: { attribute: 'payment-gateways-helper' },\n getSubscriptionPageHref: { attribute: false },\n getCustomerPageHref: { attribute: false },\n localeCodes: { attribute: 'locale-codes' },\n };\n }\n\n /** URL of the `fx:hosted_payment_gateways` property helper resource. */\n hostedPaymentGatewaysHelper: string | null = null;\n\n /** URL of the `fx:payment_gateways` property helper resource. */\n paymentGatewaysHelper: string | null = null;\n\n /** Link to the `fx:locale_codes` property helper for currency formatting. */\n localeCodes: string | null = null;\n\n getSubscriptionPageHref: ((href: string) => string) | null = null;\n\n getCustomerPageHref: ((href: string) => string) | null = null;\n\n private readonly __webhooksBulkActions = [\n {\n name: 'refeed',\n onClick: async (selection: Resource<Rels.Webhook>[]) => {\n if (!this.data) return;\n\n // TODO remove ts-expect-error when SDK has the types\n // @ts-expect-error SDK types are incomplete\n const url = this.data._links['fx:send_webhooks'].href;\n const api = new Transaction.API(this);\n const response = await api.fetch(url, {\n method: 'POST',\n body: JSON.stringify({\n refeed_hooks: selection.map(hook => getResourceId(hook._links['self'].href)),\n event: 'refeed',\n }),\n });\n\n selection.forEach(hook => {\n Transaction.Rumour('').share({\n related: [\n ...selection.map(hook => hook._links['fx:logs'].href),\n ...selection.map(hook => hook._links['fx:statuses'].href),\n ],\n source: hook._links.self.href,\n data: hook,\n });\n });\n\n if (!response.ok) throw new Error(await response.text());\n },\n },\n ];\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [\n 'billing-addresses',\n 'datafeed',\n 'webhooks:dialog:url',\n super.readonlySelector,\n ];\n\n const isEditable = Boolean(this.data?._links['fx:void'] ?? this.data?._links['fx:refund']);\n if (!isEditable) alwaysMatch.push('items', 'attributes', 'custom-fields');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [\n 'billing-addresses:dialog:delete',\n 'billing-addresses:dialog:timestamps',\n 'webhooks:dialog:header:copy-json',\n 'webhooks:dialog:header:copy-id',\n 'webhooks:dialog:timestamps',\n 'webhooks:dialog:name',\n 'webhooks:dialog:query',\n 'webhooks:dialog:encryption-key',\n 'webhooks:dialog:delete',\n super.readonlySelector,\n ];\n\n const type = this.data?.type;\n\n if (!this.data?._links['fx:subscription']) alwaysMatch.unshift('subscription');\n if (type === 'subscription_modification') alwaysMatch.unshift('actions');\n\n if (type === 'updateinfo') {\n alwaysMatch.unshift('not=customer,subscription,payments,custom-fields,attributes');\n }\n\n if (type === 'subscription_cancellation') {\n alwaysMatch.unshift('not=customer,subscription,custom-fields,attributes');\n }\n\n if (!this.__storeLoader?.data?.use_webhook) alwaysMatch.unshift('datafeed');\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n const source = this.data?.source;\n const type = this.data?.type;\n\n let context = '';\n\n if (type === 'updateinfo') {\n if (!source || source?.startsWith('cit_')) {\n context = 'customer_changed_payment_method';\n } else if (source === 'mit_uoe') {\n context = 'admin_changed_payment_method_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_changed_payment_method';\n } else {\n context = 'admin_changed_payment_method';\n }\n } else if (type === 'subscription_modification') {\n if (!source || source?.startsWith('cit_')) {\n context = 'customer_changed_subscription';\n } else if (source === 'mit_uoe') {\n context = 'admin_changed_subscription_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_changed_subscription';\n } else {\n context = 'admin_changed_subscription';\n }\n } else if (type === 'subscription_renewal') {\n if (source === 'mit_recurring') {\n context = 'subscription_renewal_attempt';\n } else if (source === 'mit_recurring_reattempt_automated') {\n context = 'subscription_renewal_automated_reattempt';\n } else if (source === 'mit_recurring_reattempt_manual') {\n context = 'subscription_renewal_manual_reattempt';\n }\n } else if (type === 'subscription_cancellation') {\n if (source === 'cit_recurring_cancellation') {\n context = 'customer_canceled_subscription';\n } else if (source === 'mit_recurring_cancellation') {\n context = 'admin_canceled_subscription';\n }\n } else {\n if (this.data?._links['fx:subscription']) {\n if (source?.startsWith('cit_')) {\n context = 'customer_subscribed';\n } else if (source === 'mit_uoe') {\n context = 'admin_subscribed_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_subscribed';\n }\n } else {\n if (source?.startsWith('cit_')) {\n context = 'customer_placed_order';\n } else if (source === 'mit_uoe') {\n context = 'admin_placed_order_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_placed_order';\n }\n }\n }\n\n return {\n transaction_date: this.data?.transaction_date,\n ip_country: this.data?.ip_country,\n context,\n };\n }\n\n get headerCopyIdValue(): string {\n return this.data?.display_id?.toString() ?? '';\n }\n\n renderHeaderActions(): TemplateResult {\n return html`\n <foxy-internal-transaction-actions-control infer=\"actions\">\n </foxy-internal-transaction-actions-control>\n `;\n }\n\n renderBody(): TemplateResult {\n let shipmentsLink: string | undefined = undefined;\n let webhooksLink: string | undefined = undefined;\n let itemsLink: string | undefined = undefined;\n\n const alertStatuses = ['problem', 'pending_fraud_review', 'rejected', 'declined'];\n const hidden = this.hiddenSelector;\n\n if (this.data) {\n try {\n const shipmentsUrl = new URL(this.data._links['fx:shipments'].href);\n // TODO: Remove the ts-expect-error comment when SDK has the types\n // @ts-expect-error SDK doesn't have the types\n const webhooksUrl = new URL(this.__storeLoader?.data._links['fx:webhooks'].href ?? '');\n const itemsUrl = new URL(this.data._links['fx:items'].href);\n\n shipmentsUrl.searchParams.set('zoom', 'items:item_category');\n webhooksUrl.searchParams.set('event_resource', 'transaction');\n itemsUrl.searchParams.set('zoom', 'item_options');\n\n shipmentsLink = shipmentsUrl.toString();\n webhooksLink = webhooksUrl.toString();\n itemsLink = itemsUrl.toString();\n } catch {\n //\n }\n }\n\n return html`\n ${this.renderHeader()}\n ${alertStatuses.includes(this.data?.status ?? '')\n ? html`\n <p\n class=\"leading-xs text-body rounded bg-error-10 block\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n <foxy-i18n infer=\"header\" key=\"alert_status_${this.data?.status}\"></foxy-i18n>\n </p>\n `\n : ''}\n\n <foxy-internal-transaction-customer-control infer=\"customer\">\n </foxy-internal-transaction-customer-control>\n\n <div\n class=\"grid gap-s\"\n ?hidden=${hidden.matches('items', true) && hidden.matches('summary', true)}\n >\n <foxy-internal-async-list-control\n infer=\"items\"\n class=\"min-w-0\"\n first=${ifDefined(itemsLink)}\n limit=\"10\"\n item=\"foxy-item-card\"\n form=\"foxy-item-form\"\n alert\n wide\n .related=${[this.href]}\n .itemProps=${{ 'locale-codes': this.localeCodes }}\n .formProps=${{\n 'item-categories': this.__storeLoader?.data?._links['fx:item_categories'].href,\n 'locale-codes': this.localeCodes,\n 'store': this.data?._links['fx:store'].href,\n }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-transaction-summary-control infer=\"summary\" class=\"min-w-0\">\n </foxy-internal-transaction-summary-control>\n </div>\n\n <foxy-internal-async-list-control\n infer=\"billing-addresses\"\n first=${ifDefined(this.data?._links['fx:billing_addresses'].href)}\n item=\"foxy-billing-address-card\"\n form=\"foxy-address-form\"\n hide-create-button\n hide-delete-button\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"payments\"\n first=${ifDefined(this.data?._links['fx:payments'].href)}\n item=\"foxy-payment-card\"\n .itemProps=${{\n 'hosted-payment-gateways-helper': this.hostedPaymentGatewaysHelper,\n 'payment-gateways-helper': this.paymentGatewaysHelper,\n }}\n >\n </foxy-internal-async-list-control>\n\n <div\n class=\"grid gap-m sm-grid-cols-2\"\n ?hidden=${hidden.matches('custom-fields', true) && hidden.matches('attributes', true)}\n >\n <foxy-internal-async-list-control\n infer=\"custom-fields\"\n class=\"min-w-0\"\n first=${ifDefined(this.data?._links['fx:custom_fields'].href)}\n limit=\"5\"\n form=\"foxy-custom-field-form\"\n item=\"foxy-custom-field-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n class=\"min-w-0\"\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n limit=\"5\"\n form=\"foxy-attribute-form\"\n item=\"foxy-attribute-card\"\n alert\n >\n </foxy-internal-async-list-control>\n </div>\n\n <foxy-internal-async-list-control\n infer=\"shipments\"\n first=${ifDefined(shipmentsLink)}\n item=\"foxy-shipment-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"webhooks\"\n first=${ifDefined(webhooksLink)}\n item=\"foxy-webhook-card\"\n form=\"foxy-webhook-form\"\n hide-create-button\n hide-delete-button\n alert\n .bulkActions=${this.__webhooksBulkActions}\n .itemProps=${{ 'resource-uri': this.href }}\n .formProps=${{ 'resource-uri': this.href }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"datafeed\">\n <foxy-internal-switch-control infer=\"data-is-fed\"></foxy-internal-switch-control>\n <foxy-internal-transaction-post-action-control\n infer=\"process-webhook\"\n href=${ifDefined(this.data?._links['fx:process_webhook']?.href)}\n >\n </foxy-internal-transaction-post-action-control>\n </foxy-internal-summary-control>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=\"storeLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>('#storeLoader');\n }\n}\n"]}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/elements/public/Transaction/Transaction.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 { Data } from './types';\nimport type { Rels } from '@foxy.io/sdk/backend';\n\nimport { BooleanSelector, getResourceId } from '@foxy.io/sdk/core';\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { ResponsiveMixin } from '../../../mixins/responsive';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\nconst NS = 'transaction';\nconst Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));\n\n/**\n * Transaction summary page (`fx:transaction`).\n *\n * @element foxy-transaction\n * @since 1.17.0\n */\nexport class Transaction extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n hostedPaymentGatewaysHelper: { attribute: 'hosted-payment-gateways-helper' },\n paymentGatewaysHelper: { attribute: 'payment-gateways-helper' },\n getSubscriptionPageHref: { attribute: false },\n getCustomerPageHref: { attribute: false },\n localeCodes: { attribute: 'locale-codes' },\n };\n }\n\n /** URL of the `fx:hosted_payment_gateways` property helper resource. */\n hostedPaymentGatewaysHelper: string | null = null;\n\n /** URL of the `fx:payment_gateways` property helper resource. */\n paymentGatewaysHelper: string | null = null;\n\n /** Link to the `fx:locale_codes` property helper for currency formatting. */\n localeCodes: string | null = null;\n\n getSubscriptionPageHref: ((href: string) => string) | null = null;\n\n getCustomerPageHref: ((href: string) => string) | null = null;\n\n private readonly __webhooksBulkActions = [\n {\n name: 'refeed',\n onClick: async (selection: Resource<Rels.Webhook>[]) => {\n if (!this.data) return;\n\n // TODO remove ts-expect-error when SDK has the types\n // @ts-expect-error SDK types are incomplete\n const url = this.data._links['fx:send_webhooks'].href;\n const api = new Transaction.API(this);\n const response = await api.fetch(url, {\n method: 'POST',\n body: JSON.stringify({\n refeed_hooks: selection.map(hook => getResourceId(hook._links['self'].href)),\n event: 'refeed',\n }),\n });\n\n selection.forEach(hook => {\n Transaction.Rumour('').share({\n related: [\n ...selection.map(hook => hook._links['fx:logs'].href),\n ...selection.map(hook => hook._links['fx:statuses'].href),\n ],\n source: hook._links.self.href,\n data: hook,\n });\n });\n\n if (!response.ok) throw new Error(await response.text());\n },\n },\n ];\n\n get readonlySelector(): BooleanSelector {\n const alwaysMatch = [\n 'billing-addresses',\n 'datafeed',\n 'webhooks:dialog:url',\n super.readonlySelector,\n ];\n\n const isEditable = Boolean(this.data?._links['fx:void'] ?? this.data?._links['fx:refund']);\n if (!isEditable) alwaysMatch.push('items', 'attributes', 'custom-fields');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = [\n 'billing-addresses:dialog:delete',\n 'billing-addresses:dialog:timestamps',\n 'webhooks:dialog:header:copy-json',\n 'webhooks:dialog:header:copy-id',\n 'webhooks:dialog:timestamps',\n 'webhooks:dialog:name',\n 'webhooks:dialog:query',\n 'webhooks:dialog:encryption-key',\n 'webhooks:dialog:delete',\n super.readonlySelector,\n ];\n\n const type = this.data?.type;\n\n if (!this.data?._links['fx:subscription']) alwaysMatch.unshift('subscription');\n if (type === 'subscription_modification') alwaysMatch.unshift('actions');\n\n if (type === 'updateinfo') {\n alwaysMatch.unshift('not=customer,subscription,payments,custom-fields,attributes');\n }\n\n if (type === 'subscription_cancellation') {\n alwaysMatch.unshift('not=customer,subscription,custom-fields,attributes');\n }\n\n if (!this.__storeLoader?.data?.use_webhook) alwaysMatch.unshift('datafeed');\n\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n const source = this.data?.source;\n const type = this.data?.type;\n\n let context = '';\n\n if (type === 'updateinfo') {\n if (!source || source?.startsWith('cit_')) {\n context = 'customer_changed_payment_method';\n } else if (source === 'mit_uoe') {\n context = 'admin_changed_payment_method_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_changed_payment_method';\n } else {\n context = 'admin_changed_payment_method';\n }\n } else if (type === 'subscription_modification') {\n if (!source || source?.startsWith('cit_')) {\n context = 'customer_changed_subscription';\n } else if (source === 'mit_uoe') {\n context = 'admin_changed_subscription_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_changed_subscription';\n } else {\n context = 'admin_changed_subscription';\n }\n } else if (type === 'subscription_renewal') {\n if (source === 'mit_recurring') {\n context = 'subscription_renewal_attempt';\n } else if (source === 'mit_recurring_reattempt_automated') {\n context = 'subscription_renewal_automated_reattempt';\n } else if (source === 'mit_recurring_reattempt_manual') {\n context = 'subscription_renewal_manual_reattempt';\n }\n } else if (type === 'subscription_cancellation') {\n if (source === 'cit_recurring_cancellation') {\n context = 'customer_canceled_subscription';\n } else if (source === 'mit_recurring_cancellation') {\n context = 'admin_canceled_subscription';\n }\n } else {\n if (this.data?._links['fx:subscription']) {\n if (source?.startsWith('cit_')) {\n context = 'customer_subscribed';\n } else if (source === 'mit_uoe') {\n context = 'admin_subscribed_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_subscribed';\n }\n } else {\n if (source?.startsWith('cit_')) {\n context = 'customer_placed_order';\n } else if (source === 'mit_uoe') {\n context = 'admin_placed_order_with_uoe';\n } else if (source === 'mit_api') {\n context = 'integration_placed_order';\n }\n }\n }\n\n return {\n transaction_date: this.data?.transaction_date,\n ip_country: this.data?.ip_country,\n context,\n };\n }\n\n get headerCopyIdValue(): string {\n return this.data?.display_id?.toString() ?? '';\n }\n\n renderHeaderActions(): TemplateResult {\n return html`\n <foxy-internal-transaction-actions-control infer=\"actions\">\n </foxy-internal-transaction-actions-control>\n `;\n }\n\n renderBody(): TemplateResult {\n let shipmentsLink: string | undefined = undefined;\n let webhooksLink: string | undefined = undefined;\n let itemsLink: string | undefined = undefined;\n\n const alertStatuses = ['problem', 'pending_fraud_review', 'rejected', 'declined'];\n const hidden = this.hiddenSelector;\n\n if (this.data) {\n try {\n const shipmentsUrl = new URL(this.data._links['fx:shipments'].href);\n // TODO: Remove the ts-expect-error comment when SDK has the types\n // @ts-expect-error SDK doesn't have the types\n const webhooksUrl = new URL(this.__storeLoader?.data._links['fx:webhooks'].href ?? '');\n const itemsUrl = new URL(this.data._links['fx:items'].href);\n\n shipmentsUrl.searchParams.set('zoom', 'items:item_category');\n webhooksUrl.searchParams.set('event_resource', 'transaction');\n itemsUrl.searchParams.set('zoom', 'item_options');\n\n shipmentsLink = shipmentsUrl.toString();\n webhooksLink = webhooksUrl.toString();\n itemsLink = itemsUrl.toString();\n } catch {\n //\n }\n }\n\n return html`\n ${this.renderHeader()}\n ${alertStatuses.includes(this.data?.status ?? '')\n ? html`\n <p\n class=\"leading-xs text-body rounded bg-error-10 block\"\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n <foxy-i18n infer=\"header\" key=\"alert_status_${this.data?.status}\"></foxy-i18n>\n </p>\n `\n : ''}\n\n <foxy-internal-transaction-customer-control infer=\"customer\">\n </foxy-internal-transaction-customer-control>\n\n <div\n class=\"grid gap-s\"\n ?hidden=${hidden.matches('items', true) && hidden.matches('summary', true)}\n >\n <foxy-internal-async-list-control\n infer=\"items\"\n class=\"min-w-0\"\n first=${ifDefined(itemsLink)}\n limit=\"10\"\n item=\"foxy-item-card\"\n form=\"foxy-item-form\"\n alert\n wide\n .related=${[this.href]}\n .itemProps=${{ 'locale-codes': this.localeCodes }}\n .formProps=${{\n 'item-categories': this.__storeLoader?.data?._links['fx:item_categories'].href,\n 'locale-codes': this.localeCodes,\n 'store': this.data?._links['fx:store'].href,\n }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-transaction-summary-control infer=\"summary\" class=\"min-w-0\">\n </foxy-internal-transaction-summary-control>\n </div>\n\n <foxy-internal-async-list-control\n infer=\"billing-addresses\"\n first=${ifDefined(this.data?._links['fx:billing_addresses'].href)}\n item=\"foxy-billing-address-card\"\n form=\"foxy-address-form\"\n hide-create-button\n hide-delete-button\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"payments\"\n first=${ifDefined(this.data?._links['fx:payments'].href)}\n item=\"foxy-payment-card\"\n .itemProps=${{\n 'hosted-payment-gateways-helper': this.hostedPaymentGatewaysHelper,\n 'payment-gateways-helper': this.paymentGatewaysHelper,\n }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"custom-fields\"\n class=\"min-w-0\"\n first=${ifDefined(this.data?._links['fx:custom_fields'].href)}\n limit=\"5\"\n form=\"foxy-custom-field-form\"\n item=\"foxy-custom-field-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"attributes\"\n class=\"min-w-0\"\n first=${ifDefined(this.data?._links['fx:attributes'].href)}\n limit=\"5\"\n form=\"foxy-attribute-form\"\n item=\"foxy-attribute-card\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"shipments\"\n first=${ifDefined(shipmentsLink)}\n item=\"foxy-shipment-card\"\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"webhooks\"\n first=${ifDefined(webhooksLink)}\n item=\"foxy-webhook-card\"\n form=\"foxy-webhook-form\"\n hide-create-button\n hide-delete-button\n alert\n .bulkActions=${this.__webhooksBulkActions}\n .itemProps=${{ 'resource-uri': this.href }}\n .formProps=${{ 'resource-uri': this.href }}\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-summary-control infer=\"datafeed\">\n <foxy-internal-switch-control infer=\"data-is-fed\"></foxy-internal-switch-control>\n <foxy-internal-transaction-post-action-control\n infer=\"process-webhook\"\n href=${ifDefined(this.data?._links['fx:process_webhook']?.href)}\n >\n </foxy-internal-transaction-post-action-control>\n </foxy-internal-summary-control>\n\n <foxy-nucleon\n class=\"hidden\"\n infer=\"\"\n href=${ifDefined(this.data?._links['fx:store'].href)}\n id=\"storeLoader\"\n @update=${() => this.requestUpdate()}\n >\n </foxy-nucleon>\n `;\n }\n\n private get __storeLoader() {\n type Loader = NucleonElement<Resource<Rels.Store>>;\n return this.renderRoot.querySelector<Loader>('#storeLoader');\n }\n}\n"]}
@@ -22,15 +22,13 @@ export class InternalTransactionCustomerControl extends InternalControl {
22
22
  const customerHref = (_a = host === null || host === void 0 ? void 0 : host.data) === null || _a === void 0 ? void 0 : _a._links['fx:customer'].href;
23
23
  const customerPageHref = customerHref ? (_b = host === null || host === void 0 ? void 0 : host.getCustomerPageHref) === null || _b === void 0 ? void 0 : _b.call(host, customerHref) : void 0;
24
24
  return html `
25
- <foxy-i18n infer="" class="block text-s font-medium leading-xs mb-xs" key="label">
26
- </foxy-i18n>
25
+ <foxy-i18n infer="" class="block text-l font-medium leading-xs mb-s" key="label"> </foxy-i18n>
27
26
 
28
27
  <foxy-swipe-actions>
29
28
  <a
30
29
  class=${classMap({
31
- 'block ring-inset rounded transition-colors': true,
32
- 'ring-1 ring-contrast-10': !customerPageHref,
33
- 'cursor-pointer bg-contrast-5 hover-bg-contrast-10': !!customerPageHref,
30
+ 'block ring-inset rounded transition-colors bg-contrast-5': true,
31
+ 'cursor-pointer hover-bg-contrast-10': !!customerPageHref,
34
32
  'focus-outline-none focus-ring-2 focus-ring-primary-50': !!customerPageHref,
35
33
  })}
36
34
  style="padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
@@ -1 +1 @@
1
- {"version":3,"file":"InternalTransactionCustomerControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { SVGTemplateResult, TemplateResult } from 'lit-html';\nimport type { Transaction } from '../../Transaction';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { getResourceId } from '@foxy.io/sdk/core';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, svg } from 'lit-html';\nimport { classMap } from '../../../../../utils/class-map';\n\nexport class InternalTransactionCustomerControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __copyEmailState: { attribute: false },\n __copyIdState: { attribute: false },\n };\n }\n\n private __copyEmailState: 'idle' | 'busy' | 'done' | 'fail' = 'idle';\n\n private __copyIdState: 'idle' | 'busy' | 'done' | 'fail' = 'idle';\n\n renderControl(): TemplateResult {\n const host = this.nucleon as Transaction | null;\n const customerHref = host?.data?._links['fx:customer'].href;\n const customerPageHref = customerHref ? host?.getCustomerPageHref?.(customerHref) : void 0;\n\n return html`\n <foxy-i18n infer=\"\" class=\"block text-s font-medium leading-xs mb-xs\" key=\"label\">\n </foxy-i18n>\n\n <foxy-swipe-actions>\n <a\n class=${classMap({\n 'block ring-inset rounded transition-colors': true,\n 'ring-1 ring-contrast-10': !customerPageHref,\n 'cursor-pointer bg-contrast-5 hover-bg-contrast-10': !!customerPageHref,\n 'focus-outline-none focus-ring-2 focus-ring-primary-50': !!customerPageHref,\n })}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n href=${ifDefined(customerPageHref)}\n >\n <foxy-customer-card infer=\"\" href=${ifDefined(customerHref)}></foxy-customer-card>\n </a>\n\n <div class=\"h-full grid grid-cols-2 gap-s ml-s\" slot=\"action\">\n ${this.__renderCopyAction(\n svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1.2rem; height: 1.2rem\"><path fill-rule=\"evenodd\" d=\"M9.493 2.852a.75.75 0 0 0-1.486-.204L7.545 6H4.198a.75.75 0 0 0 0 1.5h3.14l-.69 5H3.302a.75.75 0 0 0 0 1.5h3.14l-.435 3.148a.75.75 0 0 0 1.486.204L7.955 14h2.986l-.434 3.148a.75.75 0 0 0 1.486.204L12.456 14h3.346a.75.75 0 0 0 0-1.5h-3.14l.69-5h3.346a.75.75 0 0 0 0-1.5h-3.14l.435-3.148a.75.75 0 0 0-1.486-.204L12.045 6H9.059l.434-3.148ZM8.852 7.5l-.69 5h2.986l.69-5H8.852Z\" clip-rule=\"evenodd\" /></svg>`,\n 'copy_id_caption',\n '__copyIdState',\n customerHref ? String(getResourceId(customerHref)) : ''\n )}\n ${this.__renderCopyAction(\n svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1.2rem; height: 1.2rem\"><path fill-rule=\"evenodd\" d=\"M5.404 14.596A6.5 6.5 0 1 1 16.5 10a1.25 1.25 0 0 1-2.5 0 4 4 0 1 0-.571 2.06A2.75 2.75 0 0 0 18 10a8 8 0 1 0-2.343 5.657.75.75 0 0 0-1.06-1.06 6.5 6.5 0 0 1-9.193 0ZM10 7.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\" clip-rule=\"evenodd\" /></svg>`,\n 'copy_email_caption',\n '__copyEmailState',\n host?.data?.customer_email ?? ''\n )}\n </div>\n </foxy-swipe-actions>\n `;\n }\n\n private __renderCopyAction(\n icon: SVGTemplateResult,\n caption: string,\n stateKey: '__copyIdState' | '__copyEmailState',\n textToCopy: string\n ) {\n const state = this[stateKey];\n const spinnerState = state === 'fail' ? 'error' : state === 'done' ? 'end' : 'busy';\n\n return html`\n <button\n class=\"relative transition-colors bg-contrast-5 text-body hover-bg-contrast-10 rounded h-full py-0 px-m focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50\"\n ?disabled=${state !== 'idle'}\n @click=${() => state === 'idle' && this.__copy(textToCopy, stateKey)}\n @focusout=${(evt: Event) => state !== 'idle' && evt.stopPropagation()}\n @mouseout=${(evt: Event) => state !== 'idle' && evt.stopPropagation()}\n >\n <div\n class=${classMap({\n 'relative flex flex-col items-center justify-center transition-opacity': true,\n 'opacity-0': state !== 'idle',\n })}\n >\n ${icon}\n <foxy-i18n class=\"mt-xs text-s font-medium leading-none\" infer=\"\" key=${caption}>\n </foxy-i18n>\n </div>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" state=${spinnerState} infer=\"spinner\"> </foxy-spinner>\n </div>\n </button>\n `;\n }\n\n private async __copy(text: string, stateKey: '__copyIdState' | '__copyEmailState') {\n this[stateKey] = 'busy';\n\n try {\n await navigator.clipboard.writeText(text);\n this[stateKey] = 'done';\n } catch {\n this[stateKey] = 'fail';\n }\n\n setTimeout(() => (this[stateKey] = 'idle'), 3000);\n }\n}\n"]}
1
+ {"version":3,"file":"InternalTransactionCustomerControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/Transaction/internal/InternalTransactionCustomerControl/InternalTransactionCustomerControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { SVGTemplateResult, TemplateResult } from 'lit-html';\nimport type { Transaction } from '../../Transaction';\n\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { getResourceId } from '@foxy.io/sdk/core';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, svg } from 'lit-html';\nimport { classMap } from '../../../../../utils/class-map';\n\nexport class InternalTransactionCustomerControl extends InternalControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n __copyEmailState: { attribute: false },\n __copyIdState: { attribute: false },\n };\n }\n\n private __copyEmailState: 'idle' | 'busy' | 'done' | 'fail' = 'idle';\n\n private __copyIdState: 'idle' | 'busy' | 'done' | 'fail' = 'idle';\n\n renderControl(): TemplateResult {\n const host = this.nucleon as Transaction | null;\n const customerHref = host?.data?._links['fx:customer'].href;\n const customerPageHref = customerHref ? host?.getCustomerPageHref?.(customerHref) : void 0;\n\n return html`\n <foxy-i18n infer=\"\" class=\"block text-l font-medium leading-xs mb-s\" key=\"label\"> </foxy-i18n>\n\n <foxy-swipe-actions>\n <a\n class=${classMap({\n 'block ring-inset rounded transition-colors bg-contrast-5': true,\n 'cursor-pointer hover-bg-contrast-10': !!customerPageHref,\n 'focus-outline-none focus-ring-2 focus-ring-primary-50': !!customerPageHref,\n })}\n style=\"padding: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n href=${ifDefined(customerPageHref)}\n >\n <foxy-customer-card infer=\"\" href=${ifDefined(customerHref)}></foxy-customer-card>\n </a>\n\n <div class=\"h-full grid grid-cols-2 gap-s ml-s\" slot=\"action\">\n ${this.__renderCopyAction(\n svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1.2rem; height: 1.2rem\"><path fill-rule=\"evenodd\" d=\"M9.493 2.852a.75.75 0 0 0-1.486-.204L7.545 6H4.198a.75.75 0 0 0 0 1.5h3.14l-.69 5H3.302a.75.75 0 0 0 0 1.5h3.14l-.435 3.148a.75.75 0 0 0 1.486.204L7.955 14h2.986l-.434 3.148a.75.75 0 0 0 1.486.204L12.456 14h3.346a.75.75 0 0 0 0-1.5h-3.14l.69-5h3.346a.75.75 0 0 0 0-1.5h-3.14l.435-3.148a.75.75 0 0 0-1.486-.204L12.045 6H9.059l.434-3.148ZM8.852 7.5l-.69 5h2.986l.69-5H8.852Z\" clip-rule=\"evenodd\" /></svg>`,\n 'copy_id_caption',\n '__copyIdState',\n customerHref ? String(getResourceId(customerHref)) : ''\n )}\n ${this.__renderCopyAction(\n svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" style=\"width: 1.2rem; height: 1.2rem\"><path fill-rule=\"evenodd\" d=\"M5.404 14.596A6.5 6.5 0 1 1 16.5 10a1.25 1.25 0 0 1-2.5 0 4 4 0 1 0-.571 2.06A2.75 2.75 0 0 0 18 10a8 8 0 1 0-2.343 5.657.75.75 0 0 0-1.06-1.06 6.5 6.5 0 0 1-9.193 0ZM10 7.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z\" clip-rule=\"evenodd\" /></svg>`,\n 'copy_email_caption',\n '__copyEmailState',\n host?.data?.customer_email ?? ''\n )}\n </div>\n </foxy-swipe-actions>\n `;\n }\n\n private __renderCopyAction(\n icon: SVGTemplateResult,\n caption: string,\n stateKey: '__copyIdState' | '__copyEmailState',\n textToCopy: string\n ) {\n const state = this[stateKey];\n const spinnerState = state === 'fail' ? 'error' : state === 'done' ? 'end' : 'busy';\n\n return html`\n <button\n class=\"relative transition-colors bg-contrast-5 text-body hover-bg-contrast-10 rounded h-full py-0 px-m focus-outline-none focus-ring-2 focus-ring-inset focus-ring-primary-50\"\n ?disabled=${state !== 'idle'}\n @click=${() => state === 'idle' && this.__copy(textToCopy, stateKey)}\n @focusout=${(evt: Event) => state !== 'idle' && evt.stopPropagation()}\n @mouseout=${(evt: Event) => state !== 'idle' && evt.stopPropagation()}\n >\n <div\n class=${classMap({\n 'relative flex flex-col items-center justify-center transition-opacity': true,\n 'opacity-0': state !== 'idle',\n })}\n >\n ${icon}\n <foxy-i18n class=\"mt-xs text-s font-medium leading-none\" infer=\"\" key=${caption}>\n </foxy-i18n>\n </div>\n <div\n class=${classMap({\n 'absolute inset-0 flex items-center justify-center transition-opacity': true,\n 'opacity-0': state === 'idle',\n })}\n >\n <foxy-spinner layout=\"no-label\" state=${spinnerState} infer=\"spinner\"> </foxy-spinner>\n </div>\n </button>\n `;\n }\n\n private async __copy(text: string, stateKey: '__copyIdState' | '__copyEmailState') {\n this[stateKey] = 'busy';\n\n try {\n await navigator.clipboard.writeText(text);\n this[stateKey] = 'done';\n } catch {\n this[stateKey] = 'fail';\n }\n\n setTimeout(() => (this[stateKey] = 'idle'), 3000);\n }\n}\n"]}
@@ -505,10 +505,6 @@ input::-webkit-date-and-time-value{
505
505
  grid-column: span 2 / span 2;
506
506
  }
507
507
 
508
- :host([md]) .md-col-span-2 {
509
- grid-column: span 2 / span 2;
510
- }
511
-
512
508
  .float-left {
513
509
  float: left;
514
510
  }
@@ -1171,18 +1167,6 @@ input::-webkit-date-and-time-value{
1171
1167
  grid-template-columns: repeat(2, minmax(0, 1fr));
1172
1168
  }
1173
1169
 
1174
- :host([sm]) .sm-grid-cols-3 {
1175
- grid-template-columns: repeat(3, minmax(0, 1fr));
1176
- }
1177
-
1178
- :host([sm]) .sm-grid-cols-4 {
1179
- grid-template-columns: repeat(4, minmax(0, 1fr));
1180
- }
1181
-
1182
- :host([md]) .md-grid-cols-4 {
1183
- grid-template-columns: repeat(4, minmax(0, 1fr));
1184
- }
1185
-
1186
1170
  .grid-rows-2 {
1187
1171
  grid-template-rows: repeat(2, minmax(0, 1fr));
1188
1172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAA0C,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAkB,EACkB,EAAE;IACtC,OAAO,MAAM,gBAAiB,SAAQ,WAAW;QAC/C,MAAM,KAAK,MAAM;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAEjC,OAAO;gBACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA+IF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI;IACF,cAAc,CACZ,yBAAyB,EACzB,GAAG;;;;;;;;KASF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,eAAe,EACf,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,uEAAuE;IACvE,cAAc,CACZ,aAAa,EACb,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAU,SAAQ,mBAAmB,CACzD,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAC5C;CAAG","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n color: var(--lumo-body-text-color);\n line-height: var(--lumo-line-height-m);\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-checkbox-group,\n vaadin-radio-group,\n vaadin-combo-box::part(text-field),\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-text-area::part(label),\n vaadin-text-field::part(label),\n vaadin-date-picker::part(label),\n vaadin-email-field::part(label),\n vaadin-number-field::part(label),\n vaadin-custom-field::part(label),\n vaadin-integer-field::part(label),\n vaadin-password-field::part(label),\n vaadin-checkbox-group::part(label),\n vaadin-radio-group::part(label),\n vaadin-combo-box::part(label),\n vaadin-date-picker::part(label) {\n margin-left: 0;\n }\n\n vaadin-time-picker,\n vaadin-date-time-picker {\n width: 100%;\n }\n\n vaadin-button,\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n [hidden] {\n display: none !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .max-w-modal-wide {\n max-width: 50rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker',\n css`\n vaadin-date-time-picker-custom-field {\n --lumo-text-field-size: auto;\n padding: 0;\n }\n\n vaadin-date-time-picker-custom-field::part(label) {\n padding-bottom: 0.5em;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-date-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-date-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-time-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-time-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-button',\n css`\n :host([theme~='primary']) {\n font-weight: 500;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n /** https://github.com/vaadin-component-factory/vcf-tooltip/issues/6 */\n registerStyles(\n 'vcf-tooltip',\n css`\n :host([hidden]) [part='container'] {\n display: none !important;\n }\n `\n );\n} catch {\n // ignore\n}\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
1
+ {"version":3,"file":"themeable.js","sourceRoot":"","sources":["../../src/mixins/themeable.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,OAAO,EAA0C,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,eAAe,EAAE,wBAAqB;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAI/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,WAAkB,EACkB,EAAE;IACtC,OAAO,MAAM,gBAAiB,SAAQ,WAAW;QAC/C,MAAM,KAAK,MAAM;YACf,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;YAEjC,OAAO;gBACL,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA+IF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI;IACF,cAAc,CACZ,yBAAyB,EACzB,GAAG;;;;;;;;KASF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,qCAAqC,EACrC,GAAG;;;;;;;KAOF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,cAAc,CACZ,eAAe,EACf,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED,IAAI;IACF,uEAAuE;IACvE,cAAc,CACZ,aAAa,EACb,GAAG;;;KAIF,CACF,CAAC;CACH;AAAC,WAAM;IACN,SAAS;CACV;AAED;;;;;;;GAOG;AACH,MAAM,OAAgB,SAAU,SAAQ,mBAAmB,CACzD,eAAe,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAC5C;CAAG","sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { CSSResult, CSSResultArray, Constructor, LitElement, css } from 'lit-element';\n\nimport { ResponsiveMixin } from './responsive';\nimport { ScopedElementsMixin } from '@open-wc/scoped-elements';\nimport { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles';\n\ntype Base = Constructor<LitElement> & { styles?: CSSResult | CSSResultArray | CSSStyleSheet };\n\nexport const ThemeableMixin = <TBase extends Base>(\n BaseElement: TBase\n): TBase & { styles: CSSResultArray } => {\n return class ThemeableElement extends BaseElement {\n static get styles(): CSSResultArray {\n const originalCSS = super.styles;\n\n return [\n ...(originalCSS ? (Array.isArray(originalCSS) ? originalCSS : [originalCSS]) : []),\n css`\n @tailwind base;\n\n * {\n -webkit-tap-highlight-color: transparent;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n\n :host {\n display: block;\n color: var(--lumo-body-text-color);\n line-height: var(--lumo-line-height-m);\n font: normal var(--lumo-font-size-m) var(--lumo-font-family);\n }\n\n details > summary::-webkit-details-marker {\n display: none;\n }\n\n details > summary {\n list-style: none;\n }\n\n vaadin-select {\n margin-top: -4px;\n margin-bottom: -4px;\n }\n\n vaadin-text-area,\n vaadin-text-field,\n vaadin-date-picker,\n vaadin-email-field,\n vaadin-number-field,\n vaadin-custom-field,\n vaadin-integer-field,\n vaadin-password-field,\n vaadin-checkbox-group,\n vaadin-radio-group,\n vaadin-combo-box::part(text-field),\n vaadin-date-picker::part(text-field) {\n padding-top: 0;\n padding-bottom: 0;\n }\n\n vaadin-text-area::part(label),\n vaadin-text-field::part(label),\n vaadin-date-picker::part(label),\n vaadin-email-field::part(label),\n vaadin-number-field::part(label),\n vaadin-custom-field::part(label),\n vaadin-integer-field::part(label),\n vaadin-password-field::part(label),\n vaadin-checkbox-group::part(label),\n vaadin-radio-group::part(label),\n vaadin-combo-box::part(label),\n vaadin-date-picker::part(label) {\n margin-left: 0;\n }\n\n vaadin-time-picker,\n vaadin-date-time-picker {\n width: 100%;\n }\n\n vaadin-button,\n vaadin-checkbox::part(checkbox) {\n margin: 0;\n }\n\n vaadin-checkbox::part(label) {\n margin: 0.1875em var(--lumo-space-m);\n }\n\n .appearance-none {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n\n .appearance-none::-webkit-calendar-picker-indicator,\n .appearance-none::-webkit-outer-spin-button,\n .appearance-none::-webkit-inner-spin-button,\n .appearance-none::-webkit-list-button {\n opacity: 0 !important;\n width: 0 !important;\n margin: 0 !important;\n padding: 0 !important;\n }\n\n input::-webkit-date-and-time-value {\n text-align: inherit !important;\n }\n\n [hidden] {\n display: none !important;\n }\n\n @tailwind components;\n\n @tailwind utilities;\n\n @layer utilities {\n .border-radius-overflow-fix {\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n }\n\n @variants sm, md, lg, xl {\n .grid-rows-auto {\n grid-auto-rows: 1fr;\n }\n\n .icon-inline {\n --iron-icon-height: 1em;\n --iron-icon-width: 1em;\n }\n\n .bg-blurred {\n backdrop-filter: blur(25px);\n background: var(--lumo-tint-80pct);\n }\n\n .max-w-modal {\n max-width: 28rem;\n }\n\n .max-w-modal-wide {\n max-width: 50rem;\n }\n\n .w-narrow-modal {\n width: 18rem;\n }\n\n .snap-x-mandatory {\n scroll-snap-type: x mandatory;\n }\n\n .snap-start {\n scroll-snap-align: start;\n }\n }\n }\n `,\n ];\n }\n };\n};\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker',\n css`\n vaadin-date-time-picker-custom-field {\n --lumo-text-field-size: auto;\n padding: 0;\n }\n\n vaadin-date-time-picker-custom-field::part(label) {\n padding-bottom: 0.5em;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-date-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-date-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-date-time-picker-time-picker',\n css`\n :host {\n --lumo-text-field-size: auto;\n }\n vaadin-date-time-picker-time-text-field {\n padding: 0;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n registerStyles(\n 'vaadin-button',\n css`\n :host([theme~='primary']) {\n font-weight: 500;\n }\n `\n );\n} catch {\n // ignore\n}\n\ntry {\n /** https://github.com/vaadin-component-factory/vcf-tooltip/issues/6 */\n registerStyles(\n 'vcf-tooltip',\n css`\n :host([hidden]) [part='container'] {\n display: none !important;\n }\n `\n );\n} catch {\n // ignore\n}\n\n/**\n * One of the base classes for each rel-specific element in the collection\n * providing shared TailwindCSS styles for Shadow DOM content.\n * This class MUST NOT be used on its own (hence the `abstract` keyword) or\n * referenced externally (outside of the package).\n *\n * @deprecated\n */\nexport abstract class Themeable extends ScopedElementsMixin(\n ResponsiveMixin(ThemeableMixin(LitElement))\n) {}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@foxy.io/elements",
3
3
  "type": "module",
4
- "version": "1.32.0-beta.7",
4
+ "version": "1.33.0-beta.1",
5
5
  "description": "E-commerce web components by Foxy.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1 +0,0 @@
1
- import"./shared-300253d2.js";import"./shared-5dc12ee6.js";import{I as t}from"./shared-d01bb075.js";import{I as e}from"./shared-82c14038.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-form-dialog.js";import"./shared-19520c9d.js";import{_ as s,m as i}from"./shared-d1195c27.js";import{h as r,s as o}from"./shared-dc73b9a5.js";import{s as l}from"./shared-99940888.js";import{g as n}from"./shared-bab2ea2c.js";import{F as a}from"./shared-343d1fd7.js";import{i as d}from"./shared-9803aa7c.js";import{c as h}from"./shared-4e709717.js";import{u as c}from"./shared-e8b8c8d0.js";let u,p=t=>t;let f,y,m,v,x,b,g,$,_=t=>t;customElements.define("foxy-internal-resource-picker-control-form",class extends e{constructor(){super(...arguments),this.selectionProps={}}static get properties(){return s(s({},super.properties),{},{selectionProps:{attribute:!1}})}static get v8n(){return[({selection:t})=>void 0!==t||"silent:selection_required"]}renderBody(){return r(u||(u=p` <foxy-internal-async-list-control infer="selection" form="foxy-null" hide-delete-button hide-create-button @itemclick="${0}" ...="${0}"> </foxy-internal-async-list-control> `),(t=>{t.preventDefault(),this.edit({selection:t.detail}),this.submit()}),l(this.selectionProps))}}),customElements.define("foxy-internal-resource-picker-control",class extends t{constructor(){super(...arguments),this.getDisplayValueOptions=t=>({resource:t}),this.showCopyIdButton=!1,this.virtualHost=c("internal-resource-picker-control-"),this.getItemUrl=null,this.formProps={},this.filters=[],this.layout=null,this.first=null,this.item=null,this.form=null,this.__getItemRenderer=i((t=>new Function("ctx",`return ctx.html\`\n <${null!=t?t:"foxy-null"}\n related=\${JSON.stringify(ctx.related)}\n parent=\${ctx.parent}\n infer="card"\n href=\${ctx.href}\n ...=\${ctx.spread(ctx.props)}\n >\n </${null!=t?t:"foxy-null"}>\``)))}static get properties(){return s(s({},super.properties),{},{getDisplayValueOptions:{attribute:!1},showCopyIdButton:{type:Boolean,attribute:"show-copy-id-button"},virtualHost:{},getItemUrl:{attribute:!1},formProps:{type:Object},filters:{type:Array},layout:{},first:{},item:{},form:{}})}renderControl(){var t;const e=s(s({},this.formProps),{},{".selectionProps":{".filters":this.filters,".first":this.first,".item":this.item}});return r(f||(f=_` <foxy-form-dialog parent="foxy://${0}/select" header="header" infer="dialog" alert .props="${0}" .form="${0}" @fetch="${0}"> </foxy-form-dialog> ${0} `),this.virtualHost,e,null!==(t=this.form)&&void 0!==t?t:"foxy-internal-resource-picker-control-form",this.__handleFetchEvent,"summary-item"===this.layout?this.__renderSummaryItemLayout():this.__renderStandaloneLayout())}updated(t){var e,s;super.updated(t),t.has("item")&&(null===(s=(e=this.__getItemRenderer.cache).clear)||void 0===s||s.call(e))}__clear(){this._value="",this.dispatchEvent(new CustomEvent("clear"))}__renderSummaryItemLayout(){const t=this.renderRoot.querySelector("#value");return r(y||(y=_` <div class="flex items-start leading-xs gap-m"> <div class="flex-1"> <div class="text-m text-body whitespace-nowrap">${0}</div> <div class="text-s text-secondary">${0}</div> <div class="text-s text-error" ?hidden="${0}"> ${0} </div> </div> <div class="flex items-center gap-xs"> <button aria-label="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <div class="truncate min-w-0"> ${0} </div> </button> <button aria-label="${0}" class="${0}" style="width:1em;height:1em" ?disabled="${0}" ?hidden="${0}" @click="${0}"> ${0} </button> </div> </div> <foxy-nucleon infer="" href="${0}" id="value" @update="${0}"> </foxy-nucleon> `),this.label,this.helperText,this.disabled||this.readonly,this._errorMessage,this.t("select"),h({"text-right min-w-0 transition-colors transition-opacity":!0,"rounded-s focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"text-secondary":this.readonly,"text-disabled":this.disabled,"cursor-pointer text-body hover-opacity-80":!this.disabled&&!this.readonly,"font-medium":!this.readonly}),this.disabled||this.readonly,(t=>{if(this.disabled||this.readonly)return;const e=t.currentTarget,s=this.renderRoot.querySelector("foxy-form-dialog");s.href="",s.show(e)}),this._value?r(m||(m=_` <foxy-i18n infer="" key="value" .options="${0}"> </foxy-i18n> `),(null==t?void 0:t.data)?this.getDisplayValueOptions(t.data):{context:(null==t?void 0:t.in("fail"))?"fail":"busy"}):this.placeholder,this.t("clear"),h({"rounded-full transition-colors":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"cursor-pointer text-tertiary hover-text-body":!this.disabled,"cursor-default text-disabled":this.disabled}),this.disabled,this.readonly||!this._value,this.__clear,o(v||(v=_`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1em; height: 1em; transform: scale(1.25); margin-right: -0.16em"><path d="M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" /></svg>`)),d(this._value||void 0),(()=>this.requestUpdate()))}__renderStandaloneLayout(){var t,e,s;const i="string"==typeof this._value?null===(t=this.getItemUrl)||void 0===t?void 0:t.call(this,this._value):void 0,o="string"==typeof this._value?n(this._value):void 0;return r(x||(x=_` <div class="block group"> <div class="${0}"> <span class="mr-auto">${0}</span> ${0} ${0} ${0} </div> <div class="text-secondary text-s" ?hidden="${0}">${0}</div> <button class="${0}" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" ?disabled="${0}" @click="${0}"> <div class="${0}"> ${0} </div> </button> <div class="mt-xs text-xs leading-xs text-error" ?hidden="${0}"> ${0} </div> </div> `),h({"flex items-center gap-m transition-colors font-medium text-l":!0,"text-disabled":this.disabled}),this.label,i?r(b||(b=_` <a class="text-body rounded transition-opacity hover-opacity-90 focus-outline-none focus-ring-2 focus-ring-primary-50" href="${0}"> <foxy-i18n infer="" key="view"></foxy-i18n> </a> `),i):"",this.showCopyIdButton&&null!==o?r(g||(g=_` <foxy-copy-to-clipboard layout="text" theme="contrast tertiary-inline" infer="copy-id" text="${0}"> </foxy-copy-to-clipboard> `),o):"",this.readonly||!this._value?"":r($||($=_` <vaadin-button theme="error tertiary-inline" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="clear"></foxy-i18n> </vaadin-button> `),this.disabled,this.__clear),!this.helperText,this.helperText,h({"block w-full bg-contrast-5 rounded text-left transition-colors":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"cursor-pointer hover-bg-contrast-10":!this.disabled&&!this.readonly,"cursor-default":this.disabled||this.readonly,"mt-s":!!this.label||!!this.helperText}),this.disabled||this.readonly,(t=>{const e=t.currentTarget,s=this.renderRoot.querySelector("foxy-form-dialog");s.href="",s.show(e)}),h({"transition-opacity":!0,"opacity-50":this.disabled}),this.__getItemRenderer(this.item)({html:r,data:null,href:this._value||"",related:[],parent:"",props:{},spread:l,simplifyNsLoading:this.simplifyNsLoading,disabled:this.disabled,disabledControls:this.disabledControls,readonly:this.readonly,readonlyControls:this.readonlyControls,hidden:this.hidden,hiddenControls:this.hiddenControls,templates:this.templates,previous:null,next:null,group:null!==(s=null===(e=this.nucleon)||void 0===e?void 0:e.group)&&void 0!==s?s:"",lang:this.lang,ns:this.ns}),!this._errorMessage||this.disabled||this.readonly,this._errorMessage)}__handleFetchEvent(t){if(!(t instanceof a))return;if(t.defaultPrevented)return;const{url:e,method:s}=t.request;return e===`foxy://${this.virtualHost}/select`&&"POST"===s?t.respondWith(this.__handleSelect(t.request)):e===`foxy://${this.virtualHost}/empty`&&"GET"===s?t.respondWith(this.__handleEmpty()):void 0}async __handleSelect(t){const e=await t.clone().json();return this._value=e.selection,new Response(JSON.stringify({_links:{self:{href:`foxy://${this.virtualHost}/empty`}},message:"Resource selected."}))}async __handleEmpty(){return new Response(JSON.stringify({_links:{self:{href:`foxy://${this.virtualHost}/empty`}},message:"Resource selected."}))}});
@@ -1 +0,0 @@
1
- import{_ as r}from"./shared-d1195c27.js";import{p as s}from"./shared-19520c9d.js";function t(t){var n;const o=s(t),a=null!==(n={y:"yearly",m:"monthly",w:"weekly",d:"daily"}[o.units])&&void 0!==n?n:o.units;return r(r({},o),{},{units:a})}export{t as p};
@@ -1 +0,0 @@
1
- import"./shared-300253d2.js";import"./shared-19520c9d.js";import{a as e}from"./shared-d01bb075.js";import{h as t}from"./shared-dc73b9a5.js";import{l as r,_ as i,B as n}from"./shared-d1195c27.js";import"./shared-43a7fb95.js";import"./foxy-copy-to-clipboard.js";import"./foxy-spinner.js";import{g as s}from"./shared-bab2ea2c.js";import{C as o}from"./shared-d1cb97c6.js";import{T as a}from"./shared-d65e8cc0.js";import{N as d}from"./shared-e8b8c8d0.js";import{c as l}from"./shared-4e709717.js";let c,h=e=>e;customElements.define("foxy-internal-timestamps-control",class extends e{renderControl(){return t(c||(c=h` <p class="font-lumo text-xs leading-s text-secondary"> <foxy-i18n infer="" key="date_created"></foxy-i18n> <foxy-i18n .options="${0}" infer="" key="date"> </foxy-i18n> <span>&bull;<span> <foxy-i18n infer="" key="date_modified"></foxy-i18n> <foxy-i18n .options="${0}" infer="" key="date"> </foxy-i18n> </span></span></p> `),{value:r(this,"nucleon.data.date_created")},{value:r(this,"nucleon.data.date_modified")})}});let f,u=e=>e;customElements.define("foxy-internal-submit-control",class extends e{constructor(){super(...arguments),this.theme="primary"}static get properties(){return i(i({},super.properties),{},{theme:{type:String}})}renderControl(){return t(f||(f=u` <vaadin-button theme="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="caption"></foxy-i18n> </vaadin-button> `),this.theme,this.disabled,(()=>{var e;return null===(e=this.nucleon)||void 0===e?void 0:e.submit()}))}});let p,y=e=>e;customElements.define("foxy-internal-delete-control",class extends e{constructor(){super(...arguments),this.theme="error"}static get properties(){return i(i({},super.properties),{},{theme:{type:String}})}renderControl(){return t(p||(p=y` <foxy-internal-confirm-dialog message="delete_prompt" confirm="delete" cancel="cancel" header="delete" theme="primary error" infer="" id="confirm" @hide="${0}"> </foxy-internal-confirm-dialog> <vaadin-button data-testid="delete" theme="${0}" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="delete"></foxy-i18n> </vaadin-button> `),(e=>{var t;return!e.detail.cancelled&&(null===(t=this.nucleon)||void 0===t?void 0:t.delete())}),this.theme,this.disabled||this.readonly,(e=>{this.renderRoot.querySelector("#confirm").show(e.currentTarget)}))}});let m,x=e=>e;customElements.define("foxy-internal-undo-control",class extends e{constructor(){super(...arguments),this.theme="secondary"}static get properties(){return i(i({},super.properties),{},{theme:{type:String}})}renderControl(){return t(m||(m=x` <vaadin-button theme="${0}" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="" key="caption"></foxy-i18n> </vaadin-button> `),this.theme,this.disabled,(()=>{var e;return null===(e=this.nucleon)||void 0===e?void 0:e.undo()}))}});let b,v,g,$,k,S,_,j,E,O,T,C,w=e=>e;const K=o(a(d));class B extends K{constructor(){super(...arguments),this.status=null}static get properties(){return i(i({},super.properties),{},{status:{type:Object}})}renderHeaderActions(e){return null}get headerTitleKey(){return"title"}get headerTitleOptions(){return i(i({},this.data),{},{context:this.data?"existing":"new",id:this.data?s(this.data._links.self.href):null})}get headerSubtitleKey(){return"subtitle"}get headerSubtitleOptions(){var e;return null!==(e=this.data)&&void 0!==e?e:{}}get headerCopyIdValue(){var e;return this.data&&null!==(e=s(this.data._links.self.href))&&void 0!==e?e:""}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.href&&e.unshift("create"),this.href||e.unshift("delete","timestamps","submit"),this.in({idle:{snapshot:"dirty"}})||e.unshift("undo","submit"),new n(e.join(" ").trim())}renderHeader(){if(this.hiddenSelector.matches("header",!0))return t(b||(b=w``));const e=this.data,r=e?this.renderHeaderActions(e):null;return t(v||(v=w` <div> ${0} <h2> <span class="flex items-center gap-s leading-xs text-xl font-medium break-all"> <foxy-i18n options="${0}" infer="header" key="${0}"> </foxy-i18n> ${0} </span> ${0} </h2> ${0} </div> `),this.renderTemplateOrSlot("header:before"),JSON.stringify(this.headerTitleOptions),this.headerTitleKey,e?t(g||(g=w` ${0} ${0} `),this.hiddenSelector.matches("header:copy-id",!0)?"":t($||($=w` <foxy-copy-to-clipboard infer="header copy-id" class="text-m" text="${0}"> </foxy-copy-to-clipboard> `),this.headerCopyIdValue),this.hiddenSelector.matches("header:copy-json",!0)?"":t(k||(k=w` <foxy-copy-to-clipboard infer="header copy-json" class="text-m" icon="icons:code" text="${0}"> </foxy-copy-to-clipboard> `),JSON.stringify(e,null,2))):"",e?t(S||(S=w` <foxy-i18n infer="header" class="text-m text-secondary" key="${0}" .options="${0}"> </foxy-i18n> ${0} `),this.headerSubtitleKey,this.headerSubtitleOptions,r?t(_||(_=w`<div class="mt-xs flex gap-m">${0}</div>`),r):""):"",this.renderTemplateOrSlot("header:after"))}renderBody(){return t(j||(j=w` <foxy-internal-timestamps-control infer="timestamps"></foxy-internal-timestamps-control> <div class="flex gap-m" ?hidden="${0}"> <foxy-internal-delete-control infer="delete"></foxy-internal-delete-control> <div class="w-full"></div> <foxy-internal-undo-control infer="undo"> </foxy-internal-undo-control> <foxy-internal-submit-control infer="submit"> </foxy-internal-submit-control> <foxy-internal-submit-control infer="create" theme="primary success"> </foxy-internal-submit-control> </div> `),["delete","undo","submit","create"].every((e=>this.hiddenSelector.matches(e,!0))))}render(){const e=!(this.in("idle")||this.in({busy:"fetching"})&&this.data);return t(E||(E=w` <div aria-busy="${0}" aria-live="polite" class="relative"> <div class="${0}"> ${0} ${0} ${0} </div> <div data-testid="spinner" class="${0}"> <foxy-spinner layout="${0}" state="${0}" infer="spinner"> </foxy-spinner> ${0} </div> </div> `),this.in("busy"),l({"space-y-m":!0,"transition-opacity":!0,"opacity-0 pointer-events-none":e}),this.__generalErrors.map((e=>this.__renderGeneralError(e))),this.status?this.__renderStatus(this.status):"",this.renderBody(),l({"flex flex-col items-center justify-center gap-m":!0,"transition-opacity absolute inset-0":!0,"opacity-0 pointer-events-none":!e}),this.in("fail")?"vertical":"no-label",this.in("fail")?"error":"busy",this.href&&this.in("fail")?t(O||(O=w` <vaadin-button theme="small contrast" @click="${0}"> <foxy-i18n infer="spinner" key="refresh"></foxy-i18n> </vaadin-button> `),(()=>this.refresh())):"")}get __generalErrors(){const e=this.constructor.generalErrorPrefix;return this.errors.filter((t=>t.startsWith(e)))}__renderGeneralError(e){return t(T||(T=w` <foxy-i18n class="leading-xs text-body rounded bg-error-10 block" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" infer="error" key="${0}"> </foxy-i18n> `),e.replace("error:",""))}__renderStatus({key:e,options:r}){if(!this.hiddenSelector.matches("status",!0))return t(C||(C=w` <p data-testid="status" class="leading-xs text-body rounded bg-success-10 flex items-start gap-m" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n class="flex-1" infer="status" key="${0}" .options="${0}"></foxy-i18n> <vaadin-button class="flex-shrink-0" theme="success tertiary-inline" @click="${0}"> <foxy-i18n class="flex-1" infer="status" key="close"></foxy-i18n> </vaadin-button> </p> `),e,r,(()=>this.status=null))}}B.generalErrorPrefix="error:",customElements.define("foxy-internal-form",B);export{B as I};
@@ -1,2 +0,0 @@
1
- import{I as e}from"./shared-d01bb075.js";import{_ as t}from"./shared-d1195c27.js";import{c as r,h as s}from"./shared-dc73b9a5.js";import{r as a}from"./shared-a0c6a159.js";let o,i,d,l,n,c=e=>e;customElements.define("foxy-internal-source-control",class extends e{constructor(){super(...arguments),this.__isErrorVisible=!1,this.__hovered=!1,this.__focused=!1}static get properties(){return t(t({},super.properties),{},{__isErrorVisible:{attribute:!1},__hovered:{attribute:!1},__focused:{attribute:!1}})}static get styles(){return[...super.styles,r(o||(o=c`.monospace{font-family:monospace}.resize-none{resize:none}.max-h-16em{max-height:16em}textarea::selection{background:var(--lumo-contrast-10pct)}`))]}renderControl(){var e;let t,r,o,h,b;return this.disabled?(t="bg-contrast-5 text-disabled",r="text-disabled",h="text-disabled",b="text-disabled",this.readonly?(t+=" border-dashed border-contrast-20",o="border-dashed border-contrast-30"):(t+=" border-transparent",o="border-contrast-10")):this.readonly?(t="border-dashed border-contrast-30 bg-transparent text-secondary",r="text-secondary",o="border-dashed border-contrast-30",h="text-secondary",b="text-secondary",this.__focused&&(o+=" ring-2 ring-primary-50")):this.__focused?(t="border-transparent bg-contrast-10 text-tertiary",r="text-secondary",o="border-primary-50 ring-1 ring-primary-50",h="text-body",b="text-primary"):this.__hovered?(t="border-transparent bg-contrast-20 text-tertiary",r="text-body",o="border-contrast-20",h="text-body",b="text-body"):(t="border-transparent bg-contrast-10 text-tertiary",r="text-secondary",o="border-contrast-10",h="text-body",b="text-secondary"),s(i||(i=c` <label class="block h-full" @mouseenter="${0}" @mouseleave="${0}"> <div class="mb-xs transition-colors leading-none text-s font-medium ${0}" part="label"> ${0} </div> <div class="max-h-16em h-full transition-colors flex-1 flex bg-base rounded overflow-auto border ${0}" part="editor"> <div class="h-full transition-colors monospace leading-s text-s text-right border-r ${0}" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} </div> <textarea placeholder="${0}" class="bg-base whitespace-pre leading-s text-s focus-outline-none monospace resize-none block w-full select-text transition-colors ${0}" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" rows="1" .value="${0}" ?disabled="${0}" ?readonly="${0}" @focus="${0}" @blur="${0}" @input="${0}">
2
- </textarea> </div> <div class="mt-xs transition-colors leading-xs text-xs ${0}" part="helper-text" ?hidden="${0}"> ${0} </div> <div class="mt-xs text-xs leading-xs text-error" ?hidden="${0}"> ${0} </div> </label> `),(()=>this.__hovered=!0),(()=>this.__hovered=!1),b,this.label,o,t,a(null!==(e=this._value.split("\n"))&&void 0!==e?e:[],((e,t)=>String(t)),((e,t)=>s(d||(d=c`<div>${0}${0}<span>${0}<span></span></span></div>`),t<9?s(l||(l=c`<span class="opacity-0">0</span>`)):"",t<99?s(n||(n=c`<span class="opacity-0">0</span>`)):"",t+1))),this.placeholder,h,this._value,this.disabled,this.readonly,(()=>this.__focused=!0),(()=>{this.__focused=!1,this.__isErrorVisible=!0}),(e=>{const t=e.currentTarget;this._value=t.value}),r,!this.helperText,this.helperText,!this.__isErrorVisible||!this._errorMessage||this.disabled||this.readonly,this._errorMessage)}updated(e){super.updated(e),this.renderRoot.querySelectorAll("textarea").forEach((e=>{e.style.height="auto",e.style.height=`${e.scrollHeight}px`,e.style.overflowY="hidden"}))}get _value(){var e;return null!==(e=super._value)&&void 0!==e?e:""}set _value(e){super._value=e}});
@@ -1 +0,0 @@
1
- import"./foxy-spinner.js";import{I as e}from"./shared-2a819863.js";customElements.define("foxy-internal-card",e);
@@ -1,14 +0,0 @@
1
- import type { TemplateResult } from 'lit-html';
2
- import { InternalEditableControl } from '../../../../internal/InternalEditableControl/InternalEditableControl';
3
- declare const Base: typeof InternalEditableControl;
4
- export declare class InternalGiftCardFormProvisioningControl extends Base {
5
- private __maxBalanceValueGetter;
6
- private __maxBalanceValueSetter;
7
- private __minBalanceValueGetter;
8
- private __minBalanceValueSetter;
9
- private __toggleValueGetter;
10
- private __toggleValueSetter;
11
- private __toggleOptions;
12
- renderControl(): TemplateResult;
13
- }
14
- export {};
@@ -1,94 +0,0 @@
1
- import { InternalEditableControl } from "../../../../internal/InternalEditableControl/InternalEditableControl.js";
2
- import { ResponsiveMixin } from "../../../../../mixins/responsive.js";
3
- import { html } from 'lit-html';
4
- const Base = ResponsiveMixin(InternalEditableControl);
5
- export class InternalGiftCardFormProvisioningControl extends Base {
6
- constructor() {
7
- super(...arguments);
8
- this.__maxBalanceValueGetter = () => {
9
- var _a, _b;
10
- return (_b = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.form.provisioning_config) === null || _b === void 0 ? void 0 : _b.initial_balance_max;
11
- };
12
- this.__maxBalanceValueSetter = (newMax) => {
13
- var _a, _b, _c, _d;
14
- const newMin = (_c = (_b = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.form.provisioning_config) === null || _b === void 0 ? void 0 : _b.initial_balance_min) !== null && _c !== void 0 ? _c : newMax;
15
- (_d = this.nucleon) === null || _d === void 0 ? void 0 : _d.edit({
16
- provisioning_config: {
17
- allow_autoprovisioning: true,
18
- initial_balance_min: newMin > newMax ? newMax : newMin,
19
- initial_balance_max: newMax,
20
- },
21
- });
22
- };
23
- this.__minBalanceValueGetter = () => {
24
- var _a, _b;
25
- return (_b = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.form.provisioning_config) === null || _b === void 0 ? void 0 : _b.initial_balance_min;
26
- };
27
- this.__minBalanceValueSetter = (newMin) => {
28
- var _a, _b, _c, _d;
29
- const newMax = (_c = (_b = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.form.provisioning_config) === null || _b === void 0 ? void 0 : _b.initial_balance_max) !== null && _c !== void 0 ? _c : newMin;
30
- (_d = this.nucleon) === null || _d === void 0 ? void 0 : _d.edit({
31
- provisioning_config: {
32
- allow_autoprovisioning: true,
33
- initial_balance_min: newMin,
34
- initial_balance_max: newMax < newMin ? newMin : newMax,
35
- },
36
- });
37
- };
38
- this.__toggleValueGetter = () => {
39
- var _a, _b;
40
- return ((_b = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.form.provisioning_config) === null || _b === void 0 ? void 0 : _b.allow_autoprovisioning) ? ['allow'] : [];
41
- };
42
- this.__toggleValueSetter = (newValue) => {
43
- var _a, _b, _c, _d, _e, _f, _g, _h;
44
- if (newValue.includes('allow')) {
45
- (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.edit({
46
- provisioning_config: {
47
- allow_autoprovisioning: true,
48
- initial_balance_min: (_d = (_c = (_b = this.nucleon) === null || _b === void 0 ? void 0 : _b.form.provisioning_config) === null || _c === void 0 ? void 0 : _c.initial_balance_min) !== null && _d !== void 0 ? _d : 0,
49
- initial_balance_max: (_g = (_f = (_e = this.nucleon) === null || _e === void 0 ? void 0 : _e.form.provisioning_config) === null || _f === void 0 ? void 0 : _f.initial_balance_max) !== null && _g !== void 0 ? _g : 0,
50
- },
51
- });
52
- }
53
- else {
54
- (_h = this.nucleon) === null || _h === void 0 ? void 0 : _h.edit({ provisioning_config: null });
55
- }
56
- };
57
- this.__toggleOptions = [{ label: 'text', value: 'allow' }];
58
- }
59
- renderControl() {
60
- var _a, _b;
61
- return html `
62
- <foxy-internal-checkbox-group-control
63
- infer="toggle"
64
- .getValue=${this.__toggleValueGetter}
65
- .setValue=${this.__toggleValueSetter}
66
- .options=${this.__toggleOptions}
67
- >
68
- </foxy-internal-checkbox-group-control>
69
-
70
- ${((_b = (_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.form.provisioning_config) === null || _b === void 0 ? void 0 : _b.allow_autoprovisioning) ? html `
71
- <div class="grid grid-cols-2 sm-grid-cols-4 gap-m mt-s">
72
- <foxy-internal-text-control infer="sku" class="col-span-2">
73
- </foxy-internal-text-control>
74
-
75
- <foxy-internal-integer-control
76
- infer="min-balance"
77
- .getValue=${this.__minBalanceValueGetter}
78
- .setValue=${this.__minBalanceValueSetter}
79
- >
80
- </foxy-internal-integer-control>
81
-
82
- <foxy-internal-integer-control
83
- infer="max-balance"
84
- .getValue=${this.__maxBalanceValueGetter}
85
- .setValue=${this.__maxBalanceValueSetter}
86
- >
87
- </foxy-internal-integer-control>
88
- </div>
89
- `
90
- : ''}
91
- `;
92
- }
93
- }
94
- //# sourceMappingURL=InternalGiftCardFormProvisioningControl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InternalGiftCardFormProvisioningControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/InternalGiftCardFormProvisioningControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Option } from '../../../../internal/InternalCheckboxGroupControl/types';\n\nimport { InternalEditableControl } from '../../../../internal/InternalEditableControl/InternalEditableControl';\nimport { ResponsiveMixin } from '../../../../../mixins/responsive';\nimport { html } from 'lit-html';\n\nconst Base = ResponsiveMixin(InternalEditableControl);\n\nexport class InternalGiftCardFormProvisioningControl extends Base {\n private __maxBalanceValueGetter = () => {\n return this.nucleon?.form.provisioning_config?.initial_balance_max;\n };\n\n private __maxBalanceValueSetter = (newMax: number) => {\n const newMin = this.nucleon?.form.provisioning_config?.initial_balance_min ?? newMax;\n\n this.nucleon?.edit({\n provisioning_config: {\n allow_autoprovisioning: true,\n initial_balance_min: newMin > newMax ? newMax : newMin,\n initial_balance_max: newMax,\n },\n });\n };\n\n private __minBalanceValueGetter = () => {\n return this.nucleon?.form.provisioning_config?.initial_balance_min;\n };\n\n private __minBalanceValueSetter = (newMin: number) => {\n const newMax = this.nucleon?.form.provisioning_config?.initial_balance_max ?? newMin;\n\n this.nucleon?.edit({\n provisioning_config: {\n allow_autoprovisioning: true,\n initial_balance_min: newMin,\n initial_balance_max: newMax < newMin ? newMin : newMax,\n },\n });\n };\n\n private __toggleValueGetter = () => {\n return this.nucleon?.form.provisioning_config?.allow_autoprovisioning ? ['allow'] : [];\n };\n\n private __toggleValueSetter = (newValue: string[]) => {\n if (newValue.includes('allow')) {\n this.nucleon?.edit({\n provisioning_config: {\n allow_autoprovisioning: true,\n initial_balance_min: this.nucleon?.form.provisioning_config?.initial_balance_min ?? 0,\n initial_balance_max: this.nucleon?.form.provisioning_config?.initial_balance_max ?? 0,\n },\n });\n } else {\n this.nucleon?.edit({ provisioning_config: null });\n }\n };\n\n private __toggleOptions: Option[] = [{ label: 'text', value: 'allow' }];\n\n renderControl(): TemplateResult {\n return html`\n <foxy-internal-checkbox-group-control\n infer=\"toggle\"\n .getValue=${this.__toggleValueGetter}\n .setValue=${this.__toggleValueSetter}\n .options=${this.__toggleOptions}\n >\n </foxy-internal-checkbox-group-control>\n\n ${this.nucleon?.form.provisioning_config?.allow_autoprovisioning\n ? html`\n <div class=\"grid grid-cols-2 sm-grid-cols-4 gap-m mt-s\">\n <foxy-internal-text-control infer=\"sku\" class=\"col-span-2\">\n </foxy-internal-text-control>\n\n <foxy-internal-integer-control\n infer=\"min-balance\"\n .getValue=${this.__minBalanceValueGetter}\n .setValue=${this.__minBalanceValueSetter}\n >\n </foxy-internal-integer-control>\n\n <foxy-internal-integer-control\n infer=\"max-balance\"\n .getValue=${this.__maxBalanceValueGetter}\n .setValue=${this.__maxBalanceValueSetter}\n >\n </foxy-internal-integer-control>\n </div>\n `\n : ''}\n `;\n }\n}\n"]}
@@ -1,6 +0,0 @@
1
- import '../../../../internal/InternalCheckboxGroupControl/index';
2
- import '../../../../internal/InternalEditableControl/index';
3
- import '../../../../internal/InternalIntegerControl/index';
4
- import '../../../../internal/InternalTextControl/index';
5
- import { InternalGiftCardFormProvisioningControl } from './InternalGiftCardFormProvisioningControl';
6
- export { InternalGiftCardFormProvisioningControl };
@@ -1,8 +0,0 @@
1
- import "../../../../internal/InternalCheckboxGroupControl/index.js";
2
- import "../../../../internal/InternalEditableControl/index.js";
3
- import "../../../../internal/InternalIntegerControl/index.js";
4
- import "../../../../internal/InternalTextControl/index.js";
5
- import { InternalGiftCardFormProvisioningControl } from "./InternalGiftCardFormProvisioningControl.js";
6
- customElements.define('foxy-internal-gift-card-form-provisioning-control', InternalGiftCardFormProvisioningControl);
7
- export { InternalGiftCardFormProvisioningControl };
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/GiftCardForm/internal/InternalGiftCardFormProvisioningControl/index.ts"],"names":[],"mappings":"AAAA,oEAAiE;AACjE,+DAA4D;AAC5D,8DAA2D;AAC3D,2DAAwD;AAExD,OAAO,EAAE,uCAAuC,EAAE,qDAAkD;AAEpG,cAAc,CAAC,MAAM,CACnB,mDAAmD,EACnD,uCAAuC,CACxC,CAAC;AAEF,OAAO,EAAE,uCAAuC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalCheckboxGroupControl/index';\nimport '../../../../internal/InternalEditableControl/index';\nimport '../../../../internal/InternalIntegerControl/index';\nimport '../../../../internal/InternalTextControl/index';\n\nimport { InternalGiftCardFormProvisioningControl } from './InternalGiftCardFormProvisioningControl';\n\ncustomElements.define(\n 'foxy-internal-gift-card-form-provisioning-control',\n InternalGiftCardFormProvisioningControl\n);\n\nexport { InternalGiftCardFormProvisioningControl };\n"]}