@justeattakeaway/pie-textarea 0.16.11 → 0.17.0

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.
@@ -90,15 +90,6 @@
90
90
  "description": "",
91
91
  "name": "PieTextarea",
92
92
  "members": [
93
- {
94
- "kind": "field",
95
- "name": "shadowRootOptions",
96
- "type": {
97
- "text": "object"
98
- },
99
- "static": true,
100
- "default": "{ ...LitElement.shadowRootOptions, delegatesFocus: true }"
101
- },
102
93
  {
103
94
  "kind": "field",
104
95
  "name": "value",
@@ -322,6 +313,10 @@
322
313
  {
323
314
  "name": "RtlMixin",
324
315
  "package": "@justeattakeaway/pie-webc-core"
316
+ },
317
+ {
318
+ "name": "DelegatesFocusMixin",
319
+ "package": "@justeattakeaway/pie-webc-core"
325
320
  }
326
321
  ],
327
322
  "superclass": {
package/dist/index.d.ts CHANGED
@@ -24,12 +24,6 @@ export declare const defaultProps: DefaultProps;
24
24
  * @event {CustomEvent} change - when the textarea value is changed.
25
25
  */
26
26
  export declare class PieTextarea extends PieTextarea_base implements TextareaProps, PIEInputElement {
27
- static shadowRootOptions: {
28
- delegatesFocus: boolean;
29
- mode: ShadowRootMode;
30
- serializable?: boolean;
31
- slotAssignment?: SlotAssignmentMode;
32
- };
33
27
  value: string;
34
28
  defaultValue: TextareaProps['defaultValue'];
35
29
  disabled: boolean;
package/dist/index.js CHANGED
@@ -1,76 +1,76 @@
1
- import { LitElement as D, nothing as U, html as R, unsafeCSS as G } from "lit";
2
- import { property as c, query as L } from "lit/decorators.js";
1
+ import { LitElement as N, nothing as U, html as R, unsafeCSS as G } from "lit";
2
+ import { property as c, query as A } from "lit/decorators.js";
3
3
  import { classMap as H } from "lit/directives/class-map.js";
4
4
  import { ifDefined as b } from "lit/directives/if-defined.js";
5
5
  import { live as K } from "lit/directives/live.js";
6
6
  import "@justeattakeaway/pie-assistive-text";
7
- import { FormControlMixin as X, RtlMixin as J, wrapNativeEvent as Q, validPropertyValues as O, safeCustomElement as Y } from "@justeattakeaway/pie-webc-core";
8
- const _ = class _ extends D {
7
+ import { FormControlMixin as X, RtlMixin as J, DelegatesFocusMixin as Q, wrapNativeEvent as Y, validPropertyValues as O, safeCustomElement as Z } from "@justeattakeaway/pie-webc-core";
8
+ const _ = class _ extends N {
9
9
  willUpdate() {
10
10
  this.getAttribute("v") || this.setAttribute("v", _.v);
11
11
  }
12
12
  };
13
- _.v = "0.16.11";
13
+ _.v = "0.17.0";
14
14
  let w = _;
15
15
  var $ = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
16
- function Z(e) {
16
+ function ee(e) {
17
17
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
18
18
  }
19
- var q = "Expected a function", M = NaN, ee = "[object Symbol]", te = /^\s+|\s+$/g, re = /^[-+]0x[0-9a-f]+$/i, ae = /^0b[01]+$/i, ie = /^0o[0-7]+$/i, oe = parseInt, ne = typeof $ == "object" && $ && $.Object === Object && $, se = typeof self == "object" && self && self.Object === Object && self, le = ne || se || Function("return this")(), de = Object.prototype, ce = de.toString, ue = Math.max, pe = Math.min, W = function() {
20
- return le.Date.now();
19
+ var L = "Expected a function", M = NaN, te = "[object Symbol]", re = /^\s+|\s+$/g, ae = /^[-+]0x[0-9a-f]+$/i, ie = /^0b[01]+$/i, oe = /^0o[0-7]+$/i, ne = parseInt, se = typeof $ == "object" && $ && $.Object === Object && $, le = typeof self == "object" && self && self.Object === Object && self, de = se || le || Function("return this")(), ce = Object.prototype, ue = ce.toString, pe = Math.max, he = Math.min, W = function() {
20
+ return de.Date.now();
21
21
  };
22
- function he(e, t, r) {
23
- var n, a, p, l, d, h, x = 0, g = !1, v = !1, m = !0;
22
+ function xe(e, t, r) {
23
+ var n, a, p, l, d, h, f = 0, g = !1, v = !1, m = !0;
24
24
  if (typeof e != "function")
25
- throw new TypeError(q);
26
- t = A(t) || 0, T(r) && (g = !!r.leading, v = "maxWait" in r, p = v ? ue(A(r.maxWait) || 0, t) : p, m = "trailing" in r ? !!r.trailing : m);
25
+ throw new TypeError(L);
26
+ t = D(t) || 0, T(r) && (g = !!r.leading, v = "maxWait" in r, p = v ? pe(D(r.maxWait) || 0, t) : p, m = "trailing" in r ? !!r.trailing : m);
27
27
  function C(i) {
28
- var f = n, y = a;
29
- return n = a = void 0, x = i, l = e.apply(y, f), l;
28
+ var x = n, y = a;
29
+ return n = a = void 0, f = i, l = e.apply(y, x), l;
30
30
  }
31
- function B(i) {
32
- return x = i, d = setTimeout(k, t), g ? C(i) : l;
31
+ function q(i) {
32
+ return f = i, d = setTimeout(k, t), g ? C(i) : l;
33
33
  }
34
- function P(i) {
35
- var f = i - h, y = i - x, F = t - f;
36
- return v ? pe(F, p - y) : F;
34
+ function B(i) {
35
+ var x = i - h, y = i - f, F = t - x;
36
+ return v ? he(F, p - y) : F;
37
37
  }
38
38
  function E(i) {
39
- var f = i - h, y = i - x;
40
- return h === void 0 || f >= t || f < 0 || v && y >= p;
39
+ var x = i - h, y = i - f;
40
+ return h === void 0 || x >= t || x < 0 || v && y >= p;
41
41
  }
42
42
  function k() {
43
43
  var i = W();
44
44
  if (E(i))
45
45
  return I(i);
46
- d = setTimeout(k, P(i));
46
+ d = setTimeout(k, B(i));
47
47
  }
48
48
  function I(i) {
49
49
  return d = void 0, m && n ? C(i) : (n = a = void 0, l);
50
50
  }
51
- function V() {
52
- d !== void 0 && clearTimeout(d), x = 0, n = h = a = d = void 0;
51
+ function P() {
52
+ d !== void 0 && clearTimeout(d), f = 0, n = h = a = d = void 0;
53
53
  }
54
- function N() {
54
+ function V() {
55
55
  return d === void 0 ? l : I(W());
56
56
  }
57
57
  function S() {
58
- var i = W(), f = E(i);
59
- if (n = arguments, a = this, h = i, f) {
58
+ var i = W(), x = E(i);
59
+ if (n = arguments, a = this, h = i, x) {
60
60
  if (d === void 0)
61
- return B(h);
61
+ return q(h);
62
62
  if (v)
63
63
  return d = setTimeout(k, t), C(h);
64
64
  }
65
65
  return d === void 0 && (d = setTimeout(k, t)), l;
66
66
  }
67
- return S.cancel = V, S.flush = N, S;
67
+ return S.cancel = P, S.flush = V, S;
68
68
  }
69
69
  function fe(e, t, r) {
70
70
  var n = !0, a = !0;
71
71
  if (typeof e != "function")
72
- throw new TypeError(q);
73
- return T(r) && (n = "leading" in r ? !!r.leading : n, a = "trailing" in r ? !!r.trailing : a), he(e, t, {
72
+ throw new TypeError(L);
73
+ return T(r) && (n = "leading" in r ? !!r.leading : n, a = "trailing" in r ? !!r.trailing : a), xe(e, t, {
74
74
  leading: n,
75
75
  maxWait: t,
76
76
  trailing: a
@@ -80,16 +80,16 @@ function T(e) {
80
80
  var t = typeof e;
81
81
  return !!e && (t == "object" || t == "function");
82
82
  }
83
- function xe(e) {
83
+ function ve(e) {
84
84
  return !!e && typeof e == "object";
85
85
  }
86
- function ve(e) {
87
- return typeof e == "symbol" || xe(e) && ce.call(e) == ee;
86
+ function ge(e) {
87
+ return typeof e == "symbol" || ve(e) && ue.call(e) == te;
88
88
  }
89
- function A(e) {
89
+ function D(e) {
90
90
  if (typeof e == "number")
91
91
  return e;
92
- if (ve(e))
92
+ if (ge(e))
93
93
  return M;
94
94
  if (T(e)) {
95
95
  var t = typeof e.valueOf == "function" ? e.valueOf() : e;
@@ -97,12 +97,12 @@ function A(e) {
97
97
  }
98
98
  if (typeof e != "string")
99
99
  return e === 0 ? e : +e;
100
- e = e.replace(te, "");
101
- var r = ae.test(e);
102
- return r || ie.test(e) ? oe(e.slice(2), r ? 2 : 8) : re.test(e) ? M : +e;
100
+ e = e.replace(re, "");
101
+ var r = ie.test(e);
102
+ return r || oe.test(e) ? ne(e.slice(2), r ? 2 : 8) : ae.test(e) ? M : +e;
103
103
  }
104
- var ge = fe;
105
- const be = /* @__PURE__ */ Z(ge), me = "*,*:after,*:before{box-sizing:inherit}:host{display:block}.c-textareaWrapper{--textarea-line-height: calc(var(--dt-font-body-l-line-height) * 1px);--textarea-border-thickness: 1px;--textarea-resize: none;--textarea-padding-inline: var(--dt-spacing-c);--textarea-padding-block: var(--dt-spacing-b);--textarea-background-color: var(--dt-color-container-default);--textarea-border-color: var(--dt-color-border-form);--textarea-content-color: var(--dt-color-content-default);--textarea-placeholder-color: var(--dt-color-content-placeholder);--textarea-height: calc((var(--textarea-line-height) * 2) + (var(--textarea-padding-block) * 2));line-height:0;padding:var(--dt-spacing-a);border:var(--textarea-border-thickness) solid var(--textarea-border-color);background-color:var(--textarea-background-color);border-radius:var(--dt-radius-rounded-c);inline-size:100%}.c-textareaWrapper textarea{font-size:calc(var(--dt-font-body-l-size) * 1px);line-height:var(--textarea-line-height);font-family:var(--dt-font-body-l-family);resize:var(--textarea-resize);border:none;background-color:var(--textarea-background-color);color:var(--textarea-content-color);block-size:var(--textarea-height);max-block-size:var(--textarea-max-height);min-block-size:var(--textarea-min-height);inline-size:100%;padding-block-start:var(--textarea-padding-block);padding-block-end:var(--textarea-padding-block);padding-inline-start:var(--textarea-padding-inline);padding-inline-end:var(--textarea-padding-inline)}.c-textareaWrapper textarea:focus{box-shadow:none;outline:none}.c-textareaWrapper textarea::placeholder{color:var(--textarea-placeholder-color);opacity:1}.c-textareaWrapper.c-textarea--readonly{--textarea-background-color: var(--dt-color-container-subtle);--textarea-border-color: var(--dt-color-border-form)}.c-textareaWrapper.is-disabled{--textarea-background-color: var(--dt-color-disabled-01);--textarea-border-color: var(--dt-color-disabled-01);--textarea-content-color: var(--dt-color-content-disabled);--textarea-placeholder-color: var(--dt-color-content-disabled)}@media (hover: hover){.c-textareaWrapper:hover:not(.is-disabled,.c-textarea--readonly){--textarea-background-color: hsl(var(--dt-color-container-default-h), var(--dt-color-container-default-s), calc(var(--dt-color-container-default-l) + calc(-1 * var(--dt-color-hover-01))))}@supports (background-color: color-mix(in srgb,black,white)){.c-textareaWrapper:hover:not(.is-disabled,.c-textarea--readonly){--textarea-background-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-container-default))}}}.c-textareaWrapper:focus-within{box-shadow:0 0 0 2px var(--dt-color-focus-inner),0 0 0 4px var(--dt-color-focus-outer);outline:none}.c-textareaWrapper.c-textarea--large{--textarea-padding-block: var(--dt-spacing-c)}.c-textareaWrapper.c-textarea--small{--textarea-padding-block: var(--dt-spacing-a)}.c-textareaWrapper.c-textarea--resize-manual{--textarea-resize: vertical;--textarea-min-height: calc((var(--textarea-line-height) * 1) + (var(--textarea-padding-block) * 2))}@media (pointer: coarse){.c-textareaWrapper.c-textarea--resize-manual{--textarea-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-min-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-max-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-resize: none}}.c-textareaWrapper.c-textarea--resize-auto{--textarea-max-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-min-height: var(--textarea-height)}.c-textareaWrapper.c-textarea--error{--textarea-border-color: var(--dt-color-support-error)}", ye = ["small", "medium", "large"], ze = ["auto", "manual"], ke = ["default", "success", "error"], u = {
104
+ var be = fe;
105
+ const me = /* @__PURE__ */ ee(be), ye = "*,*:after,*:before{box-sizing:inherit}:host{display:block}.c-textareaWrapper{--textarea-line-height: calc(var(--dt-font-body-l-line-height) * 1px);--textarea-border-thickness: 1px;--textarea-resize: none;--textarea-padding-inline: var(--dt-spacing-c);--textarea-padding-block: var(--dt-spacing-b);--textarea-background-color: var(--dt-color-container-default);--textarea-border-color: var(--dt-color-border-form);--textarea-content-color: var(--dt-color-content-default);--textarea-placeholder-color: var(--dt-color-content-placeholder);--textarea-height: calc((var(--textarea-line-height) * 2) + (var(--textarea-padding-block) * 2));line-height:0;padding:var(--dt-spacing-a);border:var(--textarea-border-thickness) solid var(--textarea-border-color);background-color:var(--textarea-background-color);border-radius:var(--dt-radius-rounded-c);inline-size:100%}.c-textareaWrapper textarea{font-size:calc(var(--dt-font-body-l-size) * 1px);line-height:var(--textarea-line-height);font-family:var(--dt-font-body-l-family);resize:var(--textarea-resize);border:none;background-color:var(--textarea-background-color);color:var(--textarea-content-color);block-size:var(--textarea-height);max-block-size:var(--textarea-max-height);min-block-size:var(--textarea-min-height);inline-size:100%;padding-block-start:var(--textarea-padding-block);padding-block-end:var(--textarea-padding-block);padding-inline-start:var(--textarea-padding-inline);padding-inline-end:var(--textarea-padding-inline)}.c-textareaWrapper textarea:focus{box-shadow:none;outline:none}.c-textareaWrapper textarea::placeholder{color:var(--textarea-placeholder-color);opacity:1}.c-textareaWrapper.c-textarea--readonly{--textarea-background-color: var(--dt-color-container-subtle);--textarea-border-color: var(--dt-color-border-form)}.c-textareaWrapper.is-disabled{--textarea-background-color: var(--dt-color-disabled-01);--textarea-border-color: var(--dt-color-disabled-01);--textarea-content-color: var(--dt-color-content-disabled);--textarea-placeholder-color: var(--dt-color-content-disabled)}@media (hover: hover){.c-textareaWrapper:hover:not(.is-disabled,.c-textarea--readonly){--textarea-background-color: hsl(var(--dt-color-container-default-h), var(--dt-color-container-default-s), calc(var(--dt-color-container-default-l) + calc(-1 * var(--dt-color-hover-01))))}@supports (background-color: color-mix(in srgb,black,white)){.c-textareaWrapper:hover:not(.is-disabled,.c-textarea--readonly){--textarea-background-color: color-mix(in srgb, var(--dt-color-hover-01-bg) var(--dt-color-hover-01), var(--dt-color-container-default))}}}.c-textareaWrapper:focus-within{box-shadow:0 0 0 2px var(--dt-color-focus-inner),0 0 0 4px var(--dt-color-focus-outer);outline:none}.c-textareaWrapper.c-textarea--large{--textarea-padding-block: var(--dt-spacing-c)}.c-textareaWrapper.c-textarea--small{--textarea-padding-block: var(--dt-spacing-a)}.c-textareaWrapper.c-textarea--resize-manual{--textarea-resize: vertical;--textarea-min-height: calc((var(--textarea-line-height) * 1) + (var(--textarea-padding-block) * 2))}@media (pointer: coarse){.c-textareaWrapper.c-textarea--resize-manual{--textarea-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-min-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-max-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-resize: none}}.c-textareaWrapper.c-textarea--resize-auto{--textarea-max-height: calc((var(--textarea-line-height) * 6) + (var(--textarea-padding-block) * 2));--textarea-min-height: var(--textarea-height)}.c-textareaWrapper.c-textarea--error{--textarea-border-color: var(--dt-color-support-error)}", ze = ["small", "medium", "large"], ke = ["auto", "manual"], $e = ["default", "success", "error"], u = {
106
106
  disabled: !1,
107
107
  size: "medium",
108
108
  resize: "auto",
@@ -113,20 +113,20 @@ const be = /* @__PURE__ */ Z(ge), me = "*,*:after,*:before{box-sizing:inherit}:h
113
113
  readonly: !1,
114
114
  required: !1
115
115
  };
116
- var $e = Object.defineProperty, Te = Object.getOwnPropertyDescriptor, s = (e, t, r, n) => {
117
- for (var a = n > 1 ? void 0 : n ? Te(t, r) : t, p = e.length - 1, l; p >= 0; p--)
116
+ var Te = Object.defineProperty, _e = Object.getOwnPropertyDescriptor, s = (e, t, r, n) => {
117
+ for (var a = n > 1 ? void 0 : n ? _e(t, r) : t, p = e.length - 1, l; p >= 0; p--)
118
118
  (l = e[p]) && (a = (n ? l(t, r, a) : l(a)) || a);
119
- return n && a && $e(t, r, a), a;
119
+ return n && a && Te(t, r, a), a;
120
120
  };
121
121
  const z = "pie-textarea", j = "assistive-text";
122
- let o = class extends X(J(w)) {
122
+ let o = class extends X(J(Q(w))) {
123
123
  constructor() {
124
- super(...arguments), this.value = u.value, this.disabled = u.disabled, this.size = u.size, this.resize = u.resize, this.readonly = u.readonly, this.autoFocus = u.autoFocus, this.required = u.required, this.status = u.status, this._throttledResize = be(() => {
124
+ super(...arguments), this.value = u.value, this.disabled = u.disabled, this.size = u.size, this.resize = u.resize, this.readonly = u.readonly, this.autoFocus = u.autoFocus, this.required = u.required, this.status = u.status, this._throttledResize = me(() => {
125
125
  this.resize === "auto" && (this._textarea.style.height = "auto", this._textarea.style.height = `${this._textarea.scrollHeight}px`);
126
126
  }, 100), this.handleInput = (e, t) => {
127
127
  e ? this.value = e.target.value : t && (this.value = t), this._internals.setFormValue(this.value), this.handleResize();
128
128
  }, this.handleChange = (e) => {
129
- const t = Q(e);
129
+ const t = Y(e);
130
130
  this.dispatchEvent(t);
131
131
  }, this.handleKeyDown = (e) => {
132
132
  e.key === "Enter" && e.stopPropagation();
@@ -194,7 +194,7 @@ let o = class extends X(J(w)) {
194
194
  readonly: l,
195
195
  placeholder: d,
196
196
  value: h,
197
- required: x,
197
+ required: f,
198
198
  status: g,
199
199
  assistiveText: v
200
200
  } = this, m = {
@@ -218,7 +218,7 @@ let o = class extends X(J(w)) {
218
218
  .value=${K(h)}
219
219
  ?autofocus=${a}
220
220
  ?readonly=${l}
221
- ?required=${x}
221
+ ?required=${f}
222
222
  ?disabled=${e}
223
223
  aria-describedby=${b(v ? j : void 0)}
224
224
  aria-invalid=${g === "error" ? "true" : "false"}
@@ -231,8 +231,7 @@ let o = class extends X(J(w)) {
231
231
  </div>`;
232
232
  }
233
233
  };
234
- o.shadowRootOptions = { ...D.shadowRootOptions, delegatesFocus: !0 };
235
- o.styles = G(me);
234
+ o.styles = G(ye);
236
235
  s([
237
236
  c({ type: String })
238
237
  ], o.prototype, "value", 2);
@@ -244,11 +243,11 @@ s([
244
243
  ], o.prototype, "disabled", 2);
245
244
  s([
246
245
  c({ type: String }),
247
- O(z, ye, u.size)
246
+ O(z, ze, u.size)
248
247
  ], o.prototype, "size", 2);
249
248
  s([
250
249
  c({ type: String }),
251
- O(z, ze, u.resize)
250
+ O(z, ke, u.resize)
252
251
  ], o.prototype, "resize", 2);
253
252
  s([
254
253
  c({ type: Boolean })
@@ -261,7 +260,7 @@ s([
261
260
  ], o.prototype, "required", 2);
262
261
  s([
263
262
  c({ type: String }),
264
- O(z, ke, u.status)
263
+ O(z, $e, u.status)
265
264
  ], o.prototype, "status", 2);
266
265
  s([
267
266
  c({ type: String })
@@ -276,18 +275,18 @@ s([
276
275
  c({ type: String })
277
276
  ], o.prototype, "placeholder", 2);
278
277
  s([
279
- L("textarea")
278
+ A("textarea")
280
279
  ], o.prototype, "_textarea", 2);
281
280
  s([
282
- L("textarea")
281
+ A("textarea")
283
282
  ], o.prototype, "focusTarget", 2);
284
283
  o = s([
285
- Y("pie-textarea")
284
+ Z("pie-textarea")
286
285
  ], o);
287
286
  export {
288
287
  o as PieTextarea,
289
288
  u as defaultProps,
290
- ze as resizeModes,
291
- ye as sizes,
292
- ke as statusTypes
289
+ ke as resizeModes,
290
+ ze as sizes,
291
+ $e as statusTypes
293
292
  };
package/dist/react.d.ts CHANGED
@@ -27,12 +27,6 @@ export declare const PieTextarea: React_2.ForwardRefExoticComponent<React_2.Prop
27
27
  * @event {CustomEvent} change - when the textarea value is changed.
28
28
  */
29
29
  declare class PieTextarea_2 extends PieTextarea_base implements TextareaProps, PIEInputElement {
30
- static shadowRootOptions: {
31
- delegatesFocus: boolean;
32
- mode: ShadowRootMode;
33
- serializable?: boolean;
34
- slotAssignment?: SlotAssignmentMode;
35
- };
36
30
  value: string;
37
31
  defaultValue: TextareaProps['defaultValue'];
38
32
  disabled: boolean;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@justeattakeaway/pie-textarea",
3
3
  "description": "PIE Design System Textarea built using Web Components",
4
- "version": "0.16.11",
4
+ "version": "0.17.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/justeattakeaway/pie",
@@ -40,14 +40,14 @@
40
40
  "devDependencies": {
41
41
  "@custom-elements-manifest/analyzer": "0.9.0",
42
42
  "@justeattakeaway/pie-components-config": "0.21.0",
43
- "@justeattakeaway/pie-css": "0.19.0",
44
- "@justeattakeaway/pie-monorepo-utils": "0.6.0",
43
+ "@justeattakeaway/pie-css": "0.22.0",
44
+ "@justeattakeaway/pie-monorepo-utils": "0.7.0",
45
45
  "@types/lodash.throttle": "4.1.9",
46
46
  "cem-plugin-module-file-extensions": "0.0.5"
47
47
  },
48
48
  "dependencies": {
49
- "@justeattakeaway/pie-assistive-text": "0.10.10",
50
- "@justeattakeaway/pie-webc-core": "1.0.0",
49
+ "@justeattakeaway/pie-assistive-text": "0.11.0",
50
+ "@justeattakeaway/pie-webc-core": "2.0.0",
51
51
  "lodash.throttle": "4.1.1"
52
52
  },
53
53
  "volta": {
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import {
2
- LitElement, html, unsafeCSS, type PropertyValues, nothing,
2
+ html, unsafeCSS, type PropertyValues, nothing,
3
3
  } from 'lit';
4
4
  import { PieElement } from '@justeattakeaway/pie-webc-core/src/internals/PieElement';
5
5
  import { property, query } from 'lit/decorators.js';
@@ -12,6 +12,7 @@ import '@justeattakeaway/pie-assistive-text';
12
12
  import {
13
13
  validPropertyValues, RtlMixin, FormControlMixin, wrapNativeEvent, type PIEInputElement,
14
14
  safeCustomElement,
15
+ DelegatesFocusMixin,
15
16
  } from '@justeattakeaway/pie-webc-core';
16
17
 
17
18
  import styles from './textarea.scss?inline';
@@ -31,9 +32,7 @@ const assistiveTextIdValue = 'assistive-text';
31
32
  * @event {CustomEvent} change - when the textarea value is changed.
32
33
  */
33
34
  @safeCustomElement('pie-textarea')
34
- export class PieTextarea extends FormControlMixin(RtlMixin(PieElement)) implements TextareaProps, PIEInputElement {
35
- static shadowRootOptions = { ...LitElement.shadowRootOptions, delegatesFocus: true };
36
-
35
+ export class PieTextarea extends FormControlMixin(RtlMixin(DelegatesFocusMixin(PieElement))) implements TextareaProps, PIEInputElement {
37
36
  @property({ type: String })
38
37
  public value = defaultProps.value;
39
38