@foxy.io/elements 1.27.0-beta.3 → 1.27.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 (151) hide show
  1. package/dist/cdn/foxy-cancellation-form.js +1 -1
  2. package/dist/cdn/foxy-cart-form.js +1 -1
  3. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  4. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  5. package/dist/cdn/foxy-coupon-form.js +1 -1
  6. package/dist/cdn/foxy-customer-portal-settings.js +1 -1
  7. package/dist/cdn/foxy-customer-portal.js +2 -2
  8. package/dist/cdn/foxy-customer.js +1 -1
  9. package/dist/cdn/foxy-donation.js +1 -1
  10. package/dist/cdn/foxy-downloadable-form.js +1 -1
  11. package/dist/cdn/foxy-email-template-form.js +1 -1
  12. package/dist/cdn/foxy-error-entry-card.js +1 -1
  13. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  14. package/dist/cdn/foxy-gift-card-code-form.js +1 -1
  15. package/dist/cdn/foxy-gift-card-codes-form.js +1 -1
  16. package/dist/cdn/foxy-gift-card-form.js +1 -1
  17. package/dist/cdn/foxy-item-category-form.js +1 -1
  18. package/dist/cdn/foxy-item-form.js +2 -2
  19. package/dist/cdn/foxy-item-option-form.js +1 -1
  20. package/dist/cdn/foxy-items-form.js +1 -1
  21. package/dist/cdn/foxy-native-integration-form.js +1 -1
  22. package/dist/cdn/foxy-payments-api-fraud-protection-form.js +1 -1
  23. package/dist/cdn/foxy-payments-api-payment-preset-form.js +1 -1
  24. package/dist/cdn/foxy-report-form.js +1 -1
  25. package/dist/cdn/foxy-store-form.js +1 -1
  26. package/dist/cdn/foxy-subscription-form.js +1 -1
  27. package/dist/cdn/foxy-subscription-settings-form.js +1 -1
  28. package/dist/cdn/foxy-tax-form.js +1 -1
  29. package/dist/cdn/foxy-template-config-form.js +1 -1
  30. package/dist/cdn/foxy-template-form.js +1 -1
  31. package/dist/cdn/foxy-transaction.js +1 -1
  32. package/dist/cdn/foxy-user-form.js +1 -1
  33. package/dist/cdn/foxy-users-table.js +1 -1
  34. package/dist/cdn/{shared-bbc0cdd6.js → shared-5c0e3fee.js} +1 -1
  35. package/dist/cdn/shared-6e9adc43.js +1 -0
  36. package/dist/cdn/shared-9de9f905.js +1 -0
  37. package/dist/cdn/{shared-40bece2b.js → shared-c0c7225c.js} +1 -1
  38. package/dist/cdn/{shared-352c79a6.js → shared-d7892f27.js} +1 -1
  39. package/dist/cdn/{shared-6e508e5b.js → shared-e4543605.js} +1 -1
  40. package/dist/cdn/translations/coupon-codes-form/en.json +12 -14
  41. package/dist/cdn/translations/coupon-form/en.json +46 -24
  42. package/dist/cdn/translations/generate-codes-form/en.json +34 -14
  43. package/dist/cdn/translations/gift-card-codes-form/en.json +18 -19
  44. package/dist/cdn/translations/gift-card-form/en.json +52 -32
  45. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js +17 -3
  46. package/dist/elements/internal/InternalEditableListControl/InternalEditableListControl.js.map +1 -1
  47. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.d.ts +0 -2
  48. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js +1 -8
  49. package/dist/elements/internal/InternalIntegerControl/InternalIntegerControl.js.map +1 -1
  50. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.d.ts +0 -2
  51. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js +1 -8
  52. package/dist/elements/internal/InternalNumberControl/InternalNumberControl.js.map +1 -1
  53. package/dist/elements/private/Checkbox/Checkbox.d.ts +1 -0
  54. package/dist/elements/private/Checkbox/Checkbox.js +1 -0
  55. package/dist/elements/private/Checkbox/Checkbox.js.map +1 -1
  56. package/dist/elements/private/Choice/Choice.d.ts +1 -0
  57. package/dist/elements/private/Choice/Choice.js +1 -0
  58. package/dist/elements/private/Choice/Choice.js.map +1 -1
  59. package/dist/elements/private/Dropdown/Dropdown.d.ts +1 -0
  60. package/dist/elements/private/Dropdown/Dropdown.js +1 -0
  61. package/dist/elements/private/Dropdown/Dropdown.js.map +1 -1
  62. package/dist/elements/private/EditableList/EditableList.d.ts +1 -0
  63. package/dist/elements/private/EditableList/EditableList.js +1 -0
  64. package/dist/elements/private/EditableList/EditableList.js.map +1 -1
  65. package/dist/elements/private/ErrorScreen/ErrorScreen.d.ts +1 -0
  66. package/dist/elements/private/ErrorScreen/ErrorScreen.js +1 -0
  67. package/dist/elements/private/ErrorScreen/ErrorScreen.js.map +1 -1
  68. package/dist/elements/private/FrequencyInput/FrequencyInput.d.ts +1 -0
  69. package/dist/elements/private/FrequencyInput/FrequencyInput.js +1 -0
  70. package/dist/elements/private/FrequencyInput/FrequencyInput.js.map +1 -1
  71. package/dist/elements/private/Group/Group.d.ts +1 -0
  72. package/dist/elements/private/Group/Group.js +1 -0
  73. package/dist/elements/private/Group/Group.js.map +1 -1
  74. package/dist/elements/private/I18N/I18N.d.ts +1 -0
  75. package/dist/elements/private/I18N/I18N.js +1 -0
  76. package/dist/elements/private/I18N/I18N.js.map +1 -1
  77. package/dist/elements/private/List/List.d.ts +1 -0
  78. package/dist/elements/private/List/List.js +1 -0
  79. package/dist/elements/private/List/List.js.map +1 -1
  80. package/dist/elements/private/LoadingScreen/LoadingScreen.d.ts +1 -0
  81. package/dist/elements/private/LoadingScreen/LoadingScreen.js +1 -0
  82. package/dist/elements/private/LoadingScreen/LoadingScreen.js.map +1 -1
  83. package/dist/elements/private/Metadata/Metadata.d.ts +1 -0
  84. package/dist/elements/private/Metadata/Metadata.js +1 -0
  85. package/dist/elements/private/Metadata/Metadata.js.map +1 -1
  86. package/dist/elements/private/MonthdayPicker/MonthdayPicker.d.ts +1 -0
  87. package/dist/elements/private/MonthdayPicker/MonthdayPicker.js +1 -0
  88. package/dist/elements/private/MonthdayPicker/MonthdayPicker.js.map +1 -1
  89. package/dist/elements/private/Page/Page.d.ts +1 -0
  90. package/dist/elements/private/Page/Page.js +1 -0
  91. package/dist/elements/private/Page/Page.js.map +1 -1
  92. package/dist/elements/private/Section/Section.d.ts +1 -0
  93. package/dist/elements/private/Section/Section.js +1 -0
  94. package/dist/elements/private/Section/Section.js.map +1 -1
  95. package/dist/elements/private/Skeleton/Skeleton.d.ts +1 -0
  96. package/dist/elements/private/Skeleton/Skeleton.js +1 -0
  97. package/dist/elements/private/Skeleton/Skeleton.js.map +1 -1
  98. package/dist/elements/private/Switch/Switch.d.ts +1 -0
  99. package/dist/elements/private/Switch/Switch.js +1 -0
  100. package/dist/elements/private/Switch/Switch.js.map +1 -1
  101. package/dist/elements/private/Tabs/Tabs.d.ts +1 -0
  102. package/dist/elements/private/Tabs/Tabs.js +1 -0
  103. package/dist/elements/private/Tabs/Tabs.js.map +1 -1
  104. package/dist/elements/private/Warning/Warning.d.ts +1 -0
  105. package/dist/elements/private/Warning/Warning.js +1 -0
  106. package/dist/elements/private/Warning/Warning.js.map +1 -1
  107. package/dist/elements/private/WeekdayPicker/WeekdayPicker.d.ts +1 -0
  108. package/dist/elements/private/WeekdayPicker/WeekdayPicker.js +1 -0
  109. package/dist/elements/private/WeekdayPicker/WeekdayPicker.js.map +1 -1
  110. package/dist/elements/public/CancellationForm/CancellationForm.d.ts +1 -0
  111. package/dist/elements/public/CancellationForm/CancellationForm.js +1 -0
  112. package/dist/elements/public/CancellationForm/CancellationForm.js.map +1 -1
  113. package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +17 -17
  114. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +42 -196
  115. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
  116. package/dist/elements/public/CouponCodesForm/index.d.ts +2 -6
  117. package/dist/elements/public/CouponCodesForm/index.js +2 -8
  118. package/dist/elements/public/CouponCodesForm/index.js.map +1 -1
  119. package/dist/elements/public/CouponCodesForm/types.d.ts +8 -8
  120. package/dist/elements/public/CouponCodesForm/types.js.map +1 -1
  121. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.d.ts +14 -18
  122. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js +47 -208
  123. package/dist/elements/public/GenerateCodesForm/GenerateCodesForm.js.map +1 -1
  124. package/dist/elements/public/GenerateCodesForm/index.d.ts +5 -6
  125. package/dist/elements/public/GenerateCodesForm/index.js +5 -6
  126. package/dist/elements/public/GenerateCodesForm/index.js.map +1 -1
  127. package/dist/elements/public/GenerateCodesForm/types.d.ts +4 -2
  128. package/dist/elements/public/GenerateCodesForm/types.js.map +1 -1
  129. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +19 -22
  130. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +44 -239
  131. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -1
  132. package/dist/elements/public/GiftCardCodesForm/index.d.ts +3 -7
  133. package/dist/elements/public/GiftCardCodesForm/index.js +3 -9
  134. package/dist/elements/public/GiftCardCodesForm/index.js.map +1 -1
  135. package/dist/elements/public/GiftCardCodesForm/types.d.ts +6 -4
  136. package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -1
  137. package/package.json +1 -1
  138. package/dist/cdn/shared-0cf90158.js +0 -1
  139. package/dist/cdn/shared-f53d078e.js +0 -1
  140. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.d.ts +0 -14
  141. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js +0 -48
  142. package/dist/elements/public/CouponCodesForm/internal/InternalCouponCodesFormListItem.js.map +0 -1
  143. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.d.ts +0 -19
  144. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js +0 -48
  145. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js.map +0 -1
  146. /package/dist/cdn/{shared-f1afbd7b.js → shared-44d207fb.js} +0 -0
  147. /package/dist/cdn/{shared-497ebb8c.js → shared-597737ce.js} +0 -0
  148. /package/dist/cdn/{shared-4cec4de0.js → shared-65283d36.js} +0 -0
  149. /package/dist/cdn/{shared-5dfec3b7.js → shared-a3c5a30c.js} +0 -0
  150. /package/dist/cdn/{shared-74adbf9e.js → shared-c6707264.js} +0 -0
  151. /package/dist/cdn/{shared-9fd64015.js → shared-febda61c.js} +0 -0
@@ -0,0 +1 @@
1
+ import"./shared-db98729a.js";import"./shared-4482e7b9.js";import"./shared-44bb85d8.js";import{I as e}from"./shared-2062c274.js";import{_ as i}from"./shared-1522d76f.js";import{i as s}from"./shared-9803aa7c.js";import{h as r}from"./shared-dc73b9a5.js";let t,l,a,d=e=>e;customElements.define("foxy-internal-integer-control",class extends e{constructor(){super(...arguments),this.prefix=null,this.suffix=null,this.min=null,this.max=null}static get properties(){return i(i({},super.properties),{},{prefix:{},suffix:{},min:{type:Number},max:{type:Number}})}renderControl(){var e,i;return r(t||(t=d` <vaadin-integer-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" min="${0}" max="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" clear-button-visible @keydown="${0}" @change="${0}"> ${0} ${0} </vaadin-integer-field> `),s(this._errorMessage),this.placeholder,this.helperText,this.label,s(null!==(e=this.min)&&void 0!==e?e:void 0),s(null!==(i=this.max)&&void 0!==i?i:void 0),this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var i;return"Enter"===e.key&&(null===(i=this.nucleon)||void 0===i?void 0:i.submit())}),(e=>{const i=e.currentTarget;this._value=parseInt(i.value)}),this.prefix?r(l||(l=d`<div slot="prefix">${0}</div>`),this.prefix):"",this.suffix?r(a||(a=d`<div class="pr-s font-medium" slot="suffix">${0}</div>`),this.suffix):"")}});
@@ -0,0 +1 @@
1
+ import"./shared-db98729a.js";import"./shared-4482e7b9.js";import{I as e}from"./shared-2062c274.js";import{_ as i}from"./shared-1522d76f.js";import{i as s}from"./shared-9803aa7c.js";import{h as r}from"./shared-dc73b9a5.js";let t,l,a,o=e=>e;customElements.define("foxy-internal-number-control",class extends e{constructor(){super(...arguments),this.prefix=null,this.suffix=null,this.min=null,this.max=null}static get properties(){return i(i({},super.properties),{},{prefix:{},suffix:{},min:{type:Number},max:{type:Number}})}renderControl(){var e,i;return r(t||(t=o` <vaadin-number-field error-message="${0}" placeholder="${0}" helper-text="${0}" label="${0}" class="w-full" min="${0}" max="${0}" ?disabled="${0}" ?readonly="${0}" .checkValidity="${0}" .value="${0}" clear-button-visible @keydown="${0}" @change="${0}"> ${0} ${0} </vaadin-number-field> `),s(this._errorMessage),this.placeholder,this.helperText,this.label,s(null!==(e=this.min)&&void 0!==e?e:void 0),s(null!==(i=this.max)&&void 0!==i?i:void 0),this.disabled,this.readonly,this._checkValidity,this._value,(e=>{var i;return"Enter"===e.key&&(null===(i=this.nucleon)||void 0===i?void 0:i.submit())}),(e=>{const i=e.currentTarget;this._value=parseFloat(i.value)}),this.prefix?r(l||(l=o`<div slot="prefix">${0}</div>`),this.prefix):"",this.suffix?r(a||(a=o`<div class="pr-s font-medium" slot="suffix">${0}</div>`),this.suffix):"")}});
@@ -1 +1 @@
1
- import{Z as t,$ as e,a0 as a,a1 as s,a2 as n,a3 as i,a4 as r,a5 as o,f as l,a6 as d,a7 as u,a8 as c,a9 as m,aa as h,ab as g,ac as y,ad as p,_ as v}from"./shared-1522d76f.js";import"./shared-e40937c5.js";import"./shared-cfed658c.js";import"./shared-7039733e.js";import"./shared-db98729a.js";import"./shared-4482e7b9.js";import"./shared-44bb85d8.js";import"./shared-f588b5c2.js";import{c as x,h as b}from"./shared-dc73b9a5.js";import{F as f}from"./shared-f1afbd7b.js";import{x as _}from"./shared-331a223c.js";import{s as w}from"./shared-99940888.js";import{i as $}from"./shared-eb116b3e.js";var E={raise:t,send:e,sendParent:a,sendUpdate:s,log:n,cancel:i,start:r,stop:o,assign:l,after:d,done:u,respond:c,forwardTo:m,escalate:h,choose:g,pure:y};class T extends CustomEvent{constructor(t){super("change",{detail:t})}}const k=p({id:"choice",type:"parallel",context:{defaultCustomValue:"",customValue:null,custom:!1,items:[],value:null,type:"text",min:null,max:null},states:{mutability:{initial:"editable",states:{editable:{},readonly:{}},on:{SET_READONLY:[{target:".editable",cond:"isPayloadFalsey"},{target:".readonly",cond:"isPayloadTruthy"}]}},interactivity:{initial:"enabled",states:{enabled:{},disabled:{}},on:{SET_DISABLED:[{target:".enabled",cond:"isPayloadFalsey"},{target:".disabled",cond:"isPayloadTruthy"}]}},selection:{initial:"unknown",states:{unknown:{always:[{target:"multiple",cond:"isValueArray"},{target:"single"}]},none:{},single:{},multiple:{}}},extension:{initial:"unknown",states:{unknown:{always:[{target:"present",cond:"hasCustom"},{target:"absent"}]},absent:{},present:{initial:"unknown",states:{unknown:{always:[{target:"selected",cond:"hasCustomValue"},{target:"available"}]},available:{on:{SET_TYPE:{actions:"setType"}}},selected:{initial:"unknown",states:{unknown:{always:[{target:"number",cond:"showsNumberField"},{target:"integer",cond:"showsIntegerField"},{target:"textarea",cond:"showsTextarea"},{target:"frequency",cond:"showsFrequency"},{target:"text"}]},text:{},frequency:{},textarea:{},integer:{type:"parallel",states:{min:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMinConstraint"},{target:"none"}]},none:{},custom:{}}},max:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMaxConstraint"},{target:"none"}]},none:{},custom:{}}}}},number:{type:"parallel",states:{min:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMinConstraint"},{target:"none"}]},none:{},custom:{}}},max:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMaxConstraint"},{target:"none"}]},none:{},custom:{}}}}}}}}}}}},on:{SET_DEFAULT_CUSTOM_VALUE:{actions:"setDefaultCustomValue"},SET_CUSTOM:{actions:"setCustom",target:[".selection.unknown",".extension.unknown"]},SET_VALUE:{actions:"setValue",target:[".selection.unknown",".extension.unknown"]},SET_ITEMS:{actions:"setItems",target:[".selection.unknown",".extension.unknown"]},SET_TYPE:{actions:"setType",target:".extension.unknown"},SET_MIN:{actions:"setMin",target:".extension.unknown"},SET_MAX:{actions:"setMax",target:".extension.unknown"}}},{guards:{isPayloadFalsey:(t,e)=>!e.data,isPayloadTruthy:(t,e)=>!!e.data,isValueArray:t=>Array.isArray(t.value),showsIntegerField:t=>"integer"===t.type,showsNumberField:t=>"number"===t.type,showsFrequency:t=>"frequency"===t.type,showsTextarea:t=>"textarea"===t.type,hasMinConstraint:t=>"number"==typeof t.min,hasMaxConstraint:t=>"number"==typeof t.max,hasCustomValue:t=>"string"==typeof t.customValue,hasCustom:t=>t.custom},actions:{setDefaultCustomValue:E.assign({defaultCustomValue:(t,e)=>e.data}),setValue:E.assign({value:(t,e)=>e.data,customValue:(t,e)=>Array.isArray(e.data)?e.data.find((e=>!t.items.includes(e))):t.items.includes(e.data)?null:e.data}),setCustom:E.assign({custom:(t,e)=>e.data}),setItems:E.assign({items:(t,e)=>e.data}),setType:E.assign({type:(t,e)=>e.data}),setMin:E.assign({min:(t,e)=>e.data}),setMax:E.assign({max:(t,e)=>e.data})}});let S,C,A,V,M,j,F,U,q,D,I,P,L,N,O=t=>t;const B=`@foxy.io/elements::other[${(Math.pow(10,10)*Math.random()).toFixed(0)}]`;class Y extends _{constructor(){super(...arguments),this.getText=t=>t,this.__service=$(k).onChange((()=>this.requestUpdate())).onTransition((({changed:t})=>t&&this.requestUpdate())).start()}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-number-field":customElements.get("vaadin-number-field"),"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":f,"vaadin-text-area":customElements.get("vaadin-text-area"),"iron-icon":customElements.get("iron-icon")}}static get styles(){return[super.styles,x(A||(A=O`:host{--item-width:calc((var(--lumo-space-m) * 2) + 1.25rem)}.ml-xxl{margin-left:var(--item-width)}.item{height:var(--lumo-size-l);width:var(--item-width)}.radio{height:1.25rem;width:1.25rem}.check{height:1.125rem;width:1.125rem}.dot{height:.5rem;width:.5rem}`))]}static get properties(){return v(v({},super.properties),{},{defaultCustomValue:{type:String,attribute:"default-custom-value"},disabled:{type:Boolean},readonly:{type:Boolean},custom:{type:Boolean},type:{type:String},min:{type:Number},max:{type:Number},value:{type:Array},items:{type:Array},getText:{attribute:!1}})}get defaultCustomValue(){return this.__service.state.context.defaultCustomValue}set defaultCustomValue(t){this.__service.send("SET_DEFAULT_CUSTOM_VALUE",{data:t})}get readonly(){return this.__service.state.matches("mutability.readonly")}set readonly(t){this.__service.send("SET_READONLY",{data:t})}get disabled(){return this.__service.state.matches("interactivity.disabled")}set disabled(t){this.__service.send("SET_DISABLED",{data:t})}get custom(){return this.__service.state.matches("extension.present")}set custom(t){this.__service.send("SET_CUSTOM",{data:t})}get type(){return this.__service.state.context.type}set type(t){this.__service.send("SET_TYPE",{data:t})}get min(){return this.__service.state.context.min}set min(t){this.__service.send("SET_MIN",{data:t})}get max(){return this.__service.state.context.max}set max(t){this.__service.send("SET_MAX",{data:t})}get value(){return this.__service.state.context.value}set value(t){this.__service.send("SET_VALUE",{data:t})}get items(){return this.__service.state.context.items}set items(t){this.__service.send("SET_ITEMS",{data:t})}render(){const t=this.custom?[...this.items,B]:this.items,e=Array.isArray(this.value),a=this.__service.state.matches("extension.present.selected"),s=b(V||(V=O` ${0} `),t.map(((t,s,n)=>{var i;const r=this.custom&&s===n.length-1,o=r?a:e?!!(null===(i=this.value)||void 0===i?void 0:i.includes(t)):t===String(this.value),l=this.disabled||!this._isI18nReady,d=w({value:r?B:t,name:e?t:"choice","data-testid":`item-${t}`,"?disabled":l,"@change":e=>{if(this.readonly)return e.preventDefault();const a=e.target.checked,s=t===B?this.defaultCustomValue:t,n=this.value;Array.isArray(n)?this.value=t===B?a?[...n,s]:n.slice(0,n.length-1):a?[s,...n]:n.filter((t=>t!==s)):this.value=a?s:null,this.dispatchEvent(new T(this.value))}}),u=b(M||(M=O` <div> ${0} </div> `),t===B?this._t("choice.other").toString():b(j||(j=O`<slot name="${0}">${0}</slot>`),`${t}-label`,this.getText(t)));return b(F||(F=O` <div class="ml-xxl border-t border-contrast-10 ${0}"></div> ${0} <div class="mr-m ml-xxl"> ${0} ${0} </div> `),s?"":"hidden",e?function(t,e,a,s,n){const i="transition ease-in-out duration-200",r=`${i} transform ${a?"scale-100":"scale-0"} ${t?"text-contrast-70":"text-tint"}`;return b(C||(C=O` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0 text-primary-contrast"> <div class="check rounded-s ${0} ${0} ${0} focus-within-shadow-outline"> <iron-icon icon="lumo:checkmark" class="block w-full h-full ${0}"></iron-icon> <input type="checkbox" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),e||t?"":"cursor-pointer","border "+(t?"border-dashed border-contrast-30":"border-transparent"),i,t?"":e?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",r,a,s,e?"text-disabled":t?"text-secondary":"text-body",n)}(this.readonly,l,o,d,u):function(t,e,a,s,n){const i="transition ease-in-out duration-200",r=`${i} ${e||t?"":"shadow-xs"} transform ${a?"scale-100":"scale-0"} ${t?"bg-contrast-70":"bg-tint"}`;return b(S||(S=O` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0"> <div class="flex radio rounded-full ${0} ${0} ${0} focus-within-shadow-outline"> <div class="dot m-auto rounded-full ${0}"></div> <input type="radio" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),e||t?"":"cursor-pointer","border "+(t?"border-dashed border-contrast-30":"border-transparent"),i,t?"":e?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",r,a,s,e?"text-disabled":t?"text-secondary":"text-body",n)}(this.readonly,l,o,d,u),t===B&&a?this.__field:"",t!==B?b(U||(U=O`<slot name="${0}"></slot>`),t):"")})));return b(q||(q=O`<form>${0}</form> `),s)}get __field(){const t=w({placeholder:this._t("choice.other").toString(),class:"w-full mb-m",value:this.__service.state.context.customValue,max:this.max,min:this.min,ns:this.ns,"?disabled":this.disabled,"?readonly":this.readonly,"data-testid":"field","@change":t=>{t.stopPropagation();const e=t.target.value;Array.isArray(this.value)?this.value=this.value.slice(0,this.value.length-1).concat(e):this.value=e,this.dispatchEvent(new T(this.value))}});return"frequency"===this.type?b(D||(D=O`<x-frequency-input ...="${0}"></x-frequency-input>`),t):"integer"===this.type?b(I||(I=O`<vaadin-integer-field ...="${0}" has-controls></vaadin-integer-field>`),t):"number"===this.type?b(P||(P=O`<vaadin-number-field ...="${0}" has-controls></vaadin-number-field>`),t):"textarea"===this.type?b(L||(L=O`<vaadin-text-area ...="${0}"></vaadin-text-area>`),t):b(N||(N=O`<vaadin-text-field ...="${0}"></vaadin-text-field>`),t)}}export{Y as C,T as a,E as b};
1
+ import{Z as t,$ as e,a0 as a,a1 as s,a2 as n,a3 as i,a4 as r,a5 as o,f as l,a6 as d,a7 as u,a8 as c,a9 as m,aa as h,ab as g,ac as y,ad as p,_ as v}from"./shared-1522d76f.js";import"./shared-e40937c5.js";import"./shared-cfed658c.js";import"./shared-7039733e.js";import"./shared-db98729a.js";import"./shared-4482e7b9.js";import"./shared-44bb85d8.js";import"./shared-f588b5c2.js";import{c as x,h as b}from"./shared-dc73b9a5.js";import{F as f}from"./shared-44d207fb.js";import{x as _}from"./shared-331a223c.js";import{s as w}from"./shared-99940888.js";import{i as $}from"./shared-eb116b3e.js";var E={raise:t,send:e,sendParent:a,sendUpdate:s,log:n,cancel:i,start:r,stop:o,assign:l,after:d,done:u,respond:c,forwardTo:m,escalate:h,choose:g,pure:y};class T extends CustomEvent{constructor(t){super("change",{detail:t})}}const k=p({id:"choice",type:"parallel",context:{defaultCustomValue:"",customValue:null,custom:!1,items:[],value:null,type:"text",min:null,max:null},states:{mutability:{initial:"editable",states:{editable:{},readonly:{}},on:{SET_READONLY:[{target:".editable",cond:"isPayloadFalsey"},{target:".readonly",cond:"isPayloadTruthy"}]}},interactivity:{initial:"enabled",states:{enabled:{},disabled:{}},on:{SET_DISABLED:[{target:".enabled",cond:"isPayloadFalsey"},{target:".disabled",cond:"isPayloadTruthy"}]}},selection:{initial:"unknown",states:{unknown:{always:[{target:"multiple",cond:"isValueArray"},{target:"single"}]},none:{},single:{},multiple:{}}},extension:{initial:"unknown",states:{unknown:{always:[{target:"present",cond:"hasCustom"},{target:"absent"}]},absent:{},present:{initial:"unknown",states:{unknown:{always:[{target:"selected",cond:"hasCustomValue"},{target:"available"}]},available:{on:{SET_TYPE:{actions:"setType"}}},selected:{initial:"unknown",states:{unknown:{always:[{target:"number",cond:"showsNumberField"},{target:"integer",cond:"showsIntegerField"},{target:"textarea",cond:"showsTextarea"},{target:"frequency",cond:"showsFrequency"},{target:"text"}]},text:{},frequency:{},textarea:{},integer:{type:"parallel",states:{min:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMinConstraint"},{target:"none"}]},none:{},custom:{}}},max:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMaxConstraint"},{target:"none"}]},none:{},custom:{}}}}},number:{type:"parallel",states:{min:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMinConstraint"},{target:"none"}]},none:{},custom:{}}},max:{initial:"unknown",states:{unknown:{always:[{target:"custom",cond:"hasMaxConstraint"},{target:"none"}]},none:{},custom:{}}}}}}}}}}}},on:{SET_DEFAULT_CUSTOM_VALUE:{actions:"setDefaultCustomValue"},SET_CUSTOM:{actions:"setCustom",target:[".selection.unknown",".extension.unknown"]},SET_VALUE:{actions:"setValue",target:[".selection.unknown",".extension.unknown"]},SET_ITEMS:{actions:"setItems",target:[".selection.unknown",".extension.unknown"]},SET_TYPE:{actions:"setType",target:".extension.unknown"},SET_MIN:{actions:"setMin",target:".extension.unknown"},SET_MAX:{actions:"setMax",target:".extension.unknown"}}},{guards:{isPayloadFalsey:(t,e)=>!e.data,isPayloadTruthy:(t,e)=>!!e.data,isValueArray:t=>Array.isArray(t.value),showsIntegerField:t=>"integer"===t.type,showsNumberField:t=>"number"===t.type,showsFrequency:t=>"frequency"===t.type,showsTextarea:t=>"textarea"===t.type,hasMinConstraint:t=>"number"==typeof t.min,hasMaxConstraint:t=>"number"==typeof t.max,hasCustomValue:t=>"string"==typeof t.customValue,hasCustom:t=>t.custom},actions:{setDefaultCustomValue:E.assign({defaultCustomValue:(t,e)=>e.data}),setValue:E.assign({value:(t,e)=>e.data,customValue:(t,e)=>Array.isArray(e.data)?e.data.find((e=>!t.items.includes(e))):t.items.includes(e.data)?null:e.data}),setCustom:E.assign({custom:(t,e)=>e.data}),setItems:E.assign({items:(t,e)=>e.data}),setType:E.assign({type:(t,e)=>e.data}),setMin:E.assign({min:(t,e)=>e.data}),setMax:E.assign({max:(t,e)=>e.data})}});let S,C,A,V,M,j,F,U,q,D,I,P,L,N,O=t=>t;const B=`@foxy.io/elements::other[${(Math.pow(10,10)*Math.random()).toFixed(0)}]`;class Y extends _{constructor(){super(...arguments),this.getText=t=>t,this.__service=$(k).onChange((()=>this.requestUpdate())).onTransition((({changed:t})=>t&&this.requestUpdate())).start()}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-number-field":customElements.get("vaadin-number-field"),"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":f,"vaadin-text-area":customElements.get("vaadin-text-area"),"iron-icon":customElements.get("iron-icon")}}static get styles(){return[super.styles,x(A||(A=O`:host{--item-width:calc((var(--lumo-space-m) * 2) + 1.25rem)}.ml-xxl{margin-left:var(--item-width)}.item{height:var(--lumo-size-l);width:var(--item-width)}.radio{height:1.25rem;width:1.25rem}.check{height:1.125rem;width:1.125rem}.dot{height:.5rem;width:.5rem}`))]}static get properties(){return v(v({},super.properties),{},{defaultCustomValue:{type:String,attribute:"default-custom-value"},disabled:{type:Boolean},readonly:{type:Boolean},custom:{type:Boolean},type:{type:String},min:{type:Number},max:{type:Number},value:{type:Array},items:{type:Array},getText:{attribute:!1}})}get defaultCustomValue(){return this.__service.state.context.defaultCustomValue}set defaultCustomValue(t){this.__service.send("SET_DEFAULT_CUSTOM_VALUE",{data:t})}get readonly(){return this.__service.state.matches("mutability.readonly")}set readonly(t){this.__service.send("SET_READONLY",{data:t})}get disabled(){return this.__service.state.matches("interactivity.disabled")}set disabled(t){this.__service.send("SET_DISABLED",{data:t})}get custom(){return this.__service.state.matches("extension.present")}set custom(t){this.__service.send("SET_CUSTOM",{data:t})}get type(){return this.__service.state.context.type}set type(t){this.__service.send("SET_TYPE",{data:t})}get min(){return this.__service.state.context.min}set min(t){this.__service.send("SET_MIN",{data:t})}get max(){return this.__service.state.context.max}set max(t){this.__service.send("SET_MAX",{data:t})}get value(){return this.__service.state.context.value}set value(t){this.__service.send("SET_VALUE",{data:t})}get items(){return this.__service.state.context.items}set items(t){this.__service.send("SET_ITEMS",{data:t})}render(){const t=this.custom?[...this.items,B]:this.items,e=Array.isArray(this.value),a=this.__service.state.matches("extension.present.selected"),s=b(V||(V=O` ${0} `),t.map(((t,s,n)=>{var i;const r=this.custom&&s===n.length-1,o=r?a:e?!!(null===(i=this.value)||void 0===i?void 0:i.includes(t)):t===String(this.value),l=this.disabled||!this._isI18nReady,d=w({value:r?B:t,name:e?t:"choice","data-testid":`item-${t}`,"?disabled":l,"@change":e=>{if(this.readonly)return e.preventDefault();const a=e.target.checked,s=t===B?this.defaultCustomValue:t,n=this.value;Array.isArray(n)?this.value=t===B?a?[...n,s]:n.slice(0,n.length-1):a?[s,...n]:n.filter((t=>t!==s)):this.value=a?s:null,this.dispatchEvent(new T(this.value))}}),u=b(M||(M=O` <div> ${0} </div> `),t===B?this._t("choice.other").toString():b(j||(j=O`<slot name="${0}">${0}</slot>`),`${t}-label`,this.getText(t)));return b(F||(F=O` <div class="ml-xxl border-t border-contrast-10 ${0}"></div> ${0} <div class="mr-m ml-xxl"> ${0} ${0} </div> `),s?"":"hidden",e?function(t,e,a,s,n){const i="transition ease-in-out duration-200",r=`${i} transform ${a?"scale-100":"scale-0"} ${t?"text-contrast-70":"text-tint"}`;return b(C||(C=O` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0 text-primary-contrast"> <div class="check rounded-s ${0} ${0} ${0} focus-within-shadow-outline"> <iron-icon icon="lumo:checkmark" class="block w-full h-full ${0}"></iron-icon> <input type="checkbox" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),e||t?"":"cursor-pointer","border "+(t?"border-dashed border-contrast-30":"border-transparent"),i,t?"":e?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",r,a,s,e?"text-disabled":t?"text-secondary":"text-body",n)}(this.readonly,l,o,d,u):function(t,e,a,s,n){const i="transition ease-in-out duration-200",r=`${i} ${e||t?"":"shadow-xs"} transform ${a?"scale-100":"scale-0"} ${t?"bg-contrast-70":"bg-tint"}`;return b(S||(S=O` <label class="group flex items-center ${0}"> <div class="item flex items-center justify-center flex-shrink-0"> <div class="flex radio rounded-full ${0} ${0} ${0} focus-within-shadow-outline"> <div class="dot m-auto rounded-full ${0}"></div> <input type="radio" class="sr-only" .checked="${0}" ...="${0}"> </div> </div> <div class="font-lumo leading-m ${0}">${0}</div> </label> `),e||t?"":"cursor-pointer","border "+(t?"border-dashed border-contrast-30":"border-transparent"),i,t?"":e?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",r,a,s,e?"text-disabled":t?"text-secondary":"text-body",n)}(this.readonly,l,o,d,u),t===B&&a?this.__field:"",t!==B?b(U||(U=O`<slot name="${0}"></slot>`),t):"")})));return b(q||(q=O`<form>${0}</form> `),s)}get __field(){const t=w({placeholder:this._t("choice.other").toString(),class:"w-full mb-m",value:this.__service.state.context.customValue,max:this.max,min:this.min,ns:this.ns,"?disabled":this.disabled,"?readonly":this.readonly,"data-testid":"field","@change":t=>{t.stopPropagation();const e=t.target.value;Array.isArray(this.value)?this.value=this.value.slice(0,this.value.length-1).concat(e):this.value=e,this.dispatchEvent(new T(this.value))}});return"frequency"===this.type?b(D||(D=O`<x-frequency-input ...="${0}"></x-frequency-input>`),t):"integer"===this.type?b(I||(I=O`<vaadin-integer-field ...="${0}" has-controls></vaadin-integer-field>`),t):"number"===this.type?b(P||(P=O`<vaadin-number-field ...="${0}" has-controls></vaadin-number-field>`),t):"textarea"===this.type?b(L||(L=O`<vaadin-text-area ...="${0}"></vaadin-text-area>`),t):b(N||(N=O`<vaadin-text-field ...="${0}"></vaadin-text-field>`),t)}}export{Y as C,T as a,E as b};
@@ -1 +1 @@
1
- import{_ as e}from"./shared-1522d76f.js";import{B as t}from"./shared-37e1a834.js";import{c as r,h as s}from"./shared-dc73b9a5.js";import{x as n}from"./shared-331a223c.js";import{I as o}from"./shared-6e508e5b.js";let i,a,l,c=e=>e;class d{constructor(e="unknown"){this.type=e}}class h extends CustomEvent{constructor(){super("reload")}}class p extends n{constructor(){super(...arguments),this.type="unknown",this.reload=!1}static get scopedElements(){return{"vaadin-button":t,"iron-icon":customElements.get("iron-icon"),"x-i18n":o}}static get styles(){return[super.styles,r(i||(i=c`:host{position:absolute;top:0;right:0;bottom:0;left:0}.container-narrow{max-width:400px}`))]}static get properties(){return e(e({},super.properties),{},{reload:{type:Boolean,reflect:!0},type:{type:String}})}render(){return s(a||(a=c` <article class="bg-base font-lumo text-center leading-m p-m h-full flex flex-col items-center justify-center"> <iron-icon icon="lumo:error" class="text-error w-l h-l mb-m"></iron-icon> <header class="text-xl text-header container-narrow font-medium"> <x-i18n ns="${0}" lang="${0}" key="errors.${0}.title"></x-i18n> </header> <p class="text-m text-secondary container-narrow mb-l"> <x-i18n ns="${0}" lang="${0}" key="errors.${0}.message"></x-i18n> </p> <div class="flex space-x-s"> <a rel="nofollow noreferrer noopener" href="${0}" target="_blank" class="px-m py-xs text-primary font-medium tracking-wide border border-contrast-10 rounded transition-colors duration-200 hover-bg-primary-10 hover-border-primary-10 focus-outline-none focus-shadow-outline" router-ignore> <x-i18n ns="${0}" lang="${0}" key="errors.${0}.action"></x-i18n> </a> ${0} </div> </article> `),this.ns,this.lang,this.type,this.ns,this.lang,this.type,this._i18n.t(`errors.${this.type}.href`).toString(),this.ns,this.lang,this.type,this.reload?s(l||(l=c` <vaadin-button data-testid="reload" theme="primary" @click="${0}"> <x-i18n ns="${0}" lang="${0}" key="reload"></x-i18n> <iron-icon icon="icons:refresh" slot="suffix"></iron-icon> </vaadin-button> `),(()=>this.dispatchEvent(new h)),this.ns,this.lang):"")}}export{p as E,d as F};
1
+ import{_ as e}from"./shared-1522d76f.js";import{B as t}from"./shared-37e1a834.js";import{c as r,h as s}from"./shared-dc73b9a5.js";import{x as n}from"./shared-331a223c.js";import{I as o}from"./shared-e4543605.js";let i,a,l,c=e=>e;class d{constructor(e="unknown"){this.type=e}}class h extends CustomEvent{constructor(){super("reload")}}class p extends n{constructor(){super(...arguments),this.type="unknown",this.reload=!1}static get scopedElements(){return{"vaadin-button":t,"iron-icon":customElements.get("iron-icon"),"x-i18n":o}}static get styles(){return[super.styles,r(i||(i=c`:host{position:absolute;top:0;right:0;bottom:0;left:0}.container-narrow{max-width:400px}`))]}static get properties(){return e(e({},super.properties),{},{reload:{type:Boolean,reflect:!0},type:{type:String}})}render(){return s(a||(a=c` <article class="bg-base font-lumo text-center leading-m p-m h-full flex flex-col items-center justify-center"> <iron-icon icon="lumo:error" class="text-error w-l h-l mb-m"></iron-icon> <header class="text-xl text-header container-narrow font-medium"> <x-i18n ns="${0}" lang="${0}" key="errors.${0}.title"></x-i18n> </header> <p class="text-m text-secondary container-narrow mb-l"> <x-i18n ns="${0}" lang="${0}" key="errors.${0}.message"></x-i18n> </p> <div class="flex space-x-s"> <a rel="nofollow noreferrer noopener" href="${0}" target="_blank" class="px-m py-xs text-primary font-medium tracking-wide border border-contrast-10 rounded transition-colors duration-200 hover-bg-primary-10 hover-border-primary-10 focus-outline-none focus-shadow-outline" router-ignore> <x-i18n ns="${0}" lang="${0}" key="errors.${0}.action"></x-i18n> </a> ${0} </div> </article> `),this.ns,this.lang,this.type,this.ns,this.lang,this.type,this._i18n.t(`errors.${this.type}.href`).toString(),this.ns,this.lang,this.type,this.reload?s(l||(l=c` <vaadin-button data-testid="reload" theme="primary" @click="${0}"> <x-i18n ns="${0}" lang="${0}" key="reload"></x-i18n> <iron-icon icon="icons:refresh" slot="suffix"></iron-icon> </vaadin-button> `),(()=>this.dispatchEvent(new h)),this.ns,this.lang):"")}}export{p as E,d as F};
@@ -1,4 +1,4 @@
1
- import{_ as e}from"./shared-1522d76f.js";import{E as t,T as n}from"./shared-cfed658c.js";import"./shared-655e7c5f.js";import{O as s}from"./shared-9adc47da.js";import{T as i}from"./shared-4482e7b9.js";import"./shared-8ab2ba91.js";import{h as r,P as o}from"./shared-bf695fe7.js";import{L as a}from"./shared-6ed07856.js";import{C as l}from"./shared-61ade33e.js";import{I as A}from"./shared-3f19b914.js";import"./shared-5ba87b6d.js";import{w as d,y as h,x as m}from"./shared-331a223c.js";import{a as c,F as u}from"./shared-e40937c5.js";import{c as p,L as g,h as v}from"./shared-dc73b9a5.js";import{D as b}from"./shared-f1afbd7b.js";class y extends CustomEvent{constructor(e){super("change",{detail:e})}}class _ extends y{}const f=r`<dom-module id="lumo-list-box" theme-for="vaadin-list-box">
1
+ import{_ as e}from"./shared-1522d76f.js";import{E as t,T as n}from"./shared-cfed658c.js";import"./shared-655e7c5f.js";import{O as s}from"./shared-9adc47da.js";import{T as i}from"./shared-4482e7b9.js";import"./shared-8ab2ba91.js";import{h as r,P as o}from"./shared-bf695fe7.js";import{L as a}from"./shared-6ed07856.js";import{C as l}from"./shared-61ade33e.js";import{I as A}from"./shared-3f19b914.js";import"./shared-5ba87b6d.js";import{w as d,y as h,x as m}from"./shared-331a223c.js";import{a as c,F as u}from"./shared-e40937c5.js";import{c as p,L as g,h as v}from"./shared-dc73b9a5.js";import{D as b}from"./shared-44d207fb.js";class y extends CustomEvent{constructor(e){super("change",{detail:e})}}class _ extends y{}const f=r`<dom-module id="lumo-list-box" theme-for="vaadin-list-box">
2
2
  <template>
3
3
  <style>
4
4
  :host {
@@ -1,18 +1,16 @@
1
1
  {
2
- "code": "Code",
3
- "code_import_hint": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
4
- "code_plural": "Codes",
5
- "duplicate": "Duplicate",
6
- "hidden_codes_explainer": "We’ve hidden some of your codes because there were too many of them. Don’t worry – we’ll import them anyway.",
7
- "hidden_codes_header": "{{count}} code is hidden",
8
- "hidden_codes_header_plural": "{{count}} codes are hidden",
9
- "import": "Import",
10
- "import_codes_done": "All done! We've imported your codes into the system.",
11
- "loading_busy": "Loading",
12
- "loading_error": "Unknown error",
13
- "type_here": "Type here...",
14
- "unique": "Unique",
15
- "v8n_required": "Required",
2
+ "status": {
3
+ "success": "All done! We've imported your codes into the system."
4
+ },
5
+ "coupon-codes": {
6
+ "label": "Codes",
7
+ "placeholder": "Enter or paste codes here...",
8
+ "helper_text": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
9
+ "v8n_required": "Please add at least one code"
10
+ },
11
+ "create": {
12
+ "create": "Import"
13
+ },
16
14
  "spinner": {
17
15
  "refresh": "Refresh",
18
16
  "loading_busy": "Loading",
@@ -223,20 +223,18 @@
223
223
  }
224
224
  },
225
225
  "coupon-codes-form": {
226
- "code": "Code",
227
- "code_import_hint": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
228
- "code_plural": "Codes",
229
- "duplicate": "Duplicate",
230
- "hidden_codes_explainer": "We’ve hidden some of your codes because there were too many of them. Don’t worry – we’ll import them anyway.",
231
- "hidden_codes_header": "{{count}} code is hidden",
232
- "hidden_codes_header_plural": "{{count}} codes are hidden",
233
- "import": "Import",
234
- "import_codes_done": "All done! We've imported your codes into the system.",
235
- "loading_busy": "Loading",
236
- "loading_error": "Unknown error",
237
- "type_here": "Type here...",
238
- "unique": "Unique",
239
- "v8n_required": "Required",
226
+ "status": {
227
+ "success": "All done! We've imported your codes into the system."
228
+ },
229
+ "coupon-codes": {
230
+ "label": "Codes",
231
+ "placeholder": "Enter or paste codes here...",
232
+ "helper_text": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
233
+ "v8n_required": "Please add at least one code"
234
+ },
235
+ "create": {
236
+ "create": "Import"
237
+ },
240
238
  "spinner": {
241
239
  "refresh": "Refresh",
242
240
  "loading_busy": "Loading",
@@ -244,16 +242,40 @@
244
242
  }
245
243
  },
246
244
  "generate-codes-form": {
247
- "balance": "Balance",
248
- "cancel": "Cancel",
249
- "confirm": "Confirm",
250
- "current_balance": "Current balance",
251
- "generate": "Generate",
252
- "generate_codes_done": "All done! We've added new codes for you.",
253
- "leave_empty_for_random_codes": "Leave empty to generate completely random codes.",
254
- "length": "Length",
255
- "number_of_codes": "Number of codes",
256
- "prefix": "Prefix",
245
+ "status": {
246
+ "success": "Codes generated successfully."
247
+ },
248
+ "error": {
249
+ "invalid_form": "These parameters won't generate any codes. Please make sure that the length of the code is greater than the length of the prefix, does not exceed 50 characters in total and that the code itself does not contain spaces."
250
+ },
251
+ "length": {
252
+ "label": "Code length",
253
+ "placeholder": "6",
254
+ "helper_text": ""
255
+ },
256
+ "number-of-codes": {
257
+ "label": "Number of codes",
258
+ "placeholder": "10",
259
+ "helper_text": ""
260
+ },
261
+ "prefix": {
262
+ "label": "Prefix",
263
+ "placeholder": "Optional",
264
+ "helper_text": "The length value is inclusive of this prefix."
265
+ },
266
+ "current-balance": {
267
+ "label": "Initial balance",
268
+ "placeholder": "0",
269
+ "helper_text": ""
270
+ },
271
+ "example": {
272
+ "label": "Examples",
273
+ "placeholder": "",
274
+ "helper_text": "This is what the generated codes will look like."
275
+ },
276
+ "create": {
277
+ "create": "Generate"
278
+ },
257
279
  "spinner": {
258
280
  "refresh": "Refresh",
259
281
  "loading_busy": "Loading",
@@ -1,18 +1,38 @@
1
1
  {
2
- "cancel": "Cancel",
3
- "confirm": "Confirm",
4
- "balance": "Balance",
5
- "current_balance": "Current balance",
6
- "generate": "Generate",
7
- "generate_codes_done": "All done! We've added new codes for you.",
8
- "leave_empty_for_random_codes": "Leave empty to generate completely random codes.",
9
- "length": "Length",
10
- "number_of_codes": "Number of codes",
11
- "prefix": "Prefix",
12
- "template": "Template",
13
- "v8n_negative": "Negative values are not allowed",
14
- "v8n_required": "Required",
15
- "v8n_prefix_has_spaces": "Spaces are not allowed in code prefix",
2
+ "status": {
3
+ "success": "Codes generated successfully."
4
+ },
5
+ "error": {
6
+ "invalid_form": "These parameters won't generate any codes. Please make sure that the length of the code is greater than the length of the prefix, does not exceed 50 characters in total and that the code itself does not contain spaces."
7
+ },
8
+ "length": {
9
+ "label": "Code length",
10
+ "placeholder": "6",
11
+ "helper_text": ""
12
+ },
13
+ "number-of-codes": {
14
+ "label": "Number of codes",
15
+ "placeholder": "10",
16
+ "helper_text": ""
17
+ },
18
+ "prefix": {
19
+ "label": "Prefix",
20
+ "placeholder": "Optional",
21
+ "helper_text": "The length value is inclusive of this prefix."
22
+ },
23
+ "current-balance": {
24
+ "label": "Initial balance",
25
+ "placeholder": "0",
26
+ "helper_text": ""
27
+ },
28
+ "example": {
29
+ "label": "Examples",
30
+ "placeholder": "",
31
+ "helper_text": "This is what the generated codes will look like."
32
+ },
33
+ "create": {
34
+ "create": "Generate"
35
+ },
16
36
  "spinner": {
17
37
  "refresh": "Refresh",
18
38
  "loading_busy": "Loading",
@@ -1,23 +1,22 @@
1
1
  {
2
- "balance": "Balance",
3
- "cancel": "Cancel",
4
- "code": "Code",
5
- "code_import_hint": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
6
- "code_plural": "Codes",
7
- "confirm": "Confirm",
8
- "current_balance": "Current balance",
9
- "duplicate": "Duplicate",
10
- "hidden_codes_explainer": "We’ve hidden some of your codes because there were too many of them. Don’t worry – we’ll import them anyway.",
11
- "hidden_codes_header": "{{count}} code is hidden",
12
- "hidden_codes_header_plural": "{{count}} codes are hidden",
13
- "import": "Import",
14
- "import_codes_done": "All done! We've imported your codes into the system.",
15
- "loading_busy": "Loading",
16
- "loading_error": "Unknown error",
17
- "type_here": "Type here...",
18
- "unique": "Unique",
19
- "v8n_negative": "Negative values are not allowed",
20
- "v8n_required": "Required",
2
+ "status": {
3
+ "success": "All done! We've imported your codes into the system.",
4
+ "close": "Close"
5
+ },
6
+ "gift-card-codes": {
7
+ "label": "Codes",
8
+ "placeholder": "Enter or paste codes here...",
9
+ "helper_text": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
10
+ "v8n_required": "Please add at least one code"
11
+ },
12
+ "current-balance": {
13
+ "label": "Initial balance",
14
+ "placeholder": "0",
15
+ "helper_text": "All imported codes will have this balance."
16
+ },
17
+ "create": {
18
+ "create": "Import"
19
+ },
21
20
  "spinner": {
22
21
  "refresh": "Refresh",
23
22
  "loading_busy": "Loading",
@@ -247,19 +247,40 @@
247
247
  "failed_to_copy": "Failed to copy"
248
248
  },
249
249
  "generate-codes-form": {
250
- "balance": "Balance",
251
- "cancel": "Cancel",
252
- "confirm": "Confirm",
253
- "current_balance": "Current balance",
254
- "generate": "Generate",
255
- "generate_codes_done": "All done! We've added new codes for you.",
256
- "leave_empty_for_random_codes": "Leave empty to generate completely random codes.",
257
- "length": "Length",
258
- "number_of_codes": "Number of codes",
259
- "prefix": "Prefix",
260
- "template": "Template",
261
- "v8n_negative": "Negative values are not allowed",
262
- "v8n_required": "Required",
250
+ "status": {
251
+ "success": "Codes generated successfully."
252
+ },
253
+ "error": {
254
+ "invalid_form": "These parameters won't generate any codes. Please make sure that the length of the code is greater than the length of the prefix, does not exceed 50 characters in total and that the code itself does not contain spaces."
255
+ },
256
+ "length": {
257
+ "label": "Code length",
258
+ "placeholder": "6",
259
+ "helper_text": ""
260
+ },
261
+ "number-of-codes": {
262
+ "label": "Number of codes",
263
+ "placeholder": "10",
264
+ "helper_text": ""
265
+ },
266
+ "prefix": {
267
+ "label": "Prefix",
268
+ "placeholder": "Optional",
269
+ "helper_text": "The length value is inclusive of this prefix."
270
+ },
271
+ "current-balance": {
272
+ "label": "Initial balance",
273
+ "placeholder": "0",
274
+ "helper_text": ""
275
+ },
276
+ "example": {
277
+ "label": "Examples",
278
+ "placeholder": "",
279
+ "helper_text": "This is what the generated codes will look like."
280
+ },
281
+ "create": {
282
+ "create": "Generate"
283
+ },
263
284
  "spinner": {
264
285
  "refresh": "Refresh",
265
286
  "loading_busy": "Loading",
@@ -353,25 +374,24 @@
353
374
  }
354
375
  },
355
376
  "gift-card-codes-form": {
356
- "balance": "Balance",
357
- "cancel": "Cancel",
358
- "code": "Code",
359
- "code_import_hint": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
360
- "code_plural": "Codes",
361
- "confirm": "Confirm",
362
- "current_balance": "Current balance",
363
- "duplicate": "Duplicate",
364
- "hidden_codes_explainer": "We’ve hidden some of your codes because there were too many of them. Don’t worry – we’ll import them anyway.",
365
- "hidden_codes_header": "{{count}} code is hidden",
366
- "hidden_codes_header_plural": "{{count}} codes are hidden",
367
- "import": "Import",
368
- "import_codes_done": "All done! We've imported your codes into the system.",
369
- "loading_busy": "Loading",
370
- "loading_error": "Unknown error",
371
- "type_here": "Type here...",
372
- "unique": "Unique",
373
- "v8n_negative": "Negative values are not allowed",
374
- "v8n_required": "Required",
377
+ "status": {
378
+ "success": "All done! We've imported your codes into the system.",
379
+ "close": "Close"
380
+ },
381
+ "gift-card-codes": {
382
+ "label": "Codes",
383
+ "placeholder": "Enter or paste codes here...",
384
+ "helper_text": "Paste multiple space-separated codes in the field above to add all of them at once. Importing duplicate codes clears their usage stats.",
385
+ "v8n_required": "Please add at least one code"
386
+ },
387
+ "current-balance": {
388
+ "label": "Initial balance",
389
+ "placeholder": "0",
390
+ "helper_text": "All imported codes will have this balance."
391
+ },
392
+ "create": {
393
+ "create": "Import"
394
+ },
375
395
  "spinner": {
376
396
  "refresh": "Refresh",
377
397
  "loading_busy": "Loading",
@@ -36,9 +36,17 @@ export class InternalEditableListControl extends InternalEditableControl {
36
36
  });
37
37
  const isAddButtonDisabled = this.disabled || !this.__newItem;
38
38
  const addItem = () => {
39
- if (!this.__newItem)
40
- return;
41
- this._value = [...this._value, { value: this.__newItem }];
39
+ const newValue = [...this._value];
40
+ this.__newItem
41
+ .split('\n')
42
+ .map(code => code.trim())
43
+ .filter(code => code.length > 0)
44
+ .forEach(value => {
45
+ if (!newValue.some(item => item.value === value)) {
46
+ newValue.push({ value });
47
+ }
48
+ });
49
+ this._value = newValue;
42
50
  this.__newItem = '';
43
51
  };
44
52
  return html `
@@ -109,6 +117,12 @@ export class InternalEditableListControl extends InternalEditableControl {
109
117
  @change=${(evt) => evt.stopPropagation()}
110
118
  @input=${(evt) => {
111
119
  this.__newItem = evt.currentTarget.value.trim();
120
+ }}
121
+ @paste=${(evt) => {
122
+ var _a, _b;
123
+ evt.preventDefault();
124
+ this.__newItem = (_b = (_a = evt.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text')) !== null && _b !== void 0 ? _b : '';
125
+ addItem();
112
126
  }}
113
127
  />
114
128
 
@@ -1 +1 @@
1
- {"version":3,"file":"InternalEditableListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalEditableListControl/InternalEditableListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { Item, Option } from './types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { classMap } from '../../../utils/class-map';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { spread } from '@open-wc/lit-helpers';\nimport { live } from 'lit-html/directives/live';\nimport { html } from 'lit-element';\n\nexport class InternalEditableListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n inputParams: { attribute: false },\n options: { type: Array },\n __newItem: { attribute: false },\n };\n }\n\n inputParams: Record<string, unknown> = {};\n\n options: Option[] = [];\n\n private __newItem = '';\n\n render(): TemplateResult {\n const deleteButtonClass = classMap({\n 'w-xs h-xs mr-xs rounded-full transition-colors flex-shrink-0': true,\n 'focus-outline-none focus-ring-2 ring-inset ring-error-50': true,\n 'text-tertiary hover-bg-error-10 hover-text-error': !this.disabled,\n 'cursor-default text-disabled': this.disabled,\n 'flex items-center justify-center': !this.readonly,\n 'hidden': this.readonly,\n });\n\n const itemClass = classMap({\n 'transition-colors h-m ml-s flex items-center': true,\n 'text-secondary': this.readonly,\n 'text-disabled': this.disabled,\n 'group-hover-divide-contrast-20': !this.disabled && !this.readonly,\n });\n\n const isAddButtonDisabled = this.disabled || !this.__newItem;\n\n const addItem = () => {\n if (!this.__newItem) return;\n this._value = [...this._value, { value: this.__newItem }];\n this.__newItem = '';\n };\n\n return html`\n <div class=\"group\">\n <div\n class=${classMap({\n 'transition-colors mb-xs font-medium text-s': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n >\n ${this.label}\n </div>\n\n <div\n class=${classMap({\n 'border border-contrast-10 rounded transition-colors': true,\n 'group-hover-border-contrast-20': !this.disabled && !this.readonly,\n })}\n >\n <ol class=\"transition-colors divide-y divide-contrast-10 font-medium\">\n ${repeat(\n this._value,\n item => item.value,\n (item, index) => {\n return html`\n <li class=${itemClass}>\n <div class=\"flex-1 mr-s\">${item.label ?? item.value}</div>\n\n <button\n aria-label=${this.t('delete')}\n class=${deleteButtonClass}\n ?disabled=${this.disabled}\n @click=${() => {\n this._value = this._value.filter((_, i) => i !== index);\n }}\n >\n <iron-icon icon=\"lumo:cross\" class=\"icon-inline text-xl\"></iron-icon>\n </button>\n </li>\n `;\n }\n )}\n </ol>\n\n <div\n style=${this._value.length === 0\n ? 'border-radius: calc(var(--lumo-border-radius-m) - 1px)'\n : 'border-radius: 0 0 calc(var(--lumo-border-radius-m) - 1px) calc(var(--lumo-border-radius-m) - 1px)'}\n class=${classMap({\n 'transition-colors pl-s h-m flex items-center': true,\n 'focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-contrast-10 group-hover-bg-contrast-20': !this.disabled && !this.readonly,\n 'bg-contrast-5': this.disabled,\n 'flex': !this.readonly,\n 'hidden': this.readonly,\n })}\n >\n <input\n placeholder=${this.placeholder}\n class=${classMap({\n 'w-full bg-transparent appearance-none h-m font-medium focus-outline-none': true,\n 'text-disabled': this.disabled,\n })}\n list=\"list\"\n ...=${spread(this.inputParams)}\n .value=${live(this.__newItem)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && addItem()}\n @change=${(evt: Event) => evt.stopPropagation()}\n @input=${(evt: InputEvent) => {\n this.__newItem = (evt.currentTarget as HTMLInputElement).value.trim();\n }}\n />\n\n <datalist id=\"list\">\n ${this.options.map(({ label, value }) => {\n if (this._value.some(item => item.value === value)) return;\n return html`<option value=${value}>${label ?? value}</option>`;\n })}\n </datalist>\n\n <div class=\"transition-opacity ${this.__newItem ? 'opacity-100' : 'opacity-0'}\">\n <button\n aria-label=${this.t('submit')}\n class=${classMap({\n 'w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50 focus-outline-none':\n true,\n 'flex items-center justify-center rounded-full transition-colors': true,\n 'bg-contrast-5 text-disabled cursor-default': isAddButtonDisabled,\n 'bg-success-10 text-success cursor-pointer': !isAddButtonDisabled,\n 'hover-bg-success hover-text-success-contrast': !isAddButtonDisabled,\n 'focus-ring-2': !isAddButtonDisabled,\n })}\n ?disabled=${isAddButtonDisabled}\n @click=${addItem}\n >\n <iron-icon icon=\"lumo:plus\" class=\"icon-inline text-l\"></iron-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div\n class=${classMap({\n 'transition-colors mt-xs text-xs': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n >\n ${this.helperText}\n </div>\n </div>\n `;\n }\n\n protected get _value(): Item[] {\n return (super._value ?? []) as Item[];\n }\n\n protected set _value(newValue: Item[]) {\n super._value = newValue;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalEditableListControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalEditableListControl/InternalEditableListControl.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { Item, Option } from './types';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { classMap } from '../../../utils/class-map';\nimport { repeat } from 'lit-html/directives/repeat';\nimport { spread } from '@open-wc/lit-helpers';\nimport { live } from 'lit-html/directives/live';\nimport { html } from 'lit-element';\n\nexport class InternalEditableListControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n inputParams: { attribute: false },\n options: { type: Array },\n __newItem: { attribute: false },\n };\n }\n\n inputParams: Record<string, unknown> = {};\n\n options: Option[] = [];\n\n private __newItem = '';\n\n render(): TemplateResult {\n const deleteButtonClass = classMap({\n 'w-xs h-xs mr-xs rounded-full transition-colors flex-shrink-0': true,\n 'focus-outline-none focus-ring-2 ring-inset ring-error-50': true,\n 'text-tertiary hover-bg-error-10 hover-text-error': !this.disabled,\n 'cursor-default text-disabled': this.disabled,\n 'flex items-center justify-center': !this.readonly,\n 'hidden': this.readonly,\n });\n\n const itemClass = classMap({\n 'transition-colors h-m ml-s flex items-center': true,\n 'text-secondary': this.readonly,\n 'text-disabled': this.disabled,\n 'group-hover-divide-contrast-20': !this.disabled && !this.readonly,\n });\n\n const isAddButtonDisabled = this.disabled || !this.__newItem;\n\n const addItem = () => {\n const newValue = [...this._value];\n\n this.__newItem\n .split('\\n')\n .map(code => code.trim())\n .filter(code => code.length > 0)\n .forEach(value => {\n if (!newValue.some(item => item.value === value)) {\n newValue.push({ value });\n }\n });\n\n this._value = newValue;\n this.__newItem = '';\n };\n\n return html`\n <div class=\"group\">\n <div\n class=${classMap({\n 'transition-colors mb-xs font-medium text-s': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n >\n ${this.label}\n </div>\n\n <div\n class=${classMap({\n 'border border-contrast-10 rounded transition-colors': true,\n 'group-hover-border-contrast-20': !this.disabled && !this.readonly,\n })}\n >\n <ol class=\"transition-colors divide-y divide-contrast-10 font-medium\">\n ${repeat(\n this._value,\n item => item.value,\n (item, index) => {\n return html`\n <li class=${itemClass}>\n <div class=\"flex-1 mr-s\">${item.label ?? item.value}</div>\n\n <button\n aria-label=${this.t('delete')}\n class=${deleteButtonClass}\n ?disabled=${this.disabled}\n @click=${() => {\n this._value = this._value.filter((_, i) => i !== index);\n }}\n >\n <iron-icon icon=\"lumo:cross\" class=\"icon-inline text-xl\"></iron-icon>\n </button>\n </li>\n `;\n }\n )}\n </ol>\n\n <div\n style=${this._value.length === 0\n ? 'border-radius: calc(var(--lumo-border-radius-m) - 1px)'\n : 'border-radius: 0 0 calc(var(--lumo-border-radius-m) - 1px) calc(var(--lumo-border-radius-m) - 1px)'}\n class=${classMap({\n 'transition-colors pl-s h-m flex items-center': true,\n 'focus-within-ring-2 focus-within-ring-primary-50': true,\n 'bg-contrast-10 group-hover-bg-contrast-20': !this.disabled && !this.readonly,\n 'bg-contrast-5': this.disabled,\n 'flex': !this.readonly,\n 'hidden': this.readonly,\n })}\n >\n <input\n placeholder=${this.placeholder}\n class=${classMap({\n 'w-full bg-transparent appearance-none h-m font-medium focus-outline-none': true,\n 'text-disabled': this.disabled,\n })}\n list=\"list\"\n ...=${spread(this.inputParams)}\n .value=${live(this.__newItem)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && addItem()}\n @change=${(evt: Event) => evt.stopPropagation()}\n @input=${(evt: InputEvent) => {\n this.__newItem = (evt.currentTarget as HTMLInputElement).value.trim();\n }}\n @paste=${(evt: ClipboardEvent) => {\n evt.preventDefault();\n this.__newItem = evt.clipboardData?.getData('text') ?? '';\n addItem();\n }}\n />\n\n <datalist id=\"list\">\n ${this.options.map(({ label, value }) => {\n if (this._value.some(item => item.value === value)) return;\n return html`<option value=${value}>${label ?? value}</option>`;\n })}\n </datalist>\n\n <div class=\"transition-opacity ${this.__newItem ? 'opacity-100' : 'opacity-0'}\">\n <button\n aria-label=${this.t('submit')}\n class=${classMap({\n 'w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50 focus-outline-none':\n true,\n 'flex items-center justify-center rounded-full transition-colors': true,\n 'bg-contrast-5 text-disabled cursor-default': isAddButtonDisabled,\n 'bg-success-10 text-success cursor-pointer': !isAddButtonDisabled,\n 'hover-bg-success hover-text-success-contrast': !isAddButtonDisabled,\n 'focus-ring-2': !isAddButtonDisabled,\n })}\n ?disabled=${isAddButtonDisabled}\n @click=${addItem}\n >\n <iron-icon icon=\"lumo:plus\" class=\"icon-inline text-l\"></iron-icon>\n </button>\n </div>\n </div>\n </div>\n\n <div\n class=${classMap({\n 'transition-colors mt-xs text-xs': true,\n 'text-secondary group-hover-text-body': !this.disabled && !this.readonly,\n 'text-disabled': this.disabled,\n })}\n >\n ${this.helperText}\n </div>\n </div>\n `;\n }\n\n protected get _value(): Item[] {\n return (super._value ?? []) as Item[];\n }\n\n protected set _value(newValue: Item[]) {\n super._value = newValue;\n }\n}\n"]}
@@ -13,6 +13,4 @@ export declare class InternalIntegerControl extends InternalEditableControl {
13
13
  min: number | null;
14
14
  max: number | null;
15
15
  renderControl(): TemplateResult;
16
- protected get _value(): number;
17
- protected set _value(newValue: number);
18
16
  }
@@ -38,7 +38,7 @@ export class InternalIntegerControl extends InternalEditableControl {
38
38
  ?disabled=${this.disabled}
39
39
  ?readonly=${this.readonly}
40
40
  .checkValidity=${this._checkValidity}
41
- .value=${String(this._value)}
41
+ .value=${this._value}
42
42
  clear-button-visible
43
43
  @keydown=${(evt) => { var _a; return evt.key === 'Enter' && ((_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.submit()); }}
44
44
  @change=${(evt) => {
@@ -51,12 +51,5 @@ export class InternalIntegerControl extends InternalEditableControl {
51
51
  </vaadin-integer-field>
52
52
  `;
53
53
  }
54
- get _value() {
55
- var _a;
56
- return (_a = super._value) !== null && _a !== void 0 ? _a : 0;
57
- }
58
- set _value(newValue) {
59
- super._value = newValue;
60
- }
61
54
  }
62
55
  //# sourceMappingURL=InternalIntegerControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InternalIntegerControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalIntegerControl/InternalIntegerControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB;IAAnE;;QAWE,WAAM,GAAkB,IAAI,CAAC;QAE7B,WAAM,GAAkB,IAAI,CAAC;QAE7B,QAAG,GAAkB,IAAI,CAAC;QAE1B,QAAG,GAAkB,IAAI,CAAC;IAoC5B,CAAC;IApDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACtB,CAAC;IACJ,CAAC;IAUD,aAAa;;QACX,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;cAEZ,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;cAChC,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;oBAC1B,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;yBACR,IAAI,CAAC,cAAc;iBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;mBAEjB,CAAC,GAAkB,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,GAAG,KAAK,OAAO,WAAI,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAE,CAAA,EAAA;kBACtE,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAoC,CAAC;YACvD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;;UAEC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;UAChE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,+CAA+C,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;IAED,IAAc,MAAM;;QAClB,aAAQ,KAAK,CAAC,MAA6B,mCAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAc,MAAM,CAAC,QAAgB;QACnC,KAAK,CAAC,MAAM,GAAG,QAA+B,CAAC;IACjD,CAAC;CACF","sourcesContent":["import type { IntegerFieldElement } from '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport type { PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\n/**\n * Internal control displaying a basic integer box.\n *\n * @since 1.17.0\n * @element foxy-internal-integer-control\n */\nexport class InternalIntegerControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n prefix: {},\n suffix: {},\n min: { type: Number },\n max: { type: Number },\n };\n }\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n min: number | null = null;\n\n max: number | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-integer-field\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n min=${ifDefined(this.min ?? undefined)}\n max=${ifDefined(this.max ?? undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${String(this._value)}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as IntegerFieldElement;\n this._value = parseInt(field.value);\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-integer-field>\n `;\n }\n\n protected get _value(): number {\n return (super._value as number | undefined) ?? 0;\n }\n\n protected set _value(newValue: number) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalIntegerControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalIntegerControl/InternalIntegerControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,uBAAuB;IAAnE;;QAWE,WAAM,GAAkB,IAAI,CAAC;QAE7B,WAAM,GAAkB,IAAI,CAAC;QAE7B,QAAG,GAAkB,IAAI,CAAC;QAE1B,QAAG,GAAkB,IAAI,CAAC;IA4B5B,CAAC;IA5CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACtB,CAAC;IACJ,CAAC;IAUD,aAAa;;QACX,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;cAEZ,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;cAChC,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;oBAC1B,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;yBACR,IAAI,CAAC,cAAc;iBAC3B,IAAI,CAAC,MAAM;;mBAET,CAAC,GAAkB,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,GAAG,KAAK,OAAO,WAAI,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAE,CAAA,EAAA;kBACtE,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAoC,CAAC;YACvD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;;UAEC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;UAChE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,+CAA+C,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { IntegerFieldElement } from '@vaadin/vaadin-text-field/vaadin-integer-field';\nimport type { PropertyDeclarations, TemplateResult } from 'lit-element';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\n/**\n * Internal control displaying a basic integer box.\n *\n * @since 1.17.0\n * @element foxy-internal-integer-control\n */\nexport class InternalIntegerControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n prefix: {},\n suffix: {},\n min: { type: Number },\n max: { type: Number },\n };\n }\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n min: number | null = null;\n\n max: number | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-integer-field\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n min=${ifDefined(this.min ?? undefined)}\n max=${ifDefined(this.max ?? undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${this._value}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as IntegerFieldElement;\n this._value = parseInt(field.value);\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-integer-field>\n `;\n }\n}\n"]}
@@ -13,6 +13,4 @@ export declare class InternalNumberControl extends InternalEditableControl {
13
13
  min: number | null;
14
14
  max: number | null;
15
15
  renderControl(): TemplateResult;
16
- protected get _value(): number;
17
- protected set _value(newValue: number);
18
16
  }
@@ -38,7 +38,7 @@ export class InternalNumberControl extends InternalEditableControl {
38
38
  ?disabled=${this.disabled}
39
39
  ?readonly=${this.readonly}
40
40
  .checkValidity=${this._checkValidity}
41
- .value=${String(this._value)}
41
+ .value=${this._value}
42
42
  clear-button-visible
43
43
  @keydown=${(evt) => { var _a; return evt.key === 'Enter' && ((_a = this.nucleon) === null || _a === void 0 ? void 0 : _a.submit()); }}
44
44
  @change=${(evt) => {
@@ -51,12 +51,5 @@ export class InternalNumberControl extends InternalEditableControl {
51
51
  </vaadin-number-field>
52
52
  `;
53
53
  }
54
- get _value() {
55
- var _a;
56
- return (_a = super._value) !== null && _a !== void 0 ? _a : 0;
57
- }
58
- set _value(newValue) {
59
- super._value = newValue;
60
- }
61
54
  }
62
55
  //# sourceMappingURL=InternalNumberControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InternalNumberControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalNumberControl/InternalNumberControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,uBAAuB;IAAlE;;QAWE,WAAM,GAAkB,IAAI,CAAC;QAE7B,WAAM,GAAkB,IAAI,CAAC;QAE7B,QAAG,GAAkB,IAAI,CAAC;QAE1B,QAAG,GAAkB,IAAI,CAAC;IAoC5B,CAAC;IApDC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACtB,CAAC;IACJ,CAAC;IAUD,aAAa;;QACX,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;cAEZ,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;cAChC,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;oBAC1B,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;yBACR,IAAI,CAAC,cAAc;iBAC3B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;mBAEjB,CAAC,GAAkB,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,GAAG,KAAK,OAAO,WAAI,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAE,CAAA,EAAA;kBACtE,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAmC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;;UAEC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;UAChE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,+CAA+C,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;IAED,IAAc,MAAM;;QAClB,aAAQ,KAAK,CAAC,MAA6B,mCAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAc,MAAM,CAAC,QAAgB;QACnC,KAAK,CAAC,MAAM,GAAG,QAA+B,CAAC;IACjD,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NumberFieldElement } from '@vaadin/vaadin-text-field/vaadin-number-field';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\n/**\n * Internal control displaying a basic number box.\n *\n * @since 1.17.0\n * @element foxy-internal-number-control\n */\nexport class InternalNumberControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n prefix: {},\n suffix: {},\n min: { type: Number },\n max: { type: Number },\n };\n }\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n min: number | null = null;\n\n max: number | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-number-field\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n min=${ifDefined(this.min ?? undefined)}\n max=${ifDefined(this.max ?? undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${String(this._value)}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as NumberFieldElement;\n this._value = parseFloat(field.value);\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-number-field>\n `;\n }\n\n protected get _value(): number {\n return (super._value as number | undefined) ?? 0;\n }\n\n protected set _value(newValue: number) {\n super._value = newValue as unknown | undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalNumberControl.js","sourceRoot":"","sources":["../../../../src/elements/internal/InternalNumberControl/InternalNumberControl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,8DAA2D;AAC7F,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,uBAAuB;IAAlE;;QAWE,WAAM,GAAkB,IAAI,CAAC;QAE7B,WAAM,GAAkB,IAAI,CAAC;QAE7B,QAAG,GAAkB,IAAI,CAAC;QAE1B,QAAG,GAAkB,IAAI,CAAC;IA4B5B,CAAC;IA5CC,MAAM,KAAK,UAAU;QACnB,OAAO;YACL,GAAG,KAAK,CAAC,UAAU;YACnB,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACrB,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACtB,CAAC;IACJ,CAAC;IAUD,aAAa;;QACX,OAAO,IAAI,CAAA;;wBAES,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;sBAC/B,IAAI,CAAC,WAAW;sBAChB,IAAI,CAAC,UAAU;gBACrB,IAAI,CAAC,KAAK;;cAEZ,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;cAChC,SAAS,OAAC,IAAI,CAAC,GAAG,mCAAI,SAAS,CAAC;oBAC1B,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;yBACR,IAAI,CAAC,cAAc;iBAC3B,IAAI,CAAC,MAAM;;mBAET,CAAC,GAAkB,EAAE,EAAE,WAAC,OAAA,GAAG,CAAC,GAAG,KAAK,OAAO,WAAI,IAAI,CAAC,OAAO,0CAAE,MAAM,GAAE,CAAA,EAAA;kBACtE,CAAC,GAAgB,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAmC,CAAC;YACtD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;;UAEC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;UAChE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,+CAA+C,IAAI,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,EAAE;;KAE9F,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { PropertyDeclarations, TemplateResult } from 'lit-element';\nimport type { NumberFieldElement } from '@vaadin/vaadin-text-field/vaadin-number-field';\n\nimport { InternalEditableControl } from '../InternalEditableControl/InternalEditableControl';\nimport { ifDefined } from 'lit-html/directives/if-defined';\nimport { html } from 'lit-element';\n\n/**\n * Internal control displaying a basic number box.\n *\n * @since 1.17.0\n * @element foxy-internal-number-control\n */\nexport class InternalNumberControl extends InternalEditableControl {\n static get properties(): PropertyDeclarations {\n return {\n ...super.properties,\n prefix: {},\n suffix: {},\n min: { type: Number },\n max: { type: Number },\n };\n }\n\n prefix: string | null = null;\n\n suffix: string | null = null;\n\n min: number | null = null;\n\n max: number | null = null;\n\n renderControl(): TemplateResult {\n return html`\n <vaadin-number-field\n error-message=${ifDefined(this._errorMessage)}\n placeholder=${this.placeholder}\n helper-text=${this.helperText}\n label=${this.label}\n class=\"w-full\"\n min=${ifDefined(this.min ?? undefined)}\n max=${ifDefined(this.max ?? undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n .checkValidity=${this._checkValidity}\n .value=${this._value}\n clear-button-visible\n @keydown=${(evt: KeyboardEvent) => evt.key === 'Enter' && this.nucleon?.submit()}\n @change=${(evt: CustomEvent) => {\n const field = evt.currentTarget as NumberFieldElement;\n this._value = parseFloat(field.value);\n }}\n >\n ${this.prefix ? html`<div slot=\"prefix\">${this.prefix}</div>` : ''}\n ${this.suffix ? html`<div class=\"pr-s font-medium\" slot=\"suffix\">${this.suffix}</div>` : ''}\n </vaadin-number-field>\n `;\n }\n}\n"]}