@foxy.io/elements 1.29.0-beta.2 → 1.29.0-beta.4

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 (101) hide show
  1. package/dist/cdn/foxy-address-form.js +1 -1
  2. package/dist/cdn/foxy-admin-subscription-form.js +1 -1
  3. package/dist/cdn/foxy-applied-coupon-code-form.js +1 -1
  4. package/dist/cdn/foxy-cart-form.js +2 -2
  5. package/dist/cdn/foxy-client-form.js +1 -1
  6. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  7. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  8. package/dist/cdn/foxy-coupon-form.js +1 -1
  9. package/dist/cdn/foxy-customer-form.js +1 -1
  10. package/dist/cdn/foxy-customer-portal-settings-form.js +1 -1
  11. package/dist/cdn/foxy-customer-portal.js +1 -1
  12. package/dist/cdn/foxy-customer.js +1 -1
  13. package/dist/cdn/foxy-downloadable-form.js +1 -1
  14. package/dist/cdn/foxy-email-template-form.js +1 -1
  15. package/dist/cdn/foxy-filter-attribute-form.js +1 -1
  16. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  17. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  18. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  19. package/dist/cdn/foxy-gift-card-form.js +1 -1
  20. package/dist/cdn/foxy-integration-form.js +1 -1
  21. package/dist/cdn/foxy-item-category-form.js +1 -1
  22. package/dist/cdn/foxy-item-form.js +2 -2
  23. package/dist/cdn/foxy-item-option-form.js +1 -1
  24. package/dist/cdn/foxy-native-integration-form.js +1 -1
  25. package/dist/cdn/foxy-passkey-form.js +1 -1
  26. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  27. package/dist/cdn/foxy-payments-api-payment-method-form.js +1 -1
  28. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  29. package/dist/cdn/foxy-store-form.js +1 -1
  30. package/dist/cdn/foxy-store-shipping-method-form.js +1 -1
  31. package/dist/cdn/foxy-subscription-form.js +1 -1
  32. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  33. package/dist/cdn/foxy-template-set-form.js +1 -1
  34. package/dist/cdn/foxy-transaction.js +1 -1
  35. package/dist/cdn/foxy-user-form.js +1 -1
  36. package/dist/cdn/foxy-users-table.js +1 -1
  37. package/dist/cdn/foxy-webhook-form.js +1 -1
  38. package/dist/cdn/shared-3ea78c8d.js +1 -0
  39. package/dist/cdn/shared-a8170f94.js +1 -0
  40. package/dist/cdn/shared-cdf20ded.js +1 -0
  41. package/dist/cdn/shared-d393bcd8.js +1 -0
  42. package/dist/cdn/shared-e96c5384.js +1 -0
  43. package/dist/cdn/shared-f07d15d6.js +1 -0
  44. package/dist/cdn/{shared-70a5fad6.js → shared-f8723f3f.js} +1 -1
  45. package/dist/cdn/translations/item-category-form/en.json +181 -148
  46. package/dist/cdn/translations/subscription-settings-form/en.json +85 -61
  47. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.d.ts +1 -0
  48. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +39 -18
  49. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  50. package/dist/elements/internal/InternalEditableListControl/index.d.ts +1 -0
  51. package/dist/elements/internal/InternalEditableListControl/index.js +1 -0
  52. package/dist/elements/internal/InternalEditableListControl/index.js.map +1 -1
  53. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js +2 -2
  54. package/dist/elements/internal/InternalFrequencyControl/InternalFrequencyControl.js.map +1 -1
  55. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +3 -0
  56. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +35 -12
  57. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  58. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.d.ts +2 -0
  59. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js +12 -2
  60. package/dist/elements/internal/InternalSelectControl/InternalSelectControl.js.map +1 -1
  61. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js +2 -2
  62. package/dist/elements/internal/InternalSummaryControl/InternalSummaryControl.js.map +1 -1
  63. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.d.ts +1 -0
  64. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js +31 -9
  65. package/dist/elements/internal/InternalSwitchControl/InternalSwitchControl.js.map +1 -1
  66. package/dist/elements/internal/InternalSwitchControl/index.d.ts +1 -0
  67. package/dist/elements/internal/InternalSwitchControl/index.js +1 -0
  68. package/dist/elements/internal/InternalSwitchControl/index.js.map +1 -1
  69. package/dist/elements/internal/InternalTextControl/InternalTextControl.d.ts +2 -0
  70. package/dist/elements/internal/InternalTextControl/InternalTextControl.js +14 -3
  71. package/dist/elements/internal/InternalTextControl/InternalTextControl.js.map +1 -1
  72. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js +3 -3
  73. package/dist/elements/public/CartForm/internal/InternalCartFormAddressSummaryItem/InternalCartFormAddressSummaryItem.js.map +1 -1
  74. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.d.ts +1 -7
  75. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js +109 -135
  76. package/dist/elements/public/ItemCategoryForm/ItemCategoryForm.js.map +1 -1
  77. package/dist/elements/public/ItemCategoryForm/index.d.ts +4 -3
  78. package/dist/elements/public/ItemCategoryForm/index.js +4 -3
  79. package/dist/elements/public/ItemCategoryForm/index.js.map +1 -1
  80. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.d.ts +4 -13
  81. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js +105 -115
  82. package/dist/elements/public/SubscriptionSettingsForm/SubscriptionSettingsForm.js.map +1 -1
  83. package/dist/elements/public/SubscriptionSettingsForm/index.d.ts +4 -4
  84. package/dist/elements/public/SubscriptionSettingsForm/index.js +4 -4
  85. package/dist/elements/public/SubscriptionSettingsForm/index.js.map +1 -1
  86. package/dist/elements/public/SubscriptionSettingsForm/types.d.ts +3 -1
  87. package/dist/elements/public/SubscriptionSettingsForm/types.js.map +1 -1
  88. package/package.json +1 -1
  89. package/dist/cdn/shared-292ba15e.js +0 -1
  90. package/dist/cdn/shared-6e355777.js +0 -1
  91. package/dist/cdn/shared-aefac46b.js +0 -1
  92. package/dist/cdn/shared-d4810405.js +0 -1
  93. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.d.ts +0 -12
  94. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js +0 -128
  95. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/InternalSubscriptionSettingsFormReattemptBypass.js.map +0 -1
  96. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.d.ts +0 -2
  97. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js +0 -26
  98. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/globalStyles.js.map +0 -1
  99. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.d.ts +0 -7
  100. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js +0 -13
  101. package/dist/elements/public/SubscriptionSettingsForm/internal/InternalSubscriptionSettingsFormReattemptBypass/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ import"./shared-797ba64a.js";import{I as e}from"./shared-7b8ad9c1.js";import"./shared-f1d2b5bb.js";import{_ as t}from"./shared-0f6e4584.js";import{i as s}from"./shared-9803aa7c.js";import{h as i,s as a}from"./shared-dc73b9a5.js";import{c as l}from"./shared-4e709717.js";let r,o,d,h,n=e=>e;customElements.define("foxy-internal-select-control",class extends e{constructor(){super(...arguments),this.options=[],this.layout=null,this.theme=null,this.__isErrorVisible=!1}static get properties(){return t(t({},super.properties),{},{options:{type:Array},layout:{},theme:{type:String},__isErrorVisible:{attribute:!1}})}renderControl(){var e;return"summary-item"===this.layout?this.__renderSummaryItemLayout():i(r||(r=n` <vaadin-combo-box item-value-path="value" item-label-path="label" error-message="${0}" item-id-path="value" helper-text="${0}" placeholder="${0}" label="${0}" class="w-full" theme="${0}" ?disabled="${0}" ?readonly="${0}" clear-button-visible .checkValidity="${0}" .items="${0}" .value="${0}" @change="${0}"> </vaadin-combo-box> `),s(this._errorMessage),this.helperText,this.placeholder,this.label,s(null!==(e=this.theme)&&void 0!==e?e:void 0),this.disabled,this.readonly,this._checkValidity,this.options.map((e=>({label:"label"in e?this.t(e.label):e.rawLabel,value:e.value}))),this._value,(e=>{e.stopPropagation();const t=e.currentTarget;this._value=t.value,t.validate()}))}reportValidity(){this.__isErrorVisible=!0,super.reportValidity()}updated(e){super.updated(e);const t=this.renderRoot.querySelector("vaadin-combo-box");t&&t.value!==this._value&&(t.value=this._value)}__renderSummaryItemLayout(){const e=this.options.find((e=>e.value===this._value));return i(o||(o=n` <div class="flex items-start leading-xs"> <div class="flex-1"> <label class="text-m text-body" for="select">${0}</label> <p class="text-xs text-secondary">${0}</p> <p class="text-xs text-error" ?hidden="${0}"> ${0} </p> </div> <div class="${0}"> <div class="flex items-center gap-xs"> <div> ${0} </div> ${0} </div> <select class="${0}" id="select" ?disabled="${0}" ?hidden="${0}" @blur="${0}" @change="${0}"> <option value="" ?selected="${0}" disabled="disabled" hidden>${0}</option> ${0} </select> </div> </div> `),this.label,this.helperText,!this.__isErrorVisible||this.disabled||this.readonly,this._errorMessage,l({"relative rounded-s transition-colors transition-opacity":!0,"focus-within-ring-2 focus-within-ring-primary-50":!this.disabled&&!this.readonly,"text-body hover-opacity-80 cursor-pointer":!this.disabled&&!this.readonly,"text-secondary":this.readonly,"text-disabled":this.disabled,"font-medium":!this.readonly}),e?"label"in e?this.t(e.label):e.rawLabel:this.placeholder,this.readonly?"":a(d||(d=n`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1em; height: 1em; transform: scale(1.25)"><path fill-rule="evenodd" d="M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z" clip-rule="evenodd" /></svg>`)),l({"absolute inset-0 opacity-0":!0,"cursor-pointer":!this.disabled&&!this.readonly}),this.disabled,this.readonly,(()=>this.__isErrorVisible=!0),(e=>{e.stopPropagation(),this._value=e.target.value}),!e,this.placeholder,this.options.map((t=>i(h||(h=n` <option value="${0}" ?selected="${0}"> ${0} </option> `),t.value,e&&t.value===this._value,"label"in t?this.t(t.label):t.rawLabel))))}});
@@ -0,0 +1 @@
1
+ import"./shared-df00a537.js";import"./shared-3e03c988.js";import{I as t}from"./shared-7b8ad9c1.js";import{_ as e}from"./shared-0f6e4584.js";import{c as i,h as s,s as r}from"./shared-dc73b9a5.js";import{i as a}from"./shared-9803aa7c.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 +1 @@
1
- import"./shared-df00a537.js";import"./shared-3e03c988.js";import"./shared-339bbd50.js";import"./shared-e2a61f69.js";import"./shared-797ba64a.js";import{I as e}from"./shared-7b8ad9c1.js";import{_ as t}from"./shared-0f6e4584.js";import{c as i,h as a,s}from"./shared-dc73b9a5.js";import{i as l}from"./shared-9803aa7c.js";import{c as o}from"./shared-4e709717.js";let n,r,d,h,u,c,p=e=>e;customElements.define("foxy-internal-frequency-control",class extends e{constructor(){super(...arguments),this.allowTwiceAMonth=!1,this.options=[{value:"d",label:"day"},{value:"w",label:"week"},{value:"m",label:"month"},{value:"y",label:"year"}],this.layout=null,this.max=999,this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{var t;const i=e.startsWith(".")?`0${e}`:e,a=parseFloat(e.substring(0,Math.max(i.length-1,0))),s=null!==(t=i[i.length-1])&&void 0!==t?t:"";return isNaN(a)?["0",""]:[a.toString(),s]}}}static get properties(){return t(t({},super.properties),{},{allowTwiceAMonth:{type:Boolean,attribute:"allow-twice-a-month"},options:{attribute:!1},layout:{},max:{type:Number}})}static get styles(){return[super.styles,i(n||(n=p`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0;padding-top:0!important}vaadin-custom-field::part(label){padding-bottom:var(--lumo-space-s)}vaadin-custom-field::part(error-message)[aria-hidden=false]{padding-top:var(--lumo-space-xs)}vaadin-combo-box,vaadin-integer-field{width:calc(50% - (var(--lumo-space-s)/ 2))}vaadin-integer-field{margin-right:var(--lumo-space-s);padding:0}vaadin-combo-box::part(text-field){padding:0}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input{-moz-appearance:textfield}`))]}renderControl(){var e,t;if("summary-item"===this.layout)return this.__renderSummaryItemLayout();const i=null!==(e=this._value)&&void 0!==e?e:"",s=parseFloat(this.__i18n.parseValue(i)[0]),o=this.options.map((({value:e,label:t})=>({label:this.t(t,{count:s}),value:e})));return a(r||(r=p` <vaadin-custom-field ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .errorMessage="${0}" .helperText="${0}" .label="${0}" .value="${0}" .i18n="${0}" @change="${0}"> <vaadin-integer-field max="${0}" min="1" prevent-invalid-input has-controls ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" @keydown="${0}"> </vaadin-integer-field> <vaadin-combo-box item-value-path="value" item-label-path="label" ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" .items="${0}" @keydown="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.disabled,this.readonly,this._checkValidity,null!==(t=this._errorMessage)&&void 0!==t?t:"",this.helperText,this.label,i,this.__i18n,(e=>{const t=e.currentTarget;this._value=t.value}),l(this.max||void 0),this.disabled,this.readonly,!this._checkValidity(),(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),this.disabled,this.readonly,!this._checkValidity(),o,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}))}updated(e){var t;super.updated(e);const i=this.renderRoot.querySelector("vaadin-custom-field");i&&i.value!==this._value&&(i.value=null!==(t=this._value)&&void 0!==t?t:"")}__renderSummaryItemLayout(){var e,t;const i=null!==(e=this._value)&&void 0!==e?e:"",[n,r]=this.__i18n.parseValue(i),m=parseFloat(n),v=".5m"!==this._value||this.allowTwiceAMonth?this.options.find((e=>e.value===r)):void 0;return a(d||(d=p` <div class="flex items-start gap-m leading-xs"> <div> <label class="text-m text-body" for="input">${0}</label> <p class="text-s text-secondary">${0}</p> <p class="text-s text-error" ?hidden="${0}"> ${0} </p> </div> <div class="flex-1 flex items-center gap-xs"> <input placeholder="${0}" inputmode="numeric" style="min-width:10ch" class="${0}" type="number" step="1" min="1" max="${0}" id="input" .value="${0}" ?disabled="${0}" ?readonly="${0}" @keydown="${0}" @input="${0}"> <div class="${0}"> <div class="flex items-center gap-xs"> <div class="whitespace-nowrap"> ${0} </div> ${0} </div> <select class="${0}" id="select" ?disabled="${0}" ?hidden="${0}" @change="${0}"> <option value="" ?selected="${0}" disabled="disabled" hidden>${0}</option> ${0} ${0} </select> </div> </div> </div> `),this.label,this.helperText,this.disabled||this.readonly,this._errorMessage,this.placeholder,o({"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}),l(null!==(t=this.max)&&void 0!==t?t:void 0),".5m"===i?this.allowTwiceAMonth?2:"":m,this.disabled,this.readonly,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{e.stopPropagation();const t=e.currentTarget;this._value=this.__i18n.formatValue([t.value,r])}),o({"relative rounded-s transition-colors transition-opacity":!0,"focus-within-ring-2 focus-within-ring-primary-50":!this.disabled&&!this.readonly,"text-body hover-opacity-80 cursor-pointer":!this.disabled&&!this.readonly,"text-secondary":this.readonly,"text-disabled":this.disabled,"font-medium":!this.readonly}),".5m"===i?this.t("times_a_month"):v?this.t(v.label,{count:m}):this.t("select"),this.readonly?"":s(h||(h=p`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1em; height: 1em; transform: scale(1.25)"><path fill-rule="evenodd" d="M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z" clip-rule="evenodd" /></svg>`)),o({"absolute inset-0 opacity-0":!0,"cursor-pointer":!this.disabled&&!this.readonly}),this.disabled,this.readonly,(e=>{e.stopPropagation();const t=e.currentTarget.value;this._value="times_a_month"===t?".5m":this.__i18n.formatValue([m,t])}),!v,this.t("select"),!this.allowTwiceAMonth||2!==m&&".5m"!==i?"":a(u||(u=p` <option value="times_a_month" ?selected="${0}"> ${0} </option> `),".5m"===i,this.t("times_a_month")),this.options.map((e=>a(c||(c=p` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.value,".5m"!==i&&e.value===(null==v?void 0:v.value),this.t(e.label,{count:m})))))}});
1
+ import"./shared-df00a537.js";import"./shared-3e03c988.js";import"./shared-339bbd50.js";import"./shared-e2a61f69.js";import"./shared-797ba64a.js";import{I as e}from"./shared-7b8ad9c1.js";import{_ as t}from"./shared-0f6e4584.js";import{c as i,h as a,s}from"./shared-dc73b9a5.js";import{i as l}from"./shared-9803aa7c.js";import{c as o}from"./shared-4e709717.js";let n,r,d,h,u,c,p=e=>e;customElements.define("foxy-internal-frequency-control",class extends e{constructor(){super(...arguments),this.allowTwiceAMonth=!1,this.options=[{value:"d",label:"day"},{value:"w",label:"week"},{value:"m",label:"month"},{value:"y",label:"year"}],this.layout=null,this.max=999,this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{var t;const i=e.startsWith(".")?`0${e}`:e,a=parseFloat(e.substring(0,Math.max(i.length-1,0))),s=null!==(t=i[i.length-1])&&void 0!==t?t:"";return isNaN(a)?["0",""]:[a.toString(),s]}}}static get properties(){return t(t({},super.properties),{},{allowTwiceAMonth:{type:Boolean,attribute:"allow-twice-a-month"},options:{attribute:!1},layout:{},max:{type:Number}})}static get styles(){return[super.styles,i(n||(n=p`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0;padding-top:0!important}vaadin-custom-field::part(label){padding-bottom:var(--lumo-space-s)}vaadin-custom-field::part(error-message)[aria-hidden=false]{padding-top:var(--lumo-space-xs)}vaadin-combo-box,vaadin-integer-field{width:calc(50% - (var(--lumo-space-s)/ 2))}vaadin-integer-field{margin-right:var(--lumo-space-s);padding:0}vaadin-combo-box::part(text-field){padding:0}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input{-moz-appearance:textfield}`))]}renderControl(){var e,t;if("summary-item"===this.layout)return this.__renderSummaryItemLayout();const i=null!==(e=this._value)&&void 0!==e?e:"",s=parseFloat(this.__i18n.parseValue(i)[0]),o=this.options.map((({value:e,label:t})=>({label:this.t(t,{count:s}),value:e})));return a(r||(r=p` <vaadin-custom-field ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .errorMessage="${0}" .helperText="${0}" .label="${0}" .value="${0}" .i18n="${0}" @change="${0}"> <vaadin-integer-field max="${0}" min="1" prevent-invalid-input has-controls ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" @keydown="${0}"> </vaadin-integer-field> <vaadin-combo-box item-value-path="value" item-label-path="label" ?disabled="${0}" ?readonly="${0}" ?invalid="${0}" .items="${0}" @keydown="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.disabled,this.readonly,this._checkValidity,null!==(t=this._errorMessage)&&void 0!==t?t:"",this.helperText,this.label,i,this.__i18n,(e=>{const t=e.currentTarget;this._value=t.value}),l(this.max||void 0),this.disabled,this.readonly,!this._checkValidity(),(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),this.disabled,this.readonly,!this._checkValidity(),o,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}))}updated(e){var t;super.updated(e);const i=this.renderRoot.querySelector("vaadin-custom-field");i&&i.value!==this._value&&(i.value=null!==(t=this._value)&&void 0!==t?t:"")}__renderSummaryItemLayout(){var e,t;const i=null!==(e=this._value)&&void 0!==e?e:"",[n,r]=this.__i18n.parseValue(i),m=parseFloat(n),v=".5m"!==this._value||this.allowTwiceAMonth?this.options.find((e=>e.value===r)):void 0;return a(d||(d=p` <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"> <input placeholder="${0}" inputmode="numeric" style="min-width:10ch" class="${0}" type="number" step="1" min="1" max="${0}" id="input" .value="${0}" ?disabled="${0}" ?readonly="${0}" @keydown="${0}" @input="${0}"> <div class="${0}"> <div class="flex items-center gap-xs"> <div class="whitespace-nowrap"> ${0} </div> ${0} </div> <select class="${0}" id="select" ?disabled="${0}" ?hidden="${0}" @change="${0}"> <option value="" ?selected="${0}" disabled="disabled" hidden>${0}</option> ${0} ${0} </select> </div> </div> </div> `),this.label,this.helperText,this.disabled||this.readonly,this._errorMessage,this.placeholder,o({"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}),l(null!==(t=this.max)&&void 0!==t?t:void 0),".5m"===i?this.allowTwiceAMonth?2:"":m,this.disabled,this.readonly,(e=>{var t;return"Enter"===e.key&&(null===(t=this.nucleon)||void 0===t?void 0:t.submit())}),(e=>{e.stopPropagation();const t=e.currentTarget;this._value=this.__i18n.formatValue([t.value,r])}),o({"relative rounded-s transition-colors transition-opacity":!0,"focus-within-ring-2 focus-within-ring-primary-50":!this.disabled&&!this.readonly,"text-body hover-opacity-80 cursor-pointer":!this.disabled&&!this.readonly,"text-secondary":this.readonly,"text-disabled":this.disabled,"font-medium":!this.readonly}),".5m"===i?this.t("times_a_month"):v?this.t(v.label,{count:m}):this.t("select"),this.readonly?"":s(h||(h=p`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" style="width: 1em; height: 1em; transform: scale(1.25)"><path fill-rule="evenodd" d="M10.53 3.47a.75.75 0 0 0-1.06 0L6.22 6.72a.75.75 0 0 0 1.06 1.06L10 5.06l2.72 2.72a.75.75 0 1 0 1.06-1.06l-3.25-3.25Zm-4.31 9.81 3.25 3.25a.75.75 0 0 0 1.06 0l3.25-3.25a.75.75 0 1 0-1.06-1.06L10 14.94l-2.72-2.72a.75.75 0 0 0-1.06 1.06Z" clip-rule="evenodd" /></svg>`)),o({"absolute inset-0 opacity-0":!0,"cursor-pointer":!this.disabled&&!this.readonly}),this.disabled,this.readonly,(e=>{e.stopPropagation();const t=e.currentTarget.value;this._value="times_a_month"===t?".5m":this.__i18n.formatValue([m,t])}),!v,this.t("select"),!this.allowTwiceAMonth||2!==m&&".5m"!==i?"":a(u||(u=p` <option value="times_a_month" ?selected="${0}"> ${0} </option> `),".5m"===i,this.t("times_a_month")),this.options.map((e=>a(c||(c=p` <option value="${0}" ?selected="${0}"> ${0} </option> `),e.value,".5m"!==i&&e.value===(null==v?void 0:v.value),this.t(e.label,{count:m})))))}});
@@ -16,19 +16,23 @@
16
16
  "done": "Copied to clipboard"
17
17
  }
18
18
  },
19
- "name": {
20
- "label": "Name",
21
- "placeholder": "Books",
22
- "helper_text": "Category description for admins.",
23
- "v8n_required": "Item category name is required",
24
- "v8n_too_long": "Item category name can't exceed 50 characters"
25
- },
26
- "code": {
27
- "label": "Code",
28
- "placeholder": "MY_BOOKS_CATEGORY",
29
- "helper_text": "Unique identifier for the cart.",
30
- "v8n_required": "Item category code is required",
31
- "v8n_too_long": "Item categoty code can't exceed 50 characters"
19
+ "general": {
20
+ "label": "",
21
+ "helper_text": "",
22
+ "name": {
23
+ "label": "Name",
24
+ "placeholder": "Books",
25
+ "helper_text": "",
26
+ "v8n_required": "Item category name is required",
27
+ "v8n_too_long": "Item category name can't exceed 50 characters"
28
+ },
29
+ "code": {
30
+ "label": "Code",
31
+ "placeholder": "MY_BOOKS_CATEGORY",
32
+ "helper_text": "",
33
+ "v8n_required": "Item category code is required",
34
+ "v8n_too_long": "Item categoty code can't exceed 50 characters"
35
+ }
32
36
  },
33
37
  "taxes": {
34
38
  "label": "Taxes",
@@ -54,146 +58,175 @@
54
58
  },
55
59
  "helper_text": "Select taxes that will apply to the products in this category. Changes here are saved immediately."
56
60
  },
57
- "item-delivery-type": {
58
- "label": "Delivery",
59
- "option_shipped": "Shipped using live rates",
60
- "option_flat_rate": "Shipped using a flat rate",
61
- "option_downloaded": "Downloaded by the customer",
62
- "option_pickup": "Picked up by the customer",
63
- "option_notshipped": "Not shipped",
64
- "placeholder": "Select...",
65
- "helper_text": "",
66
- "v8n_required": "Please select a delivery type"
67
- },
68
- "default-weight": {
69
- "label": "Default weight",
70
- "placeholder": "1",
71
- "helper_text": "",
72
- "v8n_required": "This field is required",
73
- "v8n_negative": "Please enter a positive number"
74
- },
75
- "default-weight-unit": {
76
- "label": "Default weight unit",
77
- "placeholder": "Select...",
78
- "option_kgs": "KG",
79
- "option_lbs": "LG",
80
- "helper_text": "",
81
- "v8n_required": "Please select a unit"
82
- },
83
- "default-length-unit": {
84
- "label": "Default length unit",
85
- "placeholder": "Select...",
86
- "option_cm": "CM",
87
- "option_in": "IN",
88
- "helper_text": "",
89
- "v8n_required": "Please select a unit"
90
- },
91
- "max-downloads-per-customer": {
92
- "label": "Max downloads",
93
- "placeholder": "3",
94
- "helper_text": "",
95
- "v8n_required": "This field is required",
96
- "v8n_negative": "Please enter a positive number"
97
- },
98
- "max-downloads-time-period": {
99
- "label": "Access duration (hrs)",
100
- "placeholder": "24",
101
- "helper_text": "",
102
- "v8n_required": "This field is required",
103
- "v8n_negative": "Please enter a positive number"
104
- },
105
- "shipping-flat-rate": {
106
- "label": "Rate",
107
- "placeholder": "0",
108
- "helper_text": "",
109
- "v8n_required": "This field is required",
110
- "v8n_negative": "Please enter a positive number"
111
- },
112
- "shipping-flat-rate-type": {
113
- "label": "Applies",
114
- "placeholder": "Select...",
115
- "option_per_order": "Per order",
116
- "option_per_shipment": "Per shipment",
117
- "helper_text": "",
118
- "v8n_required": "Please select a value"
119
- },
120
- "customs-value": {
121
- "label": "Customs value",
122
- "placeholder": "0",
123
- "helper_text": "Enter a dollar amount here for the declared customs value for international shipments. If you leave this blank, the sale price of the item will be used.",
124
- "v8n_negative": "Please enter a positive number"
125
- },
126
- "handling-fee-type": {
127
- "label": "Handling fee",
128
- "option_none": "No handling fee",
129
- "option_flat_per_order": "Flat fee per shipment",
130
- "option_flat_per_item": "Flat fee per product",
131
- "option_flat_percent": "Flat fee per shipment + % of price",
132
- "option_flat_percent_with_minimum": "Flat fee per shipment or % of price, whichever is greater",
133
- "placeholder": "Select...",
134
- "helper_text": "",
135
- "v8n_required": "Please select a value"
136
- },
137
- "handling-fee": {
138
- "label": "Amount",
139
- "placeholder": "0",
140
- "helper_text": "",
141
- "v8n_required": "This field is required",
142
- "v8n_negative": "Please enter a positive number"
143
- },
144
- "handling-fee-minimum": {
145
- "label": "Minimum fee",
146
- "placeholder": "0",
61
+ "delivery": {
62
+ "label": "Delivery Options",
147
63
  "helper_text": "",
148
- "v8n_required": "This field is required",
149
- "v8n_negative": "Please enter a positive number"
64
+ "item-delivery-type": {
65
+ "label": "Delivery type",
66
+ "option_shipped": "Shipped using live rates",
67
+ "option_flat_rate": "Shipped using a flat rate",
68
+ "option_downloaded": "Downloaded by the customer",
69
+ "option_pickup": "Picked up by the customer",
70
+ "option_notshipped": "Not shipped",
71
+ "placeholder": "Select...",
72
+ "helper_text": "",
73
+ "v8n_required": "Please select a delivery type"
74
+ },
75
+ "max-downloads-per-customer": {
76
+ "label": "Max downloads",
77
+ "placeholder": "3",
78
+ "helper_text": "",
79
+ "v8n_required": "This field is required",
80
+ "v8n_negative": "Please enter a positive number"
81
+ },
82
+ "max-downloads-time-period": {
83
+ "label": "Access duration (hrs)",
84
+ "placeholder": "24",
85
+ "helper_text": "",
86
+ "v8n_required": "This field is required",
87
+ "v8n_negative": "Please enter a positive number"
88
+ },
89
+ "shipping-flat-rate": {
90
+ "label": "Shipping rate",
91
+ "placeholder": "0",
92
+ "helper_text": "",
93
+ "v8n_required": "This field is required",
94
+ "v8n_negative": "Please enter a positive number"
95
+ },
96
+ "shipping-flat-rate-type": {
97
+ "label": "Flat rate applies",
98
+ "placeholder": "Select...",
99
+ "option_per_order": "Per order",
100
+ "option_per_shipment": "Per shipment",
101
+ "helper_text": "",
102
+ "v8n_required": "Please select a value"
103
+ },
104
+ "customs-value": {
105
+ "label": "Customs value",
106
+ "placeholder": "0",
107
+ "helper_text": "Enter a dollar amount here for the declared customs value for international shipments. If you leave this blank, the sale price of the item will be used.",
108
+ "v8n_negative": "Please enter a positive number"
109
+ },
110
+ "default-weight": {
111
+ "label": "Default weight",
112
+ "placeholder": "1",
113
+ "helper_text": "",
114
+ "v8n_required": "This field is required",
115
+ "v8n_negative": "Please enter a positive number"
116
+ },
117
+ "default-weight-unit": {
118
+ "label": "Default weight unit",
119
+ "placeholder": "Select...",
120
+ "option_kgs": "KG",
121
+ "option_lbs": "LG",
122
+ "helper_text": "",
123
+ "v8n_required": "Please select a unit"
124
+ },
125
+ "default-length-unit": {
126
+ "label": "Default length unit",
127
+ "placeholder": "Select...",
128
+ "option_cm": "CM",
129
+ "option_in": "IN",
130
+ "helper_text": "",
131
+ "v8n_required": "Please select a unit"
132
+ }
150
133
  },
151
- "handling-fee-percentage": {
152
- "label": "Percentage of price",
153
- "placeholder": "0",
134
+ "handling-and-discount": {
135
+ "label": "Handling Fees and Discounts",
154
136
  "helper_text": "",
155
- "v8n_required": "This field is required",
156
- "v8n_negative": "Please enter a positive number"
157
- },
158
- "discount-name": {
159
- "label": "Discount",
160
- "placeholder": "Name your discount to open the builder",
161
- "helper_text": ""
162
- },
163
- "discount-builder": {
164
- "tier": "Tier",
165
- "tier_by": "by",
166
- "tier_if": "if",
167
- "tier_allunits": "price of each item",
168
- "tier_incremental": "price of additional items",
169
- "tier_repeat": "price of next item",
170
- "tier_single": "order total",
171
- "tier_then": "then",
172
- "quantity": "quantity",
173
- "total": "total",
174
- "reduce": "reduce",
175
- "increase": "increase"
176
- },
177
- "admin-email-template-uri": {
178
- "label": "Message to admin",
179
- "placeholder": "None (don't send)",
180
- "helper_text": ""
137
+ "handling-fee-type": {
138
+ "label": "Handling fee type",
139
+ "option_none": "No handling fee",
140
+ "option_flat_per_order": "Flat fee per shipment",
141
+ "option_flat_per_item": "Flat fee per product",
142
+ "option_flat_percent": "Flat fee per shipment + % of price",
143
+ "option_flat_percent_with_minimum": "Flat fee per shipment or % of price, whichever is greater",
144
+ "placeholder": "Select...",
145
+ "helper_text": "",
146
+ "v8n_required": "Please select a value"
147
+ },
148
+ "handling-fee": {
149
+ "label": "Handling fee amount",
150
+ "placeholder": "0",
151
+ "helper_text": "",
152
+ "v8n_required": "This field is required",
153
+ "v8n_negative": "Please enter a positive number"
154
+ },
155
+ "handling-fee-minimum": {
156
+ "label": "Minimum fee",
157
+ "placeholder": "0",
158
+ "helper_text": "",
159
+ "v8n_required": "This field is required",
160
+ "v8n_negative": "Please enter a positive number"
161
+ },
162
+ "handling-fee-percentage": {
163
+ "label": "Percentage of price",
164
+ "placeholder": "0",
165
+ "helper_text": "",
166
+ "v8n_required": "This field is required",
167
+ "v8n_negative": "Please enter a positive number"
168
+ },
169
+ "discount-name": {
170
+ "label": "Discount",
171
+ "placeholder": "None",
172
+ "helper_text": "Enter a name for the discount to open the discount builder."
173
+ },
174
+ "discount-builder": {
175
+ "tier": "Tier",
176
+ "tier_by": "by",
177
+ "tier_if": "if",
178
+ "tier_allunits": "price of each item",
179
+ "tier_incremental": "price of additional items",
180
+ "tier_repeat": "price of next item",
181
+ "tier_single": "order total",
182
+ "tier_then": "then",
183
+ "quantity": "quantity",
184
+ "total": "total",
185
+ "reduce": "reduce",
186
+ "increase": "increase"
187
+ }
181
188
  },
182
- "admin-email": {
183
- "label": "Send to",
184
- "placeholder": "admin@example.com",
189
+ "emails": {
190
+ "label": "Emails",
185
191
  "helper_text": "",
186
- "v8n_required": "Please enter an email"
187
- },
188
- "customer-email-template-uri": {
189
- "label": "Message to customer",
190
- "placeholder": "None (don't send)",
191
- "helper_text": ""
192
- },
193
- "gift-recipient-email-template-uri": {
194
- "label": "Message to gift recipient",
195
- "placeholder": "None (don't send)",
196
- "helper_text": ""
192
+ "wip_message": "We are making changes to our API to support setting email messages for admin and customers from the category. For now, please use the legacy Foxy administration to make changes to category-specific emails for admins and customers.",
193
+ "gift-recipient-email-template-uri": {
194
+ "label": "Message to gift recipient",
195
+ "helper_text": "",
196
+ "value": "{{ resource.description }}",
197
+ "value_busy": "Loading...",
198
+ "value_fail": "Failed to load",
199
+ "placeholder": "None",
200
+ "dialog": {
201
+ "cancel": "Cancel",
202
+ "close": "Close",
203
+ "header": "Select an email template",
204
+ "selection": {
205
+ "label": "Email templates",
206
+ "helper_text": "",
207
+ "pagination": {
208
+ "search_button_text": "Search",
209
+ "first": "First",
210
+ "last": "Last",
211
+ "next": "Next",
212
+ "pagination": "{{from}}-{{to}} out of {{total}}",
213
+ "previous": "Previous",
214
+ "card": {
215
+ "type_custom_url": "Custom (URL)",
216
+ "type_custom_text": "Custom (Text)",
217
+ "type_custom_html": "Custom (HTML)",
218
+ "type_mixed": "Mixed",
219
+ "type_default": "Default",
220
+ "spinner": {
221
+ "loading_busy": "Loading",
222
+ "loading_empty": "No email templates found",
223
+ "loading_error": "Unknown error"
224
+ }
225
+ }
226
+ }
227
+ }
228
+ }
229
+ }
197
230
  },
198
231
  "timestamps": {
199
232
  "date_created": "Created on",
@@ -14,73 +14,97 @@
14
14
  "day_plural": "{{ count }} days",
15
15
  "day_suffix": "day",
16
16
  "day_suffix_plural": "days",
17
- "modification-url": {
18
- "label": "Modification URL",
19
- "placeholder": "https://example.com/edit-subscription",
20
- "helper_text": "Enter a full URL or a path to the page under your Store URL where customers can modify their subscription. If present, subscriptions in the Customer Portal will show an Edit link that will send subscribers to this page."
21
- },
22
- "past-due-amount-handling": {
23
- "label": "Past due amount value",
24
- "option_increment": "Contains the sum of all missed payments",
25
- "option_replace": "Contains the last missed payment amount",
26
- "option_ignore": "Doesn't change",
27
- "helper_text": "This setting determines how you'd like to handle past due amounts when we try to process a subscription and that subscritpion fails."
28
- },
29
- "automatically-charge-past-due-amount": {
30
- "label": "",
31
- "option_checked": "Charge past due amount with subscription payment",
32
- "helper_text": ""
33
- },
34
- "clear-past-due-amounts-on-success": {
35
- "label": "",
36
- "option_checked": "Clear past due amount on successful payment",
37
- "helper_text": ""
38
- },
39
- "reset-nextdate-on-makeup-payment": {
40
- "label": "",
41
- "option_checked": "Reset next transaction date on make-up payment",
42
- "helper_text": ""
43
- },
44
- "reattempt-schedule": {
45
- "label": "Reattempt schedule",
46
- "placeholder": "Period in days, e.g. 14",
17
+ "past-due-amount-group": {
18
+ "label": "Past due amount",
47
19
  "helper_text": "",
48
- "v8n_too_long": "This schedule is too large. Please reduce the number of entries."
49
- },
50
- "reminder-email-schedule": {
51
- "label": "Failed subscription payment email schedule",
52
- "placeholder": "Period in days, e.g. 14",
53
- "helper_text": "Number of days after the initial failure that an email notification to the customer should be sent. This only happens for active subscriptions which still have a past due amount. If a reattempt is successful, no additional reminder email will be sent.",
54
- "v8n_too_long": "This schedule is too large. Please reduce the number of entries."
20
+ "past-due-amount-handling": {
21
+ "label": "Past due amount handling",
22
+ "placeholder": "Select",
23
+ "option_increment": "Increment on each failure",
24
+ "option_replace": "Replace on each failure",
25
+ "helper_text": ""
26
+ },
27
+ "automatically-charge-past-due-amount": {
28
+ "label": "Charge with subscription payment",
29
+ "helper_text": "If enabled, the past due amount will be included in automatic subscription processing, and will be included in the cart if a customer attempts to update their subscription. If unchecked, any successful subscription payment (automatic or customer-initiated) will clear out the past due amount.",
30
+ "checked": "Yes",
31
+ "unchecked": "No"
32
+ },
33
+ "reset-nextdate-on-makeup-payment": {
34
+ "label": "Reset next transaction date on make-up payment",
35
+ "helper_text": "If enabled, and a past due amount is successfully paid, the next transaction date for the subscription will be reset to be one frequency ahead of the day that the transaction is processed.",
36
+ "checked": "Yes",
37
+ "unchecked": "No"
38
+ },
39
+ "prevent-customer-cancel-with-past-due": {
40
+ "label": "Prevent modification or cancellation if past due is present",
41
+ "helper_text": "If enabled, if the customer has a past due amount and wishes to cancel their subscription using a sub_token through the cart interface, they will be prevented from doing so until they first pay their past due amount.",
42
+ "checked": "Yes",
43
+ "unchecked": "No"
44
+ }
55
45
  },
56
- "expiring-soon-payment-reminder-schedule": {
57
- "label": "Payment method expiration email schedule",
58
- "placeholder": "Period in days, e.g. 14",
59
- "helper_text": "Number of days until the payment card expires that an email notification should be sent to the customer. This only happens for customers with active subscriptions.",
60
- "v8n_too_long": "This schedule is too large. Please reduce the number of entries."
46
+ "reattempts-group": {
47
+ "label": "Reattempts",
48
+ "helper_text": "",
49
+ "reattempt-bypass-logic": {
50
+ "label": "Reattempt behavior",
51
+ "helper_text": "",
52
+ "placeholder": "Select",
53
+ "option_reattempt_if_exists": "Reattempt on certain errors",
54
+ "option_skip_if_exists": "Skip on certain errors",
55
+ "option_always_reattempt": "Always reattempt"
56
+ },
57
+ "reattempt-bypass-strings": {
58
+ "label": "Reattempt bypass strings",
59
+ "placeholder": "Add errors...",
60
+ "helper_text": "Text strings that should prevent or allow (based on the above setting) a rebilling attempt. For example, setting the logic to \"Skip on certain errors\" with a value for the strings field of \"Code: 8\" and \"Code: 37\" would instruct Foxy to not initiate the rebilling process if the last error contained either Code: 8 or Code: 37, but to attempt the rebilling in all other cases.",
61
+ "v8n_too_long": "This list is too large. Please reduce the number of entries."
62
+ },
63
+ "reattempt-schedule": {
64
+ "label": "Reattempt schedule",
65
+ "placeholder": "Add period in days, e.g. 14",
66
+ "helper_text": "List of numbers. Each number represents the number of days after the initial failure that a reattempt should be made. For example, a setting of 1, 3, 5, 15, 30 would direct Foxy to attempt to collect the past-due amount on the 1st, 3rd, 5th, and 15th days after the initial transaction.",
67
+ "v8n_too_long": "This schedule is too large. Please reduce the number of entries."
68
+ }
61
69
  },
62
- "cancellation-schedule": {
63
- "label": "Cancel failed subscriptions after",
64
- "placeholder": "Don't cancel",
65
- "helper_text": "A single number representing the number of days after the initial failure that a subscription should be set to cancel (assuming a successful payment hasn't been made in the meantime)."
70
+ "emails-group": {
71
+ "label": "Emails",
72
+ "helper_text": "",
73
+ "send-email-receipts-for-automated-billing": {
74
+ "label": "Send email receipts for automated billing",
75
+ "helper_text": "When subscriptions run automatically to bill your customers, turning this setting off will prevent the normal receipt emails from being sent for their automated payment.",
76
+ "checked": "Yes",
77
+ "unchecked": "No"
78
+ },
79
+ "reminder-email-schedule": {
80
+ "label": "Failed subscription payment email schedule",
81
+ "placeholder": "Add period in days, e.g. 14",
82
+ "helper_text": "Number of days after the initial failure that an email notification to the customer should be sent. This only happens for active subscriptions which still have a past due amount. If a reattempt is successful, no additional reminder email will be sent.",
83
+ "v8n_too_long": "This schedule is too large. Please reduce the number of entries."
84
+ },
85
+ "expiring-soon-payment-reminder-schedule": {
86
+ "label": "Payment method expiration email schedule",
87
+ "placeholder": "Add period in days, e.g. 14",
88
+ "helper_text": "Number of days until the payment card expires that an email notification should be sent to the customer. This only happens for customers with active subscriptions.",
89
+ "v8n_too_long": "This schedule is too large. Please reduce the number of entries."
90
+ }
66
91
  },
67
- "send-email-receipts-for-automated-billing": {
68
- "label": "",
69
- "option_checked": "Send email receipts for automated billing",
70
- "helper_text": ""
92
+ "cancellation-group": {
93
+ "label": "Cancellation",
94
+ "helper_text": "A single number representing the number of days after the initial failure that a subscription should be set to cancel (assuming a successful payment hasn't been made in the meantime).",
95
+ "cancellation-schedule": {
96
+ "label": "Cancel failed subscriptions after",
97
+ "helper_text": "",
98
+ "placeholder": "Don't cancel"
99
+ }
71
100
  },
72
- "reattempt-bypass": {
73
- "label": "Reattempt behavior",
74
- "helper_text": "Determines whether Foxy should reattempt the subscription charge if the transaction's previous error string does or doesn't contain specific text.",
75
- "option_reattempt_if_exists": "Reattempt on certain errors",
76
- "option_skip_if_exists": "Skip on certain errors",
77
- "option_always_reattempt": "Always reattempt",
78
- "option_never_reattempt": "Never reattempt",
79
- "reattempt-bypass-strings": {
80
- "label": "",
81
- "placeholder": "Add errors...",
101
+ "modification-group": {
102
+ "label": "Modification",
103
+ "helper_text": "Enter a full URL or a path to the page under your Store URL where customers can modify their subscription. If present, subscriptions in the Customer Portal will show an Edit link that will send subscribers to this page.",
104
+ "modification-url": {
105
+ "label": "Modification URL",
82
106
  "helper_text": "",
83
- "v8n_too_long": "This list is too large. Please reduce the number of entries."
107
+ "placeholder": "https://example.com/edit-subscription"
84
108
  }
85
109
  },
86
110
  "timestamps": {
@@ -6,6 +6,7 @@ export declare class InternalEditableListControl extends InternalEditableControl
6
6
  static get styles(): CSSResultArray;
7
7
  inputParams: Record<string, unknown>;
8
8
  options: Option[];
9
+ layout: 'standalone' | 'summary-item' | null;
9
10
  units: Unit[];
10
11
  range: null | 'optional';
11
12
  private __isErrorVisible;