@vonage/vivid 4.12.0 → 4.13.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.
Files changed (124) hide show
  1. package/custom-elements.json +2339 -288
  2. package/lib/accordion/accordion.d.ts +21 -2
  3. package/lib/accordion-item/accordion-item.d.ts +6 -2
  4. package/lib/calendar/calendar.d.ts +1 -1
  5. package/lib/date-picker/date-picker.d.ts +1 -0
  6. package/lib/file-picker/file-picker.d.ts +6 -0
  7. package/lib/menu/menu.d.ts +16 -3
  8. package/lib/menu-item/menu-item.d.ts +10 -2
  9. package/lib/option/option.d.ts +27 -7
  10. package/lib/radio/radio.d.ts +12 -2
  11. package/lib/radio/radio.form-associated.d.ts +10 -0
  12. package/lib/radio-group/radio-group.d.ts +20 -2
  13. package/lib/switch/switch.d.ts +5 -2
  14. package/lib/switch/switch.form-associated.d.ts +10 -0
  15. package/lib/tab/tab.d.ts +3 -2
  16. package/lib/tab-panel/tab-panel.d.ts +2 -2
  17. package/lib/tabs/tabs.d.ts +33 -11
  18. package/lib/text-area/text-area.d.ts +25 -3
  19. package/lib/text-area/text-field.form-associated.d.ts +10 -0
  20. package/lib/text-field/text-field.d.ts +28 -3
  21. package/lib/text-field/text-field.form-associated.d.ts +10 -0
  22. package/package.json +1 -1
  23. package/shared/date-picker/date-picker-base.d.ts +1 -0
  24. package/shared/definition.cjs +29 -72
  25. package/shared/definition.js +30 -73
  26. package/shared/definition11.cjs +1 -1
  27. package/shared/definition11.js +1 -1
  28. package/shared/definition16.cjs +1 -2
  29. package/shared/definition16.js +1 -2
  30. package/shared/definition17.cjs +3 -3
  31. package/shared/definition17.js +3 -3
  32. package/shared/definition18.cjs +6 -1
  33. package/shared/definition18.js +6 -1
  34. package/shared/definition19.cjs +17 -8
  35. package/shared/definition19.js +17 -8
  36. package/shared/definition2.cjs +154 -187
  37. package/shared/definition2.js +157 -190
  38. package/shared/definition20.cjs +3 -2
  39. package/shared/definition20.js +3 -2
  40. package/shared/definition21.cjs +1 -1
  41. package/shared/definition21.js +1 -1
  42. package/shared/definition24.cjs +1 -1
  43. package/shared/definition24.js +1 -1
  44. package/shared/definition25.cjs +24 -3
  45. package/shared/definition25.js +24 -3
  46. package/shared/definition29.cjs +358 -559
  47. package/shared/definition29.js +359 -560
  48. package/shared/definition30.cjs +2 -0
  49. package/shared/definition30.js +2 -0
  50. package/shared/definition35.cjs +223 -3
  51. package/shared/definition35.js +223 -3
  52. package/shared/definition36.cjs +149 -14
  53. package/shared/definition36.js +150 -15
  54. package/shared/definition40.cjs +226 -399
  55. package/shared/definition40.js +229 -402
  56. package/shared/definition42.cjs +3 -2
  57. package/shared/definition42.js +3 -2
  58. package/shared/definition43.cjs +1 -0
  59. package/shared/definition43.js +1 -0
  60. package/shared/definition44.cjs +1 -1
  61. package/shared/definition44.js +1 -1
  62. package/shared/definition46.cjs +1 -1
  63. package/shared/definition46.js +1 -1
  64. package/shared/definition47.cjs +8 -16
  65. package/shared/definition47.js +4 -12
  66. package/shared/definition49.cjs +64 -89
  67. package/shared/definition49.js +66 -91
  68. package/shared/definition5.cjs +1 -1
  69. package/shared/definition5.js +1 -1
  70. package/shared/definition50.cjs +1 -11
  71. package/shared/definition50.js +1 -11
  72. package/shared/definition51.cjs +5 -15
  73. package/shared/definition51.js +6 -16
  74. package/shared/definition52.cjs +284 -20
  75. package/shared/definition52.js +288 -24
  76. package/shared/definition55.cjs +160 -180
  77. package/shared/definition55.js +160 -180
  78. package/shared/definition56.cjs +3 -307
  79. package/shared/definition56.js +5 -309
  80. package/shared/definition57.cjs +34 -11
  81. package/shared/definition57.js +30 -7
  82. package/shared/definition61.cjs +1 -1
  83. package/shared/definition61.js +1 -1
  84. package/shared/definition62.cjs +17 -8
  85. package/shared/definition62.js +17 -8
  86. package/shared/definition64.cjs +18 -7
  87. package/shared/definition64.js +19 -8
  88. package/shared/form-associated.cjs +1 -1
  89. package/shared/form-associated.js +1 -1
  90. package/shared/icon.cjs +1 -1
  91. package/shared/icon.js +1 -1
  92. package/shared/index.cjs +1 -0
  93. package/shared/index.js +1 -1
  94. package/shared/key-codes.cjs +1 -94
  95. package/shared/key-codes.js +2 -89
  96. package/shared/key-codes2.cjs +87 -1
  97. package/shared/key-codes2.js +83 -2
  98. package/shared/listbox.cjs +204 -10
  99. package/shared/listbox.js +200 -6
  100. package/shared/{direction.cjs → localization.cjs} +12 -3
  101. package/shared/{direction.js → localization.js} +12 -3
  102. package/shared/numbers.cjs +0 -12
  103. package/shared/numbers.js +1 -12
  104. package/shared/presentationDate.cjs +22 -8
  105. package/shared/presentationDate.js +16 -2
  106. package/shared/radio.cjs +92 -117
  107. package/shared/radio.js +93 -118
  108. package/shared/slider.template.cjs +2 -15
  109. package/shared/slider.template.js +2 -14
  110. package/shared/strings.cjs +26 -0
  111. package/shared/strings.js +25 -1
  112. package/shared/text-field2.cjs +538 -194
  113. package/shared/text-field2.js +539 -195
  114. package/styles/core/all.css +21 -1
  115. package/styles/core/theme.css +21 -1
  116. package/styles/core/typography.css +1 -1
  117. package/styles/tokens/theme-dark.css +4 -4
  118. package/styles/tokens/theme-light.css +4 -4
  119. package/styles/tokens/vivid-2-compat.css +1 -1
  120. package/vivid.api.json +44 -0
  121. package/shared/Reflector.cjs +0 -71
  122. package/shared/Reflector.js +0 -69
  123. package/shared/listbox-option.cjs +0 -204
  124. package/shared/listbox-option.js +0 -201
@@ -1,194 +1,24 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, n as nullableNumberConverter, o as observable, h as html, r as registerFactory } from './index.js';
1
+ import { F as FoundationElement, a as attr, n as nullableNumberConverter, o as observable, h as html, r as registerFactory } from './index.js';
2
2
  import { a as iconRegistries } from './definition27.js';
3
- import { R as Reflector } from './Reflector.js';
3
+ import { R as Reflector, D as DelegatesARIATextbox } from './text-field2.js';
4
4
  import { a as applyMixinsWithObservables } from './applyMixinsWithObservables.js';
5
- import { D as DelegatesARIATextbox } from './text-field2.js';
6
- import { a as applyMixins } from './apply-mixins.js';
7
5
  import { F as FormAssociated } from './form-associated.js';
8
6
  import { e as errorText, f as formElements, F as FormElementSuccessText, a as FormElementHelperText, b as FormElementCharCount, g as getFeedbackTemplate } from './form-elements.js';
9
7
  import { w as when } from './when.js';
10
8
  import { r as ref } from './ref.js';
11
9
  import { c as classNames } from './class-names.js';
12
10
 
11
+ const styles = ":host{display:inline-block}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.base:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.base:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.base:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.base.connotation-success{--_connotation-color-primary: var(--vvd-text-area-success-primary, var(--vvd-color-success-500));--_connotation-color-primary-text: var(--vvd-text-area-success-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-text-area-success-primary-increment, var(--vvd-color-success-600));--_connotation-color-intermediate: var(--vvd-text-area-success-intermediate, var(--vvd-color-success-500));--_connotation-color-firm: var(--vvd-text-area-success-firm, var(--vvd-color-success-600));--_connotation-color-fierce: var(--vvd-text-area-success-fierce, var(--vvd-color-success-700));--_connotation-color-faint: var(--vvd-text-area-success-faint, var(--vvd-color-success-50));--_connotation-color-soft: var(--vvd-text-area-success-soft, var(--vvd-color-success-100))}.base.connotation-alert{--_connotation-color-primary: var(--vvd-text-area-alert-primary, var(--vvd-color-alert-500));--_connotation-color-primary-text: var(--vvd-text-area-alert-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-text-area-alert-primary-increment, var(--vvd-color-alert-600));--_connotation-color-intermediate: var(--vvd-text-area-alert-intermediate, var(--vvd-color-alert-500));--_connotation-color-firm: var(--vvd-text-area-alert-firm, var(--vvd-color-alert-600));--_connotation-color-fierce: var(--vvd-text-area-alert-fierce, var(--vvd-color-alert-700));--_connotation-color-faint: var(--vvd-text-area-alert-faint, var(--vvd-color-alert-50));--_connotation-color-soft: var(--vvd-text-area-alert-soft, var(--vvd-color-alert-100))}.base:not(.connotation-success,.connotation-alert){--_connotation-color-primary: var(--vvd-text-area-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-text-area-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-text-area-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-text-area-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-text-area-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-text-area-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-faint: var(--vvd-text-area-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-text-area-accent-soft, var(--vvd-color-neutral-100))}.base{display:inline-grid;grid-template-columns:1fr max-content;inline-size:100%;row-gap:4px}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){--_low-ink-color: var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color: var(--_appearance-color-text);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);contain:inline-size;font:var(--vvd-typography-base);grid-column:1/2;grid-row:1;line-height:20px}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base);grid-column:2/-1}.control{--scrollbar-track-color: transparent;--scrollbar-thumb-color: color-mix(in srgb, var(--vvd-color-neutral-950), transparent 70%)}.control{scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);scrollbar-width:thin}.control ::-webkit-scrollbar{width:4px}.control ::-webkit-scrollbar-track{background:var(--scrollbar-track-color)}.control ::-webkit-scrollbar-thumb{border:0;border-radius:4px;background-color:var(--scrollbar-thumb-color)}.control{box-sizing:border-box;padding:8px 16px;border:0 none;border-radius:8px;appearance:none;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);grid-column:1/-1;min-block-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));resize:none;transition:box-shadow .2s,background-color .2s,color .2s}@supports selector(::-webkit-resizer){.control::-webkit-resizer{background-image:linear-gradient(315deg,transparent 0,transparent 2px,var(--vvd-color-canvas-text) 2px,var(--vvd-color-canvas-text) 3px,transparent 3px,transparent 5px,var(--vvd-color-canvas-text) 5px,var(--vvd-color-canvas-text) 6px,transparent 6px,transparent 8px,transparent 100%);background-repeat:no-repeat;background-size:10px 10px;block-size:10px;inline-size:10px}}.control:disabled{opacity:1;pointer-events:none;-webkit-text-fill-color:var(--_appearance-color-text)}.control::placeholder,.control:disabled::placeholder{opacity:1;pointer-events:none;-webkit-text-fill-color:var(--_low-ink-color)}.control:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}:host([resize=both]) .control{resize:both}:host([resize=horizontal]) .control{resize:horizontal}:host([resize=vertical]) .control{resize:vertical}";
12
+
13
13
  class _TextArea extends FoundationElement {
14
14
  }
15
- /**
16
- * A form-associated base class for the {@link @microsoft/fast-foundation#(TextArea:class)} component.
17
- *
18
- * @internal
19
- */
20
15
  class FormAssociatedTextArea extends FormAssociated(_TextArea) {
21
- constructor() {
22
- super(...arguments);
23
- this.proxy = document.createElement("textarea");
24
- }
16
+ constructor() {
17
+ super(...arguments);
18
+ this.proxy = document.createElement("textarea");
19
+ }
25
20
  }
26
21
 
27
- /**
28
- * Resize mode for a TextArea
29
- * @public
30
- */
31
- const TextAreaResize = {
32
- /**
33
- * No resize.
34
- */
35
- none: "none",
36
- /**
37
- * Resize vertically and horizontally.
38
- */
39
- both: "both",
40
- /**
41
- * Resize horizontally.
42
- */
43
- horizontal: "horizontal",
44
- /**
45
- * Resize vertically.
46
- */
47
- vertical: "vertical",
48
- };
49
-
50
- /**
51
- * A Text Area Custom HTML Element.
52
- * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea | <textarea> element }.
53
- *
54
- * @slot - The default slot for the label
55
- * @csspart label - The label
56
- * @csspart root - The element wrapping the control
57
- * @csspart control - The textarea element
58
- * @fires change - Emits a custom 'change' event when the textarea emits a change event
59
- *
60
- * @public
61
- */
62
- let TextArea$1 = class TextArea extends FormAssociatedTextArea {
63
- constructor() {
64
- super(...arguments);
65
- /**
66
- * The resize mode of the element.
67
- * @public
68
- * @remarks
69
- * HTML Attribute: resize
70
- */
71
- this.resize = TextAreaResize.none;
72
- /**
73
- * Sizes the element horizontally by a number of character columns.
74
- *
75
- * @public
76
- * @remarks
77
- * HTML Attribute: cols
78
- */
79
- this.cols = 20;
80
- /**
81
- * @internal
82
- */
83
- this.handleTextInput = () => {
84
- this.value = this.control.value;
85
- };
86
- }
87
- readOnlyChanged() {
88
- if (this.proxy instanceof HTMLTextAreaElement) {
89
- this.proxy.readOnly = this.readOnly;
90
- }
91
- }
92
- autofocusChanged() {
93
- if (this.proxy instanceof HTMLTextAreaElement) {
94
- this.proxy.autofocus = this.autofocus;
95
- }
96
- }
97
- listChanged() {
98
- if (this.proxy instanceof HTMLTextAreaElement) {
99
- this.proxy.setAttribute("list", this.list);
100
- }
101
- }
102
- maxlengthChanged() {
103
- if (this.proxy instanceof HTMLTextAreaElement) {
104
- this.proxy.maxLength = this.maxlength;
105
- }
106
- }
107
- minlengthChanged() {
108
- if (this.proxy instanceof HTMLTextAreaElement) {
109
- this.proxy.minLength = this.minlength;
110
- }
111
- }
112
- spellcheckChanged() {
113
- if (this.proxy instanceof HTMLTextAreaElement) {
114
- this.proxy.spellcheck = this.spellcheck;
115
- }
116
- }
117
- /**
118
- * Selects all the text in the text area
119
- *
120
- * @public
121
- */
122
- select() {
123
- this.control.select();
124
- /**
125
- * The select event does not permeate the shadow DOM boundary.
126
- * This fn effectively proxies the select event,
127
- * emitting a `select` event whenever the internal
128
- * control emits a `select` event
129
- */
130
- this.$emit("select");
131
- }
132
- /**
133
- * Change event handler for inner control.
134
- * @remarks
135
- * "Change" events are not `composable` so they will not
136
- * permeate the shadow DOM boundary. This fn effectively proxies
137
- * the change event, emitting a `change` event whenever the internal
138
- * control emits a `change` event
139
- * @internal
140
- */
141
- handleChange() {
142
- this.$emit("change");
143
- }
144
- /** {@inheritDoc (FormAssociated:interface).validate} */
145
- validate() {
146
- super.validate(this.control);
147
- }
148
- };
149
- __decorate([
150
- attr({ mode: "boolean" })
151
- ], TextArea$1.prototype, "readOnly", void 0);
152
- __decorate([
153
- attr
154
- ], TextArea$1.prototype, "resize", void 0);
155
- __decorate([
156
- attr({ mode: "boolean" })
157
- ], TextArea$1.prototype, "autofocus", void 0);
158
- __decorate([
159
- attr({ attribute: "form" })
160
- ], TextArea$1.prototype, "formId", void 0);
161
- __decorate([
162
- attr
163
- ], TextArea$1.prototype, "list", void 0);
164
- __decorate([
165
- attr({ converter: nullableNumberConverter })
166
- ], TextArea$1.prototype, "maxlength", void 0);
167
- __decorate([
168
- attr({ converter: nullableNumberConverter })
169
- ], TextArea$1.prototype, "minlength", void 0);
170
- __decorate([
171
- attr
172
- ], TextArea$1.prototype, "name", void 0);
173
- __decorate([
174
- attr
175
- ], TextArea$1.prototype, "placeholder", void 0);
176
- __decorate([
177
- attr({ converter: nullableNumberConverter, mode: "fromView" })
178
- ], TextArea$1.prototype, "cols", void 0);
179
- __decorate([
180
- attr({ converter: nullableNumberConverter, mode: "fromView" })
181
- ], TextArea$1.prototype, "rows", void 0);
182
- __decorate([
183
- attr({ mode: "boolean" })
184
- ], TextArea$1.prototype, "spellcheck", void 0);
185
- __decorate([
186
- observable
187
- ], TextArea$1.prototype, "defaultSlottedNodes", void 0);
188
- applyMixins(TextArea$1, DelegatesARIATextbox);
189
-
190
- const styles = ":host{display:inline-block}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-intermediate)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--_connotation-color-fierce)}.base:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base:where(.disabled,:disabled).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.readonly):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.base:where(.readonly):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base:where(.error):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.base:where(.error):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base:where(.success):where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.base:where(.success):where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.base.connotation-success{--_connotation-color-primary: var(--vvd-text-area-success-primary, var(--vvd-color-success-500));--_connotation-color-primary-text: var(--vvd-text-area-success-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-text-area-success-primary-increment, var(--vvd-color-success-600));--_connotation-color-intermediate: var(--vvd-text-area-success-intermediate, var(--vvd-color-success-500));--_connotation-color-firm: var(--vvd-text-area-success-firm, var(--vvd-color-success-600));--_connotation-color-fierce: var(--vvd-text-area-success-fierce, var(--vvd-color-success-700));--_connotation-color-faint: var(--vvd-text-area-success-faint, var(--vvd-color-success-50));--_connotation-color-soft: var(--vvd-text-area-success-soft, var(--vvd-color-success-100))}.base.connotation-alert{--_connotation-color-primary: var(--vvd-text-area-alert-primary, var(--vvd-color-alert-500));--_connotation-color-primary-text: var(--vvd-text-area-alert-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-text-area-alert-primary-increment, var(--vvd-color-alert-600));--_connotation-color-intermediate: var(--vvd-text-area-alert-intermediate, var(--vvd-color-alert-500));--_connotation-color-firm: var(--vvd-text-area-alert-firm, var(--vvd-color-alert-600));--_connotation-color-fierce: var(--vvd-text-area-alert-fierce, var(--vvd-color-alert-700));--_connotation-color-faint: var(--vvd-text-area-alert-faint, var(--vvd-color-alert-50));--_connotation-color-soft: var(--vvd-text-area-alert-soft, var(--vvd-color-alert-100))}.base:not(.connotation-success,.connotation-alert){--_connotation-color-primary: var(--vvd-text-area-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-primary-text: var(--vvd-text-area-accent-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-text-area-accent-primary-increment, var(--vvd-color-neutral-800));--_connotation-color-intermediate: var(--vvd-text-area-accent-intermediate, var(--vvd-color-neutral-500));--_connotation-color-firm: var(--vvd-text-area-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-fierce: var(--vvd-text-area-accent-fierce, var(--vvd-color-neutral-700));--_connotation-color-faint: var(--vvd-text-area-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-text-area-accent-soft, var(--vvd-color-neutral-100))}.base{display:inline-grid;grid-template-columns:1fr max-content;inline-size:100%;row-gap:4px}@supports (user-select: none){.base{user-select:none}}.base:not(.disabled){--_low-ink-color: var(--vvd-color-neutral-600)}.base.disabled{--_low-ink-color: var(--_appearance-color-text);cursor:not-allowed}.label{color:var(--vvd-color-canvas-text);contain:inline-size;font:var(--vvd-typography-base);grid-column:1/2;grid-row:1;line-height:20px}.char-count{color:var(--_low-ink-color);font:var(--vvd-typography-base);grid-column:2/-1}.control{box-sizing:border-box;padding:8px 16px;border:0 none;border-radius:8px;appearance:none;background-color:var(--_appearance-color-fill);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);font:var(--vvd-typography-base);grid-column:1/-1;min-block-size:calc(1px*(32 + 4*clamp(-1,var(--vvd-size-density, 0),2)));resize:none;transition:box-shadow .2s,background-color .2s,color .2s}@supports selector(::-webkit-resizer){.control::-webkit-resizer{background-image:linear-gradient(315deg,transparent 0,transparent 2px,var(--vvd-color-canvas-text) 2px,var(--vvd-color-canvas-text) 3px,transparent 3px,transparent 5px,var(--vvd-color-canvas-text) 5px,var(--vvd-color-canvas-text) 6px,transparent 6px,transparent 8px,transparent 100%);background-repeat:no-repeat;background-size:10px 10px;block-size:10px;inline-size:10px}}.control:disabled{opacity:1;pointer-events:none;-webkit-text-fill-color:var(--_appearance-color-text)}.control::placeholder,.control:disabled::placeholder{opacity:1;pointer-events:none;-webkit-text-fill-color:var(--_low-ink-color)}.control:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px))}:host([resize=both]) .control{resize:both}:host([resize=horizontal]) .control{resize:horizontal}:host([resize=vertical]) .control{resize:vertical}";
191
-
192
22
  var __defProp = Object.defineProperty;
193
23
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
194
24
  var __typeError = (msg) => {
@@ -207,11 +37,110 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
207
37
  var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
208
38
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
209
39
  var _reflectToTextArea;
210
- let TextArea = class extends TextArea$1 {
40
+ const TextAreaResize = {
41
+ /**
42
+ * No resize.
43
+ */
44
+ none: "none",
45
+ /**
46
+ * Resize vertically and horizontally.
47
+ */
48
+ both: "both",
49
+ /**
50
+ * Resize horizontally.
51
+ */
52
+ horizontal: "horizontal",
53
+ /**
54
+ * Resize vertically.
55
+ */
56
+ vertical: "vertical"
57
+ };
58
+ let TextArea = class extends FormAssociatedTextArea {
211
59
  constructor() {
212
60
  super(...arguments);
61
+ // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
62
+ this.resize = TextAreaResize.none;
63
+ this.cols = 20;
64
+ /**
65
+ * @internal
66
+ */
67
+ this.handleTextInput = () => {
68
+ this.value = this.control.value;
69
+ };
213
70
  __privateAdd(this, _reflectToTextArea);
214
71
  }
72
+ /**
73
+ * @internal
74
+ */
75
+ readOnlyChanged() {
76
+ if (this.proxy instanceof HTMLTextAreaElement) {
77
+ this.proxy.readOnly = this.readOnly;
78
+ }
79
+ }
80
+ /**
81
+ * @internal
82
+ */
83
+ autofocusChanged() {
84
+ if (this.proxy instanceof HTMLTextAreaElement) {
85
+ this.proxy.autofocus = this.autofocus;
86
+ }
87
+ }
88
+ /**
89
+ * @internal
90
+ */
91
+ listChanged() {
92
+ if (this.proxy instanceof HTMLTextAreaElement) {
93
+ this.proxy.setAttribute("list", this.list);
94
+ }
95
+ }
96
+ /**
97
+ * @internal
98
+ */
99
+ maxlengthChanged() {
100
+ if (this.proxy instanceof HTMLTextAreaElement) {
101
+ this.proxy.maxLength = this.maxlength;
102
+ }
103
+ }
104
+ /**
105
+ * @internal
106
+ */
107
+ minlengthChanged() {
108
+ if (this.proxy instanceof HTMLTextAreaElement) {
109
+ this.proxy.minLength = this.minlength;
110
+ }
111
+ }
112
+ /**
113
+ * @internal
114
+ */
115
+ spellcheckChanged() {
116
+ if (this.proxy instanceof HTMLTextAreaElement) {
117
+ this.proxy.spellcheck = this.spellcheck;
118
+ }
119
+ }
120
+ /**
121
+ * Selects all the text in the text area
122
+ *
123
+ * @public
124
+ */
125
+ select() {
126
+ this.control.select();
127
+ }
128
+ /**
129
+ * Change event handler for inner control.
130
+ * @remarks
131
+ * "Change" events are not `composable` so they will not
132
+ * permeate the shadow DOM boundary. This fn effectively proxies
133
+ * the change event, emitting a `change` event whenever the internal
134
+ * control emits a `change` event
135
+ * @internal
136
+ */
137
+ handleChange() {
138
+ this.$emit("change");
139
+ }
140
+ /** {@inheritDoc (FormAssociated:interface).validate} */
141
+ validate() {
142
+ super.validate(this.control);
143
+ }
215
144
  connectedCallback() {
216
145
  super.connectedCallback();
217
146
  __privateSet(this, _reflectToTextArea, new Reflector(this, this.control));
@@ -223,6 +152,55 @@ let TextArea = class extends TextArea$1 {
223
152
  }
224
153
  };
225
154
  _reflectToTextArea = new WeakMap();
155
+ // @ts-expect-error Type is incorrectly non-optional
156
+ __decorateClass([
157
+ attr({ mode: "boolean" })
158
+ ], TextArea.prototype, "readOnly", 2);
159
+ __decorateClass([
160
+ attr
161
+ ], TextArea.prototype, "resize", 2);
162
+ // @ts-expect-error Type is incorrectly non-optional
163
+ __decorateClass([
164
+ attr({ mode: "boolean" })
165
+ ], TextArea.prototype, "autofocus", 2);
166
+ // @ts-expect-error Type is incorrectly non-optional
167
+ __decorateClass([
168
+ attr({ attribute: "form" })
169
+ ], TextArea.prototype, "formId", 2);
170
+ // @ts-expect-error Type is incorrectly non-optional
171
+ __decorateClass([
172
+ attr
173
+ ], TextArea.prototype, "list", 2);
174
+ // @ts-expect-error Type is incorrectly non-optional
175
+ __decorateClass([
176
+ attr({ converter: nullableNumberConverter })
177
+ ], TextArea.prototype, "maxlength", 2);
178
+ // @ts-expect-error Type is incorrectly non-optional
179
+ __decorateClass([
180
+ attr({ converter: nullableNumberConverter })
181
+ ], TextArea.prototype, "minlength", 2);
182
+ // @ts-expect-error Type is incorrectly non-optional
183
+ __decorateClass([
184
+ attr
185
+ ], TextArea.prototype, "name", 2);
186
+ // @ts-expect-error Type is incorrectly non-optional
187
+ __decorateClass([
188
+ attr
189
+ ], TextArea.prototype, "placeholder", 2);
190
+ __decorateClass([
191
+ attr({ converter: nullableNumberConverter, mode: "fromView" })
192
+ ], TextArea.prototype, "cols", 2);
193
+ // @ts-expect-error Type is incorrectly non-optional
194
+ __decorateClass([
195
+ attr({ converter: nullableNumberConverter, mode: "fromView" })
196
+ ], TextArea.prototype, "rows", 2);
197
+ // @ts-expect-error Type is incorrectly non-optional
198
+ __decorateClass([
199
+ attr({ mode: "boolean" })
200
+ ], TextArea.prototype, "spellcheck", 2);
201
+ __decorateClass([
202
+ observable
203
+ ], TextArea.prototype, "defaultSlottedNodes", 2);
226
204
  __decorateClass([
227
205
  attr
228
206
  ], TextArea.prototype, "wrap", 2);
@@ -234,7 +212,8 @@ applyMixinsWithObservables(
234
212
  TextArea,
235
213
  FormElementCharCount,
236
214
  FormElementHelperText,
237
- FormElementSuccessText
215
+ FormElementSuccessText,
216
+ DelegatesARIATextbox
238
217
  );
239
218
 
240
219
  const getClasses = ({
@@ -276,6 +255,7 @@ const TextAreaTemplate = (context) => {
276
255
  ?autofocus="${(x) => x.autofocus}"
277
256
  placeholder="${(x) => x.placeholder ? x.placeholder : null}"
278
257
  name="${(x) => x.name ? x.name : null}"
258
+ list="${(x) => x.list}"
279
259
  minlength="${(x) => x.minlength ? x.minlength : null}"
280
260
  maxlength="${(x) => x.maxlength ? x.maxlength : null}"
281
261
  rows="${(x) => x.rows ? x.rows : null}"