@foxy.io/elements 1.15.0-beta.2 → 1.15.0-beta.5

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 (170) hide show
  1. package/dist/cdn/foxy-access-recovery-form.js +1 -1
  2. package/dist/cdn/foxy-address-card.js +1 -1
  3. package/dist/cdn/foxy-address-form.js +1 -1
  4. package/dist/cdn/foxy-applied-tax-card.js +1 -1
  5. package/dist/cdn/foxy-attribute-card.js +1 -1
  6. package/dist/cdn/foxy-attribute-form.js +1 -1
  7. package/dist/cdn/foxy-cancellation-form.js +1 -1
  8. package/dist/cdn/foxy-collection-page.js +1 -1
  9. package/dist/cdn/foxy-collection-pages.js +1 -1
  10. package/dist/cdn/foxy-coupon-card.js +1 -1
  11. package/dist/cdn/foxy-coupon-code-form.js +1 -1
  12. package/dist/cdn/foxy-coupon-codes-form.js +1 -1
  13. package/dist/cdn/foxy-coupon-form.js +1 -1
  14. package/dist/cdn/foxy-custom-field-card.js +1 -1
  15. package/dist/cdn/foxy-custom-field-form.js +1 -1
  16. package/dist/cdn/foxy-customer-api.js +1 -1
  17. package/dist/cdn/foxy-customer-card.js +1 -1
  18. package/dist/cdn/foxy-customer-form.js +1 -1
  19. package/dist/cdn/foxy-customer-portal-settings.js +1 -169
  20. package/dist/cdn/foxy-customer-portal.js +1 -1
  21. package/dist/cdn/foxy-customer.js +1 -1
  22. package/dist/cdn/foxy-customers-table.js +1 -1
  23. package/dist/cdn/foxy-discount-card.js +1 -1
  24. package/dist/cdn/foxy-donation.js +1 -1
  25. package/dist/cdn/foxy-email-template-form.js +1 -1
  26. package/dist/cdn/foxy-error-entry-card.js +1 -1
  27. package/dist/cdn/foxy-form-dialog.js +1 -1
  28. package/dist/cdn/foxy-generate-codes-form.js +1 -1
  29. package/dist/cdn/foxy-gift-card-card.js +1 -0
  30. package/dist/cdn/foxy-gift-card-code-form.js +1 -0
  31. package/dist/cdn/foxy-gift-card-codes-form.js +1 -0
  32. package/dist/cdn/foxy-gift-card-form.js +1 -0
  33. package/dist/cdn/foxy-i18n.js +1 -1
  34. package/dist/cdn/foxy-items-form.js +1 -1
  35. package/dist/cdn/foxy-nucleon-element.js +1 -1
  36. package/dist/cdn/foxy-pagination.js +1 -1
  37. package/dist/cdn/foxy-payment-card.js +1 -1
  38. package/dist/cdn/foxy-payment-method-card.js +1 -1
  39. package/dist/cdn/foxy-query-builder.js +1 -1
  40. package/dist/cdn/foxy-sign-in-form.js +1 -1
  41. package/dist/cdn/foxy-spinner.js +1 -1
  42. package/dist/cdn/foxy-subscription-card.js +1 -1
  43. package/dist/cdn/foxy-subscription-form.js +1 -1
  44. package/dist/cdn/foxy-subscriptions-table.js +1 -1
  45. package/dist/cdn/foxy-table.js +1 -1
  46. package/dist/cdn/foxy-tax-card.js +1 -1
  47. package/dist/cdn/foxy-tax-form.js +1 -1
  48. package/dist/cdn/foxy-template-config-form.js +1 -1
  49. package/dist/cdn/foxy-template-form.js +1 -1
  50. package/dist/cdn/foxy-transaction-card.js +1 -1
  51. package/dist/cdn/foxy-transactions-table.js +1 -1
  52. package/dist/cdn/foxy-user-form.js +1 -1
  53. package/dist/cdn/foxy-users-table.js +1 -1
  54. package/dist/cdn/shared-0032dc09.js +302 -0
  55. package/dist/cdn/{shared-9af7b5f0.js → shared-02945b27.js} +1 -1
  56. package/dist/cdn/{shared-c6a4b2d6.js → shared-05488216.js} +1 -1
  57. package/dist/cdn/{shared-b03b6d72.js → shared-07049bfe.js} +1 -1
  58. package/dist/cdn/{shared-ccea5a33.js → shared-08c63028.js} +1 -1
  59. package/dist/cdn/shared-09069d7c.js +1 -0
  60. package/dist/cdn/shared-0e4d19e2.js +1 -0
  61. package/dist/cdn/{shared-d3831f99.js → shared-21419f10.js} +1 -1
  62. package/dist/cdn/{shared-423a4840.js → shared-39e3ae67.js} +1 -1
  63. package/dist/cdn/{shared-51b5e223.js → shared-40b5267a.js} +1 -1
  64. package/dist/cdn/{shared-d9a260f0.js → shared-43abbdd9.js} +1 -1
  65. package/dist/cdn/{shared-fb403e1f.js → shared-448781f9.js} +1 -1
  66. package/dist/cdn/{shared-a8d96c23.js → shared-4cc1da27.js} +1 -1
  67. package/dist/cdn/{shared-8f7a66c4.js → shared-4dc6d228.js} +1 -1
  68. package/dist/cdn/{shared-c1dadefe.js → shared-5535f38f.js} +1 -1
  69. package/dist/cdn/{shared-a11160e7.js → shared-5639389e.js} +1 -1
  70. package/dist/cdn/shared-66633ff7.js +1 -0
  71. package/dist/cdn/{shared-0bda8ecb.js → shared-67ca44d2.js} +1 -1
  72. package/dist/cdn/{shared-30131f76.js → shared-756034e4.js} +1 -1
  73. package/dist/cdn/shared-7f0a9790.js +1 -0
  74. package/dist/cdn/shared-8a5ec3cf.js +1 -0
  75. package/dist/cdn/{shared-b2330475.js → shared-a23cf7c8.js} +1 -1
  76. package/dist/cdn/{shared-ff149b55.js → shared-b30bc42d.js} +1 -1
  77. package/dist/cdn/{shared-a4e6ecb0.js → shared-b9f18aaa.js} +1 -1
  78. package/dist/cdn/{shared-f875a4f8.js → shared-cf6751d3.js} +1 -1
  79. package/dist/cdn/{shared-51e28c83.js → shared-df730f90.js} +1 -1
  80. package/dist/cdn/{shared-4038cb18.js → shared-e209cb55.js} +1 -1
  81. package/dist/cdn/{shared-cd3c902e.js → shared-e68b9c83.js} +1 -1
  82. package/dist/cdn/translations/shared/en.json +178 -0
  83. package/dist/cdn/translations/shared/zh-hk.json +179 -0
  84. package/dist/elements/private/EditableList/EditableList.js +1 -0
  85. package/dist/elements/private/EditableList/EditableList.js.map +1 -1
  86. package/dist/elements/private/FrequencyInput/FrequencyInput.d.ts +2 -1
  87. package/dist/elements/private/FrequencyInput/FrequencyInput.js +3 -1
  88. package/dist/elements/private/FrequencyInput/FrequencyInput.js.map +1 -1
  89. package/dist/elements/public/CollectionPage/CollectionPage.js +3 -1
  90. package/dist/elements/public/CollectionPage/CollectionPage.js.map +1 -1
  91. package/dist/elements/public/CollectionPage/types.d.ts +2 -0
  92. package/dist/elements/public/CollectionPage/types.js.map +1 -1
  93. package/dist/elements/public/CouponCard/CouponCard.js +2 -2
  94. package/dist/elements/public/CouponCard/CouponCard.js.map +1 -1
  95. package/dist/elements/public/CouponCodesForm/CouponCodesForm.d.ts +2 -0
  96. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js +7 -1
  97. package/dist/elements/public/CouponCodesForm/CouponCodesForm.js.map +1 -1
  98. package/dist/elements/public/CouponForm/CouponForm.js +0 -2
  99. package/dist/elements/public/CouponForm/CouponForm.js.map +1 -1
  100. package/dist/elements/public/GiftCardCard/GiftCardCard.d.ts +26 -0
  101. package/dist/elements/public/GiftCardCard/GiftCardCard.js +118 -0
  102. package/dist/elements/public/GiftCardCard/GiftCardCard.js.map +1 -0
  103. package/dist/elements/public/GiftCardCard/index.d.ts +5 -0
  104. package/dist/elements/public/GiftCardCard/index.js +7 -0
  105. package/dist/elements/public/GiftCardCard/index.js.map +1 -0
  106. package/dist/elements/public/GiftCardCard/types.d.ts +11 -0
  107. package/dist/elements/public/GiftCardCard/types.js +2 -0
  108. package/dist/elements/public/GiftCardCard/types.js.map +1 -0
  109. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.d.ts +55 -0
  110. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js +292 -0
  111. package/dist/elements/public/GiftCardCodeForm/GiftCardCodeForm.js.map +1 -0
  112. package/dist/elements/public/GiftCardCodeForm/index.d.ts +10 -0
  113. package/dist/elements/public/GiftCardCodeForm/index.js +12 -0
  114. package/dist/elements/public/GiftCardCodeForm/index.js.map +1 -0
  115. package/dist/elements/public/GiftCardCodeForm/types.d.ts +19 -0
  116. package/dist/elements/public/GiftCardCodeForm/types.js +2 -0
  117. package/dist/elements/public/GiftCardCodeForm/types.js.map +1 -0
  118. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.d.ts +31 -0
  119. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js +215 -0
  120. package/dist/elements/public/GiftCardCodesForm/GiftCardCodesForm.js.map +1 -0
  121. package/dist/elements/public/GiftCardCodesForm/index.d.ts +8 -0
  122. package/dist/elements/public/GiftCardCodesForm/index.js +12 -0
  123. package/dist/elements/public/GiftCardCodesForm/index.js.map +1 -0
  124. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.d.ts +19 -0
  125. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js +48 -0
  126. package/dist/elements/public/GiftCardCodesForm/internal/InternalGiftCardCodesFormListItem.js.map +1 -0
  127. package/dist/elements/public/GiftCardCodesForm/types.d.ts +16 -0
  128. package/dist/elements/public/GiftCardCodesForm/types.js +2 -0
  129. package/dist/elements/public/GiftCardCodesForm/types.js.map +1 -0
  130. package/dist/elements/public/GiftCardForm/GiftCardForm.d.ts +66 -0
  131. package/dist/elements/public/GiftCardForm/GiftCardForm.js +650 -0
  132. package/dist/elements/public/GiftCardForm/GiftCardForm.js.map +1 -0
  133. package/dist/elements/public/GiftCardForm/currencies.d.ts +1 -0
  134. package/dist/elements/public/GiftCardForm/currencies.js +173 -0
  135. package/dist/elements/public/GiftCardForm/currencies.js.map +1 -0
  136. package/dist/elements/public/GiftCardForm/index.d.ts +18 -0
  137. package/dist/elements/public/GiftCardForm/index.js +20 -0
  138. package/dist/elements/public/GiftCardForm/index.js.map +1 -0
  139. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.d.ts +20 -0
  140. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js +99 -0
  141. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPage.js.map +1 -0
  142. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.d.ts +20 -0
  143. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js +52 -0
  144. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItem.js.map +1 -0
  145. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.d.ts +20 -0
  146. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js +53 -0
  147. package/dist/elements/public/GiftCardForm/private/CategoryRestrictionsPageItemContent.js.map +1 -0
  148. package/dist/elements/public/GiftCardForm/types.d.ts +28 -0
  149. package/dist/elements/public/GiftCardForm/types.js +2 -0
  150. package/dist/elements/public/GiftCardForm/types.js.map +1 -0
  151. package/dist/elements/public/NucleonElement/NucleonElement.js +4 -4
  152. package/dist/elements/public/NucleonElement/NucleonElement.js.map +1 -1
  153. package/dist/elements/public/index.d.ts +4 -0
  154. package/dist/elements/public/index.defined.d.ts +4 -0
  155. package/dist/elements/public/index.defined.js +4 -0
  156. package/dist/elements/public/index.defined.js.map +1 -1
  157. package/dist/elements/public/index.js +4 -0
  158. package/dist/elements/public/index.js.map +1 -1
  159. package/dist/mixins/themeable.js +12 -0
  160. package/dist/mixins/themeable.js.map +1 -1
  161. package/dist/utils/parse-duration.d.ts +1 -1
  162. package/dist/utils/parse-duration.js +7 -3
  163. package/dist/utils/parse-duration.js.map +1 -1
  164. package/package.json +2 -2
  165. package/dist/cdn/shared-0fcdd1c4.js +0 -1
  166. package/dist/cdn/shared-4fa5f144.js +0 -1
  167. package/dist/cdn/shared-6b7602c7.js +0 -1
  168. package/dist/cdn/shared-710ed658.js +0 -134
  169. package/dist/cdn/shared-800a5471.js +0 -1
  170. package/dist/cdn/shared-87ca7818.js +0 -1
@@ -1,134 +0,0 @@
1
- import{k as e,P as t,A as a,L as s,j as i,h as n,_ as r}from"./shared-63eaded9.js";import"./shared-46ee137f.js";import{E as o,C as l,T as d}from"./shared-df573cea.js";import"./shared-f0a83bd6.js";import"./shared-36629ded.js";import{a as u}from"./shared-bb824ab4.js";import{h as c,P as h}from"./shared-ff79f3f9.js";import"./shared-ec861f31.js";import"./foxy-i18n.js";import{Q as m,T as p,U as g,V as v,W as y,X as f,Y as x,Z as b,b as _,$ as w,a0 as E,a1 as k,a2 as $,a3 as T,a4 as S,a5 as C,m as V,a6 as A}from"./shared-c1dadefe.js";import{p as M}from"./shared-87ca7818.js";import{c as I}from"./shared-cd3c902e.js";import{s as j}from"./shared-b0f0e8b5.js";import{i as P}from"./shared-30131f76.js";var U={raise:m,send:p,sendParent:g,sendUpdate:v,log:y,cancel:f,start:x,stop:b,assign:_,after:w,done:E,respond:k,forwardTo:$,escalate:T,choose:S,pure:C};const q=c`<dom-module id="lumo-text-area" theme-for="vaadin-text-area">
2
- <template>
3
- <style include="lumo-text-field">
4
- [part="input-field"],
5
- [part="input-field"] ::slotted(textarea) {
6
- /* Equal to the implicit padding in vaadin-text-field */
7
- padding-top: calc((var(--lumo-text-field-size) - 1em * var(--lumo-line-height-s)) / 2);
8
- padding-bottom: calc((var(--lumo-text-field-size) - 1em * var(--lumo-line-height-s)) / 2);
9
- height: auto;
10
- box-sizing: border-box;
11
- transition: background-color 0.1s;
12
- line-height: var(--lumo-line-height-s);
13
- }
14
-
15
- :host(:not([readonly])) [part="input-field"]::after {
16
- display: none;
17
- }
18
-
19
- :host([readonly]) [part="input-field"] {
20
- border: 1px dashed var(--lumo-contrast-30pct);
21
- }
22
-
23
- :host([readonly]) [part="input-field"]::after {
24
- border: none;
25
- }
26
-
27
- :host(:hover:not([readonly]):not([focused]):not([invalid])) [part="input-field"] {
28
- background-color: var(--lumo-contrast-20pct);
29
- }
30
-
31
- @media (pointer: coarse) {
32
- :host(:hover:not([readonly]):not([focused]):not([invalid])) [part="input-field"] {
33
- background-color: var(--lumo-contrast-10pct);
34
- }
35
-
36
- :host(:active:not([readonly]):not([focused])) [part="input-field"] {
37
- background-color: var(--lumo-contrast-20pct);
38
- }
39
- }
40
-
41
- [part="value"],
42
- [part="input-field"] ::slotted(textarea) {
43
- line-height: inherit;
44
- --_lumo-text-field-overflow-mask-image: none;
45
- }
46
-
47
- /* Vertically align icon prefix/suffix with the first line of text */
48
- [part="input-field"] ::slotted(iron-icon) {
49
- margin-top: calc((var(--lumo-icon-size-m) - 1em * var(--lumo-line-height-s)) / -2);
50
- }
51
-
52
- [part="input-field"] [part="value"],
53
- [part="input-field"] ::slotted(textarea) {
54
- white-space: pre-wrap; /* override \`nowrap\` from <vaadin-text-field> */
55
- align-self: stretch; /* override \`baseline\` from <vaadin-text-field> */
56
- }
57
- </style>
58
- </template>
59
- </dom-module>`;document.head.appendChild(q.content);
60
- /**
61
- @license
62
- Copyright (c) 2017 Vaadin Ltd.
63
- This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
64
- */
65
- class L extends(o(u(l(d(h))))){static get template(){return c`
66
- <style include="vaadin-text-field-shared-styles">
67
- .vaadin-text-area-container {
68
- flex: auto;
69
- max-height: inherit; /* MSIE 11 */
70
- min-height: inherit; /* MSIE 11 */
71
- }
72
-
73
- /* The label, helper text and the error message should neither grow nor shrink. */
74
- [part="label"],
75
- [part="helper-text"],
76
- [part="error-message"] {
77
- flex: none;
78
- }
79
-
80
- [part="input-field"] {
81
- overflow: auto;
82
- -webkit-overflow-scrolling: touch;
83
- }
84
-
85
- [part="value"] {
86
- resize: none;
87
- }
88
-
89
- [part="value"],
90
- [part="input-field"] ::slotted(*) {
91
- align-self: flex-start;
92
- }
93
-
94
- @keyframes vaadin-text-area-appear {
95
- to {
96
- opacity: 1;
97
- }
98
- }
99
-
100
- :host {
101
- animation: 1ms vaadin-text-area-appear;
102
- }
103
-
104
- /* Workaround https://bugzilla.mozilla.org/show_bug.cgi?id=1739079 */
105
- :host([disabled]) [part='value'] {
106
- user-select: none;
107
- }
108
- </style>
109
-
110
- <div class="vaadin-text-area-container">
111
-
112
- <label part="label" on-click="focus" id="[[_labelId]]">[[label]]</label>
113
-
114
- <div part="input-field" id="[[_inputId]]">
115
-
116
- <slot name="prefix"></slot>
117
-
118
- <slot name="textarea">
119
- <textarea part="value"></textarea>
120
- </slot>
121
-
122
- <div part="clear-button" id="clearButton" role="button" aria-label\$="[[i18n.clear]]"></div>
123
- <slot name="suffix"></slot>
124
-
125
- </div>
126
-
127
- <div part="helper-text" id="[[_helperTextId]]">
128
- <slot name="helper">[[helperText]]</slot>
129
- </div>
130
-
131
- <div part="error-message" id="[[_errorId]]" aria-live="assertive" aria-hidden\$="[[_getErrorMessageAriaHidden(invalid, errorMessage, _errorId)]]">[[errorMessage]]</div>
132
-
133
- </div>
134
- `}static get is(){return"vaadin-text-area"}static get version(){return"2.9.0"}static get properties(){return{pattern:{type:String}}}static get observers(){return["_textAreaValueChanged(value)"]}ready(){super.ready(),this._updateHeight(),this.addEventListener("animationend",this._onAnimationEnd)}_onAnimationEnd(e){0===e.animationName.indexOf("vaadin-text-area-appear")&&this._updateHeight()}get _slottedTagName(){return"textarea"}_textAreaValueChanged(e){this._updateHeight()}_updateHeight(){const e=this.root.querySelector("[part=input-field]"),t=e.scrollTop,a=this.inputElement,s=this.value?this.value.length:0;if(this._oldValueLength>=s){const t=getComputedStyle(e).height,s=getComputedStyle(a).width;e.style.display="block",e.style.height=t,a.style.maxWidth=s,a.style.height="auto"}this._oldValueLength=s;const i=a.scrollHeight;i>a.clientHeight&&(a.style.height=i+"px"),a.style.removeProperty("max-width"),e.style.removeProperty("display"),e.style.removeProperty("height"),e.scrollTop=t,this._dispatchIronResizeEventIfNeeded("InputHeight",i)}checkValidity(){if(!super.checkValidity())return!1;if(!this.pattern||!this.inputElement.value)return!0;try{const e=this.inputElement.value.match(this.pattern);return!!e&&e[0]===e.input}catch(e){return!0}}}customElements.define(L.is,L);class D extends CustomEvent{constructor(e){super("change",{detail:e})}}class F extends CustomEvent{constructor(e){super("change",{detail:e})}}class z extends F{}const N=e((e=>s=>{const{element:i,name:n,strings:r}=s.committer;if(2!==r.length||""!==r[0]||""!==r[1])throw new Error("live directive bindings must not contain any static values");if(s.committer.parts.length>1)throw new Error("live directive must be the only directive for an attribute or property");if(s instanceof t)i[n]!==e&&s.setValue(e);else{if(!(s instanceof a))throw new Error("live directive can only be used on attributes or properties");i.getAttribute(n)!==e&&s.setValue(e)}}));let B,H,O=e=>e;class Y extends s{constructor(){super(...arguments),this.label="",this.value="",this.disabled=!1,this.readonly=!1,this.errorMessage="",this.__i18n={formatValue:e=>e.join(""),parseValue:e=>{const{count:t,units:a}=M(e);return[t.toString(),a]}},this.__getItems=V((e=>{const t=M(e).count;return[{value:"d",label:this.__t("day",{count:t})},{value:"w",label:this.__t("week",{count:t})},{value:"m",label:this.__t("month",{count:t})},{value:"y",label:this.__t("year",{count:t})}]}))}static get properties(){return{checkValidity:{attribute:!1},errorMessage:{type:String,attribute:"error-message"},disabled:{type:Boolean,reflect:!0},readonly:{type:Boolean,reflect:!0},label:{type:String},value:{type:String},lang:{type:String}}}static get styles(){return i(B||(B=O`:host{display:block}vaadin-custom-field{width:100%;font-size:0;line-height:0}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}`))}connectedCallback(){super.connectedCallback(),this.__untrackTranslations=customElements.get("foxy-i18n").onTranslationChange((()=>{var e,t;null===(t=(e=this.__getItems.cache).clear)||void 0===t||t.call(e),this.requestUpdate()}))}render(){return n(H||(H=O` <vaadin-custom-field data-testid="field" .i18n="${0}" .label="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" .errorMessage="${0}" .checkValidity="${0}" @change="${0}"> <vaadin-integer-field data-testid="value" min="1" max="999" has-controls prevent-invalid-input ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-integer-field> <vaadin-combo-box data-testid="units" item-value-path="value" item-label-path="label" .items="${0}" ?invalid="${0}" ?disabled="${0}" ?readonly="${0}"> </vaadin-combo-box> </vaadin-custom-field> `),this.__i18n,this.label,N(this.value),this.disabled,this.readonly,this.errorMessage,this.checkValidity,this.__handleChange,!this.checkValidity(),this.disabled,this.readonly,this.__getItems(this.value),!this.checkValidity(),this.disabled,this.readonly)}updated(e){super.updated(e);const t=this.renderRoot.firstElementChild;t.value!==this.value&&(t.value=this.value)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this.__untrackTranslations)||void 0===e||e.call(this)}checkValidity(){return!0}get __t(){return customElements.get("foxy-i18n").i18next.getFixedT(this.lang)}__handleChange(e){const t=e.target;this.value=t.value,this.dispatchEvent(new z(this.value))}}const R=A({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:"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:{}}}}}}}}}}}},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:(e,t)=>!t.data,isPayloadTruthy:(e,t)=>!!t.data,isValueArray:e=>Array.isArray(e.value),showsIntegerField:e=>"integer"===e.type,showsFrequency:e=>"frequency"===e.type,showsTextarea:e=>"textarea"===e.type,hasMinConstraint:e=>"number"==typeof e.min,hasMaxConstraint:e=>"number"==typeof e.max,hasCustomValue:e=>"string"==typeof e.customValue,hasCustom:e=>e.custom},actions:{setDefaultCustomValue:U.assign({defaultCustomValue:(e,t)=>t.data}),setValue:U.assign({value:(e,t)=>t.data,customValue:(e,t)=>Array.isArray(t.data)?t.data.find((t=>!e.items.includes(t))):e.items.includes(t.data)?null:t.data}),setCustom:U.assign({custom:(e,t)=>t.data}),setItems:U.assign({items:(e,t)=>t.data}),setType:U.assign({type:(e,t)=>t.data}),setMin:U.assign({min:(e,t)=>t.data}),setMax:U.assign({max:(e,t)=>t.data})}});let W,X,Q,Z,G,J,K,ee,te,ae,se,ie,ne,re=e=>e;const oe=`@foxy.io/elements::other[${(Math.pow(10,10)*Math.random()).toFixed(0)}]`;class le extends I{constructor(){super(...arguments),this.getText=e=>e,this.__service=P(R).onChange((()=>this.requestUpdate())).onTransition((({changed:e})=>e&&this.requestUpdate())).start()}static get scopedElements(){return{"vaadin-integer-field":customElements.get("vaadin-integer-field"),"vaadin-text-field":customElements.get("vaadin-text-field"),"x-frequency-input":Y,"vaadin-text-area":customElements.get("vaadin-text-area"),"iron-icon":customElements.get("iron-icon")}}static get styles(){return[super.styles,i(Q||(Q=re`: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 r(r({},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(e){this.__service.send("SET_DEFAULT_CUSTOM_VALUE",{data:e})}get readonly(){return this.__service.state.matches("mutability.readonly")}set readonly(e){this.__service.send("SET_READONLY",{data:e})}get disabled(){return this.__service.state.matches("interactivity.disabled")}set disabled(e){this.__service.send("SET_DISABLED",{data:e})}get custom(){return this.__service.state.matches("extension.present")}set custom(e){this.__service.send("SET_CUSTOM",{data:e})}get type(){return this.__service.state.context.type}set type(e){this.__service.send("SET_TYPE",{data:e})}get min(){return this.__service.state.context.min}set min(e){this.__service.send("SET_MIN",{data:e})}get max(){return this.__service.state.context.max}set max(e){this.__service.send("SET_MAX",{data:e})}get value(){return this.__service.state.context.value}set value(e){this.__service.send("SET_VALUE",{data:e})}get items(){return this.__service.state.context.items}set items(e){this.__service.send("SET_ITEMS",{data:e})}render(){const e=this.custom?[...this.items,oe]:this.items,t=Array.isArray(this.value),a=this.__service.state.matches("extension.present.selected"),s=n(Z||(Z=re` ${0} `),e.map(((e,s,i)=>{var r;const o=this.custom&&s===i.length-1,l=o?a:t?!!(null===(r=this.value)||void 0===r?void 0:r.includes(e)):e===String(this.value),d=this.disabled||!this._isI18nReady,u=j({value:o?oe:e,name:t?e:"choice","data-testid":`item-${e}`,"?disabled":d,"@change":t=>{if(this.readonly)return t.preventDefault();const a=t.target.checked,s=e===oe?this.defaultCustomValue:e,i=this.value;Array.isArray(i)?this.value=e===oe?a?[...i,s]:i.slice(0,i.length-1):a?[s,...i]:i.filter((e=>e!==s)):this.value=a?s:null,this.dispatchEvent(new D(this.value))}}),c=n(G||(G=re` <div> ${0} </div> `),e===oe?this._t("choice.other").toString():n(J||(J=re`<slot name="${0}">${0}</slot>`),`${e}-label`,this.getText(e)));return n(K||(K=re` <div class="ml-xxl border-t border-contrast-10 ${0}"></div> ${0} <div class="mr-m ml-xxl"> ${0} ${0} </div> `),s?"":"hidden",t?function(e,t,a,s,i){const r="transition ease-in-out duration-200",o=`${r} transform ${a?"scale-100":"scale-0"} ${e?"text-contrast-70":"text-tint"}`;return n(X||(X=re` <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> `),t||e?"":"cursor-pointer","border "+(e?"border-dashed border-contrast-30":"border-transparent"),r,e?"":t?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",o,a,s,t?"text-disabled":e?"text-secondary":"text-body",i)}(this.readonly,d,l,u,c):function(e,t,a,s,i){const r="transition ease-in-out duration-200",o=`${r} ${t||e?"":"shadow-xs"} transform ${a?"scale-100":"scale-0"} ${e?"bg-contrast-70":"bg-tint"}`;return n(W||(W=re` <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> `),t||e?"":"cursor-pointer","border "+(e?"border-dashed border-contrast-30":"border-transparent"),r,e?"":t?a?"bg-primary-50":"bg-contrast-10":a?"bg-primary":"bg-contrast-20 group-hover-bg-contrast-30",o,a,s,t?"text-disabled":e?"text-secondary":"text-body",i)}(this.readonly,d,l,u,c),e===oe&&a?this.__field:"",e!==oe?n(ee||(ee=re`<slot name="${0}"></slot>`),e):"")})));return n(te||(te=re`<form>${0}</form> `),s)}get __field(){const e=j({placeholder:this._t("choice.other").toString(),class:"w-full mb-m",value:this.__service.state.context.customValue,max:this.max,min:this.min,"?disabled":this.disabled,"?readonly":this.readonly,"data-testid":"field","@change":e=>{e.stopPropagation();const t=e.target.value;Array.isArray(this.value)?this.value=this.value.slice(0,this.value.length-1).concat(t):this.value=t,this.dispatchEvent(new D(this.value))}});return"frequency"===this.type?n(ae||(ae=re`<x-frequency-input ...="${0}"></x-frequency-input>`),e):"integer"===this.type?n(se||(se=re`<vaadin-integer-field ...="${0}" has-controls></vaadin-integer-field>`),e):"textarea"===this.type?n(ie||(ie=re`<vaadin-text-area ...="${0}"></vaadin-text-area>`),e):n(ne||(ne=re`<vaadin-text-field ...="${0}"></vaadin-text-field>`),e)}}export{le as C,F as D,D as a,U as b};
@@ -1 +0,0 @@
1
- import"./shared-0ced76a0.js";import"./shared-60126eee.js";import"./shared-46ee137f.js";import"./shared-9221e6b2.js";import"./foxy-spinner.js";import"./foxy-i18n.js";import{L as e,_ as t,h as s}from"./shared-63eaded9.js";import{C as i}from"./shared-51e28c83.js";import{a as n,T as o,S as r}from"./shared-cd3c902e.js";import{c as a}from"./shared-4e709717.js";import{l}from"./shared-07134f93.js";import{r as d}from"./shared-b710881a.js";import{G as c}from"./shared-9af7b5f0.js";import{N as m}from"./shared-423a4840.js";let h,u,p,x=e=>e;class f extends(n(i(o(e)))){constructor(){super(...arguments),this.options=[],this.items=[],this.__newItem=""}static get properties(){return t(t({},super.properties),{},{options:{type:Array},items:{type:Array},__newItem:{attribute:!1}})}render(){const e=a({"w-xs h-xs mr-xs rounded-full transition-colors flex-shrink-0":!0,"focus-outline-none focus-ring-2 ring-inset ring-error-50":!0,"text-tertiary hover-bg-error-10 hover-text-error":!this.disabled,"cursor-default text-disabled":this.disabled,"flex items-center justify-center":!this.readonly,hidden:this.readonly}),t=a({"transition-colors h-l ml-m flex items-center":!0,"text-secondary":this.readonly,"text-disabled":this.disabled}),i=this.disabled||!this.__newItem,n=()=>{this.__newItem&&(this.items.push({value:this.__newItem}),this.requestUpdate("items"),this.dispatchEvent(new CustomEvent("change")),this.__newItem="")};return s(h||(h=x` <slot></slot> <ol class="divide-y divide-contrast-10"> ${0} </ol> <div class="${0}"> <input placeholder="${0}" class="w-full bg-transparent appearance-none h-m focus-outline-none" list="list" .value="${0}" ?disabled="${0}" ?readonly="${0}" @keydown="${0}" @input="${0}"> <datalist id="list"> ${0} </datalist> <div class="transition-opacity ${0}"> <button aria-label="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <iron-icon icon="lumo:plus" class="icon-inline text-l"></iron-icon> </button> </div> </div> `),d(this.items,(e=>e.value),((i,n)=>{var o;return s(u||(u=x` <li class="${0}"> <div class="flex-1 mr-s">${0}</div> <button aria-label="${0}" class="${0}" ?disabled="${0}" @click="${0}"> <iron-icon icon="lumo:cross" class="icon-inline text-xl"></iron-icon> </button> </li> `),t,null!==(o=i.label)&&void 0!==o?o:i.value,this.t("delete"),e,this.disabled,(()=>{this.items.splice(n,1),this.requestUpdate("items"),this.dispatchEvent(new CustomEvent("change"))}))})),a({"ml-m h-l flex items-center":!0,"border-t border-contrast-10":this.items.length>0,flex:!this.readonly,hidden:this.readonly}),this.t("type_here"),l(this.__newItem),this.disabled,this.readonly,(e=>"Enter"===e.key&&n()),(e=>{this.__newItem=e.currentTarget.value.trim()}),this.options.map((({label:e,value:t})=>{if(!this.items.some((e=>e.value===t)))return s(p||(p=x`<option value="${0}">${0}</option>`),t,null!=e?e:t)})),this.__newItem?"opacity-100":"opacity-0",this.t("submit"),a({"w-xs h-xs mr-xs flex-shrink-0 ring-inset ring-success-50 focus-outline-none":!0,"flex items-center justify-center rounded-full transition-colors":!0,"bg-contrast-5 text-disabled cursor-default":i,"bg-success-10 text-success cursor-pointer":!i,"hover-bg-success hover-text-success-contrast":!i,"focus-ring-2":!i}),i,n)}}let y,b,v,g,$=e=>e;const _=i(o(r(n(m,"coupon-codes-form"))));class w extends _{constructor(){super(...arguments),this.templates={}}static get scopedElements(){return{"vaadin-button":customElements.get("vaadin-button"),"iron-icon":customElements.get("iron-icon"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-i18n":customElements.get("foxy-i18n"),"x-editable-list":f,"x-group":c}}render(){var e,t;const{hiddenSelector:i,lang:n,ns:o}=this,r=this.in("busy"),l=this.in("fail"),d=this.in({idle:"snapshot"}),c=this.in({idle:"template"}),m="transition-opacity duration-500",h="opacity-0 pointer-events-none";return s(y||(y=$` <div class="relative"> <div class="${0}"> ${0} ${0} </div> <div class="${0}"> <div class="mx-auto flex mb-m w-l h-l rounded-t-l rounded-b-l bg-success"> <iron-icon icon="icons:done-all" class="m-auto text-success-contrast"></iron-icon> </div> <foxy-i18n class="block" lang="${0}" key="import_codes_done" ns="${0}"></foxy-i18n> </div> <div class="${0}"> <foxy-spinner layout="vertical" class="m-auto p-m bg-base shadow-xs rounded-t-l rounded-b-l" state="${0}" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> `),a({"relative space-y-m":!0,[m]:!0,[h]:d}),i.matches("codes",!0)?"":this.__renderCodes(),i.matches("import",!0)?"":this.__renderImport(),a({"absolute inset-0 flex flex-col items-center justify-center":!0,"text-center text-m text-secondary leading-m":!0,[m]:!0,[h]:!d}),n,o,a({"absolute inset-0 flex":!0,[m]:!0,[h]:!r&&!l}),l?"error":c?"empty":"busy",n,o,null!==(t=null===(e=customElements.get("foxy-spinner"))||void 0===e?void 0:e.defaultNS)&&void 0!==t?t:"")}__renderCodes(){var e;const t=null!==(e=this.form.coupon_codes)&&void 0!==e?e:[],i=t.length>16?t.slice(-16):t,n=t.length>16?t.slice(0,-16):[],o=i.map((e=>{let t;try{const s=new URL(this.parent);s.searchParams.set("code",e),t=s.toString()}catch(e){t=this.parent}return{value:e,label:s(b||(b=$` <foxy-internal-coupon-codes-form-list-item group="${0}" href="${0}" lang="${0}" ns="${0}"> </foxy-internal-coupon-codes-form-list-item> `),this.group,t,this.lang,this.ns)}}));return s(v||(v=$` <div> ${0} <x-group class="mb-xs" frame> <foxy-i18n slot="header" lang="${0}" key="code_plural" ns="${0}"></foxy-i18n> <x-editable-list lang="${0}" ns="${0}" ?disabled="${0}" ?readonly="${0}" .items="${0}" @change="${0}" @paste="${0}"> <div class="ml-m py-s border-b border-contrast-10 font-lumo" ?hidden="${0}"> <foxy-i18n options="${0}" class="block text-body text-m mb-xs" lang="${0}" key="hidden_codes_header" ns="${0}"> </foxy-i18n> <foxy-i18n class="block text-xs text-tertiary" lang="${0}" key="hidden_codes_explainer" ns="${0}"> </foxy-i18n> </div> </x-editable-list> </x-group> <foxy-i18n class="block text-xs text-tertiary leading-s" lang="${0}" key="code_import_hint" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("codes:before"),this.lang,this.ns,this.lang,this.ns,!this.in("idle")||this.disabledSelector.matches("codes",!0),this.readonlySelector.matches("codes",!0),o,(e=>{const t=e.currentTarget,s=new Set([...n,...t.items.map((e=>e.value))]);this.edit({coupon_codes:[...s]})}),(e=>{var s,i;e.preventDefault();const n=(null!==(i=null===(s=e.clipboardData)||void 0===s?void 0:s.getData("text"))&&void 0!==i?i:"").split(" ").map((e=>e.trim())).filter((e=>e.length>0));this.edit({coupon_codes:Array.from(new Set([...t,...n]))})}),0===n.length,JSON.stringify({count:n.length}),this.lang,this.ns,this.lang,this.ns,this.lang,this.ns,this.renderTemplateOrSlot("codes:after"))}__renderImport(){return s(g||(g=$` <div> ${0} <vaadin-button class="w-full mb-xs" theme="primary success" ?disabled="${0}" @click="${0}"> <foxy-i18n ns="${0}" key="import" lang="${0}"></foxy-i18n> </vaadin-button> ${0} </div> `),this.renderTemplateOrSlot("import:before"),!this.in("idle")||this.disabledSelector.matches("import",!0),this.submit,this.ns,this.lang,this.renderTemplateOrSlot("import:after"))}}let j,k,E=e=>e;const S=n(o(m));customElements.define("foxy-coupon-codes-form",w),customElements.define("foxy-internal-coupon-codes-form-list-item",class extends S{render(){var e,t;let i;try{i=null!==(e=new URL(this.href).searchParams.get("code"))&&void 0!==e?e:""}catch(e){return s(j||(j=E``))}let n,o="text-tertiary bg-contrast-5",r="text-body";return this.in("fail")?n="loading_error":this.in("busy")?n="loading_busy":0===(null===(t=this.data)||void 0===t?void 0:t.returned_items)?(o="text-success bg-success-10",n="unique"):(o="text-error bg-error-10",n="duplicate",r="text-error"),s(k||(k=E` <div class="flex justify-between items-center font-lumo leading-m"> <div class="text-m ${0}">${0}</div> <foxy-i18n class="text-xs font-medium px-xs rounded ${0}" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> </div> `),r,i,o,this.lang,n,this.ns)}});export{w as C,f as E};
@@ -1 +0,0 @@
1
- function e(e){return{count:parseInt(e.replace(/(y|m|w|d)/,"")),units:e.replace(/\.?\d+/,"")}}export{e as p};