@vonage/vivid 4.23.0 → 4.25.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 (396) hide show
  1. package/custom-elements.json +21830 -14295
  2. package/elevation/index.cjs +1 -1
  3. package/elevation/index.js +1 -1
  4. package/index.cjs +112 -150
  5. package/index.js +37 -35
  6. package/lib/accordion-item/accordion-item.d.ts +6 -0
  7. package/lib/action-group/action-group.d.ts +6 -0
  8. package/lib/alert/alert.d.ts +20 -0
  9. package/lib/audio-player/audio-player.d.ts +6 -0
  10. package/lib/badge/badge.d.ts +9 -1
  11. package/lib/banner/banner.d.ts +25 -0
  12. package/lib/breadcrumb/breadcrumb.d.ts +6 -0
  13. package/lib/breadcrumb-item/breadcrumb-item.d.ts +63 -7
  14. package/lib/button/button.d.ts +732 -7
  15. package/lib/button/locale.d.ts +3 -0
  16. package/lib/calendar-event/calendar-event.d.ts +6 -0
  17. package/lib/card/card.d.ts +394 -2
  18. package/lib/card/card.template.d.ts +2 -1
  19. package/lib/checkbox/checkbox.d.ts +1822 -5
  20. package/lib/combobox/combobox.d.ts +1827 -20
  21. package/lib/data-grid/data-grid-cell.d.ts +339 -1
  22. package/lib/data-grid/locale.d.ts +5 -0
  23. package/lib/date-picker/date-picker.d.ts +1676 -207
  24. package/lib/date-range-picker/date-range-picker.d.ts +840 -107
  25. package/lib/date-time-picker/date-time-picker.d.ts +1678 -209
  26. package/lib/dial-pad/dial-pad.d.ts +8 -0
  27. package/lib/dialog/dialog.d.ts +12 -0
  28. package/lib/divider/divider.d.ts +6 -0
  29. package/lib/fab/fab.d.ts +6 -0
  30. package/lib/file-picker/file-picker.d.ts +1510 -32
  31. package/lib/file-picker/locale.d.ts +1 -0
  32. package/lib/header/header.d.ts +6 -0
  33. package/lib/icon/icon.d.ts +1 -0
  34. package/lib/icon/icon.template.d.ts +2 -1
  35. package/lib/menu/menu.d.ts +16 -7
  36. package/lib/menu/name.d.ts +1 -0
  37. package/lib/menu-item/menu-item.d.ts +14 -2
  38. package/lib/nav/nav.d.ts +6 -0
  39. package/lib/nav-disclosure/nav-disclosure.d.ts +13 -0
  40. package/lib/nav-item/nav-item.d.ts +405 -3
  41. package/lib/note/note.d.ts +6 -0
  42. package/lib/number-field/number-field.d.ts +1857 -36
  43. package/lib/option/option.d.ts +12 -0
  44. package/lib/progress/progress.d.ts +6 -0
  45. package/lib/progress-ring/progress-ring.d.ts +6 -0
  46. package/lib/radio/radio.d.ts +1137 -4
  47. package/lib/radio-group/radio-group.d.ts +20 -2
  48. package/lib/range-slider/range-slider.d.ts +752 -5
  49. package/lib/rich-text-editor/definition.d.ts +2 -2
  50. package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +3 -1
  51. package/lib/rich-text-editor/locale.d.ts +10 -0
  52. package/lib/rich-text-editor/menubar/menubar.d.ts +340 -1
  53. package/lib/rich-text-editor/rich-text-editor.d.ts +352 -2
  54. package/lib/searchable-select/locale.d.ts +1 -0
  55. package/lib/searchable-select/option-tag.d.ts +6 -0
  56. package/lib/searchable-select/searchable-select.d.ts +1857 -35
  57. package/lib/select/select.d.ts +1843 -28
  58. package/lib/selectable-box/selectable-box.d.ts +6 -0
  59. package/lib/slider/slider.d.ts +384 -2
  60. package/lib/split-button/split-button.d.ts +18 -0
  61. package/lib/switch/switch.d.ts +386 -3
  62. package/lib/tab/tab.d.ts +18 -1
  63. package/lib/tab-panel/tab-panel.d.ts +6 -0
  64. package/lib/tabs/tabs.d.ts +5 -21
  65. package/lib/tag/tag.d.ts +12 -0
  66. package/lib/tag-group/tag-group.d.ts +6 -0
  67. package/lib/text-area/text-area.d.ts +2174 -19
  68. package/lib/text-field/text-field.d.ts +2195 -31
  69. package/lib/time-picker/time-picker.d.ts +839 -106
  70. package/lib/toggletip/toggletip.d.ts +10 -4
  71. package/lib/tooltip/tooltip.d.ts +10 -4
  72. package/lib/tree-item/tree-item.d.ts +12 -0
  73. package/lib/tree-view/tree-view.d.ts +6 -0
  74. package/lib/video-player/video-player.d.ts +6 -0
  75. package/lib/visually-hidden/definition.d.ts +4 -0
  76. package/lib/visually-hidden/visually-hidden.d.ts +3 -0
  77. package/lib/visually-hidden/visually-hidden.template.d.ts +3 -0
  78. package/locales/de-DE.cjs +47 -1
  79. package/locales/de-DE.js +47 -1
  80. package/locales/en-GB.cjs +47 -1
  81. package/locales/en-GB.js +47 -1
  82. package/locales/en-US.cjs +47 -1
  83. package/locales/en-US.js +47 -1
  84. package/locales/ja-JP.cjs +47 -1
  85. package/locales/ja-JP.js +47 -1
  86. package/locales/zh-CN.cjs +47 -1
  87. package/locales/zh-CN.js +47 -1
  88. package/menu/index.cjs +1 -1
  89. package/menu/index.js +1 -1
  90. package/nav/index.cjs +1 -1
  91. package/nav/index.js +1 -1
  92. package/nav-disclosure/index.cjs +1 -1
  93. package/nav-disclosure/index.js +1 -1
  94. package/nav-item/index.cjs +1 -1
  95. package/nav-item/index.js +1 -1
  96. package/note/index.cjs +1 -1
  97. package/note/index.js +1 -1
  98. package/number-field/index.cjs +1 -1
  99. package/number-field/index.js +1 -1
  100. package/option/index.cjs +1 -1
  101. package/option/index.js +1 -1
  102. package/package.json +1 -1
  103. package/pagination/index.cjs +1 -1
  104. package/pagination/index.js +1 -1
  105. package/popup/index.cjs +1 -1
  106. package/popup/index.js +1 -1
  107. package/progress/index.cjs +1 -1
  108. package/progress/index.js +1 -1
  109. package/progress-ring/index.cjs +1 -1
  110. package/progress-ring/index.js +1 -1
  111. package/radio/index.cjs +1 -1
  112. package/radio/index.js +1 -1
  113. package/radio-group/index.cjs +1 -1
  114. package/radio-group/index.js +1 -1
  115. package/range-slider/index.cjs +1 -1
  116. package/range-slider/index.js +1 -1
  117. package/rich-text-editor/index.cjs +1 -1
  118. package/rich-text-editor/index.js +1 -1
  119. package/searchable-select/index.cjs +1 -1
  120. package/searchable-select/index.js +1 -1
  121. package/select/index.cjs +1 -1
  122. package/select/index.js +1 -1
  123. package/selectable-box/index.cjs +1 -1
  124. package/selectable-box/index.js +1 -1
  125. package/shared/affix.cjs +13 -7
  126. package/shared/affix.js +13 -8
  127. package/shared/aria/delegates-aria.d.ts +6 -0
  128. package/shared/aria/host-semantics.d.ts +6 -0
  129. package/shared/breadcrumb-item.cjs +2 -5
  130. package/shared/breadcrumb-item.js +2 -5
  131. package/shared/button.cjs +19 -14
  132. package/shared/button.js +19 -14
  133. package/shared/calendar-picker.template.cjs +3 -3
  134. package/shared/calendar-picker.template.js +1 -1
  135. package/shared/char-count.cjs +92 -0
  136. package/shared/char-count.js +90 -0
  137. package/shared/definition.js +1 -1
  138. package/shared/definition10.js +1 -1
  139. package/shared/definition11.cjs +27 -44
  140. package/shared/definition11.js +28 -45
  141. package/shared/definition12.cjs +1 -1
  142. package/shared/definition12.js +2 -2
  143. package/shared/definition13.js +1 -1
  144. package/shared/definition14.cjs +53 -22
  145. package/shared/definition14.js +54 -23
  146. package/shared/definition15.cjs +31 -36
  147. package/shared/definition15.js +30 -36
  148. package/shared/definition16.cjs +43 -63
  149. package/shared/definition16.js +42 -63
  150. package/shared/definition17.cjs +12 -5
  151. package/shared/definition17.js +12 -5
  152. package/shared/definition18.cjs +10 -14
  153. package/shared/definition18.js +9 -14
  154. package/shared/definition19.cjs +85 -100
  155. package/shared/definition19.js +75 -91
  156. package/shared/definition2.js +1 -1
  157. package/shared/definition20.cjs +15 -20
  158. package/shared/definition20.js +14 -20
  159. package/shared/definition21.cjs +22 -3
  160. package/shared/definition21.js +23 -4
  161. package/shared/definition22.cjs +12 -6
  162. package/shared/definition22.js +13 -7
  163. package/shared/definition23.cjs +5 -38
  164. package/shared/definition23.js +5 -37
  165. package/shared/definition24.cjs +2 -7
  166. package/shared/definition24.js +3 -8
  167. package/shared/definition25.js +1 -1
  168. package/shared/definition26.cjs +160 -163
  169. package/shared/definition26.js +159 -163
  170. package/shared/definition27.cjs +1 -1
  171. package/shared/definition27.js +2 -2
  172. package/shared/definition28.cjs +32 -17
  173. package/shared/definition28.js +33 -18
  174. package/shared/definition29.js +1 -1
  175. package/shared/definition3.js +1 -1
  176. package/shared/definition30.cjs +96 -482
  177. package/shared/definition30.js +99 -482
  178. package/shared/definition31.cjs +334 -57
  179. package/shared/definition31.js +333 -56
  180. package/shared/definition32.cjs +104 -19
  181. package/shared/definition32.js +105 -20
  182. package/shared/definition33.cjs +67 -15
  183. package/shared/definition33.js +66 -14
  184. package/shared/definition34.cjs +15 -50
  185. package/shared/definition34.js +14 -49
  186. package/shared/definition35.cjs +28 -397
  187. package/shared/definition35.js +27 -397
  188. package/shared/definition36.cjs +404 -54
  189. package/shared/definition36.js +404 -55
  190. package/shared/definition37.cjs +57 -234
  191. package/shared/definition37.js +57 -233
  192. package/shared/definition38.cjs +221 -66
  193. package/shared/definition38.js +220 -65
  194. package/shared/definition39.cjs +52 -44
  195. package/shared/definition39.js +51 -43
  196. package/shared/definition4.cjs +31 -24
  197. package/shared/definition4.js +33 -26
  198. package/shared/definition40.cjs +56 -266
  199. package/shared/definition40.js +55 -265
  200. package/shared/definition41.cjs +285 -142
  201. package/shared/definition41.js +285 -142
  202. package/shared/definition42.cjs +156 -564
  203. package/shared/definition42.js +156 -565
  204. package/shared/definition43.cjs +557 -14317
  205. package/shared/definition43.js +556 -14316
  206. package/shared/definition44.cjs +14418 -1085
  207. package/shared/definition44.js +14416 -1085
  208. package/shared/definition45.cjs +1049 -671
  209. package/shared/definition45.js +1050 -672
  210. package/shared/definition46.cjs +848 -113
  211. package/shared/definition46.js +847 -112
  212. package/shared/definition47.cjs +125 -90
  213. package/shared/definition47.js +124 -89
  214. package/shared/definition48.cjs +88 -455
  215. package/shared/definition48.js +87 -454
  216. package/shared/definition49.cjs +466 -109
  217. package/shared/definition49.js +466 -109
  218. package/shared/definition5.cjs +8 -7
  219. package/shared/definition5.js +6 -5
  220. package/shared/definition50.cjs +106 -106
  221. package/shared/definition50.js +105 -105
  222. package/shared/definition51.cjs +136 -15
  223. package/shared/definition51.js +135 -14
  224. package/shared/definition52.cjs +16 -115
  225. package/shared/definition52.js +15 -114
  226. package/shared/definition53.cjs +78 -490
  227. package/shared/definition53.js +77 -488
  228. package/shared/definition54.cjs +445 -23
  229. package/shared/definition54.js +443 -22
  230. package/shared/definition55.cjs +22 -136
  231. package/shared/definition55.js +21 -135
  232. package/shared/definition56.cjs +95 -291
  233. package/shared/definition56.js +95 -292
  234. package/shared/definition57.cjs +192 -480
  235. package/shared/definition57.js +190 -479
  236. package/shared/definition58.cjs +411 -24
  237. package/shared/definition58.js +410 -24
  238. package/shared/definition59.cjs +27 -144
  239. package/shared/definition59.js +27 -143
  240. package/shared/definition6.js +1 -1
  241. package/shared/definition60.cjs +83 -54
  242. package/shared/definition60.js +82 -53
  243. package/shared/definition61.cjs +78 -166
  244. package/shared/definition61.js +77 -164
  245. package/shared/definition62.cjs +143 -232
  246. package/shared/definition62.js +141 -231
  247. package/shared/definition63.cjs +234 -69417
  248. package/shared/definition63.js +233 -69416
  249. package/shared/definition64.cjs +69454 -28
  250. package/shared/definition64.js +69453 -27
  251. package/shared/definition65.cjs +28 -2168
  252. package/shared/definition65.js +27 -2166
  253. package/shared/definition66.cjs +27 -0
  254. package/shared/definition66.js +23 -0
  255. package/shared/definition67.cjs +2195 -0
  256. package/shared/definition67.js +2190 -0
  257. package/shared/definition7.cjs +11 -2
  258. package/shared/definition7.js +12 -3
  259. package/shared/definition8.cjs +24 -11
  260. package/shared/definition8.js +26 -13
  261. package/shared/definition9.cjs +1 -2
  262. package/shared/definition9.js +2 -3
  263. package/shared/delegates-aria.js +1 -1
  264. package/shared/deprecation/replaced-props.d.ts +20 -0
  265. package/shared/divider.cjs +41 -0
  266. package/shared/divider.js +38 -0
  267. package/shared/feedback/feedback-message.d.ts +345 -0
  268. package/shared/feedback/locale.d.ts +4 -0
  269. package/{lib/text-anchor/text-anchor.d.ts → shared/feedback/mixins.d.ts} +62 -39
  270. package/shared/form-associated.cjs +124 -100
  271. package/shared/form-associated.js +125 -101
  272. package/shared/form-element.cjs +84 -0
  273. package/shared/form-element.js +82 -0
  274. package/shared/foundation/button/button.d.ts +378 -2
  275. package/shared/foundation/form-associated/form-associated.d.ts +753 -49
  276. package/shared/foundation/listbox/listbox.d.ts +1 -1
  277. package/shared/foundation/vivid-element/vivid-element.d.ts +14 -0
  278. package/shared/host-semantics.js +1 -1
  279. package/shared/key-codes.js +1 -1
  280. package/shared/linkable.cjs +70 -0
  281. package/shared/linkable.js +68 -0
  282. package/shared/localization/Locale.d.ts +16 -0
  283. package/shared/mixins.cjs +306 -0
  284. package/shared/mixins.js +300 -0
  285. package/shared/patterns/affix.d.ts +16 -1
  286. package/shared/patterns/anchored.d.ts +20 -8
  287. package/shared/patterns/char-count/char-count.d.ts +351 -0
  288. package/shared/patterns/char-count/index.d.ts +1 -0
  289. package/shared/patterns/char-count/locale.d.ts +4 -0
  290. package/shared/patterns/form-elements/form-element.d.ts +744 -0
  291. package/shared/patterns/form-elements/index.d.ts +3 -1
  292. package/shared/patterns/form-elements/with-error-text.d.ts +1122 -0
  293. package/shared/patterns/form-elements/with-success-text.d.ts +341 -0
  294. package/shared/patterns/index.d.ts +2 -0
  295. package/shared/patterns/linkable.d.ts +394 -0
  296. package/shared/patterns/localized.d.ts +6 -0
  297. package/shared/patterns/trapped-focus.d.ts +6 -0
  298. package/shared/picker-field/mixins/calendar-picker.d.ts +420 -52
  299. package/shared/picker-field/mixins/calendar-picker.template.d.ts +420 -52
  300. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +6 -0
  301. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +843 -107
  302. package/shared/picker-field/mixins/single-date-picker.d.ts +1259 -155
  303. package/shared/picker-field/mixins/single-value-picker.d.ts +417 -49
  304. package/shared/picker-field/mixins/time-selection-picker.d.ts +842 -106
  305. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +839 -103
  306. package/shared/picker-field/picker-field.d.ts +1491 -15
  307. package/shared/picker-field.template.cjs +13 -22
  308. package/shared/picker-field.template.js +14 -23
  309. package/shared/repeat.js +1 -1
  310. package/shared/slider.template.cjs +1 -1
  311. package/shared/slider.template.js +1 -1
  312. package/shared/time-selection-picker.template.cjs +10 -15
  313. package/shared/time-selection-picker.template.js +10 -16
  314. package/shared/vivid-element.cjs +53 -4
  315. package/shared/vivid-element.js +53 -3
  316. package/shared/with-error-text.cjs +56 -0
  317. package/shared/with-error-text.js +54 -0
  318. package/shared/with-success-text.cjs +23 -0
  319. package/shared/with-success-text.js +21 -0
  320. package/side-drawer/index.cjs +1 -1
  321. package/side-drawer/index.js +1 -1
  322. package/slider/index.cjs +1 -1
  323. package/slider/index.js +1 -1
  324. package/split-button/index.cjs +1 -1
  325. package/split-button/index.js +1 -1
  326. package/styles/core/all.css +1 -1
  327. package/styles/core/theme.css +1 -1
  328. package/styles/core/typography.css +1 -1
  329. package/styles/tokens/theme-dark.css +4 -4
  330. package/styles/tokens/theme-light.css +4 -4
  331. package/styles/tokens/vivid-2-compat.css +1 -1
  332. package/switch/index.cjs +1 -1
  333. package/switch/index.js +1 -1
  334. package/tab/index.cjs +1 -1
  335. package/tab/index.js +1 -1
  336. package/tab-panel/index.cjs +1 -1
  337. package/tab-panel/index.js +1 -1
  338. package/tabs/index.cjs +1 -1
  339. package/tabs/index.js +1 -1
  340. package/tag/index.cjs +1 -1
  341. package/tag/index.js +1 -1
  342. package/tag-group/index.cjs +1 -1
  343. package/tag-group/index.js +1 -1
  344. package/text-area/index.cjs +1 -1
  345. package/text-area/index.js +1 -1
  346. package/text-field/index.cjs +1 -1
  347. package/text-field/index.js +1 -1
  348. package/time-picker/index.cjs +1 -1
  349. package/time-picker/index.js +1 -1
  350. package/toggletip/index.cjs +1 -1
  351. package/toggletip/index.js +1 -1
  352. package/tooltip/index.cjs +1 -1
  353. package/tooltip/index.js +1 -1
  354. package/tree-item/index.cjs +1 -1
  355. package/tree-item/index.js +1 -1
  356. package/tree-view/index.cjs +1 -1
  357. package/tree-view/index.js +1 -1
  358. package/video-player/index.cjs +1 -1
  359. package/video-player/index.js +1 -1
  360. package/visually-hidden/index.cjs +5 -0
  361. package/visually-hidden/index.js +3 -0
  362. package/vivid.api.json +762 -1478
  363. package/lib/checkbox/checkbox.form-associated.d.ts +0 -11
  364. package/lib/file-picker/file-picker.form-associated.d.ts +0 -11
  365. package/lib/number-field/number-field.form-associated.d.ts +0 -11
  366. package/lib/radio/radio.form-associated.d.ts +0 -13
  367. package/lib/range-slider/range-slider.form-associated.d.ts +0 -11
  368. package/lib/searchable-select/searchable-select.form-associated.d.ts +0 -11
  369. package/lib/select/select.form-associated.d.ts +0 -11
  370. package/lib/slider/slider.form-associated.d.ts +0 -11
  371. package/lib/switch/switch.form-associated.d.ts +0 -11
  372. package/lib/text-anchor/definition.d.ts +0 -2
  373. package/lib/text-anchor/text-anchor.template.d.ts +0 -3
  374. package/lib/text-area/text-area.form-associated.d.ts +0 -11
  375. package/lib/text-field/text-field.form-associated.d.ts +0 -11
  376. package/shared/anchor.cjs +0 -49
  377. package/shared/anchor.js +0 -47
  378. package/shared/apply-mixins.cjs +0 -23
  379. package/shared/apply-mixins.js +0 -21
  380. package/shared/applyMixinsWithObservables.cjs +0 -15
  381. package/shared/applyMixinsWithObservables.js +0 -13
  382. package/shared/direction.cjs +0 -17
  383. package/shared/direction.js +0 -15
  384. package/shared/form-elements.cjs +0 -209
  385. package/shared/form-elements.js +0 -202
  386. package/shared/foundation/anchor/anchor.d.ts +0 -11
  387. package/shared/foundation/utilities/apply-mixins.d.ts +0 -1
  388. package/shared/patterns/form-elements/form-elements.d.ts +0 -58
  389. package/shared/picker-field/picker-field.form-associated.d.ts +0 -11
  390. package/shared/text-anchor.cjs +0 -38
  391. package/shared/text-anchor.js +0 -36
  392. package/shared/text-anchor.template.cjs +0 -35
  393. package/shared/text-anchor.template.js +0 -33
  394. package/shared/utils/applyMixinsWithObservables.d.ts +0 -1
  395. package/text-anchor/index.cjs +0 -17
  396. package/text-anchor/index.js +0 -15
@@ -3,24 +3,28 @@
3
3
  const vividElement = require('./vivid-element.cjs');
4
4
  const keyCodes = require('./key-codes.cjs');
5
5
 
6
+ var __defProp = Object.defineProperty;
7
+ var __decorateClass = (decorators, target, key, kind) => {
8
+ var result = void 0 ;
9
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
10
+ if (decorator = decorators[i])
11
+ result = (decorator(target, key, result) ) || result;
12
+ if (result) __defProp(target, key, result);
13
+ return result;
14
+ };
6
15
  const proxySlotName = "form-associated-proxy";
7
16
  const ElementInternalsKey = "ElementInternals";
8
17
  const supportsElementInternals = ElementInternalsKey in window && "setFormValue" in window[ElementInternalsKey].prototype;
9
18
  const InternalsMap = /* @__PURE__ */ new WeakMap();
10
- function FormAssociated(BaseCtor) {
11
- const C = class extends BaseCtor {
19
+ const FormAssociated = (Base) => {
20
+ class FormAssociatedElement extends Base {
12
21
  constructor(...args) {
13
22
  super(...args);
14
23
  /**
15
24
  * Track whether the value has been changed from the initial value
25
+ * @internal
16
26
  */
17
27
  this.dirtyValue = false;
18
- /**
19
- * Sets the element's disabled state. A disabled element will not be included during form submission.
20
- *
21
- * @remarks
22
- * HTML Attribute: disabled
23
- */
24
28
  this.disabled = false;
25
29
  /**
26
30
  * These are events that are still fired by the proxy
@@ -28,8 +32,12 @@ function FormAssociated(BaseCtor) {
28
32
  *
29
33
  * The proxy implementation should be transparent to
30
34
  * the app author, so block these events from emitting.
35
+ * @internal
31
36
  */
32
37
  this.proxyEventsToBlock = ["change", "click"];
38
+ /**
39
+ * @internal
40
+ */
33
41
  this.proxyInitialized = false;
34
42
  this.required = false;
35
43
  this.initialValue = this.initialValue || "";
@@ -48,8 +56,6 @@ function FormAssociated(BaseCtor) {
48
56
  }
49
57
  /**
50
58
  * Returns the validity state of the element
51
- *
52
- * @alpha
53
59
  */
54
60
  get validity() {
55
61
  return this.elementInternals ? this.elementInternals.validity : this.proxy.validity;
@@ -57,8 +63,6 @@ function FormAssociated(BaseCtor) {
57
63
  /**
58
64
  * Retrieve a reference to the associated form.
59
65
  * Returns null if not associated to any form.
60
- *
61
- * @alpha
62
66
  */
63
67
  get form() {
64
68
  return this.elementInternals ? this.elementInternals.form : this.proxy.form;
@@ -66,8 +70,6 @@ function FormAssociated(BaseCtor) {
66
70
  /**
67
71
  * Retrieve the localized validation message,
68
72
  * or custom validation message if set.
69
- *
70
- * @alpha
71
73
  */
72
74
  get validationMessage() {
73
75
  return this.elementInternals ? this.elementInternals.validationMessage : this.proxy.validationMessage;
@@ -96,32 +98,27 @@ function FormAssociated(BaseCtor) {
96
98
  }
97
99
  }
98
100
  /**
99
- * Invoked when the `value` property changes
100
- *
101
- * @remarks
102
- * If elements extending `FormAssociated` implement a `valueChanged` method
103
- * They must be sure to invoke `super.valueChanged(previous, next)` to ensure
104
- * proper functioning of `FormAssociated`
101
+ * @internal
105
102
  */
106
103
  valueChanged(_previous, _next) {
107
104
  this.dirtyValue = true;
108
105
  if (this.proxy instanceof HTMLElement) {
109
106
  this.proxy.value = this.value;
110
107
  }
111
- this.currentValue = this.value;
112
108
  this.setFormValue(this.value);
113
109
  this.validate();
114
110
  }
115
- currentValueChanged() {
116
- this.value = this.currentValue;
111
+ /**
112
+ * @deprecated Use `value` instead.
113
+ */
114
+ get currentValue() {
115
+ return this.value;
116
+ }
117
+ set currentValue(value) {
118
+ this.value = value;
117
119
  }
118
120
  /**
119
- * Invoked when the `initialValue` property changes
120
- *
121
- * @remarks
122
- * If elements extending `FormAssociated` implement a `initialValueChanged` method
123
- * They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure
124
- * proper functioning of `FormAssociated`
121
+ * @internal
125
122
  */
126
123
  initialValueChanged(_previous, _next) {
127
124
  if (!this.dirtyValue) {
@@ -130,12 +127,7 @@ function FormAssociated(BaseCtor) {
130
127
  }
131
128
  }
132
129
  /**
133
- * Invoked when the `disabled` property changes
134
- *
135
- * @remarks
136
- * If elements extending `FormAssociated` implement a `disabledChanged` method
137
- * They must be sure to invoke `super.disabledChanged(previous, next)` to ensure
138
- * proper functioning of `FormAssociated`
130
+ * @internal
139
131
  */
140
132
  disabledChanged(_previous, _next) {
141
133
  if (this.proxy instanceof HTMLElement) {
@@ -144,12 +136,7 @@ function FormAssociated(BaseCtor) {
144
136
  vividElement.DOM.queueUpdate(() => this.classList.toggle("disabled", this.disabled));
145
137
  }
146
138
  /**
147
- * Invoked when the `name` property changes
148
- *
149
- * @remarks
150
- * If elements extending `FormAssociated` implement a `nameChanged` method
151
- * They must be sure to invoke `super.nameChanged(previous, next)` to ensure
152
- * proper functioning of `FormAssociated`
139
+ * @internal
153
140
  */
154
141
  nameChanged(_previous, _next) {
155
142
  if (this.proxy instanceof HTMLElement) {
@@ -157,12 +144,7 @@ function FormAssociated(BaseCtor) {
157
144
  }
158
145
  }
159
146
  /**
160
- * Invoked when the `required` property changes
161
- *
162
- * @remarks
163
- * If elements extending `FormAssociated` implement a `requiredChanged` method
164
- * They must be sure to invoke `super.requiredChanged(previous, next)` to ensure
165
- * proper functioning of `FormAssociated`
147
+ * @internal
166
148
  */
167
149
  requiredChanged(_previous, _next) {
168
150
  if (this.proxy instanceof HTMLElement) {
@@ -174,6 +156,7 @@ function FormAssociated(BaseCtor) {
174
156
  /**
175
157
  * The element internals object. Will only exist
176
158
  * in browsers supporting the attachInternals API
159
+ * @internal
177
160
  */
178
161
  get elementInternals() {
179
162
  if (!supportsElementInternals) {
@@ -236,6 +219,7 @@ function FormAssociated(BaseCtor) {
236
219
  * @param flags - Validity flags
237
220
  * @param message - Optional message to supply
238
221
  * @param anchor - Optional element used by UA to display an interactive validation UI
222
+ * @internal
239
223
  */
240
224
  setValidity(flags, message, anchor) {
241
225
  if (this.elementInternals) {
@@ -248,16 +232,21 @@ function FormAssociated(BaseCtor) {
248
232
  * Invoked when a connected component's form or fieldset has its disabled
249
233
  * state changed.
250
234
  * @param disabled - the disabled value of the form / fieldset
235
+ * @internal
251
236
  */
252
237
  formDisabledCallback(disabled) {
253
238
  this.disabled = disabled;
254
239
  }
240
+ /**
241
+ * @internal
242
+ */
255
243
  formResetCallback() {
256
244
  this.value = this.initialValue;
257
245
  this.dirtyValue = false;
258
246
  }
259
247
  /**
260
248
  * Attach the proxy element to the DOM
249
+ * @internal
261
250
  */
262
251
  attachProxy() {
263
252
  if (!this.proxyInitialized) {
@@ -283,12 +272,19 @@ function FormAssociated(BaseCtor) {
283
272
  }
284
273
  /**
285
274
  * Detach the proxy element from the DOM
275
+ * @internal
286
276
  */
287
277
  detachProxy() {
288
278
  this.removeChild(this.proxy);
289
279
  this.shadowRoot.removeChild(this.proxySlot);
290
280
  }
291
- /** {@inheritDoc (FormAssociated:interface).validate} */
281
+ /**
282
+ * Sets the validity of the custom element. By default this uses the proxy element to determine
283
+ * validity, but this can be extended or replaced in implementation.
284
+ *
285
+ * @param anchor - The anchor element to provide to ElementInternals.setValidity for surfacing the browser's constraint validation UI
286
+ * @internal
287
+ */
292
288
  validate(anchor) {
293
289
  if (this.proxy instanceof HTMLElement && this.elementInternals) {
294
290
  const isValid = this.proxy.validity.valid;
@@ -309,12 +305,16 @@ function FormAssociated(BaseCtor) {
309
305
  * Associates the provided value (and optional state) with the parent form.
310
306
  * @param value - The value to set
311
307
  * @param state - The state object provided to during session restores and when autofilling.
308
+ * @internal
312
309
  */
313
310
  setFormValue(value, state) {
314
311
  if (this.elementInternals) {
315
312
  this.elementInternals.setFormValue(value, state || value);
316
313
  }
317
314
  }
315
+ /**
316
+ * @internal
317
+ */
318
318
  _keypressHandler(e) {
319
319
  switch (e.key) {
320
320
  case keyCodes.keyEnter:
@@ -330,53 +330,52 @@ function FormAssociated(BaseCtor) {
330
330
  /**
331
331
  * Used to stop propagation of proxy element events
332
332
  * @param e - Event object
333
+ * @internal
333
334
  */
334
335
  stopPropagation(e) {
335
336
  e.stopPropagation();
336
337
  }
337
- };
338
- vividElement.attr({ mode: "boolean" })(C.prototype, "disabled");
339
- vividElement.attr({ mode: "fromView", attribute: "value" })(C.prototype, "initialValue");
340
- vividElement.attr({ attribute: "current-value" })(C.prototype, "currentValue");
341
- vividElement.attr(C.prototype, "name");
342
- vividElement.attr({ mode: "boolean" })(C.prototype, "required");
343
- vividElement.observable(C.prototype, "value");
344
- return C;
345
- }
346
- function CheckableFormAssociated(BaseCtor) {
347
- class C extends FormAssociated(BaseCtor) {
348
338
  }
349
- class D extends C {
350
- constructor(...args) {
351
- super(args);
339
+ __decorateClass([
340
+ vividElement.attr({ attribute: "current-value" })
341
+ ], FormAssociatedElement.prototype, "value");
342
+ __decorateClass([
343
+ vividElement.attr({ mode: "fromView", attribute: "value" })
344
+ ], FormAssociatedElement.prototype, "initialValue");
345
+ __decorateClass([
346
+ vividElement.attr({ mode: "boolean" })
347
+ ], FormAssociatedElement.prototype, "disabled");
348
+ __decorateClass([
349
+ vividElement.attr
350
+ ], FormAssociatedElement.prototype, "name");
351
+ __decorateClass([
352
+ vividElement.attr({ mode: "boolean" })
353
+ ], FormAssociatedElement.prototype, "required");
354
+ return FormAssociatedElement;
355
+ };
356
+ const currentCheckedConverter = {
357
+ fromView(value) {
358
+ if (typeof value === "string") {
359
+ return value.toLowerCase() === "true";
360
+ }
361
+ return !!value;
362
+ },
363
+ toView(value) {
364
+ return value ? "true" : "false";
365
+ }
366
+ };
367
+ const CheckableFormAssociated = (Base) => {
368
+ class CheckableFormAssociatedElement extends FormAssociated(Base) {
369
+ constructor() {
370
+ super(...arguments);
352
371
  /**
353
372
  * Tracks whether the "checked" property has been changed.
354
373
  * This is necessary to provide consistent behavior with
355
374
  * normal input checkboxes
375
+ * @internal
356
376
  */
357
377
  this.dirtyChecked = false;
358
- /**
359
- * Provides the default checkedness of the input element
360
- * Passed down to proxy
361
- *
362
- * @public
363
- * @remarks
364
- * HTML Attribute: checked
365
- */
366
- this.checkedAttribute = false;
367
- /**
368
- * The checked state of the control.
369
- *
370
- * @public
371
- */
372
- this.checked = false;
373
- this.dirtyChecked = false;
374
- }
375
- /**
376
- * @internal
377
- */
378
- checkedAttributeChanged() {
379
- this.defaultChecked = this.checkedAttribute;
378
+ this.defaultChecked = false;
380
379
  }
381
380
  /**
382
381
  * @internal
@@ -387,11 +386,13 @@ function CheckableFormAssociated(BaseCtor) {
387
386
  this.dirtyChecked = false;
388
387
  }
389
388
  }
389
+ /**
390
+ * @internal
391
+ */
390
392
  checkedChanged(prev, _next) {
391
393
  if (!this.dirtyChecked) {
392
394
  this.dirtyChecked = true;
393
395
  }
394
- this.currentChecked = this.checked;
395
396
  this.updateForm();
396
397
  if (this.proxy instanceof HTMLInputElement) {
397
398
  this.proxy.checked = this.checked;
@@ -401,35 +402,58 @@ function CheckableFormAssociated(BaseCtor) {
401
402
  }
402
403
  this.validate();
403
404
  }
404
- currentCheckedChanged(_prev, _next) {
405
- this.checked = this.currentChecked;
405
+ /**
406
+ * @deprecated Use `defaultChecked` instead.
407
+ */
408
+ get checkedAttribute() {
409
+ return this.defaultChecked;
406
410
  }
411
+ set checkedAttribute(value) {
412
+ this.defaultChecked = value;
413
+ }
414
+ /**
415
+ * @deprecated Use `checked` instead.
416
+ */
417
+ get currentChecked() {
418
+ return this.checked;
419
+ }
420
+ set currentChecked(value) {
421
+ this.checked = value;
422
+ }
423
+ /**
424
+ * @internal
425
+ */
407
426
  updateForm() {
408
427
  const value = this.checked ? this.value : null;
409
428
  this.setFormValue(value, value);
410
429
  }
430
+ /**
431
+ * @internal
432
+ */
411
433
  connectedCallback() {
412
434
  super.connectedCallback();
413
435
  this.updateForm();
414
436
  }
437
+ /**
438
+ * @internal
439
+ */
415
440
  formResetCallback() {
416
441
  super.formResetCallback();
417
- this.checked = !!this.checkedAttribute;
442
+ this.checked = !!this.defaultChecked;
418
443
  this.dirtyChecked = false;
419
444
  }
420
445
  }
421
- vividElement.attr({ attribute: "checked", mode: "boolean" })(
422
- D.prototype,
423
- "checkedAttribute"
424
- );
425
- vividElement.attr({ attribute: "current-checked", converter: vividElement.booleanConverter })(
426
- D.prototype,
427
- "currentChecked"
428
- );
429
- vividElement.observable(D.prototype, "defaultChecked");
430
- vividElement.observable(D.prototype, "checked");
431
- return D;
432
- }
446
+ __decorateClass([
447
+ vividElement.attr({
448
+ attribute: "checked",
449
+ mode: "boolean"
450
+ })
451
+ ], CheckableFormAssociatedElement.prototype, "defaultChecked");
452
+ __decorateClass([
453
+ vividElement.attr({ attribute: "current-checked", converter: currentCheckedConverter })
454
+ ], CheckableFormAssociatedElement.prototype, "checked");
455
+ return CheckableFormAssociatedElement;
456
+ };
433
457
 
434
458
  exports.CheckableFormAssociated = CheckableFormAssociated;
435
459
  exports.FormAssociated = FormAssociated;