@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,360 +1,75 @@
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
+ const require_definition = require("./definition2.cjs");
5
4
  const require_decorate = require("./decorate.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_text_field = require("./text-field.cjs");
16
- const require_definition$2 = require("./definition30.cjs");
5
+ const require_definition$1 = require("./definition24.cjs");
17
6
  let _microsoft_fast_element = require("@microsoft/fast-element");
18
7
  let _microsoft_fast_web_utilities = require("@microsoft/fast-web-utilities");
19
- //#region src/lib/text-field/text-field.ts
8
+ //#region src/lib/contextual-help/contextual-help.ts
20
9
  /**
21
- * Text field sub-types
22
10
  * @public
11
+ * @component contextual-help
12
+ * @slot - Default slot.
13
+ * @slot icon - Custom icon slot (optional).
23
14
  */
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;
15
+ var ContextualHelp = class extends require_vivid_element.VividElement {
16
+ constructor(..._args) {
17
+ super(..._args);
18
+ this.placement = "right";
35
19
  }
36
- `]);
37
- var installSafariWorkaroundStyleIfNeeded = (forElement) => {
38
- const root = forElement.getRootNode();
39
- if (!safariWorkaroundStyles.isAttachedTo(root)) safariWorkaroundStyles.addStylesTo(root);
40
20
  };
21
+ require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "fromView" })], ContextualHelp.prototype, "placement", void 0);
22
+ //#endregion
23
+ //#region src/lib/contextual-help/contextual-help.template.ts
24
+ var getClasses = (_) => (0, _microsoft_fast_web_utilities.classNames)("control");
41
25
  /**
42
- * Base class for text-field
26
+ * The template for the ContextualHelp component.
43
27
  *
28
+ * @param context - element definition context
44
29
  * @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>} change - Fires a custom 'change' event when the value has changed
50
- * @vueModel modelValue value input `event.currentTarget.value`
51
- * @testAction fill fill #control
52
- * @testAction clear clear #control
53
- * @testAction blur blur #control
54
- * @testRef control light input[slot="_control"]
55
30
  */
56
- 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))))))))) {
57
- constructor(..._args) {
58
- super(..._args);
59
- this.proxy = document.createElement("input");
60
- this.type = TextFieldType.text;
61
- }
62
- /**
63
- * @internal
64
- */
65
- readOnlyChanged() {
66
- /* v8 ignore if -- @preserve */
67
- if (this.proxy instanceof HTMLInputElement) {
68
- this.proxy.readOnly = this.readOnly;
69
- this.validate();
70
- }
71
- }
72
- /**
73
- * @internal
74
- */
75
- autofocusChanged() {
76
- /* v8 ignore if -- @preserve */
77
- if (this.proxy instanceof HTMLInputElement) {
78
- this.proxy.autofocus = this.autofocus;
79
- this.validate();
80
- }
81
- }
82
- /**
83
- * @internal
84
- */
85
- placeholderChanged() {
86
- /* v8 ignore if -- @preserve */
87
- if (this.proxy instanceof HTMLInputElement) this.proxy.placeholder = this.placeholder;
88
- }
89
- /**
90
- * @internal
91
- */
92
- typeChanged() {
93
- /* v8 ignore if -- @preserve */
94
- if (this.proxy instanceof HTMLInputElement) {
95
- this.proxy.type = this.type;
96
- this.validate();
97
- }
98
- }
99
- /**
100
- * @internal
101
- */
102
- listChanged() {
103
- /* v8 ignore if -- @preserve */
104
- if (this.proxy instanceof HTMLInputElement) {
105
- this.proxy.setAttribute("list", this.list);
106
- this.validate();
107
- }
108
- }
109
- /**
110
- * @internal
111
- */
112
- maxlengthChanged() {
113
- /* v8 ignore if -- @preserve */
114
- if (this.proxy instanceof HTMLInputElement) {
115
- this.proxy.maxLength = this.maxlength;
116
- this.validate();
117
- }
118
- }
119
- /**
120
- * @internal
121
- */
122
- minlengthChanged() {
123
- /* v8 ignore if -- @preserve */
124
- if (this.proxy instanceof HTMLInputElement) {
125
- this.proxy.minLength = this.minlength;
126
- this.validate();
127
- }
128
- }
129
- /**
130
- * @internal
131
- */
132
- patternChanged() {
133
- /* v8 ignore if -- @preserve */
134
- if (this.proxy instanceof HTMLInputElement) {
135
- this.proxy.pattern = this.pattern;
136
- this.validate();
137
- }
138
- }
139
- /**
140
- * @internal
141
- */
142
- sizeChanged() {
143
- /* v8 ignore if -- @preserve */
144
- if (this.proxy instanceof HTMLInputElement) this.proxy.size = this.size;
145
- }
146
- /**
147
- * @internal
148
- */
149
- spellcheckChanged() {
150
- /* v8 ignore if -- @preserve */
151
- if (this.proxy instanceof HTMLInputElement) this.proxy.spellcheck = this.spellcheck;
152
- }
153
- /**
154
- * @internal
155
- */
156
- valueChanged(previous, next) {
157
- super.valueChanged(previous, next);
158
- this._updateControlValueIfNeeded();
159
- if (this.charCount && this.maxlength) this._updateCharCountRemaining();
160
- }
161
- /**
162
- * Update the controls value only if it is actually different from the actual value.
163
- * This is important as to not reset the browser's "dirtiness" flag on the input, which is used for min/maxlength
164
- * constraints.
165
- * @internal
166
- */
167
- _updateControlValueIfNeeded() {
168
- if (this.control && this.control.value !== this.value) this.control.value = this.value;
169
- }
170
- /**
171
- * Selects all the text in the text field
172
- *
173
- * @public
174
- */
175
- select() {
176
- this.control.select();
177
- }
178
- /**
179
- * Handles the internal control's `input` event
180
- * @internal
181
- */
182
- handleTextInput() {
183
- this.value = this.control.value;
184
- }
185
- /**
186
- * Change event handler for inner control.
187
- * @remarks
188
- * "Change" events are not `composable` so they will not
189
- * permeate the shadow DOM boundary. This fn effectively proxies
190
- * the change event, emitting a `change` event whenever the internal
191
- * control emits a `change` event
192
- * @internal
193
- */
194
- handleChange() {
195
- this.$emit("change");
196
- }
197
- /** {@inheritDoc (FormAssociated:interface).validate} */
198
- validate() {
199
- super.validate(this.control);
200
- }
201
- connectedCallback() {
202
- super.connectedCallback();
203
- this.proxy.setAttribute("type", this.type);
204
- this.validate();
205
- if (this.autofocus) _microsoft_fast_element.Updates.enqueue(() => {
206
- this.focus();
207
- });
208
- this._updateControlValueIfNeeded();
209
- installSafariWorkaroundStyleIfNeeded(this);
210
- this._renderCharCountRemaining();
211
- }
212
- focus() {
213
- this.control?.focus();
214
- }
215
- #randomId = require_mixins.generateRandomId();
216
- /**
217
- * @internal
218
- */
219
- get _uniqueId() {
220
- return this.id || this.#randomId;
221
- }
222
- };
223
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({
224
- attribute: "readonly",
225
- mode: "boolean"
226
- })], TextField.prototype, "readOnly", void 0);
227
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], TextField.prototype, "autofocus", void 0);
228
- require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "placeholder", void 0);
229
- require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "type", void 0);
230
- require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "list", void 0);
231
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], TextField.prototype, "maxlength", void 0);
232
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], TextField.prototype, "minlength", void 0);
233
- require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "pattern", void 0);
234
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ converter: _microsoft_fast_element.nullableNumberConverter })], TextField.prototype, "size", void 0);
235
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ mode: "boolean" })], TextField.prototype, "spellcheck", void 0);
236
- require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "appearance", void 0);
237
- require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "shape", void 0);
238
- require_decorate.__decorate([_microsoft_fast_element.attr], TextField.prototype, "autoComplete", void 0);
239
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)()], TextField.prototype, "scale", void 0);
240
- require_decorate.__decorate([(0, _microsoft_fast_element.attr)({ attribute: "inputmode" })], TextField.prototype, "inputMode", void 0);
241
- require_decorate.__decorate([_microsoft_fast_element.observable], TextField.prototype, "actionItemsSlottedContent", void 0);
242
- require_decorate.__decorate([_microsoft_fast_element.observable], TextField.prototype, "leadingActionItemsSlottedContent", void 0);
243
- //#endregion
244
- //#region src/lib/text-field/text-field.template.ts
245
- var getControlId = (id) => `vvd-text-field-control-${id}`;
246
- 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)]);
247
- var TextfieldTemplate = (context) => {
248
- const affixIconTemplate = require_affix.affixIconTemplateFactory(context);
31
+ var ContextualHelpTemplate = (context) => {
32
+ const toggletipTag = context.tagFor(require_definition$1.Toggletip);
33
+ const iconTag = context.tagFor(require_definition.Icon);
249
34
  return _microsoft_fast_element.html`
250
- <div class="base ${getStateClasses}">
251
- ${(0, _microsoft_fast_element.when)((x) => x.charCount && x.maxlength, (x) => x._getCharCountTemplate(context))}
252
- <div
253
- class="label-wrapper"
254
- ?hidden=${(x) => !x.label && !x._hasContextualHelp}
255
- >
256
- <slot class="label" name="_label"></slot>
257
- <slot
258
- name="contextual-help"
259
- ${(0, _microsoft_fast_element.slotted)("_contextualHelpSlottedContent")}
260
- ></slot>
261
- </div>
262
- ${require_mixins.renderInLightDOM(_microsoft_fast_element.html`
263
- ${(0, _microsoft_fast_element.when)((x) => x.label, _microsoft_fast_element.html`
264
- <label slot="_label" for="${(x) => getControlId(x._uniqueId)}">
265
- ${(x) => x.label}
266
- </label>
267
- `)}
268
- `)}
269
- <div class="fieldset">
270
- <div class="leading-items-wrapper">
271
- <slot
272
- name="leading-action-items"
273
- ${(0, _microsoft_fast_element.slotted)("leadingActionItemsSlottedContent")}
274
- ></slot>
275
- ${(x) => affixIconTemplate(x.icon)}
276
- </div>
277
- <div class="wrapper">
278
- <slot class="control" name="_control"></slot>
279
- ${require_mixins.renderInLightDOM(_microsoft_fast_element.html`<input
280
- slot="_control"
281
- id="${(x) => getControlId(x._uniqueId)}"
282
- class="_vvd-3-text-field-safari-workaround"
283
- @input="${(x) => x.handleTextInput()}"
284
- @change="${(x) => x.handleChange()}"
285
- @blur="${(x) => {
286
- x.$emit("blur", void 0, { bubbles: false });
287
- }}"
288
- @focus="${(x) => {
289
- x.$emit("focus", void 0, { bubbles: false });
290
- }}"
291
- ?autofocus="${(x) => x.autofocus}"
292
- ?disabled="${(x) => x.disabled}"
293
- ?readonly="${(x) => x.readOnly}"
294
- ?required="${(x) => x.required}"
295
- ?spellcheck="${(x) => x.spellcheck}"
296
- list="${(x) => x.list}"
297
- maxlength="${(x) => x.maxlength}"
298
- minlength="${(x) => x.minlength}"
299
- pattern="${(x) => x.pattern}"
300
- placeholder="${(x) => x.placeholder}"
301
- size="${(x) => x.size}"
302
- autocomplete="${(x) => x.autoComplete}"
303
- type="${(x) => x.type}"
304
- inputmode="${(x) => x.inputMode}"
305
- aria-describedby="${(x) => x._feedbackDescribedBy} ${(x) => x.charCount && x.maxlength ? x._charCountDescribedBy : null}"
306
- value="${(x) => x.initialValue}"
307
- ${require_delegates_aria.delegateAria()}
308
- ${(0, _microsoft_fast_element.ref)("control")}
309
- />`)}
310
- </div>
311
- <div class="action-items-wrapper">
312
- <slot
313
- name="action-items"
314
- ${(0, _microsoft_fast_element.slotted)("actionItemsSlottedContent")}
315
- ></slot>
316
- </div>
317
- </div>
318
- ${(x) => x._getFeedbackTemplate(context)}
319
- </div>
35
+ <${toggletipTag} class="base" exportparts="vvd-theme-alternate">
36
+ <button class="${getClasses}" slot="anchor">
37
+ <slot name="icon" slot="icon">
38
+ <${iconTag} name="help-solid"></${iconTag}>
39
+ </slot>
40
+ </button>
41
+ <slot></slot>
42
+ </${toggletipTag}>
320
43
  `;
321
44
  };
322
45
  //#endregion
323
- //#region src/lib/text-field/definition.ts
46
+ //#region src/lib/contextual-help/definition.ts
324
47
  /**
325
48
  * @internal
326
49
  */
327
- var textFieldDefinition = require_vivid_element.defineVividComponent("text-field", TextField, TextfieldTemplate, [
328
- require_definition$1.iconDefinition,
329
- require_mixins.feedbackMessageDefinition,
330
- require_definition.visuallyHiddenDefinition,
331
- require_definition$2.contextualHelpDefinition
332
- ], {
333
- styles: require_text_field.text_field_default,
334
- shadowOptions: { delegatesFocus: true }
335
- });
50
+ var contextualHelpDefinition = require_vivid_element.defineVividComponent("contextual-help", ContextualHelp, ContextualHelpTemplate, [require_definition.iconDefinition, require_definition$1.toggletipDefinition], { styles: ".control{--_connotation-color-primary:var(--vvd-button-accent-primary,var(--vvd-color-canvas-text));--_connotation-color-primary-text:var(--vvd-button-accent-primary-text,var(--vvd-color-canvas));--_connotation-color-primary-increment:var(--vvd-button-accent-primary-increment,var(--vvd-color-neutral-800));--_connotation-color-contrast:var(--vvd-button-accent-contrast,var(--vvd-color-neutral-800));--_connotation-color-fierce:var(--vvd-button-accent-fierce,var(--vvd-color-neutral-700));--_connotation-color-firm:var(--vvd-button-accent-firm,var(--vvd-color-canvas-text));--_connotation-color-soft:var(--vvd-button-accent-soft,var(--vvd-color-neutral-100));--_connotation-color-faint:var(--vvd-button-accent-faint,var(--vvd-color-neutral-50));--_connotation-color-fierce-primary:var(--vvd-button-accent-fierce-primary,var(--vvd-color-canvas-text));--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}@media (hover:hover){.control:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}}.control.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-faint);--_appearance-color-outline:transparent}.control:disabled,.control.disabled{--_appearance-color-text:var(--vvd-color-neutral-300);--_appearance-color-fill:transparent;--_appearance-color-outline:transparent}.control:active:where(:not(.disabled,:disabled)),.control.active:where(:not(.disabled,:disabled)){--_appearance-color-text:var(--_connotation-color-firm);--_appearance-color-fill:var(--_connotation-color-soft);--_appearance-color-outline:transparent}.control{--focus-stroke-gap-color:transparent;box-sizing:border-box;background-color:var(--_appearance-color-fill);block-size:var(--_button-block-size,24px);box-shadow:inset 0 0 0 1px var(--_appearance-color-outline);color:var(--_appearance-color-text);cursor:pointer;padding-inline:calc(var(--_button-block-size,24px) / 6);vertical-align:middle;border:0;border-radius:50%;justify-content:center;align-items:center;margin:0;display:inline-flex}@supports (aspect-ratio:auto){.control{aspect-ratio:1;padding:0}}.control:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--focus-stroke-color,var(--vvd-color-cta-500)), transparent 85%), inset 0 0 0 3px var(--focus-stroke-gap-color,currentColor);outline:1px solid var(--focus-stroke-color,var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset,0px))}slot[name=icon]{font-size:var(--_button-icon-size,16px);line-height:1}" });
336
51
  /**
337
- * Registers the text-field elements with the design system.
52
+ * Registers the contextual-help element with the design system.
338
53
  *
339
54
  * @param prefix - the prefix to use for the component name
340
55
  */
341
- var registerTextField = require_vivid_element.createRegisterFunction(textFieldDefinition);
56
+ var registerContextualHelp = require_vivid_element.createRegisterFunction(contextualHelpDefinition);
342
57
  //#endregion
343
- Object.defineProperty(exports, "TextField", {
58
+ Object.defineProperty(exports, "ContextualHelp", {
344
59
  enumerable: true,
345
60
  get: function() {
346
- return TextField;
61
+ return ContextualHelp;
347
62
  }
348
63
  });
349
- Object.defineProperty(exports, "registerTextField", {
64
+ Object.defineProperty(exports, "contextualHelpDefinition", {
350
65
  enumerable: true,
351
66
  get: function() {
352
- return registerTextField;
67
+ return contextualHelpDefinition;
353
68
  }
354
69
  });
355
- Object.defineProperty(exports, "textFieldDefinition", {
70
+ Object.defineProperty(exports, "registerContextualHelp", {
356
71
  enumerable: true,
357
72
  get: function() {
358
- return textFieldDefinition;
73
+ return registerContextualHelp;
359
74
  }
360
75
  });