@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
@@ -2,195 +2,25 @@
2
2
 
3
3
  const index = require('./index.cjs');
4
4
  const definition = require('./definition27.cjs');
5
- const Reflector = require('./Reflector.cjs');
6
- const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
7
5
  const textField = require('./text-field2.cjs');
8
- const applyMixins = require('./apply-mixins.cjs');
6
+ const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
9
7
  const formAssociated = require('./form-associated.cjs');
10
8
  const formElements = require('./form-elements.cjs');
11
9
  const when = require('./when.cjs');
12
10
  const ref = require('./ref.cjs');
13
11
  const classNames = require('./class-names.cjs');
14
12
 
13
+ 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}";
14
+
15
15
  class _TextArea extends index.FoundationElement {
16
16
  }
17
- /**
18
- * A form-associated base class for the {@link @microsoft/fast-foundation#(TextArea:class)} component.
19
- *
20
- * @internal
21
- */
22
17
  class FormAssociatedTextArea extends formAssociated.FormAssociated(_TextArea) {
23
- constructor() {
24
- super(...arguments);
25
- this.proxy = document.createElement("textarea");
26
- }
18
+ constructor() {
19
+ super(...arguments);
20
+ this.proxy = document.createElement("textarea");
21
+ }
27
22
  }
28
23
 
29
- /**
30
- * Resize mode for a TextArea
31
- * @public
32
- */
33
- const TextAreaResize = {
34
- /**
35
- * No resize.
36
- */
37
- none: "none",
38
- /**
39
- * Resize vertically and horizontally.
40
- */
41
- both: "both",
42
- /**
43
- * Resize horizontally.
44
- */
45
- horizontal: "horizontal",
46
- /**
47
- * Resize vertically.
48
- */
49
- vertical: "vertical",
50
- };
51
-
52
- /**
53
- * A Text Area Custom HTML Element.
54
- * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea | <textarea> element }.
55
- *
56
- * @slot - The default slot for the label
57
- * @csspart label - The label
58
- * @csspart root - The element wrapping the control
59
- * @csspart control - The textarea element
60
- * @fires change - Emits a custom 'change' event when the textarea emits a change event
61
- *
62
- * @public
63
- */
64
- let TextArea$1 = class TextArea extends FormAssociatedTextArea {
65
- constructor() {
66
- super(...arguments);
67
- /**
68
- * The resize mode of the element.
69
- * @public
70
- * @remarks
71
- * HTML Attribute: resize
72
- */
73
- this.resize = TextAreaResize.none;
74
- /**
75
- * Sizes the element horizontally by a number of character columns.
76
- *
77
- * @public
78
- * @remarks
79
- * HTML Attribute: cols
80
- */
81
- this.cols = 20;
82
- /**
83
- * @internal
84
- */
85
- this.handleTextInput = () => {
86
- this.value = this.control.value;
87
- };
88
- }
89
- readOnlyChanged() {
90
- if (this.proxy instanceof HTMLTextAreaElement) {
91
- this.proxy.readOnly = this.readOnly;
92
- }
93
- }
94
- autofocusChanged() {
95
- if (this.proxy instanceof HTMLTextAreaElement) {
96
- this.proxy.autofocus = this.autofocus;
97
- }
98
- }
99
- listChanged() {
100
- if (this.proxy instanceof HTMLTextAreaElement) {
101
- this.proxy.setAttribute("list", this.list);
102
- }
103
- }
104
- maxlengthChanged() {
105
- if (this.proxy instanceof HTMLTextAreaElement) {
106
- this.proxy.maxLength = this.maxlength;
107
- }
108
- }
109
- minlengthChanged() {
110
- if (this.proxy instanceof HTMLTextAreaElement) {
111
- this.proxy.minLength = this.minlength;
112
- }
113
- }
114
- spellcheckChanged() {
115
- if (this.proxy instanceof HTMLTextAreaElement) {
116
- this.proxy.spellcheck = this.spellcheck;
117
- }
118
- }
119
- /**
120
- * Selects all the text in the text area
121
- *
122
- * @public
123
- */
124
- select() {
125
- this.control.select();
126
- /**
127
- * The select event does not permeate the shadow DOM boundary.
128
- * This fn effectively proxies the select event,
129
- * emitting a `select` event whenever the internal
130
- * control emits a `select` event
131
- */
132
- this.$emit("select");
133
- }
134
- /**
135
- * Change event handler for inner control.
136
- * @remarks
137
- * "Change" events are not `composable` so they will not
138
- * permeate the shadow DOM boundary. This fn effectively proxies
139
- * the change event, emitting a `change` event whenever the internal
140
- * control emits a `change` event
141
- * @internal
142
- */
143
- handleChange() {
144
- this.$emit("change");
145
- }
146
- /** {@inheritDoc (FormAssociated:interface).validate} */
147
- validate() {
148
- super.validate(this.control);
149
- }
150
- };
151
- index.__decorate([
152
- index.attr({ mode: "boolean" })
153
- ], TextArea$1.prototype, "readOnly", void 0);
154
- index.__decorate([
155
- index.attr
156
- ], TextArea$1.prototype, "resize", void 0);
157
- index.__decorate([
158
- index.attr({ mode: "boolean" })
159
- ], TextArea$1.prototype, "autofocus", void 0);
160
- index.__decorate([
161
- index.attr({ attribute: "form" })
162
- ], TextArea$1.prototype, "formId", void 0);
163
- index.__decorate([
164
- index.attr
165
- ], TextArea$1.prototype, "list", void 0);
166
- index.__decorate([
167
- index.attr({ converter: index.nullableNumberConverter })
168
- ], TextArea$1.prototype, "maxlength", void 0);
169
- index.__decorate([
170
- index.attr({ converter: index.nullableNumberConverter })
171
- ], TextArea$1.prototype, "minlength", void 0);
172
- index.__decorate([
173
- index.attr
174
- ], TextArea$1.prototype, "name", void 0);
175
- index.__decorate([
176
- index.attr
177
- ], TextArea$1.prototype, "placeholder", void 0);
178
- index.__decorate([
179
- index.attr({ converter: index.nullableNumberConverter, mode: "fromView" })
180
- ], TextArea$1.prototype, "cols", void 0);
181
- index.__decorate([
182
- index.attr({ converter: index.nullableNumberConverter, mode: "fromView" })
183
- ], TextArea$1.prototype, "rows", void 0);
184
- index.__decorate([
185
- index.attr({ mode: "boolean" })
186
- ], TextArea$1.prototype, "spellcheck", void 0);
187
- index.__decorate([
188
- index.observable
189
- ], TextArea$1.prototype, "defaultSlottedNodes", void 0);
190
- applyMixins.applyMixins(TextArea$1, textField.DelegatesARIATextbox);
191
-
192
- 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}";
193
-
194
24
  var __defProp = Object.defineProperty;
195
25
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
196
26
  var __typeError = (msg) => {
@@ -209,14 +39,113 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
209
39
  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);
210
40
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
211
41
  var _reflectToTextArea;
212
- let TextArea = class extends TextArea$1 {
42
+ const TextAreaResize = {
43
+ /**
44
+ * No resize.
45
+ */
46
+ none: "none",
47
+ /**
48
+ * Resize vertically and horizontally.
49
+ */
50
+ both: "both",
51
+ /**
52
+ * Resize horizontally.
53
+ */
54
+ horizontal: "horizontal",
55
+ /**
56
+ * Resize vertically.
57
+ */
58
+ vertical: "vertical"
59
+ };
60
+ let TextArea = class extends FormAssociatedTextArea {
213
61
  constructor() {
214
62
  super(...arguments);
63
+ // eslint-disable-next-line @nrwl/nx/workspace/no-attribute-default-value
64
+ this.resize = TextAreaResize.none;
65
+ this.cols = 20;
66
+ /**
67
+ * @internal
68
+ */
69
+ this.handleTextInput = () => {
70
+ this.value = this.control.value;
71
+ };
215
72
  __privateAdd(this, _reflectToTextArea);
216
73
  }
74
+ /**
75
+ * @internal
76
+ */
77
+ readOnlyChanged() {
78
+ if (this.proxy instanceof HTMLTextAreaElement) {
79
+ this.proxy.readOnly = this.readOnly;
80
+ }
81
+ }
82
+ /**
83
+ * @internal
84
+ */
85
+ autofocusChanged() {
86
+ if (this.proxy instanceof HTMLTextAreaElement) {
87
+ this.proxy.autofocus = this.autofocus;
88
+ }
89
+ }
90
+ /**
91
+ * @internal
92
+ */
93
+ listChanged() {
94
+ if (this.proxy instanceof HTMLTextAreaElement) {
95
+ this.proxy.setAttribute("list", this.list);
96
+ }
97
+ }
98
+ /**
99
+ * @internal
100
+ */
101
+ maxlengthChanged() {
102
+ if (this.proxy instanceof HTMLTextAreaElement) {
103
+ this.proxy.maxLength = this.maxlength;
104
+ }
105
+ }
106
+ /**
107
+ * @internal
108
+ */
109
+ minlengthChanged() {
110
+ if (this.proxy instanceof HTMLTextAreaElement) {
111
+ this.proxy.minLength = this.minlength;
112
+ }
113
+ }
114
+ /**
115
+ * @internal
116
+ */
117
+ spellcheckChanged() {
118
+ if (this.proxy instanceof HTMLTextAreaElement) {
119
+ this.proxy.spellcheck = this.spellcheck;
120
+ }
121
+ }
122
+ /**
123
+ * Selects all the text in the text area
124
+ *
125
+ * @public
126
+ */
127
+ select() {
128
+ this.control.select();
129
+ }
130
+ /**
131
+ * Change event handler for inner control.
132
+ * @remarks
133
+ * "Change" events are not `composable` so they will not
134
+ * permeate the shadow DOM boundary. This fn effectively proxies
135
+ * the change event, emitting a `change` event whenever the internal
136
+ * control emits a `change` event
137
+ * @internal
138
+ */
139
+ handleChange() {
140
+ this.$emit("change");
141
+ }
142
+ /** {@inheritDoc (FormAssociated:interface).validate} */
143
+ validate() {
144
+ super.validate(this.control);
145
+ }
217
146
  connectedCallback() {
218
147
  super.connectedCallback();
219
- __privateSet(this, _reflectToTextArea, new Reflector.Reflector(this, this.control));
148
+ __privateSet(this, _reflectToTextArea, new textField.Reflector(this, this.control));
220
149
  __privateGet(this, _reflectToTextArea).property("value", "value", true);
221
150
  }
222
151
  disconnectedCallback() {
@@ -225,6 +154,55 @@ let TextArea = class extends TextArea$1 {
225
154
  }
226
155
  };
227
156
  _reflectToTextArea = new WeakMap();
157
+ // @ts-expect-error Type is incorrectly non-optional
158
+ __decorateClass([
159
+ index.attr({ mode: "boolean" })
160
+ ], TextArea.prototype, "readOnly", 2);
161
+ __decorateClass([
162
+ index.attr
163
+ ], TextArea.prototype, "resize", 2);
164
+ // @ts-expect-error Type is incorrectly non-optional
165
+ __decorateClass([
166
+ index.attr({ mode: "boolean" })
167
+ ], TextArea.prototype, "autofocus", 2);
168
+ // @ts-expect-error Type is incorrectly non-optional
169
+ __decorateClass([
170
+ index.attr({ attribute: "form" })
171
+ ], TextArea.prototype, "formId", 2);
172
+ // @ts-expect-error Type is incorrectly non-optional
173
+ __decorateClass([
174
+ index.attr
175
+ ], TextArea.prototype, "list", 2);
176
+ // @ts-expect-error Type is incorrectly non-optional
177
+ __decorateClass([
178
+ index.attr({ converter: index.nullableNumberConverter })
179
+ ], TextArea.prototype, "maxlength", 2);
180
+ // @ts-expect-error Type is incorrectly non-optional
181
+ __decorateClass([
182
+ index.attr({ converter: index.nullableNumberConverter })
183
+ ], TextArea.prototype, "minlength", 2);
184
+ // @ts-expect-error Type is incorrectly non-optional
185
+ __decorateClass([
186
+ index.attr
187
+ ], TextArea.prototype, "name", 2);
188
+ // @ts-expect-error Type is incorrectly non-optional
189
+ __decorateClass([
190
+ index.attr
191
+ ], TextArea.prototype, "placeholder", 2);
192
+ __decorateClass([
193
+ index.attr({ converter: index.nullableNumberConverter, mode: "fromView" })
194
+ ], TextArea.prototype, "cols", 2);
195
+ // @ts-expect-error Type is incorrectly non-optional
196
+ __decorateClass([
197
+ index.attr({ converter: index.nullableNumberConverter, mode: "fromView" })
198
+ ], TextArea.prototype, "rows", 2);
199
+ // @ts-expect-error Type is incorrectly non-optional
200
+ __decorateClass([
201
+ index.attr({ mode: "boolean" })
202
+ ], TextArea.prototype, "spellcheck", 2);
203
+ __decorateClass([
204
+ index.observable
205
+ ], TextArea.prototype, "defaultSlottedNodes", 2);
228
206
  __decorateClass([
229
207
  index.attr
230
208
  ], TextArea.prototype, "wrap", 2);
@@ -236,7 +214,8 @@ applyMixinsWithObservables.applyMixinsWithObservables(
236
214
  TextArea,
237
215
  formElements.FormElementCharCount,
238
216
  formElements.FormElementHelperText,
239
- formElements.FormElementSuccessText
217
+ formElements.FormElementSuccessText,
218
+ textField.DelegatesARIATextbox
240
219
  );
241
220
 
242
221
  const getClasses = ({
@@ -278,6 +257,7 @@ const TextAreaTemplate = (context) => {
278
257
  ?autofocus="${(x) => x.autofocus}"
279
258
  placeholder="${(x) => x.placeholder ? x.placeholder : null}"
280
259
  name="${(x) => x.name ? x.name : null}"
260
+ list="${(x) => x.list}"
281
261
  minlength="${(x) => x.minlength ? x.minlength : null}"
282
262
  maxlength="${(x) => x.maxlength ? x.maxlength : null}"
283
263
  rows="${(x) => x.rows ? x.rows : null}"