@foxy.io/elements 1.38.0-beta.1 → 1.38.0-beta.3

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 (221) 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-api.js +1 -1
  30. package/dist/cdn/foxy-customer-card.js +1 -1
  31. package/dist/cdn/foxy-customer-form.js +1 -1
  32. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  33. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  34. package/dist/cdn/foxy-customer-portal.js +11 -11
  35. package/dist/cdn/foxy-customer.js +1 -1
  36. package/dist/cdn/foxy-customers-table.js +1 -1
  37. package/dist/cdn/foxy-discount-builder.js +1 -1
  38. package/dist/cdn/foxy-discount-card.js +1 -1
  39. package/dist/cdn/foxy-discount-detail-card.js +1 -1
  40. package/dist/cdn/foxy-donation.js +1 -1
  41. package/dist/cdn/foxy-downloadable-card.js +1 -1
  42. package/dist/cdn/foxy-downloadable-form.js +1 -1
  43. package/dist/cdn/foxy-email-template-card.js +1 -1
  44. package/dist/cdn/foxy-email-template-form.js +1 -1
  45. package/dist/cdn/foxy-error-entry-card.js +1 -1
  46. package/dist/cdn/foxy-experimental-add-to-cart-builder.js +2 -2
  47. package/dist/cdn/foxy-filter-attribute-card.js +1 -1
  48. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  49. package/dist/cdn/foxy-form-dialog.js +1 -1
  50. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  51. package/dist/cdn/foxy-gift-card-card.js +1 -1
  52. package/dist/cdn/foxy-gift-card-code-card.js +1 -1
  53. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  54. package/dist/cdn/foxy-gift-card-code-log-card.js +1 -1
  55. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  56. package/dist/cdn/foxy-gift-card-form.js +1 -1
  57. package/dist/cdn/foxy-i18n-editor.js +3 -3
  58. package/dist/cdn/foxy-i18n.js +1 -1
  59. package/dist/cdn/foxy-integration-card.js +1 -1
  60. package/dist/cdn/foxy-integration-form.js +1 -1
  61. package/dist/cdn/foxy-item-card.js +1 -1
  62. package/dist/cdn/foxy-item-category-card.js +1 -1
  63. package/dist/cdn/foxy-item-category-form.js +1 -1
  64. package/dist/cdn/foxy-item-form.js +1 -1
  65. package/dist/cdn/foxy-item-option-card.js +1 -1
  66. package/dist/cdn/foxy-item-option-form.js +1 -1
  67. package/dist/cdn/foxy-items-form.js +1 -1
  68. package/dist/cdn/foxy-native-integration-card.js +1 -1
  69. package/dist/cdn/foxy-native-integration-form.js +1 -1
  70. package/dist/cdn/foxy-nucleon-element.js +1 -1
  71. package/dist/cdn/foxy-pagination.js +1 -1
  72. package/dist/cdn/foxy-passkey-card.js +1 -1
  73. package/dist/cdn/foxy-passkey-form.js +1 -1
  74. package/dist/cdn/foxy-payment-card-embed.js +1 -1
  75. package/dist/cdn/foxy-payment-card.js +1 -1
  76. package/dist/cdn/foxy-payment-method-card.js +1 -1
  77. package/dist/cdn/foxy-payments-api-fraud-protection-card.js +1 -1
  78. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  79. package/dist/cdn/foxy-payments-api-payment-method-card.js +1 -1
  80. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  81. package/dist/cdn/foxy-payments-api-payment-preset-card.js +1 -1
  82. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  83. package/dist/cdn/foxy-payments-api.js +1 -1
  84. package/dist/cdn/foxy-query-builder.js +1 -1
  85. package/dist/cdn/foxy-report-form.js +1 -1
  86. package/dist/cdn/foxy-reports-table.js +1 -1
  87. package/dist/cdn/foxy-shipment-card.js +1 -1
  88. package/dist/cdn/foxy-shipping-container-card.js +1 -1
  89. package/dist/cdn/foxy-shipping-drop-type-card.js +1 -1
  90. package/dist/cdn/foxy-shipping-method-card.js +1 -1
  91. package/dist/cdn/foxy-shipping-service-card.js +1 -1
  92. package/dist/cdn/foxy-sign-in-form.js +1 -1
  93. package/dist/cdn/foxy-spinner.js +2 -2
  94. package/dist/cdn/foxy-store-card.js +1 -1
  95. package/dist/cdn/foxy-store-form.js +1 -1
  96. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  97. package/dist/cdn/foxy-subscription-card.js +1 -1
  98. package/dist/cdn/foxy-subscription-form.js +1 -1
  99. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  100. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  101. package/dist/cdn/foxy-table.js +1 -1
  102. package/dist/cdn/foxy-tax-card.js +1 -1
  103. package/dist/cdn/foxy-tax-form.js +1 -1
  104. package/dist/cdn/foxy-template-config-form.js +1 -1
  105. package/dist/cdn/foxy-template-form.js +1 -1
  106. package/dist/cdn/foxy-template-set-card.js +1 -1
  107. package/dist/cdn/foxy-template-set-form.js +1 -1
  108. package/dist/cdn/foxy-transaction-card.js +1 -1
  109. package/dist/cdn/foxy-transaction.js +1 -1
  110. package/dist/cdn/foxy-transactions-table.js +7 -7
  111. package/dist/cdn/foxy-update-payment-method-form.js +1 -1
  112. package/dist/cdn/foxy-user-card.js +1 -1
  113. package/dist/cdn/foxy-user-form.js +1 -1
  114. package/dist/cdn/foxy-user-invitation-card.js +1 -1
  115. package/dist/cdn/foxy-user-invitation-form.js +1 -1
  116. package/dist/cdn/foxy-users-table.js +1 -1
  117. package/dist/cdn/foxy-webhook-card.js +1 -1
  118. package/dist/cdn/foxy-webhook-form.js +1 -1
  119. package/dist/cdn/foxy-webhook-log-card.js +1 -1
  120. package/dist/cdn/foxy-webhook-status-card.js +1 -1
  121. package/dist/cdn/{shared-aa45d4ec.js → shared-0164a1bb.js} +1 -1
  122. package/dist/cdn/{shared-57c3f0e4.js → shared-01fc874a.js} +1 -1
  123. package/dist/cdn/{shared-d54b3216.js → shared-0881a17c.js} +1 -1
  124. package/dist/cdn/{shared-893ead61.js → shared-099c2c3a.js} +1 -1
  125. package/dist/cdn/{shared-2db8d17c.js → shared-0a177e2c.js} +1 -1
  126. package/dist/cdn/shared-0aedd809.js +1 -0
  127. package/dist/cdn/{shared-8e36bcc1.js → shared-0ba8919d.js} +1 -1
  128. package/dist/cdn/{shared-dc6eb904.js → shared-1643e28d.js} +1 -1
  129. package/dist/cdn/{shared-6555fd71.js → shared-17b9f264.js} +1 -1
  130. package/dist/cdn/{shared-322ae633.js → shared-188614a4.js} +1 -1
  131. package/dist/cdn/{shared-82e82908.js → shared-1d0839af.js} +1 -1
  132. package/dist/cdn/{shared-d8cab6ab.js → shared-234b03f8.js} +2 -2
  133. package/dist/cdn/{shared-3691a26f.js → shared-243e3357.js} +1 -1
  134. package/dist/cdn/{shared-f6e9eda6.js → shared-25b175fb.js} +1 -1
  135. package/dist/cdn/{shared-17a61265.js → shared-2aa23b5f.js} +1 -1
  136. package/dist/cdn/{shared-812c706e.js → shared-3d276862.js} +1 -1
  137. package/dist/cdn/{shared-f61e5463.js → shared-3ff5c3d1.js} +2 -2
  138. package/dist/cdn/{shared-cba2b787.js → shared-4070a0d5.js} +1 -1
  139. package/dist/cdn/{shared-efecf1ca.js → shared-424970b6.js} +1 -1
  140. package/dist/cdn/{shared-569db166.js → shared-427529a8.js} +1 -1
  141. package/dist/cdn/shared-4a38cb3e.js +1 -0
  142. package/dist/cdn/{shared-bd941702.js → shared-516205e7.js} +1 -1
  143. package/dist/cdn/{shared-7e9fdf64.js → shared-5592ec6e.js} +1 -1
  144. package/dist/cdn/{shared-49e0541d.js → shared-58202132.js} +4 -4
  145. package/dist/cdn/{shared-ccc91a5f.js → shared-58400227.js} +1 -1
  146. package/dist/cdn/{shared-eeb2bd18.js → shared-5afb584d.js} +1 -1
  147. package/dist/cdn/shared-5e4a03d1.js +1 -0
  148. package/dist/cdn/{shared-fcdb896f.js → shared-5ef40e86.js} +1 -1
  149. package/dist/cdn/{shared-aab278b5.js → shared-5f157a83.js} +1 -1
  150. package/dist/cdn/{shared-c27ee44e.js → shared-62d05dde.js} +1 -1
  151. package/dist/cdn/{shared-3a446f14.js → shared-64ed7d2b.js} +1 -1
  152. package/dist/cdn/{shared-c2efc54e.js → shared-673d668a.js} +1 -1
  153. package/dist/cdn/{shared-1137b243.js → shared-6d8a44c7.js} +1 -1
  154. package/dist/cdn/{shared-2550f6d9.js → shared-704cd73c.js} +1 -1
  155. package/dist/cdn/{shared-58e7f6b1.js → shared-71f2c754.js} +1 -1
  156. package/dist/cdn/{shared-299543b6.js → shared-745bd2f4.js} +1 -1
  157. package/dist/cdn/{shared-019348d7.js → shared-7594e563.js} +1 -1
  158. package/dist/cdn/{shared-12a553c2.js → shared-7f7549aa.js} +1 -1
  159. package/dist/cdn/{shared-13d65f57.js → shared-844ab7a4.js} +1 -1
  160. package/dist/cdn/{shared-9f07fab6.js → shared-8650b26e.js} +1 -1
  161. package/dist/cdn/{shared-fcf6424c.js → shared-9127e26b.js} +1 -1
  162. package/dist/cdn/{shared-498ce88a.js → shared-9380d4fb.js} +1 -1
  163. package/dist/cdn/{shared-604261a0.js → shared-939a75a1.js} +1 -1
  164. package/dist/cdn/{shared-71f3226f.js → shared-93e5feba.js} +1 -1
  165. package/dist/cdn/{shared-4bcfe691.js → shared-988e3176.js} +1 -1
  166. package/dist/cdn/shared-994c7754.js +1 -0
  167. package/dist/cdn/{shared-9ca85d1e.js → shared-99a8889a.js} +1 -1
  168. package/dist/cdn/{shared-5a08dbb0.js → shared-9bd0911a.js} +1 -1
  169. package/dist/cdn/{shared-f2c4875b.js → shared-9ce51b25.js} +1 -1
  170. package/dist/cdn/{shared-dea71762.js → shared-9e6a97dd.js} +1 -1
  171. package/dist/cdn/{shared-85323ced.js → shared-a271467a.js} +1 -1
  172. package/dist/cdn/{shared-41aa53e0.js → shared-b3985d0a.js} +1 -1
  173. package/dist/cdn/{shared-6960ab99.js → shared-b3d72cd9.js} +1 -1
  174. package/dist/cdn/{shared-d4d11fb8.js → shared-b72066f8.js} +1 -1
  175. package/dist/cdn/{shared-2762e106.js → shared-b7a745ad.js} +1 -1
  176. package/dist/cdn/{shared-7d797451.js → shared-beba68ab.js} +1 -1
  177. package/dist/cdn/{shared-25a19cbe.js → shared-c0159ceb.js} +1 -1
  178. package/dist/cdn/{shared-166204e5.js → shared-c23fa7d5.js} +2 -2
  179. package/dist/cdn/{shared-1da49e3d.js → shared-c6624d27.js} +2 -2
  180. package/dist/cdn/{shared-6ef0392a.js → shared-c6f0f6b1.js} +1 -1
  181. package/dist/cdn/{shared-d1195c27.js → shared-cb58dfcd.js} +1 -1
  182. package/dist/cdn/{shared-a2693527.js → shared-cbd8c028.js} +1 -1
  183. package/dist/cdn/{shared-34119bbf.js → shared-d0fb346b.js} +1 -1
  184. package/dist/cdn/{shared-d199f862.js → shared-d1bf9a87.js} +2 -2
  185. package/dist/cdn/{shared-a2a27012.js → shared-d4e728a4.js} +1 -1
  186. package/dist/cdn/{shared-e6cd721f.js → shared-d5588203.js} +1 -1
  187. package/dist/cdn/{shared-3a3dc0d9.js → shared-d5961db8.js} +1 -1
  188. package/dist/cdn/{shared-f438f0f4.js → shared-d793edcb.js} +1 -1
  189. package/dist/cdn/{shared-59e22bc6.js → shared-d7dcb404.js} +1 -1
  190. package/dist/cdn/{shared-2bcdd0c6.js → shared-d888c826.js} +1 -1
  191. package/dist/cdn/{shared-1ba78e12.js → shared-daa5a8b2.js} +1 -1
  192. package/dist/cdn/{shared-674ba44d.js → shared-de7d816d.js} +1 -1
  193. package/dist/cdn/{shared-f3209496.js → shared-e18a194d.js} +1 -1
  194. package/dist/cdn/{shared-e1a6c036.js → shared-e3147d1a.js} +1 -1
  195. package/dist/cdn/{shared-aa211938.js → shared-e3b504c0.js} +1 -1
  196. package/dist/cdn/{shared-641786b2.js → shared-eb963ba3.js} +1 -1
  197. package/dist/cdn/{shared-56ba2d28.js → shared-ef4ad461.js} +1 -1
  198. package/dist/cdn/shared-f83207fb.js +1 -0
  199. package/dist/cdn/{shared-7c863df2.js → shared-fa5aa1c3.js} +1 -1
  200. package/dist/cdn/shared-ff8eb8a3.js +1 -0
  201. package/dist/cdn/translations/admin-subscription-form/en.json +4 -4
  202. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.d.ts +4 -0
  203. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js +34 -13
  204. package/dist/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.js.map +1 -1
  205. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/InternalAdminSubscriptionFormLinkControl.js +23 -40
  206. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/InternalAdminSubscriptionFormLinkControl.js.map +1 -1
  207. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.d.ts +0 -1
  208. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.js +0 -1
  209. package/dist/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.js.map +1 -1
  210. package/dist/elements/public/StoreForm/StoreForm.js +2 -2
  211. package/dist/elements/public/StoreForm/StoreForm.js.map +1 -1
  212. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js +14 -10
  213. package/dist/elements/public/Transaction/internal/InternalTransactionSummaryControl/InternalTransactionSummaryControl.js.map +1 -1
  214. package/dist/mixins/themeable.js +0 -12
  215. package/dist/mixins/themeable.js.map +1 -1
  216. package/package.json +1 -1
  217. package/dist/cdn/shared-1aff7995.js +0 -1
  218. package/dist/cdn/shared-882a0fda.js +0 -1
  219. package/dist/cdn/shared-9cf15285.js +0 -1
  220. package/dist/cdn/shared-a1f85307.js +0 -1
  221. package/dist/cdn/shared-d1dfac4d.js +0 -1
@@ -1 +1 @@
1
- import{f as a,t as r,aN as n,am as t,ai as l,aO as e}from"./shared-d1195c27.js";var o=Object.prototype.hasOwnProperty;function s(a,r){return null!=a&&o.call(a,r)}function u(o,u){return null!=o&&function(o,s,u){for(var f=-1,c=(s=a(s,o)).length,i=!1;++f<c;){var h=r(s[f]);if(!(i=null!=o&&u(o,h)))break;o=o[h]}return i||++f!=c?i:!!(c=null==o?0:o.length)&&n(c)&&t(h,c)&&(l(o)||e(o))}(o,u,s)}export{u as h};
1
+ import{f as a,t as r,aN as n,am as t,ai as l,aO as e}from"./shared-cb58dfcd.js";var o=Object.prototype.hasOwnProperty;function s(a,r){return null!=a&&o.call(a,r)}function u(o,u){return null!=o&&function(o,s,u){for(var f=-1,c=(s=a(s,o)).length,i=!1;++f<c;){var h=r(s[f]);if(!(i=null!=o&&u(o,h)))break;o=o[h]}return i||++f!=c?i:!!(c=null==o?0:o.length)&&n(c)&&t(h,c)&&(l(o)||e(o))}(o,u,s)}export{u as h};
@@ -0,0 +1 @@
1
+ import{e,f as t,t as r,g as s,h as i,j as n,k as o,l as a,_ as u,m as l,n as h,o as c,R as d}from"./shared-cb58dfcd.js";import{h as f,L as _}from"./shared-ba5c42c7.js";import{A as v}from"./shared-5592ec6e.js";import{F as m}from"./shared-343d1fd7.js";import{U as p,a as g}from"./shared-cd96ff03.js";import{I as y}from"./shared-2aa23b5f.js";import{i as R,c as E,a as S}from"./shared-5e4a03d1.js";import{d as w}from"./shared-7594e563.js";import{s as b}from"./shared-0aedd809.js";import{i as P}from"./shared-5ef40e86.js";var k=Date.now;var T,x,U,L=w?function(e,t){return w(e,"toString",{configurable:!0,enumerable:!1,value:(r=t,function(){return r}),writable:!0});var r}:R,A=(T=L,x=0,U=0,function(){var e=k(),t=16-(e-U);if(U=e,t>0){if(++x>=800)return arguments[0]}else x=0;return T.apply(void 0,arguments)});function j(e){return e!=e}function F(e,t,r){return t==t?function(e,t,r){for(var s=r-1,i=e.length;++s<i;)if(e[s]===t)return s;return-1}(e,t,r):function(e,t,r,s){for(var i=e.length,n=r+(s?1:-1);s?n--:++n<i;)if(t(e[n],n,e))return n;return-1}(e,j,r)}var H=Math.max;function N(e,t){return A(function(e,t,r){return t=H(void 0===t?e.length-1:t,0),function(){for(var s=arguments,i=-1,n=H(s.length-t,0),o=Array(n);++i<n;)o[i]=s[t+i];i=-1;for(var a=Array(t+1);++i<t;)a[i]=s[i];return a[t]=r(o),function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}(e,this,a)}}(e,t,R),e+"")}function C(t,r){return r.length<2?t:e(t,function(e,t,r){var s=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var n=Array(i);++s<i;)n[s]=e[s+t];return n}(r,0,-1))}function D(e,t,r,s){for(var i=r-1,n=e.length;++i<n;)if(s(e[i],t))return i;return-1}var I=Array.prototype.splice;var Q=N((function(e,t){return e&&e.length&&t&&t.length?function(e,t,r,n){var o=n?D:F,a=-1,u=t.length,l=e;for(e===t&&(t=E(t)),r&&(l=s(e,i(r)));++a<u;)for(var h=0,c=t[a],d=r?r(c):c;(h=o(l,d,h,n))>-1;)l!==e&&I.call(l,h,1),I.call(e,h,1);return e}(e,t):e})),O=0;function W(e){var t=++O;return n(e)+t}function $(e,s){return null==e||function(e,s){return null==(e=C(e,s=t(s,e)))||delete e[r((i=s,n=null==i?0:i.length,n?i[n-1]:void 0))];var i,n}(e,s)}function G(e,t){let r=null;return o(t).forEach((function(){var t,s,i,n,o,a,u,l,h,c,d;if(null===(i=null===(s=null===(t=this.node)||void 0===t?void 0:t._links)||void 0===s?void 0:s.self)||void 0===i?void 0:i.href){const t=null===(a=null===(o=null===(n=this.node)||void 0===n?void 0:n._links)||void 0===o?void 0:o.self)||void 0===a?void 0:a.href,s=new URL(null===(h=null===(l=null===(u=this.node)||void 0===u?void 0:u._links)||void 0===l?void 0:l.self)||void 0===h?void 0:h.href);if(s.searchParams.delete("zoom"),e===t||e===s.toString())return r=JSON.stringify(this.node),void this.stop()}Object.entries(null!==(d=null===(c=this.node)||void 0===c?void 0:c._links)&&void 0!==d?d:{}).some((([t,s])=>{var i,n;if(s.href!==e)return!1;const o=null===(n=null===(i=this.node)||void 0===i?void 0:i._embedded)||void 0===n?void 0:n[t];if(!o||!Array.isArray(o))return!1;const a=o.length<20?o.length:21,u=new URL(e),l=new URL(e);return u.searchParams.set("offset",o.length.toString()),l.searchParams.set("offset",a.toString()),r=JSON.stringify({returned_items:o.length,total_items:a,offset:0,limit:20,_embedded:{[t]:o},_links:{curies:this.node._links.curies,first:{href:e},last:{href:l.toString()},prev:{href:e},next:{href:u.toString()},self:{href:e}}}),this.stop(),!0}))})),new Response(r,{status:r?200:404})}async function M(e,t){var r,s;if(t.in("busy"))return Promise.resolve(new Response(null,{status:500}));const i=new URL(e.url);i.search="",i.hash="";const n=i.toString().replace(`foxy://${t.virtualHost}/form/`,"").split("/").map(decodeURIComponent),o=a(t.form,n);let l,h=405;if("GET"===e.method)if(Array.isArray(o)){const i=parseInt(null!==(r=new URL(e.url).searchParams.get("offset"))&&void 0!==r?r:""),a=parseInt(null!==(s=new URL(e.url).searchParams.get("limit"))&&void 0!==s?s:""),c=isNaN(i)||i<0?0:i,d=isNaN(a)||a<0?20:a,f=o.slice(c,c+d).map(((e,r)=>{const s=["form",...n,String(r)],i=`foxy://${t.virtualHost}/${s.map(encodeURIComponent).join("/")}`;return u({_links:{self:{href:i}}},e)})),_=new URL(e.url);_.searchParams.set("offset","0"),_.searchParams.set("limit",String(d));const v=new URL(e.url);v.searchParams.set("offset",String(Math.max(0,c-d))),v.searchParams.set("limit",String(d));const m=new URL(e.url);m.searchParams.set("offset",String(Math.min(o.length,c+d))),m.searchParams.set("limit",String(d));const p=new URL(e.url);p.searchParams.set("offset",String(Math.max(0,o.length-d))),p.searchParams.set("limit",String(d)),h=200,l={returned_items:f.length,total_items:o.length,offset:c,limit:d,_embedded:{"fx:slice":f},_links:{first:{href:_.toString()},last:{href:p.toString()},prev:{href:v.toString()},next:{href:m.toString()},self:{href:e.url}}}}else h=200,l=u({_links:{self:{href:e.url}}},o);if("POST"===e.method){const r=await e.json(),s=S(t.form),i=a(s,n).push(r)-1;t.edit(s);const o=["form",...n,String(i)].map(encodeURIComponent).join("/");h=200,l={_links:{self:{href:`foxy://${t.virtualHost}/${o}`}},message:"Resource created successfully."}}if("PATCH"===e.method){const r=S(t.form),s=u(u({},a(r,n)),await e.json());t.edit(b(r,n,s)),h=200,l=u({_links:{self:{href:e.url}}},s)}if("DELETE"===e.method){const r=S(t.form),s=a(r,n.slice(0,-1));Array.isArray(s)?Q(s,a(r,n)):$(r,n),t.edit(r),h=200,l={_links:{self:{href:e.url}},message:"Resource deleted successfully."}}return Promise.resolve(new Response(JSON.stringify(l),{status:h}))}let q,J=e=>e;class V extends(y(_)){constructor(){super(),this.lang="",this.parent="",this.related=[],this.virtualHost=W("nucleon-"),this.__hrefToLoad=null,this.__group="",this.__unsubscribeFromRumour=null,this.__fetchEventQueue=[],this.__service=P(h.withConfig({services:{sendDelete:()=>this._sendDelete(),sendPatch:({edits:e})=>this._sendPatch(e),sendPost:({edits:e})=>this._sendPost(e),sendGet:()=>this._sendGet()},actions:{validate:c({errors:e=>{const t=this.constructor.v8n,r=u(u({},e.data),e.edits);return t.map((e=>e(r,this))).filter((e=>"string"==typeof e)).filter(((e,t,r)=>r.indexOf(e)===t))}})}})),this.__createService()}static get inferredProperties(){return[...super.inferredProperties,"group","lang"]}static get properties(){return{__state:{type:String,reflect:!0,attribute:"state"},virtualHost:{attribute:"virtual-host"},related:{type:Array},parent:{type:String},group:{type:String,noAccessor:!0},href:{type:String,noAccessor:!0},lang:{type:String}}}static get v8n(){return[]}get failure(){var e,t;return null!==(t=null===(e=this.__service.state)||void 0===e?void 0:e.context.failure)&&void 0!==t?t:null}get errors(){var e,t;return null!==(t=null===(e=this.__service.state)||void 0===e?void 0:e.context.errors)&&void 0!==t?t:[]}get form(){var e,t;const{data:r,edits:s}=null!==(t=null===(e=this.__service.state)||void 0===e?void 0:e.context)&&void 0!==t?t:{};return u(u({},r),s)}get data(){var e,t;return null!==(t=null===(e=this.__service.state)||void 0===e?void 0:e.context.data)&&void 0!==t?t:null}set data(e){this.__destroyRumour(),this.__hrefToLoad=null,this.__service.send({type:"SET_DATA",data:e}),e&&this.__createRumour()}get group(){return this.__group}set group(e){this.__group=e,this.__destroyRumour(),this.__createRumour()}get href(){var e,t,r;return null!==(r=null!==(t=null===(e=this.form._links)||void 0===e?void 0:e.self.href)&&void 0!==t?t:this.__hrefToLoad)&&void 0!==r?r:""}set href(e){this.__hrefToLoad=e,e?this.__service.send({type:"FETCH"}):this.data=null}in(e){var t;return!!(null===(t=this.__service.state)||void 0===t?void 0:t.matches(e))}undo(){this.__service.send({type:"UNDO"})}edit(e){var t;"string"==typeof(null===(t=e._links)||void 0===t?void 0:t.self.href)&&(this.__hrefToLoad=null),this.__service.send({type:"EDIT",data:e})}submit(){this.reportValidity(),this.__service.send({type:"SUBMIT"})}checkValidity(){const e=this.in({idle:{template:{dirty:"valid"}}}),t=this.in({idle:{snapshot:{dirty:"valid"}}}),r=this.in({idle:{template:{clean:"valid"}}}),s=this.in({idle:{snapshot:{clean:"valid"}}});return r||e||(s||t)}reportValidity(){const e=this.ownerDocument.createTreeWalker(this.renderRoot,NodeFilter.SHOW_ELEMENT);do{const t=e.currentNode,r=["reportValidity","validate"];for(const e of r)if(e in t)try{t[e]();break}catch(e){continue}}while(e.nextNode());return this.checkValidity()}delete(){this.__service.send({type:"DELETE"})}refresh(){this.__service.send({type:"REFRESH"})}render(){return f(q||(q=J`<slot></slot>`))}connectedCallback(){super.connectedCallback(),this.href&&!this.data&&this.__service.send({type:"FETCH"}),this.__createRumour(),this.__createServer(),this.__processFetchEventQueue(),this.dispatchEvent(new p)}disconnectedCallback(){super.disconnectedCallback(),this.__destroyRumour(),this.__destroyServer(),this.__flushFetchEventQueue("parent element was disconnected"),this.dispatchEvent(new p)}applyInferredProperties(e){var t,r;super.applyInferredProperties(e),null!==this.infer&&(this.group=null!==(t=e.get("group"))&&void 0!==t?t:"",this.lang=null!==(r=e.get("lang"))&&void 0!==r?r:"")}async _fetch(...e){const t=await new v(this).fetch(...e);if(!t.ok)throw t;return t.json()}async _sendPost(e){let t;this.__destroyRumour();try{const r=JSON.stringify(e),s=await this._fetch(this.parent,{body:r,method:"POST"});t=await this._fetch(s._links.self.href);const i=V.Rumour(this.group),n=[...this.related,this.parent];i.share({data:t,related:n,source:t._links.self.href})}finally{this.__createRumour()}return t}async _sendGet(){let e;this.__destroyRumour();try{e=await this._fetch(this.href),V.Rumour(this.group).share({data:e,source:this.href})}finally{this.__createRumour()}return e}async _sendPatch(e){let t;this.__destroyRumour();try{const r=JSON.stringify(e);t=await this._fetch(this.href,{body:r,method:"PATCH"});V.Rumour(this.group).share({data:t,source:this.href,related:this.related})}finally{this.__createRumour()}return t}async _sendDelete(){this.__destroyRumour();try{await this._fetch(this.href,{method:"DELETE"});const e=V.Rumour(this.group),t=[...this.related,this.parent];e.share({data:null,source:this.href,related:t})}finally{this.__createRumour()}return null}get __state(){const e=this.__service.state,t=null==e?void 0:e.toStrings().reduce(((e,t)=>[...e,...t.split(".")]),[]);return[...new Set(null!=t?t:[])].join(" ")}__createService(){this.__service.onTransition((e=>{var t,r,s,i;if(!e.changed)return;let n;e.matches("idle")&&0===e.context.errors.length&&((null===(t=e.history)||void 0===t?void 0:t.matches({busy:"deleting"}))?n=g.ResourceDeleted:(null===(r=e.history)||void 0===r?void 0:r.matches({busy:"creating"}))?n=g.ResourceCreated:(null===(s=e.history)||void 0===s?void 0:s.matches({busy:"updating"}))?n=g.ResourceUpdated:(null===(i=e.history)||void 0===i?void 0:i.matches({busy:"fetching"}))&&(n=g.ResourceFetched)),this.requestUpdate(),this.dispatchEvent(new p("update",{detail:{result:n}})),e.matches("busy")||this.__processFetchEventQueue()})),this.__service.onChange((()=>{this.requestUpdate(),this.dispatchEvent(new p)})),this.__service.start()}__createRumour(){const e=V.Rumour(this.group);this.__unsubscribeFromRumour=e.track((e=>this.__handleRumourUpdate(e)))}__destroyRumour(){var e;null===(e=this.__unsubscribeFromRumour)||void 0===e||e.call(this),this.__unsubscribeFromRumour=null}__createServer(){this.__fetchEventHandler=this.__handleFetchEvent.bind(this),this.addEventListener("fetch",this.__fetchEventHandler)}__destroyServer(){this.removeEventListener("fetch",this.__fetchEventHandler)}__handleRumourUpdate(e){var t;try{const r=null===(t=this.__service.state)||void 0===t?void 0:t.context.data,s=r?e(r):r;if(s!==r&&(this.data=s,!s)){const e=g.ResourceDeleted,t=new p("update",{detail:{result:e}});this.dispatchEvent(t)}}catch(e){if(!(e instanceof d.UpdateError))throw e;setTimeout((()=>this.refresh()))}}__processFetchEventQueue(){const e=new V.API(this);this.__fetchEventQueue.forEach((t=>{const r=t.request;if(this.virtualHost&&r.url.startsWith(`foxy://${this.virtualHost}/form/`))return t.respondWith(M(r,this));const s=G(r.url,this.data),i=s.ok?s:e.fetch(r);t.respondWith(Promise.resolve(i)),s.ok&&console.debug(`%c@foxy.io/elements::${this.localName}\n%c200%c GET ${r.url}`,"color: gray","background: gray; padding: 0 .2em; border-radius: .2em; color: white;","")})),this.__fetchEventQueue=[]}__flushFetchEventQueue(e){this.__fetchEventQueue.forEach((t=>{t.respondWith(Promise.reject(new Error(e)))})),this.__fetchEventQueue=[]}__handleFetchEvent(e){var t;if(!(e instanceof m))return;if(e.defaultPrevented)return;if(e.composedPath()[0]===this)return;const{url:r,method:s}=e.request;if(r.startsWith("foxy://")){if(!this.virtualHost||!r.startsWith(`foxy://${this.virtualHost}/form/`))return;if("GET"!==s)return e.respondWith(M(e.request,this))}"GET"===s&&(e.preventDefault(),this.__fetchEventQueue.push(e),(null===(t=this.__service.state)||void 0===t?void 0:t.matches("busy"))||this.__processFetchEventQueue())}}V.UpdateEvent=p,V.Rumour=l((()=>new d)),V.API=v;export{V as N,N as b,G as s,W as u};
@@ -1 +1 @@
1
- import"./shared-299543b6.js";import"./shared-a2693527.js";import{a as t}from"./shared-6960ab99.js";import{_ as e}from"./shared-d1195c27.js";import{c as i,h as s,s as r}from"./shared-ba5c42c7.js";import{i as a}from"./shared-53e42a77.js";import{c as l}from"./shared-4e709717.js";let n,o,d,u,h,p,m=t=>t;customElements.define("foxy-internal-number-control",class extends t{constructor(){super(...arguments),this.layout=null,this.prefix=null,this.suffix=null,this.step=null,this.min=null,this.max=null,this.__isErrorVisible=!1}static get properties(){return e(e({},super.properties),{},{layout:{},prefix:{},suffix:{},step:{type:Number},min:{type:Number},max:{type:Number},__isErrorVisible:{attribute:!1}})}static get styles(){return[...super.styles,i(n||(n=m`input::-webkit-contacts-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input{-moz-appearance:textfield}`))]}reportValidity(){this.__isErrorVisible=!0,super.reportValidity()}renderControl(){var t,e,i;return"summary-item"===this.layout?this.__renderSummaryItemLayout():s(o||(o=m` <vaadin-number-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" step="${0}" min="${0}" max="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" clear-button-visible @keydown="${0}" @change="${0}"> ${0} ${0} </vaadin-number-field> `),a(this._errorMessage),this.placeholder,this.helperText,this.label,a(null!==(t=this.step)&&void 0!==t?t:void 0),a(null!==(e=this.min)&&void 0!==e?e:void 0),a(null!==(i=this.max)&&void 0!==i?i:void 0),this.disabled,this.readonly,this._checkValidity,this._value,(t=>{var e;return"Enter"===t.key&&(null===(e=this.nucleon)||void 0===e?void 0:e.submit())}),(t=>{const e=t.currentTarget;this._value=parseFloat(e.value)}),this.prefix?s(d||(d=m`<div slot="prefix">${0}</div>`),this.prefix):"",this.suffix?s(u||(u=m`<div class="pr-s font-medium" slot="suffix">${0}</div>`),this.suffix):"")}__renderSummaryItemLayout(){var t,i,n;const o={"text-disabled":this.disabled,"text-tertiary":!this.readonly&&!this.disabled,"font-medium":!this.readonly};return s(h||(h=m` <div class="flex items-start gap-m leading-xs"> <div> <label class="text-m text-body" for="input">${0}</label> <p class="text-xs text-secondary">${0}</p> <p class="text-xs text-error" ?hidden="${0}"> ${0} </p> </div> <div class="flex-1 flex items-center gap-xs"> <span class="${0}"> ${0} </span> <input placeholder="${0}" style="min-width:10ch" class="${0}" type="number" step="${0}" min="${0}" max="${0}" id="input" .value="${0}" ?disabled="${0}" ?readonly="${0}" @keydown="${0}" @blur="${0}" @input="${0}"> <span class="${0}"> ${0} </span> <button aria-label="${0}" class="${0}" style="width:1em;height:1em" ?disabled="${0}" ?hidden="${0}" @click="${0}"> ${0} </button> </div> </div> `),this.label,this.helperText,!this.__isErrorVisible||this.disabled||this.readonly,this._errorMessage,l(e({"text-secondary":this.readonly},o)),this.prefix,this.placeholder,l({"w-full appearance-none text-right bg-transparent transition-colors":!0,"text-m rounded-s focus-outline-none":!0,"text-secondary":this.readonly,"text-disabled":this.disabled,"font-medium":!this.readonly}),a(null!==(t=this.step)&&void 0!==t?t:void 0),a(null!==(i=this.min)&&void 0!==i?i:void 0),a(null!==(n=this.max)&&void 0!==n?n:void 0),0===this._value?"":this._value,this.disabled,this.readonly,(t=>{var e;return"Enter"===t.key&&(null===(e=this.nucleon)||void 0===e?void 0:e.submit())}),(()=>this.__isErrorVisible=!0),(t=>{t.stopPropagation();const e=parseFloat(t.target.value);this._value=isNaN(e)?0:e}),l(e({"text-secondary":this.readonly},o)),this.suffix,this.t("clear"),l({"flex-shrink-0 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._value=0,this.dispatchEvent(new CustomEvent("clear"))}),r(p||(p=m`<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>`)))}});
1
+ import"./shared-745bd2f4.js";import"./shared-cbd8c028.js";import{a as t}from"./shared-b3d72cd9.js";import{_ as e}from"./shared-cb58dfcd.js";import{c as i,h as s,s as r}from"./shared-ba5c42c7.js";import{i as a}from"./shared-53e42a77.js";import{c as l}from"./shared-4e709717.js";let n,o,d,u,h,p,m=t=>t;customElements.define("foxy-internal-number-control",class extends t{constructor(){super(...arguments),this.layout=null,this.prefix=null,this.suffix=null,this.step=null,this.min=null,this.max=null,this.__isErrorVisible=!1}static get properties(){return e(e({},super.properties),{},{layout:{},prefix:{},suffix:{},step:{type:Number},min:{type:Number},max:{type:Number},__isErrorVisible:{attribute:!1}})}static get styles(){return[...super.styles,i(n||(n=m`input::-webkit-contacts-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input{-moz-appearance:textfield}`))]}reportValidity(){this.__isErrorVisible=!0,super.reportValidity()}renderControl(){var t,e,i;return"summary-item"===this.layout?this.__renderSummaryItemLayout():s(o||(o=m` <vaadin-number-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" step="${0}" min="${0}" max="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" clear-button-visible @keydown="${0}" @change="${0}"> ${0} ${0} </vaadin-number-field> `),a(this._errorMessage),this.placeholder,this.helperText,this.label,a(null!==(t=this.step)&&void 0!==t?t:void 0),a(null!==(e=this.min)&&void 0!==e?e:void 0),a(null!==(i=this.max)&&void 0!==i?i:void 0),this.disabled,this.readonly,this._checkValidity,this._value,(t=>{var e;return"Enter"===t.key&&(null===(e=this.nucleon)||void 0===e?void 0:e.submit())}),(t=>{const e=t.currentTarget;this._value=parseFloat(e.value)}),this.prefix?s(d||(d=m`<div slot="prefix">${0}</div>`),this.prefix):"",this.suffix?s(u||(u=m`<div class="pr-s font-medium" slot="suffix">${0}</div>`),this.suffix):"")}__renderSummaryItemLayout(){var t,i,n;const o={"text-disabled":this.disabled,"text-tertiary":!this.readonly&&!this.disabled,"font-medium":!this.readonly};return s(h||(h=m` <div class="flex items-start gap-m leading-xs"> <div> <label class="text-m text-body" for="input">${0}</label> <p class="text-xs text-secondary">${0}</p> <p class="text-xs text-error" ?hidden="${0}"> ${0} </p> </div> <div class="flex-1 flex items-center gap-xs"> <span class="${0}"> ${0} </span> <input placeholder="${0}" style="min-width:10ch" class="${0}" type="number" step="${0}" min="${0}" max="${0}" id="input" .value="${0}" ?disabled="${0}" ?readonly="${0}" @keydown="${0}" @blur="${0}" @input="${0}"> <span class="${0}"> ${0} </span> <button aria-label="${0}" class="${0}" style="width:1em;height:1em" ?disabled="${0}" ?hidden="${0}" @click="${0}"> ${0} </button> </div> </div> `),this.label,this.helperText,!this.__isErrorVisible||this.disabled||this.readonly,this._errorMessage,l(e({"text-secondary":this.readonly},o)),this.prefix,this.placeholder,l({"w-full appearance-none text-right bg-transparent transition-colors":!0,"text-m rounded-s focus-outline-none":!0,"text-secondary":this.readonly,"text-disabled":this.disabled,"font-medium":!this.readonly}),a(null!==(t=this.step)&&void 0!==t?t:void 0),a(null!==(i=this.min)&&void 0!==i?i:void 0),a(null!==(n=this.max)&&void 0!==n?n:void 0),0===this._value?"":this._value,this.disabled,this.readonly,(t=>{var e;return"Enter"===t.key&&(null===(e=this.nucleon)||void 0===e?void 0:e.submit())}),(()=>this.__isErrorVisible=!0),(t=>{t.stopPropagation();const e=parseFloat(t.target.value);this._value=isNaN(e)?0:e}),l(e({"text-secondary":this.readonly},o)),this.suffix,this.t("clear"),l({"flex-shrink-0 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._value=0,this.dispatchEvent(new CustomEvent("clear"))}),r(p||(p=m`<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>`)))}});
@@ -0,0 +1 @@
1
+ import{_ as r}from"./shared-cb58dfcd.js";import{p as s}from"./shared-9bd0911a.js";function t(t){var a;const n=s(t),o=null!==(a={y:"yearly",m:"monthly",w:"weekly",d:"daily"}[n.units])&&void 0!==a?a:n.units;return r(r({},n),{},{units:o})}export{t as p};
@@ -98,7 +98,7 @@
98
98
  "helper_text": "Loads the subscription into the cart. This is useful for changing the products that make up the subscription by loading the subscription and then proceeding to your website.",
99
99
  "copy-to-clipboard": {
100
100
  "failed_to_copy": "Failed to copy",
101
- "click_to_copy": "Copy link",
101
+ "click_to_copy": "Copy URL",
102
102
  "copying": "Copying...",
103
103
  "done": "Copied to clipboard"
104
104
  }
@@ -108,7 +108,7 @@
108
108
  "helper_text": "Loads the subscription into the cart and redirects to checkout. This link is useful for paying past due amounts, modifying address/payment information or transferring to another email address.",
109
109
  "copy-to-clipboard": {
110
110
  "failed_to_copy": "Failed to copy",
111
- "click_to_copy": "Copy link",
111
+ "click_to_copy": "Copy URL",
112
112
  "copying": "Copying...",
113
113
  "done": "Copied to clipboard"
114
114
  }
@@ -118,7 +118,7 @@
118
118
  "helper_text": "Sets the subscription to cancel at the end of the current paid period based on the next transaction date.",
119
119
  "copy-to-clipboard": {
120
120
  "failed_to_copy": "Failed to copy",
121
- "click_to_copy": "Copy link",
121
+ "click_to_copy": "Copy URL",
122
122
  "copying": "Copying...",
123
123
  "done": "Copied to clipboard"
124
124
  }
@@ -128,7 +128,7 @@
128
128
  "helper_text": "Sets the subscription to cancel the following day.",
129
129
  "copy-to-clipboard": {
130
130
  "failed_to_copy": "Failed to copy",
131
- "click_to_copy": "Copy link",
131
+ "click_to_copy": "Copy URL",
132
132
  "copying": "Copying...",
133
133
  "done": "Copied to clipboard"
134
134
  }
@@ -1,3 +1,4 @@
1
+ import type { PropertyDeclarations } from 'lit-element';
1
2
  import type { TemplateResult } from 'lit-html';
2
3
  import type { Data } from './types';
3
4
  import { BooleanSelector } from '@foxy.io/sdk/core';
@@ -6,6 +7,9 @@ declare const Base: typeof InternalForm & import("lit-element").Constructor<impo
6
7
  defaultNS: string;
7
8
  };
8
9
  export declare class AdminSubscriptionForm extends Base<Data> {
10
+ static get properties(): PropertyDeclarations;
11
+ /** URL of the UOE settings page in the admin. If set, displays a link to that page in the self-service links section. */
12
+ uoeSettingsPage: string | null;
9
13
  get hiddenSelector(): BooleanSelector;
10
14
  get headerSubtitleOptions(): Record<string, unknown>;
11
15
  renderBody(): TemplateResult;
@@ -2,10 +2,21 @@ import { TranslatableMixin } from "../../../mixins/translatable.js";
2
2
  import { BooleanSelector } from '@foxy.io/sdk/core';
3
3
  import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
4
4
  import { ifDefined } from 'lit-html/directives/if-defined';
5
- import { html } from 'lit-html';
5
+ import { html, svg } from 'lit-html';
6
6
  const NS = 'admin-subscription-form';
7
7
  const Base = TranslatableMixin(InternalForm, NS);
8
8
  export class AdminSubscriptionForm extends Base {
9
+ constructor() {
10
+ super(...arguments);
11
+ /** URL of the UOE settings page in the admin. If set, displays a link to that page in the self-service links section. */
12
+ this.uoeSettingsPage = null;
13
+ }
14
+ static get properties() {
15
+ return {
16
+ ...super.properties,
17
+ uoeSettingsPage: { attribute: 'uoe-settings-page' },
18
+ };
19
+ }
9
20
  get hiddenSelector() {
10
21
  var _a, _b;
11
22
  const alwaysMatch = ['delete', super.hiddenSelector.toString()];
@@ -61,8 +72,6 @@ export class AdminSubscriptionForm extends Base {
61
72
  </foxy-internal-number-control>
62
73
  </foxy-internal-summary-control>
63
74
 
64
- ${this.renderTemplateOrSlot()}
65
-
66
75
  <foxy-internal-summary-control infer="self-service-links">
67
76
  <foxy-internal-admin-subscription-form-link-control infer="load-in-cart">
68
77
  </foxy-internal-admin-subscription-form-link-control>
@@ -85,18 +94,30 @@ export class AdminSubscriptionForm extends Base {
85
94
  >
86
95
  </foxy-internal-admin-subscription-form-link-control>
87
96
 
88
- <p class="text-s text-secondary">
89
- <foxy-i18n infer="" key="uoe_hint_text"></foxy-i18n>
90
- <a
91
- target="_blank"
92
- class="inline-block rounded font-medium text-body transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50"
93
- href="https://admin.foxycart.com"
94
- >
95
- <foxy-i18n infer="" key="uoe_link_text"></foxy-i18n>
96
- </a>
97
- </p>
97
+ <div
98
+ class="flex items-start leading-xs text-xs text-secondary"
99
+ style="gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)"
100
+ >
101
+ ${svg `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`}
102
+ <p>
103
+ <foxy-i18n infer="" key="uoe_hint_text"></foxy-i18n>
104
+ ${this.uoeSettingsPage
105
+ ? html `
106
+ <a
107
+ target="_blank"
108
+ class="inline-block rounded font-medium text-body cursor-pointer hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50"
109
+ href=${this.uoeSettingsPage}
110
+ >
111
+ <foxy-i18n infer="" key="uoe_link_text"></foxy-i18n>
112
+ </a>
113
+ `
114
+ : ''}
115
+ </p>
116
+ </div>
98
117
  </foxy-internal-summary-control>
99
118
 
119
+ ${this.renderTemplateOrSlot()}
120
+
100
121
  <foxy-internal-async-list-control
101
122
  infer="attributes"
102
123
  class="min-w-0"
@@ -1 +1 @@
1
- {"version":3,"file":"AdminSubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,EAAE,GAAG,yBAAyB,CAAC;AACrC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,qBAAsB,SAAQ,IAAU;IACnD,IAAI,cAAc;;QAChB,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,QAAC,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAA;YAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,QAAC,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAA;YAAE,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC/E,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,qBAAqB;;QACvB,OAAO,EAAE,OAAO,EAAE,OAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACnE,CAAC;IAED,UAAU;;QACR,IAAI,gBAAoC,CAAC;QAEzC,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,iBAAiB,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACrE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACnC;QAAC,WAAM;YACN,gBAAgB,GAAG,SAAS,CAAC;SAC9B;QAED,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;mBAuBR,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAC,yBAAyB,EAAE,aAAa,CAAC;;;;;;;QAOnF,IAAI,CAAC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAuCnB,SAAS,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAG,eAAe,EAAE,IAAI,CAAC;;;;;;;;;;gBAUpD,SAAS,CAAC,gBAAgB,CAAC;;;;;;;;;;QAUnC,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-html';\n\nconst NS = 'admin-subscription-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class AdminSubscriptionForm extends Base<Data> {\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = ['delete', super.hiddenSelector.toString()];\n if (!this.data?.error_message) alwaysMatch.unshift('error-message');\n if (!this.data?.is_active) alwaysMatch.unshift('view-action', 'cancel-action');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_active ? 'active' : 'inactive' };\n }\n\n renderBody(): TemplateResult {\n let transactionsHref: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:transactions'].href ?? '');\n url.searchParams.set('zoom', 'items');\n transactionsHref = url.toString();\n } catch {\n transactionsHref = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-admin-subscription-form-error infer=\"error-message\">\n </foxy-internal-admin-subscription-form-error>\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-date-control layout=\"summary-item\" infer=\"start-date\">\n </foxy-internal-date-control>\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"frequency\"\n allow-twice-a-month\n >\n </foxy-internal-frequency-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"next-transaction-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"overdue\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n suffix=${ifDefined(this.data?._embedded['fx:transaction_template'].currency_code)}\n infer=\"past-due-amount\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n ${this.renderTemplateOrSlot()}\n\n <foxy-internal-summary-control infer=\"self-service-links\">\n <foxy-internal-admin-subscription-form-link-control infer=\"load-in-cart\">\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"cart=checkout\"\n infer=\"load-on-checkout\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=next_transaction_date\"\n infer=\"cancel-at-end-of-billing-period\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=true\"\n infer=\"cancel-next-day\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <p class=\"text-s text-secondary\">\n <foxy-i18n infer=\"\" key=\"uoe_hint_text\"></foxy-i18n>\n <a\n target=\"_blank\"\n class=\"inline-block rounded font-medium text-body transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=\"https://admin.foxycart.com\"\n >\n <foxy-i18n infer=\"\" key=\"uoe_link_text\"></foxy-i18n>\n </a>\n </p>\n </foxy-internal-summary-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 item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"transactions\"\n class=\"min-w-0\"\n first=${ifDefined(transactionsHref)}\n item=\"foxy-transaction-card\"\n form=\"foxy-transaction\"\n hide-create-button\n hide-delete-button\n alert\n wide\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"AdminSubscriptionForm.js","sourceRoot":"","sources":["../../../../src/elements/public/AdminSubscriptionForm/AdminSubscriptionForm.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,wCAAqC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oDAAiD;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,EAAE,GAAG,yBAAyB,CAAC;AACrC,MAAM,IAAI,GAAG,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAEjD,MAAM,OAAO,qBAAsB,SAAQ,IAAU;IAArD;;QAQE,yHAAyH;QACzH,oBAAe,GAAkB,IAAI,CAAC;IA+HxC,CAAC;IAvIC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,eAAe,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE;SACpD,CAAC;IACJ,CAAC;IAKD,IAAI,cAAc;;QAChB,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,IAAI,QAAC,IAAI,CAAC,IAAI,0CAAE,aAAa,CAAA;YAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpE,IAAI,QAAC,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAA;YAAE,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAC/E,OAAO,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,qBAAqB;;QACvB,OAAO,EAAE,OAAO,EAAE,OAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACnE,CAAC;IAED,UAAU;;QACR,IAAI,gBAAoC,CAAC;QAEzC,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,CAAC,iBAAiB,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACrE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtC,gBAAgB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACnC;QAAC,WAAM;YACN,gBAAgB,GAAG,SAAS,CAAC;SAC9B;QAED,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;mBAuBR,SAAS,OAAC,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAC,yBAAyB,EAAE,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAiC/E,GAAG,CAAA,qWAAqW;;;cAGtW,IAAI,CAAC,eAAe;YACpB,CAAC,CAAC,IAAI,CAAA;;;;2BAIO,IAAI,CAAC,eAAe;;;;iBAI9B;YACH,CAAC,CAAC,EAAE;;;;;QAKV,IAAI,CAAC,oBAAoB,EAAE;;;;;gBAKnB,SAAS,aAAC,IAAI,CAAC,IAAI,0CAAE,MAAM,0CAAG,eAAe,EAAE,IAAI,CAAC;;;;;;;;;;gBAUpD,SAAS,CAAC,gBAAgB,CAAC;;;;;;;;;;QAUnC,KAAK,CAAC,UAAU,EAAE;KACrB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\nimport type { Data } from './types';\n\nimport { TranslatableMixin } from '../../../mixins/translatable';\nimport { BooleanSelector } from '@foxy.io/sdk/core';\nimport { InternalForm } from '../../internal/InternalForm/InternalForm';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html, svg } from 'lit-html';\n\nconst NS = 'admin-subscription-form';\nconst Base = TranslatableMixin(InternalForm, NS);\n\nexport class AdminSubscriptionForm extends Base<Data> {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n uoeSettingsPage: { attribute: 'uoe-settings-page' },\n };\n }\n\n /** URL of the UOE settings page in the admin. If set, displays a link to that page in the self-service links section. */\n uoeSettingsPage: string | null = null;\n\n get hiddenSelector(): BooleanSelector {\n const alwaysMatch = ['delete', super.hiddenSelector.toString()];\n if (!this.data?.error_message) alwaysMatch.unshift('error-message');\n if (!this.data?.is_active) alwaysMatch.unshift('view-action', 'cancel-action');\n return new BooleanSelector(alwaysMatch.join(' ').trim());\n }\n\n get headerSubtitleOptions(): Record<string, unknown> {\n return { context: this.data?.is_active ? 'active' : 'inactive' };\n }\n\n renderBody(): TemplateResult {\n let transactionsHref: string | undefined;\n\n try {\n const url = new URL(this.data?._links['fx:transactions'].href ?? '');\n url.searchParams.set('zoom', 'items');\n transactionsHref = url.toString();\n } catch {\n transactionsHref = undefined;\n }\n\n return html`\n ${this.renderHeader()}\n\n <foxy-internal-admin-subscription-form-error infer=\"error-message\">\n </foxy-internal-admin-subscription-form-error>\n\n <foxy-internal-summary-control infer=\"general\">\n <foxy-internal-date-control layout=\"summary-item\" infer=\"start-date\">\n </foxy-internal-date-control>\n <foxy-internal-frequency-control\n layout=\"summary-item\"\n infer=\"frequency\"\n allow-twice-a-month\n >\n </foxy-internal-frequency-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"next-transaction-date\">\n </foxy-internal-date-control>\n <foxy-internal-date-control layout=\"summary-item\" infer=\"end-date\">\n </foxy-internal-date-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"overdue\">\n <foxy-internal-number-control\n layout=\"summary-item\"\n suffix=${ifDefined(this.data?._embedded['fx:transaction_template'].currency_code)}\n infer=\"past-due-amount\"\n min=\"0\"\n >\n </foxy-internal-number-control>\n </foxy-internal-summary-control>\n\n <foxy-internal-summary-control infer=\"self-service-links\">\n <foxy-internal-admin-subscription-form-link-control infer=\"load-in-cart\">\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"cart=checkout\"\n infer=\"load-on-checkout\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=next_transaction_date\"\n infer=\"cancel-at-end-of-billing-period\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <foxy-internal-admin-subscription-form-link-control\n search=\"sub_cancel=true\"\n infer=\"cancel-next-day\"\n >\n </foxy-internal-admin-subscription-form-link-control>\n\n <div\n class=\"flex items-start leading-xs text-xs text-secondary\"\n style=\"gap: calc(0.625em + (var(--lumo-border-radius) / 4) - 1px)\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\" class=\"flex-shrink-0\" style=\"width: 1.25em\"><path fill-rule=\"evenodd\" d=\"M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z\" clip-rule=\"evenodd\" /></svg>`}\n <p>\n <foxy-i18n infer=\"\" key=\"uoe_hint_text\"></foxy-i18n>\n ${this.uoeSettingsPage\n ? html`\n <a\n target=\"_blank\"\n class=\"inline-block rounded font-medium text-body cursor-pointer hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${this.uoeSettingsPage}\n >\n <foxy-i18n infer=\"\" key=\"uoe_link_text\"></foxy-i18n>\n </a>\n `\n : ''}\n </p>\n </div>\n </foxy-internal-summary-control>\n\n ${this.renderTemplateOrSlot()}\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 item=\"foxy-attribute-card\"\n form=\"foxy-attribute-form\"\n alert\n >\n </foxy-internal-async-list-control>\n\n <foxy-internal-async-list-control\n infer=\"transactions\"\n class=\"min-w-0\"\n first=${ifDefined(transactionsHref)}\n item=\"foxy-transaction-card\"\n form=\"foxy-transaction\"\n hide-create-button\n hide-delete-button\n alert\n wide\n >\n </foxy-internal-async-list-control>\n\n ${super.renderBody()}\n `;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { ResponsiveMixin } from "../../../../../mixins/responsive.js";
2
2
  import { InternalControl } from "../../../../internal/InternalControl/InternalControl.js";
3
- import { html, svg } from 'lit-html';
3
+ import { html } from 'lit-html';
4
4
  export class InternalAdminSubscriptionFormLinkControl extends ResponsiveMixin(InternalControl) {
5
5
  constructor() {
6
6
  super(...arguments);
@@ -18,56 +18,39 @@ export class InternalAdminSubscriptionFormLinkControl extends ResponsiveMixin(In
18
18
  let href;
19
19
  try {
20
20
  const url = new URL((_b = (_a = form === null || form === void 0 ? void 0 : form.data) === null || _a === void 0 ? void 0 : _a._links['fx:sub_token_url'].href) !== null && _b !== void 0 ? _b : '');
21
- if (this.search)
21
+ if (this.search) {
22
+ const originalParams = new URLSearchParams(url.search);
22
23
  url.search = this.search;
24
+ originalParams.forEach((value, key) => url.searchParams.set(key, value));
25
+ }
23
26
  href = url.toString();
24
27
  }
25
28
  catch (_c) {
26
29
  href = undefined;
27
30
  }
28
31
  return html `
29
- <div class="leading-s sm-flex sm-items-center sm-gap-m">
30
- <foxy-i18n
31
- class="block whitespace-nowrap text-s text-secondary sm-text-m sm-text-body sm-flex-1 sm-flex-shrink-0"
32
- infer=""
33
- key="label"
32
+ <div class="leading-xs flex items-center gap-s">
33
+ <a
34
+ target="_blank"
35
+ class="truncate min-w-0 font-medium rounded cursor-pointer text-primary hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50"
36
+ href=${href}
34
37
  >
35
- </foxy-i18n>
38
+ <foxy-i18n infer="" key="label"></foxy-i18n>
39
+ </a>
36
40
 
37
- <div class="flex items-center gap-xs min-w-0">
38
- <a
39
- target="_blank"
40
- class="min-w-0 flex-1 truncate font-medium rounded cursor-pointer hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50"
41
- href=${href}
42
- >
43
- ${href}
44
- </a>
41
+ <span> &bull; </span>
45
42
 
46
- <foxy-copy-to-clipboard
47
- infer="copy-to-clipboard"
48
- class="text-s flex-shrink-0"
49
- text=${href}
50
- >
51
- </foxy-copy-to-clipboard>
52
-
53
- <div
54
- class="transition-colors text-tertiary flex-shrink-0 cursor-pointer hover-text-body"
55
- id="trigger"
56
- >
57
- ${svg `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" style="width: calc(1em * var(--lumo-line-height-xs)); height: calc(1em * var(--lumo-line-height-xs)); margin-right: -0.12em"><path stroke-linecap="round" stroke-linejoin="round" d="M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z" /></svg>`}
58
- </div>
59
-
60
- <vcf-tooltip
61
- position="bottom"
62
- theme="light"
63
- style="--lumo-base-color: black; max-width: 30rem"
64
- class="mt-s"
65
- for="trigger"
66
- >
67
- <foxy-i18n class="text-s" style="color: white" infer="" key="helper_text"></foxy-i18n>
68
- </vcf-tooltip>
69
- </div>
43
+ <foxy-copy-to-clipboard
44
+ layout="text"
45
+ theme="tertiary-inline contrast"
46
+ infer="copy-to-clipboard"
47
+ text=${href}
48
+ >
49
+ </foxy-copy-to-clipboard>
70
50
  </div>
51
+
52
+ <foxy-i18n class="leading-xs block text-xs text-secondary" infer="" key="helper_text">
53
+ </foxy-i18n>
71
54
  `;
72
55
  }
73
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InternalAdminSubscriptionFormLinkControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/InternalAdminSubscriptionFormLinkControl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,4CAAyC;AACnE,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,OAAO,wCAAyC,SAAQ,eAAe,CAAC,eAAe,CAAC;IAA9F;;QAQE,WAAM,GAAkB,IAAI,CAAC;IA2D/B,CAAC;IAlEC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,OAAuC,CAAC;QAC1D,IAAI,IAAwB,CAAC;QAE7B,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,MAAM,CAAC,kBAAkB,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,MAAM;gBAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1C,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;QAAC,WAAM;YACN,IAAI,GAAG,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAA;;;;;;;;;;;;;mBAaI,IAAI;;cAET,IAAI;;;;;;mBAMC,IAAI;;;;;;;;cAQT,GAAG,CAAA,yfAAyf;;;;;;;;;;;;;;KAcrgB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { AdminSubscriptionForm } from '../../AdminSubscriptionForm';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { ResponsiveMixin } from '../../../../../mixins/responsive';\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { html, svg } from 'lit-html';\n\nexport class InternalAdminSubscriptionFormLinkControl extends ResponsiveMixin(InternalControl) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n search: {},\n };\n }\n\n search: string | null = null;\n\n renderControl(): TemplateResult {\n const form = this.nucleon as AdminSubscriptionForm | null;\n let href: string | undefined;\n\n try {\n const url = new URL(form?.data?._links['fx:sub_token_url'].href ?? '');\n if (this.search) url.search = this.search;\n href = url.toString();\n } catch {\n href = undefined;\n }\n\n return html`\n <div class=\"leading-s sm-flex sm-items-center sm-gap-m\">\n <foxy-i18n\n class=\"block whitespace-nowrap text-s text-secondary sm-text-m sm-text-body sm-flex-1 sm-flex-shrink-0\"\n infer=\"\"\n key=\"label\"\n >\n </foxy-i18n>\n\n <div class=\"flex items-center gap-xs min-w-0\">\n <a\n target=\"_blank\"\n class=\"min-w-0 flex-1 truncate font-medium rounded cursor-pointer hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n ${href}\n </a>\n\n <foxy-copy-to-clipboard\n infer=\"copy-to-clipboard\"\n class=\"text-s flex-shrink-0\"\n text=${href}\n >\n </foxy-copy-to-clipboard>\n\n <div\n class=\"transition-colors text-tertiary flex-shrink-0 cursor-pointer hover-text-body\"\n id=\"trigger\"\n >\n ${svg`<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" style=\"width: calc(1em * var(--lumo-line-height-xs)); height: calc(1em * var(--lumo-line-height-xs)); margin-right: -0.12em\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9.879 7.519c1.171-1.025 3.071-1.025 4.242 0 1.172 1.025 1.172 2.687 0 3.712-.203.179-.43.326-.67.442-.745.361-1.45.999-1.45 1.827v.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 5.25h.008v.008H12v-.008Z\" /></svg>`}\n </div>\n\n <vcf-tooltip\n position=\"bottom\"\n theme=\"light\"\n style=\"--lumo-base-color: black; max-width: 30rem\"\n class=\"mt-s\"\n for=\"trigger\"\n >\n <foxy-i18n class=\"text-s\" style=\"color: white\" infer=\"\" key=\"helper_text\"></foxy-i18n>\n </vcf-tooltip>\n </div>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalAdminSubscriptionFormLinkControl.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/InternalAdminSubscriptionFormLinkControl.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,4CAAyC;AACnE,OAAO,EAAE,eAAe,EAAE,gEAA6D;AACvF,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,OAAO,wCAAyC,SAAQ,eAAe,CAAC,eAAe,CAAC;IAA9F;;QAQE,WAAM,GAAkB,IAAI,CAAC;IA6C/B,CAAC;IApDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;SACX,CAAC;IACJ,CAAC;IAID,aAAa;;QACX,MAAM,IAAI,GAAG,IAAI,CAAC,OAAuC,CAAC;QAC1D,IAAI,IAAwB,CAAC;QAE7B,IAAI;YACF,MAAM,GAAG,GAAG,IAAI,GAAG,aAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,MAAM,CAAC,kBAAkB,EAAE,IAAI,mCAAI,EAAE,CAAC,CAAC;YAEvE,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,MAAM,cAAc,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvD,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACzB,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;aAC1E;YAED,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;SACvB;QAAC,WAAM;YACN,IAAI,GAAG,SAAS,CAAC;SAClB;QAED,OAAO,IAAI,CAAA;;;;;iBAKE,IAAI;;;;;;;;;;;iBAWJ,IAAI;;;;;;;KAOhB,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { AdminSubscriptionForm } from '../../AdminSubscriptionForm';\nimport type { PropertyDeclarations } from 'lit-element';\nimport type { TemplateResult } from 'lit-html';\n\nimport { ResponsiveMixin } from '../../../../../mixins/responsive';\nimport { InternalControl } from '../../../../internal/InternalControl/InternalControl';\nimport { html } from 'lit-html';\n\nexport class InternalAdminSubscriptionFormLinkControl extends ResponsiveMixin(InternalControl) {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n search: {},\n };\n }\n\n search: string | null = null;\n\n renderControl(): TemplateResult {\n const form = this.nucleon as AdminSubscriptionForm | null;\n let href: string | undefined;\n\n try {\n const url = new URL(form?.data?._links['fx:sub_token_url'].href ?? '');\n\n if (this.search) {\n const originalParams = new URLSearchParams(url.search);\n url.search = this.search;\n originalParams.forEach((value, key) => url.searchParams.set(key, value));\n }\n\n href = url.toString();\n } catch {\n href = undefined;\n }\n\n return html`\n <div class=\"leading-xs flex items-center gap-s\">\n <a\n target=\"_blank\"\n class=\"truncate min-w-0 font-medium rounded cursor-pointer text-primary hover-underline focus-outline-none focus-ring-2 focus-ring-primary-50\"\n href=${href}\n >\n <foxy-i18n infer=\"\" key=\"label\"></foxy-i18n>\n </a>\n\n <span> &bull; </span>\n\n <foxy-copy-to-clipboard\n layout=\"text\"\n theme=\"tertiary-inline contrast\"\n infer=\"copy-to-clipboard\"\n text=${href}\n >\n </foxy-copy-to-clipboard>\n </div>\n\n <foxy-i18n class=\"leading-xs block text-xs text-secondary\" infer=\"\" key=\"helper_text\">\n </foxy-i18n>\n `;\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- import '@vaadin-component-factory/vcf-tooltip';
2
1
  import '../../../../internal/InternalControl/index';
3
2
  import '../../../CopyToClipboard/index';
4
3
  import '../../../I18n/index';
@@ -1,4 +1,3 @@
1
- import '@vaadin-component-factory/vcf-tooltip';
2
1
  import "../../../../internal/InternalControl/index.js";
3
2
  import "../../../CopyToClipboard/index.js";
4
3
  import "../../../I18n/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.ts"],"names":[],"mappings":"AAAA,OAAO,uCAAuC,CAAC;AAE/C,uDAAoD;AAEpD,2CAAwC;AACxC,gCAA6B;AAE7B,OAAO,EAAE,wCAAwC,IAAI,MAAM,EAAE,sDAAmD;AAEhH,cAAc,CAAC,MAAM,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAC;AAEpF,OAAO,EAAE,MAAM,IAAI,wCAAwC,EAAE,CAAC","sourcesContent":["import '@vaadin-component-factory/vcf-tooltip';\n\nimport '../../../../internal/InternalControl/index';\n\nimport '../../../CopyToClipboard/index';\nimport '../../../I18n/index';\n\nimport { InternalAdminSubscriptionFormLinkControl as Action } from './InternalAdminSubscriptionFormLinkControl';\n\ncustomElements.define('foxy-internal-admin-subscription-form-link-control', Action);\n\nexport { Action as InternalAdminSubscriptionFormLinkControl };\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/elements/public/AdminSubscriptionForm/internal/InternalAdminSubscriptionFormLinkControl/index.ts"],"names":[],"mappings":"AAAA,uDAAoD;AACpD,2CAAwC;AACxC,gCAA6B;AAE7B,OAAO,EAAE,wCAAwC,IAAI,MAAM,EAAE,sDAAmD;AAEhH,cAAc,CAAC,MAAM,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAC;AAEpF,OAAO,EAAE,MAAM,IAAI,wCAAwC,EAAE,CAAC","sourcesContent":["import '../../../../internal/InternalControl/index';\nimport '../../../CopyToClipboard/index';\nimport '../../../I18n/index';\n\nimport { InternalAdminSubscriptionFormLinkControl as Action } from './InternalAdminSubscriptionFormLinkControl';\n\ncustomElements.define('foxy-internal-admin-subscription-form-link-control', Action);\n\nexport { Action as InternalAdminSubscriptionFormLinkControl };\n"]}
@@ -4,6 +4,7 @@ import { InternalForm } from "../../internal/InternalForm/InternalForm.js";
4
4
  import { ifDefined } from 'lit-html/directives/if-defined';
5
5
  import { html } from 'lit-html';
6
6
  import slugify from '@sindresorhus/slugify';
7
+ import merge from 'lodash-es/merge';
7
8
  const NS = 'store-form';
8
9
  const Base = ResponsiveMixin(TranslatableMixin(InternalForm, NS));
9
10
  /**
@@ -964,7 +965,6 @@ export class StoreForm extends Base {
964
965
  this.edit({ webhook_key: JSON.stringify(parsedKey) });
965
966
  }
966
967
  __getCustomDisplayIdConfig() {
967
- var _a;
968
968
  const defaultConfig = {
969
969
  enabled: false,
970
970
  start: '0',
@@ -982,7 +982,7 @@ export class StoreForm extends Base {
982
982
  },
983
983
  },
984
984
  };
985
- return (_a = this.form.custom_display_id_config) !== null && _a !== void 0 ? _a : defaultConfig;
985
+ return merge(defaultConfig, this.form.custom_display_id_config || void 0);
986
986
  }
987
987
  __setCustomDisplayIdConfig(key, value) {
988
988
  const currentConfig = this.__getCustomDisplayIdConfig();