@vonage/vivid 5.16.0 → 5.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.
Files changed (317) hide show
  1. package/accordion/index.cjs +1 -1
  2. package/accordion/index.js +1 -1
  3. package/accordion-item/index.cjs +1 -1
  4. package/accordion-item/index.js +1 -1
  5. package/action-group/index.cjs +3 -3
  6. package/action-group/index.js +5 -5
  7. package/alert/index.cjs +3 -3
  8. package/alert/index.js +17 -17
  9. package/audio-player/index.cjs +16 -16
  10. package/audio-player/index.js +27 -27
  11. package/avatar/index.cjs +2 -2
  12. package/avatar/index.js +6 -6
  13. package/badge/index.cjs +2 -2
  14. package/badge/index.js +6 -6
  15. package/banner/index.cjs +3 -3
  16. package/banner/index.js +15 -15
  17. package/bundled/base-color-picker.cjs +2 -2
  18. package/bundled/base-color-picker.js +5 -5
  19. package/bundled/button.cjs +1 -1
  20. package/bundled/button.js +2 -2
  21. package/bundled/calendar-picker.template.cjs +2 -2
  22. package/bundled/calendar-picker.template.js +498 -498
  23. package/bundled/definition10.cjs +18 -30
  24. package/bundled/definition10.js +53 -155
  25. package/bundled/definition11.cjs +10 -19
  26. package/bundled/definition11.js +25 -74
  27. package/bundled/definition12.cjs +72 -18
  28. package/bundled/definition12.js +171 -107
  29. package/bundled/definition13.cjs +18 -17
  30. package/bundled/definition13.js +45 -65
  31. package/bundled/definition14.cjs +5 -10
  32. package/bundled/definition14.js +9 -27
  33. package/bundled/definition15.cjs +17 -71
  34. package/bundled/definition15.js +64 -181
  35. package/bundled/definition16.cjs +12 -4
  36. package/bundled/definition16.js +79 -14
  37. package/bundled/definition17.cjs +19 -13
  38. package/bundled/definition17.js +119 -70
  39. package/bundled/definition18.cjs +87 -12
  40. package/bundled/definition18.js +409 -52
  41. package/bundled/definition19.cjs +5 -87
  42. package/bundled/definition19.js +14 -422
  43. package/bundled/definition2.cjs +3 -3
  44. package/bundled/definition2.js +27 -27
  45. package/bundled/definition20.cjs +30 -5
  46. package/bundled/definition20.js +159 -9
  47. package/bundled/definition21.cjs +28 -19
  48. package/bundled/definition21.js +164 -47
  49. package/bundled/definition22.cjs +38 -23
  50. package/bundled/definition22.js +64 -82
  51. package/bundled/definition3.cjs +1 -1
  52. package/bundled/definition3.js +15 -15
  53. package/bundled/definition4.cjs +23 -38
  54. package/bundled/definition4.js +82 -64
  55. package/bundled/definition5.cjs +2 -2
  56. package/bundled/definition5.js +5 -5
  57. package/bundled/definition6.cjs +2 -2
  58. package/bundled/definition6.js +24 -24
  59. package/bundled/definition9.cjs +12 -30
  60. package/bundled/definition9.js +55 -148
  61. package/bundled/divider.cjs +1 -1
  62. package/bundled/divider.js +5 -5
  63. package/bundled/listbox.cjs +1 -1
  64. package/bundled/listbox.js +1 -1
  65. package/bundled/mixins.cjs +4 -4
  66. package/bundled/mixins.js +43 -43
  67. package/bundled/picker-field.template.cjs +7 -7
  68. package/bundled/picker-field.template.js +14 -14
  69. package/bundled/slider.template.cjs +7 -7
  70. package/bundled/slider.template.js +12 -12
  71. package/bundled/slottable-request.cjs +1 -1
  72. package/bundled/slottable-request.js +8 -38
  73. package/bundled/time-selection-picker.template.cjs +4 -4
  74. package/bundled/time-selection-picker.template.js +35 -35
  75. package/bundled/vivid-element.cjs +1 -1
  76. package/bundled/vivid-element.js +1 -1
  77. package/calendar/index.cjs +11 -11
  78. package/calendar/index.js +30 -237
  79. package/calendar-event/index.cjs +3 -3
  80. package/calendar-event/index.js +4 -4
  81. package/card/index.cjs +14 -11
  82. package/card/index.js +16 -13
  83. package/checkbox/index.cjs +1 -1
  84. package/checkbox/index.js +1 -1
  85. package/color-picker/definition.cjs +1 -1
  86. package/color-picker/definition.js +1 -1
  87. package/color-picker/index.cjs +6 -6
  88. package/color-picker/index.js +24 -24
  89. package/combobox/definition.cjs +1 -1
  90. package/combobox/definition.js +1 -1
  91. package/combobox/index.cjs +9 -8
  92. package/combobox/index.js +32 -28
  93. package/contextual-help/definition.cjs +1 -1
  94. package/contextual-help/definition.js +1 -1
  95. package/contextual-help/index.cjs +1 -1
  96. package/contextual-help/index.js +1 -1
  97. package/custom-elements.json +1027 -615
  98. package/data-grid/definition.js +1 -1
  99. package/data-grid/index.cjs +17 -17
  100. package/data-grid/index.js +261 -264
  101. package/date-picker/index.cjs +1 -1
  102. package/date-picker/index.js +12 -12
  103. package/date-range-picker/index.cjs +1 -1
  104. package/date-range-picker/index.js +7 -7
  105. package/date-time-picker/index.cjs +4 -4
  106. package/date-time-picker/index.js +24 -24
  107. package/dial-pad/index.cjs +3 -2
  108. package/dial-pad/index.js +6 -5
  109. package/dialog/index.cjs +4 -4
  110. package/dialog/index.js +5 -5
  111. package/divider/index.cjs +1 -1
  112. package/divider/index.js +1 -1
  113. package/fab/index.cjs +3 -3
  114. package/fab/index.js +8 -8
  115. package/file-picker/index.cjs +16 -13
  116. package/file-picker/index.js +31 -28
  117. package/header/index.cjs +4 -4
  118. package/header/index.js +5 -5
  119. package/index.cjs +24 -21
  120. package/index.js +11 -11
  121. package/lib/combobox/combobox.d.ts +0 -3
  122. package/lib/date-time-picker/date-time-picker.d.ts +0 -4
  123. package/lib/dial-pad/dial-pad.d.ts +6 -2
  124. package/lib/dialog/dialog.d.ts +0 -1
  125. package/lib/menu/menu.d.ts +0 -1
  126. package/lib/option/option.d.ts +0 -1
  127. package/lib/rich-text-editor/rte/exports.d.ts +1 -0
  128. package/lib/rich-text-editor/rte/features/alignment.d.ts +1 -1
  129. package/lib/rich-text-editor/rte/features/character-count.d.ts +21 -0
  130. package/lib/rich-text-editor/rte/features/font-size-picker.d.ts +1 -1
  131. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +1 -1
  132. package/lib/rich-text-editor/rte/features/keyboard-shortcuts.d.ts +1 -1
  133. package/lib/rich-text-editor/rte/features/text-color-picker.d.ts +1 -1
  134. package/lib/rich-text-editor/rte/public-interface.d.ts +6 -0
  135. package/lib/searchable-select/option-tag.d.ts +0 -1
  136. package/lib/table/definition.d.ts +2 -1
  137. package/lib/table/table-header-cell.d.ts +3 -0
  138. package/lib/table/table-sorting-button.d.ts +415 -0
  139. package/lib/table/table-sorting-button.template.d.ts +3 -0
  140. package/locales/de-DE.cjs +4 -178
  141. package/locales/de-DE.js +2 -179
  142. package/locales/en-GB.cjs +4 -9
  143. package/locales/en-GB.js +2 -10
  144. package/locales/en-US.cjs +268 -2
  145. package/locales/en-US.js +265 -1
  146. package/locales/ja-JP.cjs +4 -171
  147. package/locales/ja-JP.js +2 -172
  148. package/locales/zh-CN.cjs +4 -172
  149. package/locales/zh-CN.js +2 -173
  150. package/menu/index.cjs +1 -1
  151. package/menu/index.js +1 -1
  152. package/menu-item/index.cjs +1 -1
  153. package/menu-item/index.js +1 -1
  154. package/nav-disclosure/index.cjs +3 -3
  155. package/nav-disclosure/index.js +8 -8
  156. package/nav-item/index.cjs +1 -1
  157. package/nav-item/index.js +7 -7
  158. package/note/index.cjs +2 -2
  159. package/note/index.js +6 -6
  160. package/number-field/index.cjs +4 -4
  161. package/number-field/index.js +31 -31
  162. package/option/definition.cjs +1 -1
  163. package/option/definition.js +1 -1
  164. package/option/index.cjs +1 -1
  165. package/option/index.js +1 -1
  166. package/package.json +7 -8
  167. package/pagination/index.cjs +3 -3
  168. package/pagination/index.js +15 -15
  169. package/popover/index.cjs +4 -4
  170. package/popover/index.js +5 -5
  171. package/progress/index.cjs +2 -2
  172. package/progress/index.js +5 -5
  173. package/radio/index.cjs +1 -1
  174. package/radio/index.js +1 -1
  175. package/radio-group/index.cjs +4 -4
  176. package/radio-group/index.js +10 -10
  177. package/range-slider/index.cjs +4 -4
  178. package/range-slider/index.js +17 -17
  179. package/rich-text-editor/definition.cjs +1 -0
  180. package/rich-text-editor/definition.js +2 -2
  181. package/rich-text-editor/index.cjs +13 -13
  182. package/rich-text-editor/index.js +1886 -1829
  183. package/rich-text-view/index.cjs +1 -1
  184. package/rich-text-view/index.js +8 -8
  185. package/searchable-select/index.cjs +12 -12
  186. package/searchable-select/index.js +25 -25
  187. package/select/index.cjs +1 -1
  188. package/select/index.js +1 -1
  189. package/selectable-box/index.cjs +7 -7
  190. package/selectable-box/index.js +11 -11
  191. package/shared/foundation/test-utilities/fixture.d.ts +1 -1
  192. package/shared/patterns/linkable.d.ts +1 -1
  193. package/simple-color-picker/index.cjs +3 -3
  194. package/simple-color-picker/index.js +10 -10
  195. package/split-button/index.cjs +5 -5
  196. package/split-button/index.js +10 -10
  197. package/status/index.cjs +2 -2
  198. package/status/index.js +12 -12
  199. package/switch/index.cjs +3 -3
  200. package/switch/index.js +5 -5
  201. package/tab/index.cjs +1 -1
  202. package/tab/index.js +1 -1
  203. package/tab-panel/index.cjs +1 -1
  204. package/tab-panel/index.js +1 -1
  205. package/table/definition.cjs +17 -14
  206. package/table/definition.js +3 -2
  207. package/table/index.cjs +19 -10
  208. package/table/index.js +69 -21
  209. package/tabs/index.cjs +2 -2
  210. package/tabs/index.js +4 -4
  211. package/tag/index.cjs +7 -7
  212. package/tag/index.js +9 -9
  213. package/tag-group/index.cjs +3 -3
  214. package/tag-group/index.js +5 -5
  215. package/text-area/index.cjs +2 -2
  216. package/text-area/index.js +12 -12
  217. package/text-field/definition.cjs +1 -1
  218. package/text-field/definition.js +1 -1
  219. package/text-field/index.cjs +1 -1
  220. package/text-field/index.js +1 -1
  221. package/time-picker/index.cjs +1 -1
  222. package/time-picker/index.js +1 -1
  223. package/toggletip/definition.cjs +1 -1
  224. package/toggletip/definition.js +1 -1
  225. package/toggletip/index.cjs +1 -1
  226. package/toggletip/index.js +1 -1
  227. package/tooltip/definition.cjs +1 -1
  228. package/tooltip/definition.js +1 -1
  229. package/tooltip/index.cjs +1 -1
  230. package/tooltip/index.js +1 -1
  231. package/tree-item/index.cjs +1 -1
  232. package/tree-item/index.js +1 -1
  233. package/tree-view/index.cjs +3 -3
  234. package/tree-view/index.js +17 -17
  235. package/unbundled/button.cjs +2 -2
  236. package/unbundled/button.js +2 -2
  237. package/unbundled/calendar-picker.template.cjs +4347 -9
  238. package/unbundled/calendar-picker.template.js +4345 -7
  239. package/unbundled/chunk.cjs +0 -22
  240. package/unbundled/definition13.cjs +1 -8
  241. package/unbundled/definition13.js +1 -8
  242. package/unbundled/definition14.cjs +2 -2
  243. package/unbundled/definition14.js +2 -2
  244. package/unbundled/definition2.cjs +1 -1
  245. package/unbundled/definition2.js +1 -1
  246. package/unbundled/definition21.cjs +1 -2
  247. package/unbundled/definition21.js +1 -2
  248. package/unbundled/definition22.cjs +7 -2
  249. package/unbundled/definition22.js +7 -2
  250. package/unbundled/definition24.cjs +98 -979
  251. package/unbundled/definition24.js +93 -974
  252. package/unbundled/definition25.cjs +37 -322
  253. package/unbundled/definition25.js +33 -318
  254. package/unbundled/definition26.cjs +317 -91
  255. package/unbundled/definition26.js +313 -87
  256. package/unbundled/definition27.cjs +94 -192
  257. package/unbundled/definition27.js +91 -183
  258. package/unbundled/definition28.cjs +387 -395
  259. package/unbundled/definition28.js +387 -395
  260. package/unbundled/definition29.cjs +189 -110
  261. package/unbundled/definition29.js +180 -107
  262. package/unbundled/definition30.cjs +520 -36
  263. package/unbundled/definition30.js +519 -35
  264. package/unbundled/definition32.cjs +477 -477
  265. package/unbundled/definition32.js +475 -475
  266. package/unbundled/definition33.cjs +87 -2
  267. package/unbundled/definition33.js +77 -4
  268. package/unbundled/definition35.cjs +2 -2
  269. package/unbundled/definition35.js +2 -2
  270. package/unbundled/definition36.cjs +1 -1
  271. package/unbundled/definition36.js +1 -1
  272. package/unbundled/definition37.cjs +6 -2
  273. package/unbundled/definition37.js +6 -2
  274. package/unbundled/definition38.cjs +7 -5
  275. package/unbundled/definition38.js +7 -5
  276. package/unbundled/definition39.cjs +1 -0
  277. package/unbundled/definition39.js +1 -0
  278. package/unbundled/definition42.cjs +22 -11
  279. package/unbundled/definition42.js +22 -11
  280. package/unbundled/definition49.cjs +3 -3
  281. package/unbundled/definition49.js +3 -3
  282. package/unbundled/definition56.cjs +437 -9506
  283. package/unbundled/definition56.js +340 -9415
  284. package/unbundled/definition57.cjs +5 -5
  285. package/unbundled/definition57.js +5 -5
  286. package/unbundled/definition58.cjs +4 -3
  287. package/unbundled/definition58.js +2 -1
  288. package/unbundled/definition59.cjs +4 -3
  289. package/unbundled/definition59.js +4 -3
  290. package/unbundled/definition62.cjs +2 -2
  291. package/unbundled/definition62.js +2 -2
  292. package/unbundled/definition64.cjs +1 -1
  293. package/unbundled/definition64.js +1 -1
  294. package/unbundled/definition71.cjs +2 -2
  295. package/unbundled/definition71.js +2 -2
  296. package/unbundled/definition72.cjs +1 -2
  297. package/unbundled/definition72.js +1 -2
  298. package/unbundled/definition75.cjs +3 -51711
  299. package/unbundled/definition75.js +1 -51711
  300. package/unbundled/listbox.cjs +1 -1
  301. package/unbundled/listbox.js +1 -1
  302. package/unbundled/localized.cjs +2 -2
  303. package/unbundled/localized.js +1 -1
  304. package/unbundled/picker-field.template.cjs +1 -1
  305. package/unbundled/picker-field.template.js +1 -1
  306. package/unbundled/slottable-request.cjs +2 -3168
  307. package/unbundled/slottable-request.js +3 -3097
  308. package/unbundled/time-selection-picker.template.cjs +1 -1
  309. package/unbundled/time-selection-picker.template.js +1 -1
  310. package/unbundled/vivid-element.cjs +1 -1
  311. package/unbundled/vivid-element.js +1 -1
  312. package/video-player/index.cjs +3 -3
  313. package/video-player/index.js +9 -9
  314. package/vivid.api.json +220 -282
  315. package/unbundled/chunk.js +0 -33
  316. package/unbundled/en-US.cjs +0 -447
  317. package/unbundled/en-US.js +0 -443
@@ -1,137 +1,363 @@
1
1
  require("./chunk.cjs");
2
2
  const require_vivid_element = require("./vivid-element.cjs");
3
+ const require_definition = require("./definition.cjs");
4
+ const require_definition$1 = require("./definition2.cjs");
3
5
  const require_decorate = require("./decorate.cjs");
4
- const require_dialog = require("./dialog.cjs");
5
- const require_definition = require("./definition10.cjs");
6
- const require_anchored = require("./anchored.cjs");
6
+ const require_affix = require("./affix.cjs");
7
+ const require_delegates_aria = require("./delegates-aria.cjs");
8
+ const require_form_associated = require("./form-associated.cjs");
9
+ const require_form_element = require("./form-element.cjs");
10
+ const require_with_success_text = require("./with-success-text.cjs");
11
+ const require_with_error_text = require("./with-error-text.cjs");
12
+ const require_with_contextual_help = require("./with-contextual-help.cjs");
13
+ const require_char_count = require("./char-count.cjs");
14
+ const require_mixins = require("./mixins.cjs");
15
+ const require_definition$2 = require("./definition25.cjs");
16
+ const require_text_field = require("./text-field.cjs");
7
17
  let _microsoft_fast_element = require("@microsoft/fast-element");
8
18
  let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
9
- //#region src/lib/tooltip/tooltip.ts
19
+ //#region src/lib/text-field/text-field.ts
10
20
  /**
21
+ * Text field sub-types
11
22
  * @public
12
- * @component tooltip
13
- * @slot anchor - Used to set the anchor element for the tooltip.
14
- * @testSelector byText byText
15
- * @testQuery open open true
16
- * @testQuery closed open false
17
23
  */
18
- var Tooltip = class extends require_anchored.Anchored(require_vivid_element.VividElement) {
24
+ var TextFieldType = {
25
+ email: "email",
26
+ password: "password",
27
+ tel: "tel",
28
+ text: "text",
29
+ url: "url"
30
+ };
31
+ var safariWorkaroundStyles = new _microsoft_fast_element.ElementStyles([`
32
+ ._vvd-3-text-field-safari-workaround::placeholder {
33
+ opacity: 1 !important;
34
+ -webkit-text-fill-color: var(--_low-ink-color) !important;
35
+ }
36
+ `]);
37
+ var installSafariWorkaroundStyleIfNeeded = (forElement) => {
38
+ const root = forElement.getRootNode();
39
+ if (!safariWorkaroundStyles.isAttachedTo(root)) safariWorkaroundStyles.addStylesTo(root);
40
+ };
41
+ /**
42
+ * Base class for text-field
43
+ *
44
+ * @public
45
+ * @component text-field
46
+ * @slot leading-action-items - Used to add action items to the start of the text-field.
47
+ * @slot action-items - Used to add action items to the end of the text-field.
48
+ * @slot helper-text - Describes how to use the text-field. Alternative to the `helper-text` attribute.
49
+ * @event {CustomEvent<undefined>} input - Fires a custom 'input' event when the value has changed
50
+ * @event {CustomEvent<undefined>} change - Fires a custom 'change' event when the value has changed
51
+ * @vueModel modelValue value input,@lazy:change `event.currentTarget.value`
52
+ * @testAction fill fill #control
53
+ * @testAction clear clear #control
54
+ * @testAction blur blur #control
55
+ * @testRef control light input[slot="_control"]
56
+ */
57
+ var TextField = class extends require_with_contextual_help.WithContextualHelp(require_mixins.WithLightDOMFeedback(require_char_count.WithCharCount(require_with_error_text.WithErrorText(require_with_success_text.WithSuccessText(require_form_element.FormElement(require_affix.AffixIcon(require_delegates_aria.DelegatesAria(require_form_associated.FormAssociated(require_vivid_element.VividElement))))))))) {
19
58
  constructor(..._args) {
20
59
  super(..._args);
21
- this.open = false;
60
+ this.proxy = document.createElement("input");
61
+ this.type = TextFieldType.text;
22
62
  }
23
- connectedCallback() {
24
- super.connectedCallback();
25
- this.#updateListeners();
63
+ /**
64
+ * @internal
65
+ */
66
+ readOnlyChanged() {
67
+ /* v8 ignore if -- @preserve */
68
+ if (this.proxy instanceof HTMLInputElement) {
69
+ this.proxy.readOnly = this.readOnly;
70
+ this.validate();
71
+ }
72
+ }
73
+ /**
74
+ * @internal
75
+ */
76
+ autofocusChanged() {
77
+ /* v8 ignore if -- @preserve */
78
+ if (this.proxy instanceof HTMLInputElement) {
79
+ this.proxy.autofocus = this.autofocus;
80
+ this.validate();
81
+ }
82
+ }
83
+ /**
84
+ * @internal
85
+ */
86
+ placeholderChanged() {
87
+ /* v8 ignore if -- @preserve */
88
+ if (this.proxy instanceof HTMLInputElement) this.proxy.placeholder = this.placeholder;
89
+ }
90
+ /**
91
+ * @internal
92
+ */
93
+ typeChanged() {
94
+ /* v8 ignore if -- @preserve */
95
+ if (this.proxy instanceof HTMLInputElement) {
96
+ this.proxy.type = this.type;
97
+ this.validate();
98
+ }
99
+ }
100
+ /**
101
+ * @internal
102
+ */
103
+ listChanged() {
104
+ /* v8 ignore if -- @preserve */
105
+ if (this.proxy instanceof HTMLInputElement) {
106
+ this.proxy.setAttribute("list", this.list);
107
+ this.validate();
108
+ }
26
109
  }
27
- disconnectedCallback() {
28
- super.disconnectedCallback();
29
- this.#updateListeners();
110
+ /**
111
+ * @internal
112
+ */
113
+ maxlengthChanged() {
114
+ /* v8 ignore if -- @preserve */
115
+ if (this.proxy instanceof HTMLInputElement) {
116
+ this.proxy.maxLength = this.maxlength;
117
+ this.validate();
118
+ }
30
119
  }
31
120
  /**
32
121
  * @internal
33
122
  */
34
- _anchorElChanged(oldValue, newValue) {
35
- if (oldValue) this.#cleanupAnchor(oldValue);
36
- if (newValue) this.#setupAnchor(newValue);
37
- }
38
- #setupAnchor(a) {
39
- a.addEventListener("mouseover", this.#show);
40
- a.addEventListener("mouseout", this.#hide);
41
- a.addEventListener("focusin", this.#show);
42
- a.addEventListener("focusout", this.#hide);
43
- a.setAttribute("aria-haspopup", "true");
44
- a.setAttribute("aria-expanded", String(this.open));
45
- }
46
- #cleanupAnchor(a) {
47
- a.removeEventListener("mouseover", this.#show);
48
- a.removeEventListener("mouseout", this.#hide);
49
- a.removeEventListener("focusin", this.#show);
50
- a.removeEventListener("focusout", this.#hide);
51
- a.removeAttribute("aria-haspopup");
52
- a.removeAttribute("aria-expanded");
53
- }
54
- #show = () => {
55
- this.open = true;
56
- this.#updateAnchorExpanded();
57
- };
58
- #hide = () => {
59
- this.open = false;
60
- this.#updateAnchorExpanded();
61
- };
62
- #updateAnchorExpanded() {
63
- if (this._anchorEl) this._anchorEl.setAttribute("aria-expanded", String(this.open));
64
- }
65
- #updateListeners() {
66
- document.removeEventListener("keydown", this.#closeOnEscape);
67
- if (this.open && this.isConnected) document.addEventListener("keydown", this.#closeOnEscape);
68
- }
69
- #closeOnEscape = (e) => {
70
- /* v8 ignore else -- @preserve */
71
- if (e.key === "Escape") this.#hide();
72
- };
123
+ minlengthChanged() {
124
+ /* v8 ignore if -- @preserve */
125
+ if (this.proxy instanceof HTMLInputElement) {
126
+ this.proxy.minLength = this.minlength;
127
+ this.validate();
128
+ }
129
+ }
130
+ /**
131
+ * @internal
132
+ */
133
+ patternChanged() {
134
+ /* v8 ignore if -- @preserve */
135
+ if (this.proxy instanceof HTMLInputElement) {
136
+ this.proxy.pattern = this.pattern;
137
+ this.validate();
138
+ }
139
+ }
73
140
  /**
74
141
  * @internal
75
142
  */
76
- openChanged(oldValue) {
77
- if (oldValue === void 0) return;
78
- this.#updateListeners();
143
+ sizeChanged() {
144
+ /* v8 ignore if -- @preserve */
145
+ if (this.proxy instanceof HTMLInputElement) this.proxy.size = this.size;
146
+ }
147
+ /**
148
+ * @internal
149
+ */
150
+ spellcheckChanged() {
151
+ /* v8 ignore if -- @preserve */
152
+ if (this.proxy instanceof HTMLInputElement) this.proxy.spellcheck = this.spellcheck;
153
+ }
154
+ /**
155
+ * @internal
156
+ */
157
+ valueChanged(previous, next) {
158
+ super.valueChanged(previous, next);
159
+ this._updateControlValueIfNeeded();
160
+ if (this.charCount && this.maxlength) this._updateCharCountRemaining();
161
+ }
162
+ /**
163
+ * Update the controls value only if it is actually different from the actual value.
164
+ * This is important as to not reset the browser's "dirtiness" flag on the input, which is used for min/maxlength
165
+ * constraints.
166
+ * @internal
167
+ */
168
+ _updateControlValueIfNeeded() {
169
+ if (this.control && this.control.value !== this.value) this.control.value = this.value;
170
+ }
171
+ /**
172
+ * Selects all the text in the text field
173
+ *
174
+ * @public
175
+ */
176
+ select() {
177
+ this.control.select();
178
+ }
179
+ /**
180
+ * Handles the internal control's `input` event
181
+ * @internal
182
+ */
183
+ handleTextInput(event) {
184
+ this.value = this.control.value;
185
+ event.stopPropagation();
186
+ this.$emit("input");
187
+ }
188
+ /**
189
+ * Change event handler for inner control.
190
+ * @remarks
191
+ * "Change" events are not `composable` so they will not
192
+ * permeate the shadow DOM boundary. This fn effectively proxies
193
+ * the change event, emitting a `change` event whenever the internal
194
+ * control emits a `change` event
195
+ * @internal
196
+ */
197
+ handleChange() {
198
+ this.$emit("change");
199
+ }
200
+ /** {@inheritDoc (FormAssociated:interface).validate} */
201
+ validate() {
202
+ super.validate(this.control);
203
+ }
204
+ connectedCallback() {
205
+ super.connectedCallback();
206
+ this.proxy.setAttribute("type", this.type);
207
+ this.validate();
208
+ if (this.autofocus) _microsoft_fast_element.Updates.enqueue(() => {
209
+ this.focus();
210
+ });
211
+ this._updateControlValueIfNeeded();
212
+ installSafariWorkaroundStyleIfNeeded(this);
213
+ this._renderCharCountRemaining();
214
+ }
215
+ focus() {
216
+ this.control?.focus();
217
+ }
218
+ #randomId = require_mixins.generateRandomId();
219
+ /**
220
+ * @internal
221
+ */
222
+ get _uniqueId() {
223
+ return this.id || this.#randomId;
79
224
  }
80
225
  };
81
- require_decorate.__decorate([_microsoft_fast_element.attr], Tooltip.prototype, "text", void 0);
82
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "fromView" })], Tooltip.prototype, "placement", void 0);
83
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], Tooltip.prototype, "open", void 0);
84
- //#endregion
85
- //#region src/lib/tooltip/tooltip.scss?inline
86
- var tooltip_default = ":host :host{display:var(--_popup-display,inline)}:host :host([slotted-anchor]){--_popup-display:contents}.control{pointer-events:none}.tooltip{width:var(--tooltip-inline-size,auto);box-sizing:border-box;color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base-bold);max-inline-size:var(--tooltip-max-inline-size,30ch);padding:8px 12px}";
226
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
227
+ attribute: "readonly",
228
+ mode: "boolean"
229
+ })], TextField.prototype, "readOnly", void 0);
230
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], TextField.prototype, "autofocus", void 0);
231
+ require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "placeholder", void 0);
232
+ require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "type", void 0);
233
+ require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "list", void 0);
234
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], TextField.prototype, "maxlength", void 0);
235
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], TextField.prototype, "minlength", void 0);
236
+ require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "pattern", void 0);
237
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], TextField.prototype, "size", void 0);
238
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], TextField.prototype, "spellcheck", void 0);
239
+ require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "appearance", void 0);
240
+ require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "shape", void 0);
241
+ require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "autoComplete", void 0);
242
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)()], TextField.prototype, "scale", void 0);
243
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "inputmode" })], TextField.prototype, "inputMode", void 0);
244
+ require_decorate.__decorate([_microsoft_fast_element.observable], TextField.prototype, "actionItemsSlottedContent", void 0);
245
+ require_decorate.__decorate([_microsoft_fast_element.observable], TextField.prototype, "leadingActionItemsSlottedContent", void 0);
87
246
  //#endregion
88
- //#region src/lib/tooltip/tooltip.template.ts
89
- var getClasses = ({ open }) => (0, _microsoft_fast_web_utilities.classNames)("control", ["open", Boolean(open)]);
90
- var TooltipTemplate = (context) => {
91
- const popupTag = context.tagFor(require_definition.Popup);
247
+ //#region src/lib/text-field/text-field.template.ts
248
+ var getControlId = (id) => `vvd-text-field-control-${id}`;
249
+ var getStateClasses = ({ errorValidationMessage, disabled, value, readOnly, placeholder, appearance, shape, label, successText, actionItemsSlottedContent, leadingActionItemsSlottedContent, icon, scale }) => (0, _microsoft_fast_web_utilities.classNames)(["error", Boolean(errorValidationMessage)], ["disabled", disabled], ["has-value", Boolean(value)], ["readonly", readOnly], ["placeholder", Boolean(placeholder)], [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], ["no-label", !label], ["has-icon", !!icon], ["success", Boolean(successText)], ["action-items", !!actionItemsSlottedContent?.length], ["leading-action-items", !!leadingActionItemsSlottedContent?.length], ["no-leading", !(leadingActionItemsSlottedContent?.length || icon)], [`size-${scale}`, Boolean(scale)]);
250
+ var TextfieldTemplate = (context) => {
251
+ const affixIconTemplate = require_affix.affixIconTemplateFactory(context);
92
252
  return _microsoft_fast_element.html`
93
- ${require_anchored.anchorSlotTemplateFactory()}
94
- <${popupTag} class="${getClasses}" arrow alternate
95
- :placement=${(x) => x.placement}
96
- :anchor="${(x) => x._anchorEl}"
97
- :open="${(x) => x.open}"
98
- @keydown="${(x, c) => {
99
- if (x.open && require_dialog.handleEscapeKeyAndStopPropogation(c.event)) x.open = false;
253
+ <div class="base ${getStateClasses}">
254
+ ${(0, _microsoft_fast_element.when)((x) => x.charCount && x.maxlength, (x) => x._getCharCountTemplate(context))}
255
+ <div
256
+ class="label-wrapper"
257
+ ?hidden=${(x) => !x.label && !x._hasContextualHelp}
258
+ >
259
+ <slot class="label" name="_label"></slot>
260
+ <slot
261
+ name="contextual-help"
262
+ ${(0, _microsoft_fast_element.slotted)("_contextualHelpSlottedContent")}
263
+ ></slot>
264
+ </div>
265
+ ${require_mixins.renderInLightDOM(_microsoft_fast_element.html`
266
+ ${(0, _microsoft_fast_element.when)((x) => x.label, _microsoft_fast_element.html`
267
+ <label slot="_label" for="${(x) => getControlId(x._uniqueId)}">
268
+ ${(x) => x.label}
269
+ </label>
270
+ `)}
271
+ `)}
272
+ <div class="fieldset">
273
+ <div class="leading-items-wrapper">
274
+ <slot
275
+ name="leading-action-items"
276
+ ${(0, _microsoft_fast_element.slotted)("leadingActionItemsSlottedContent")}
277
+ ></slot>
278
+ ${(x) => affixIconTemplate(x.icon)}
279
+ </div>
280
+ <div class="wrapper">
281
+ <slot class="control" name="_control"></slot>
282
+ ${require_mixins.renderInLightDOM(_microsoft_fast_element.html`<input
283
+ slot="_control"
284
+ id="${(x) => getControlId(x._uniqueId)}"
285
+ class="_vvd-3-text-field-safari-workaround"
286
+ @input="${(x, c) => x.handleTextInput(c.event)}"
287
+ @change="${(x) => x.handleChange()}"
288
+ @blur="${(x) => {
289
+ x.$emit("blur", void 0, { bubbles: false });
100
290
  }}"
101
- exportparts="vvd-theme-alternate">
102
- <div part="vvd-theme-alternate" class="tooltip" role="tooltip">
103
- ${(x) => x.text}
104
- </div>
105
- </${popupTag}>`;
291
+ @focus="${(x) => {
292
+ x.$emit("focus", void 0, { bubbles: false });
293
+ }}"
294
+ ?autofocus="${(x) => x.autofocus}"
295
+ ?disabled="${(x) => x.disabled}"
296
+ ?readonly="${(x) => x.readOnly}"
297
+ ?required="${(x) => x.required}"
298
+ ?spellcheck="${(x) => x.spellcheck}"
299
+ list="${(x) => x.list}"
300
+ maxlength="${(x) => x.maxlength}"
301
+ minlength="${(x) => x.minlength}"
302
+ pattern="${(x) => x.pattern}"
303
+ placeholder="${(x) => x.placeholder}"
304
+ size="${(x) => x.size}"
305
+ autocomplete="${(x) => x.autoComplete}"
306
+ type="${(x) => x.type}"
307
+ inputmode="${(x) => x.inputMode}"
308
+ aria-describedby="${(x) => x._feedbackDescribedBy} ${(x) => x.charCount && x.maxlength ? x._charCountDescribedBy : null}"
309
+ value="${(x) => x.initialValue}"
310
+ ${require_delegates_aria.delegateAria()}
311
+ ${(0, _microsoft_fast_element.ref)("control")}
312
+ />`)}
313
+ </div>
314
+ <div class="action-items-wrapper">
315
+ <slot
316
+ name="action-items"
317
+ ${(0, _microsoft_fast_element.slotted)("actionItemsSlottedContent")}
318
+ ></slot>
319
+ </div>
320
+ </div>
321
+ ${(x) => x._getFeedbackTemplate(context)}
322
+ </div>
323
+ `;
106
324
  };
107
325
  //#endregion
108
- //#region src/lib/tooltip/definition.ts
326
+ //#region src/lib/text-field/definition.ts
109
327
  /**
110
328
  * @internal
111
329
  */
112
- var tooltipDefinition = require_vivid_element.defineVividComponent("tooltip", Tooltip, TooltipTemplate, [require_definition.popupDefinition], { styles: tooltip_default });
330
+ var textFieldDefinition = require_vivid_element.defineVividComponent("text-field", TextField, TextfieldTemplate, [
331
+ require_definition$1.iconDefinition,
332
+ require_mixins.feedbackMessageDefinition,
333
+ require_definition.visuallyHiddenDefinition,
334
+ require_definition$2.contextualHelpDefinition
335
+ ], {
336
+ styles: require_text_field.text_field_default,
337
+ shadowOptions: { delegatesFocus: true }
338
+ });
113
339
  /**
114
- * Registers the tooltip elements with the design system.
340
+ * Registers the text-field elements with the design system.
115
341
  *
116
342
  * @param prefix - the prefix to use for the component name
117
343
  */
118
- var registerTooltip = require_vivid_element.createRegisterFunction(tooltipDefinition);
344
+ var registerTextField = require_vivid_element.createRegisterFunction(textFieldDefinition);
119
345
  //#endregion
120
- Object.defineProperty(exports, "Tooltip", {
346
+ Object.defineProperty(exports, "TextField", {
121
347
  enumerable: true,
122
348
  get: function() {
123
- return Tooltip;
349
+ return TextField;
124
350
  }
125
351
  });
126
- Object.defineProperty(exports, "registerTooltip", {
352
+ Object.defineProperty(exports, "registerTextField", {
127
353
  enumerable: true,
128
354
  get: function() {
129
- return registerTooltip;
355
+ return registerTextField;
130
356
  }
131
357
  });
132
- Object.defineProperty(exports, "tooltipDefinition", {
358
+ Object.defineProperty(exports, "textFieldDefinition", {
133
359
  enumerable: true,
134
360
  get: function() {
135
- return tooltipDefinition;
361
+ return textFieldDefinition;
136
362
  }
137
363
  });